@@ -509,11 +509,10 @@ QgsMergedBookmarksTableModel::QgsMergedBookmarksTableModel( QAbstractTableModel
509509 : mQgisTableModel( qgisTableModel )
510510 , mProjectTableModel( projectTableModel )
511511 , mTreeView( treeView )
512- , mProjectOpen( false )
513512{
514513 connect (
515- QgisApp ::instance (), &QgisApp::projectRead ,
516- this , &QgsMergedBookmarksTableModel::projectRead );
514+ QgsProject ::instance (), &QgsProject::fileNameChanged ,
515+ this , &QgsMergedBookmarksTableModel::projectFileNameChanged );
517516
518517 connect (
519518 &mQgisTableModel , &QAbstractTableModel::layoutChanged,
@@ -620,7 +619,7 @@ Qt::ItemFlags QgsMergedBookmarksTableModel::flags( const QModelIndex &index ) co
620619 Qt::ItemFlags flags = Qt::ItemIsSelectable | Qt::ItemIsEnabled;
621620 if ( index.column () == mQgisTableModel .columnCount () )
622621 {
623- if ( !mProjectOpen )
622+ if ( !projectAvailable () )
624623 {
625624 return Qt::ItemIsSelectable;
626625 }
@@ -679,6 +678,11 @@ QAbstractTableModel *QgsMergedBookmarksTableModel::qgisModel()
679678 return &mQgisTableModel ;
680679}
681680
681+ bool QgsMergedBookmarksTableModel::projectAvailable () const
682+ {
683+ return ! QgsProject::instance ()->fileName ().isEmpty ();
684+ }
685+
682686void QgsMergedBookmarksTableModel::moveBookmark ( QAbstractTableModel &modelFrom, QAbstractTableModel &modelTo, int row )
683687{
684688 QSqlTableModel *qgisModel = dynamic_cast <QSqlTableModel *>( &modelTo );
@@ -719,3 +723,8 @@ void QgsMergedBookmarksTableModel::moveBookmark( QAbstractTableModel &modelFrom,
719723 modelFrom.removeRows ( row, 1 );
720724 }
721725}
726+
727+ void QgsMergedBookmarksTableModel::projectFileNameChanged ()
728+ {
729+ emit layoutChanged ();
730+ }
0 commit comments