Skip to content

Commit

Permalink
[ui] Make the show bookmarks action focus on browser panel's bookmark…
Browse files Browse the repository at this point in the history
… node
  • Loading branch information
nirvn committed Sep 6, 2019
1 parent 3af35b5 commit c1cce18
Show file tree
Hide file tree
Showing 8 changed files with 52 additions and 12 deletions.
4 changes: 4 additions & 0 deletions python/gui/auto_generated/qgsbrowserdockwidget.sip.in
Expand Up @@ -121,6 +121,10 @@ Sets filter case sensitivity
void setFilter();
%Docstring
Apply filter to the model
%End
void setActiveIndex( const QModelIndex &index );
%Docstring
Sets the selection to ``index`` and expand it
%End
void updateProjectHome();
%Docstring
Expand Down
14 changes: 12 additions & 2 deletions src/app/qgisapp.cpp
Expand Up @@ -930,7 +930,9 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, bool skipVersionCh
connect( showBookmarksDock, &QShortcut::activated, mBookMarksDockWidget, &QgsDockWidget::toggleUserVisible );
showBookmarksDock->setObjectName( QStringLiteral( "ShowBookmarksPanel" ) );
showBookmarksDock->setWhatsThis( tr( "Show Bookmarks Panel" ) );
mBookMarksDockWidget->setToggleVisibilityAction( mActionShowBookmarks );
mBookMarksDockWidget->setToggleVisibilityAction( mActionShowBookmarkManager );

connect( mActionShowBookmarks, &QAction::triggered, this, [ = ] { showBookmarks(); } );

endProfile();

Expand Down Expand Up @@ -3541,6 +3543,7 @@ void QgisApp::setTheme( const QString &themeName )
mActionMeasureArea->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionMeasureArea.svg" ) ) );
mActionMeasureAngle->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionMeasureAngle.svg" ) ) );
mActionMapTips->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionMapTips.svg" ) ) );
mActionShowBookmarkManager->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionShowBookmarks.svg" ) ) );
mActionShowBookmarks->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionShowBookmarks.svg" ) ) );
mActionNewBookmark->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionNewBookmark.svg" ) ) );
mActionCustomProjection->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionCustomProjection.svg" ) ) );
Expand Down Expand Up @@ -13788,7 +13791,14 @@ void QgisApp::newBookmark( bool inProject )
dlg->show();
}

void QgisApp::showBookmarks( bool show )
void QgisApp::showBookmarks()
{
mBrowserWidget->setUserVisible( true );
QModelIndex index = browserModel()->findPath( QStringLiteral( "bookmarks:" ) );
mBrowserWidget->setActiveIndex( index );
}

void QgisApp::showBookmarkManager( bool show )
{
mBookMarksDockWidget->setUserVisible( show );
}
Expand Down
8 changes: 6 additions & 2 deletions src/app/qgisapp.h
Expand Up @@ -479,6 +479,7 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
QAction *actionMapTips() { return mActionMapTips; }
QAction *actionNewBookmark() { return mActionNewBookmark; }
QAction *actionShowBookmarks() { return mActionShowBookmarks; }
QAction *actionShowBookmarkManager() { return mActionShowBookmarkManager; }
QAction *actionDraw() { return mActionDraw; }

QAction *actionDataSourceManager() { return mActionDataSourceManager; }
Expand Down Expand Up @@ -1070,8 +1071,11 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
//! Create a new file from a template project
bool fileNewFromTemplate( const QString &fileName );

//! Show the spatial bookmarks dialog
void showBookmarks( bool show );
//! Show the spatial bookmark manager panel
void showBookmarkManager( bool show );

//! Show and focus the browser panel to spatial bookmarks
void showBookmarks();

//! Create a new spatial bookmark
void newBookmark( bool inProject = false );
Expand Down
4 changes: 2 additions & 2 deletions src/app/qgsappbrowserproviders.cpp
Expand Up @@ -972,10 +972,10 @@ void QgsBookmarksItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu
QgisApp::instance()->newBookmark();
} );
menu->addAction( addBookmark );
QAction *showBookmarksPanel = new QAction( tr( "Show Spatial Bookmarks Panel" ), menu );
QAction *showBookmarksPanel = new QAction( tr( "Show Spatial Bookmarks Manager" ), menu );
connect( showBookmarksPanel, &QAction::triggered, this, [ = ]
{
QgisApp::instance()->showBookmarks( true );
QgisApp::instance()->showBookmarkManager( true );
} );
menu->addAction( showBookmarksPanel );
menu->addSeparator();
Expand Down
10 changes: 10 additions & 0 deletions src/gui/qgsbrowserdockwidget.cpp
Expand Up @@ -588,6 +588,16 @@ void QgsBrowserDockWidget::enablePropertiesWidget( bool enable )
}
}

void QgsBrowserDockWidget::setActiveIndex( const QModelIndex &index )
{
if ( index.isValid() )
{
QModelIndex proxyIndex = mProxyModel->mapFromSource( index );
mBrowserView->expand( proxyIndex );
mBrowserView->setCurrentIndex( proxyIndex );
}
}

void QgsBrowserDockWidget::splitterMoved()
{
QList<int> sizes = mSplitter->sizes();
Expand Down
2 changes: 2 additions & 0 deletions src/gui/qgsbrowserdockwidget.h
Expand Up @@ -127,6 +127,8 @@ class GUI_EXPORT QgsBrowserDockWidget : public QgsDockWidget, private Ui::QgsBro
void setCaseSensitive( bool caseSensitive );
//! Apply filter to the model
void setFilter();
//! Sets the selection to \a index and expand it
void setActiveIndex( const QModelIndex &index );
//! Update project home directory
void updateProjectHome();

Expand Down
20 changes: 15 additions & 5 deletions src/ui/qgisapp.ui
Expand Up @@ -144,6 +144,7 @@
<addaction name="mActionMapTips"/>
<addaction name="mActionNewBookmark"/>
<addaction name="mActionShowBookmarks"/>
<addaction name="mActionShowBookmarkManager"/>
<addaction name="mActionDraw"/>
<addaction name="separator"/>
<addaction name="mActionShowAllLayers"/>
Expand Down Expand Up @@ -1373,27 +1374,36 @@
<normaloff>:/images/themes/default/mActionNewBookmark.svg</normaloff>:/images/themes/default/mActionNewBookmark.svg</iconset>
</property>
<property name="text">
<string>New Bookmark…</string>
<string>New Spatial Bookmark…</string>
</property>
<property name="shortcut">
<string>Ctrl+B</string>
</property>
</action>
<action name="mActionShowBookmarks">
<property name="checkable">
<bool>true</bool>
</property>
<property name="icon">
<iconset resource="../../images/images.qrc">
<normaloff>:/images/themes/default/mActionShowBookmarks.svg</normaloff>:/images/themes/default/mActionShowBookmarks.svg</iconset>
</property>
<property name="text">
<string>Show Bookmarks</string>
<string>Show Spatial Bookmarks</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+B</string>
</property>
</action>
<action name="mActionShowBookmarkManager">
<property name="checkable">
<bool>true</bool>
</property>
<property name="icon">
<iconset resource="../../images/images.qrc">
<normaloff>:/images/themes/default/mActionShowBookmarks.svg</normaloff>:/images/themes/default/mActionShowBookmarks.svg</iconset>
</property>
<property name="text">
<string>Show Spatial Bookmark Manager</string>
</property>
</action>
<action name="mActionDraw">
<property name="icon">
<iconset resource="../../images/images.qrc">
Expand Down
2 changes: 1 addition & 1 deletion src/ui/qgsbookmarksbase.ui
Expand Up @@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string>Spatial Bookmarks</string>
<string>Spatial Bookmark Manager</string>
</property>
<widget class="QWidget" name="bookmarksDockContents">
<layout class="QGridLayout" name="gridLayout">
Expand Down

0 comments on commit c1cce18

Please sign in to comment.