Skip to content

Commit 9298050

Browse files
committed
change mModel to mMergedModel
to better reflect the purpose; fix object deletion
1 parent 4bcd2e4 commit 9298050

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

src/app/qgsbookmarks.cpp

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ QgsBookmarks::QgsBookmarks( QWidget *parent )
4141
: QgsDockWidget( parent )
4242
, mQgisModel( nullptr )
4343
, mProjectModel( nullptr )
44-
, mModel( nullptr )
44+
, mMergedModel( nullptr )
4545
, mProxyModel( nullptr )
4646
{
4747
setupUi( this );
@@ -109,15 +109,18 @@ QgsBookmarks::QgsBookmarks( QWidget *parent )
109109
mQgisModel->setHeaderData( 7, Qt::Horizontal, tr( "SRID" ) );
110110

111111
mProjectModel = new QgsProjectBookmarksTableModel( this );
112-
mModel = new QgsMergedBookmarksTableModel( *mQgisModel, *mProjectModel, lstBookmarks, this );
112+
mMergedModel = new QgsMergedBookmarksTableModel( *mQgisModel, *mProjectModel, lstBookmarks, this );
113113

114-
mProxyModel = new QgsBookmarksProxyModel( this );
115-
mProxyModel->setSourceModel( mModel );
114+
mProxyModel = new QgsBookmarksProxyModel( );
115+
mProxyModel->setSourceModel( mMergedModel );
116+
mProxyModel->setSortCaseSensitivity( Qt::CaseInsensitive );
116117

117118
lstBookmarks->setModel( mProxyModel );
118119
lstBookmarks->setItemDelegate( new QgsDoubleSpinBoxBookmarksDelegate( this ) );
120+
lstBookmarks->setSortingEnabled( true );
121+
lstBookmarks->sortByColumn( 1, Qt::AscendingOrder );
119122

120-
connect( mModel, SIGNAL( layoutChanged() ), mProxyModel, SLOT( _resetModel() ) );
123+
connect( mMergedModel, SIGNAL( layoutChanged() ), mProxyModel, SLOT( _resetModel() ) );
121124

122125
QSettings settings;
123126
lstBookmarks->header()->restoreState( settings.value( "Windows/Bookmarks/headerstate" ).toByteArray() );
@@ -130,6 +133,7 @@ QgsBookmarks::QgsBookmarks( QWidget *parent )
130133
QgsBookmarks::~QgsBookmarks()
131134
{
132135
delete mQgisModel;
136+
delete mProxyModel;
133137
QSqlDatabase::removeDatabase( "bookmarks" );
134138
saveWindowLocation();
135139
}
@@ -149,7 +153,7 @@ void QgsBookmarks::saveWindowLocation()
149153

150154
void QgsBookmarks::addClicked()
151155
{
152-
Q_ASSERT( mModel );
156+
Q_ASSERT( mMergedModel );
153157
Q_ASSERT( mQgisModel );
154158

155159
QgsMapCanvas *canvas = QgisApp::instance()->mapCanvas();
@@ -182,7 +186,7 @@ void QgsBookmarks::addClicked()
182186
{
183187
mQgisModel->setSort( 0, Qt::AscendingOrder );
184188
mQgisModel->select();
185-
QModelIndex newIdx = mProxyModel->mapFromSource( mModel->index( mQgisModel->rowCount() - 1, 1 ) );
189+
QModelIndex newIdx = mProxyModel->mapFromSource( mMergedModel->index( mQgisModel->rowCount() - 1, 1 ) );
186190
// Edit new bookmark title
187191
lstBookmarks->scrollTo( newIdx );
188192
lstBookmarks->setCurrentIndex( newIdx );
@@ -219,7 +223,7 @@ void QgsBookmarks::deleteClicked()
219223
int i = 0;
220224
Q_FOREACH ( int row, rows )
221225
{
222-
mModel->removeRow( row - i );
226+
mMergedModel->removeRow( row - i );
223227
i++;
224228
}
225229
}
@@ -290,7 +294,7 @@ void QgsBookmarks::importFromXml()
290294
QDomElement docElem = doc.documentElement();
291295
QDomNodeList nodeList = docElem.elementsByTagName( "bookmark" );
292296

293-
Q_ASSERT( mModel );
297+
Q_ASSERT( mMergedModel );
294298

295299
QString queries;
296300

@@ -359,8 +363,8 @@ void QgsBookmarks::exportToXml()
359363
QDomElement root = doc.createElement( "qgis_bookmarks" );
360364
doc.appendChild( root );
361365

362-
int rowCount = mModel->rowCount();
363-
int colCount = mModel->columnCount() - 1; // exclude virtual "In project" column
366+
int rowCount = mMergedModel->rowCount();
367+
int colCount = mMergedModel->columnCount() - 1; // exclude virtual "In project" column
364368

365369
QList<QString> headerList;
366370
headerList
@@ -379,7 +383,7 @@ void QgsBookmarks::exportToXml()
379383
root.appendChild( bookmark );
380384
for ( int j = 0; j < colCount; j++ )
381385
{
382-
QModelIndex idx = mModel->index( i, j );
386+
QModelIndex idx = mMergedModel->index( i, j );
383387
if ( idx.isValid() )
384388
{
385389
QString value = idx.data( Qt::DisplayRole ).toString();

src/app/qgsbookmarks.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ class APP_EXPORT QgsBookmarks : public QgsDockWidget, private Ui::QgsBookmarksBa
158158
private:
159159
QSqlTableModel *mQgisModel;
160160
QgsProjectBookmarksTableModel *mProjectModel;
161-
QgsMergedBookmarksTableModel *mModel;
161+
QgsMergedBookmarksTableModel *mMergedModel;
162162
QgsBookmarksProxyModel *mProxyModel;
163163

164164
void saveWindowLocation();

0 commit comments

Comments
 (0)