Skip to content

Commit 10dfb5b

Browse files
committedAug 19, 2015
Disable unavailable projects
1 parent 9bce9ed commit 10dfb5b

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed
 

‎src/app/qgswelcomepageitemsmodel.cpp

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
#include "qgswelcomepageitemsmodel.h"
1717

1818
#include <QPixmap>
19+
#include <QFile>
1920

20-
QgsWelcomePageItemsModel::QgsWelcomePageItemsModel(QObject* parent)
21-
: QAbstractListModel( parent )
21+
QgsWelcomePageItemsModel::QgsWelcomePageItemsModel( QObject* parent )
22+
: QAbstractListModel( parent )
2223
{
2324

2425
}
@@ -31,15 +32,16 @@ void QgsWelcomePageItemsModel::setRecentProjects( const QList<RecentProjectData>
3132
}
3233

3334

34-
int QgsWelcomePageItemsModel::rowCount(const QModelIndex& parent) const
35+
int QgsWelcomePageItemsModel::rowCount( const QModelIndex& parent ) const
3536
{
3637
Q_UNUSED( parent )
3738
return mRecentProjects.size();
3839
}
3940

40-
QVariant QgsWelcomePageItemsModel::data(const QModelIndex& index, int role) const
41+
QVariant QgsWelcomePageItemsModel::data( const QModelIndex& index, int role ) const
4142
{
42-
switch ( role ) {
43+
switch ( role )
44+
{
4345
case Qt::DisplayRole:
4446
return mRecentProjects.at( index.row() ).title;
4547
break;
@@ -54,8 +56,23 @@ QVariant QgsWelcomePageItemsModel::data(const QModelIndex& index, int role) cons
5456

5557
case Qt::ToolTipRole:
5658
return mRecentProjects.at( index.row() ).path;
59+
break;
5760

5861
default:
5962
return QVariant();
6063
}
6164
}
65+
66+
67+
Qt::ItemFlags QgsWelcomePageItemsModel::flags( const QModelIndex& index ) const
68+
{
69+
Qt::ItemFlags flags = QAbstractItemModel::flags( index );
70+
71+
const RecentProjectData& projectData = mRecentProjects.at( index.row() );
72+
73+
if ( !QFile::exists(( projectData.path ) ) )
74+
flags &= ~Qt::ItemIsEnabled;
75+
76+
return flags;
77+
78+
}

‎src/app/qgswelcomepageitemsmodel.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class QgsWelcomePageItemsModel : public QAbstractListModel
3737

3838
int rowCount( const QModelIndex& parent ) const;
3939
QVariant data( const QModelIndex& index, int role ) const;
40+
Qt::ItemFlags flags( const QModelIndex& index ) const;
4041

4142
private:
4243
QList<RecentProjectData> mRecentProjects;

0 commit comments

Comments
 (0)
Please sign in to comment.