From d60f00dc85623f4016944286ff2a903e1f79c9ad Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Wed, 24 Jan 2018 08:04:21 +1000 Subject: [PATCH] [processing] Add Toolbox action to the main window toolbar I realise this adds another toolbar button... but I'd strongly argue that the toolbox is used FAR FAR more often than many of the other toolbar actions! --- python/gui/qgisinterface.sip.in | 8 ++++++++ python/plugins/processing/ProcessingPlugin.py | 2 ++ src/app/qgisapp.h | 1 + src/app/qgisappinterface.cpp | 1 + src/app/qgisappinterface.h | 1 + src/gui/qgisinterface.h | 7 +++++++ 6 files changed, 20 insertions(+) diff --git a/python/gui/qgisinterface.sip.in b/python/gui/qgisinterface.sip.in index f562aa5912a..da0f07e96d9 100644 --- a/python/gui/qgisinterface.sip.in +++ b/python/gui/qgisinterface.sip.in @@ -342,6 +342,14 @@ Get access to the native Add ArcGIS MapServer action. virtual QAction *actionPasteLayerStyle() = 0; virtual QAction *actionOpenTable() = 0; virtual QAction *actionOpenFieldCalculator() = 0; + + virtual QAction *actionOpenStatisticalSummary() = 0; +%Docstring +Statistical summary action. + +.. versionadded:: 3.0 +%End + virtual QAction *actionToggleEditing() = 0; virtual QAction *actionSaveActiveLayerEdits() = 0; virtual QAction *actionAllEdits() = 0; diff --git a/python/plugins/processing/ProcessingPlugin.py b/python/plugins/processing/ProcessingPlugin.py index 161f3b35b28..54bf1b85af4 100644 --- a/python/plugins/processing/ProcessingPlugin.py +++ b/python/plugins/processing/ProcessingPlugin.py @@ -196,6 +196,7 @@ class ProcessingPlugin: QgsApplication.getThemeIcon("/processingAlgorithm.svg")) self.iface.registerMainWindowAction(self.toolboxAction, 'Ctrl+Alt+T') self.toolboxAction.toggled.connect(self.openToolbox) + self.iface.attributesToolBar().insertAction(self.iface.actionOpenStatisticalSummary(), self.toolboxAction) self.menu.addAction(self.toolboxAction) self.modelerAction = QAction( @@ -249,6 +250,7 @@ class ProcessingPlugin: def unload(self): self.toolbox.setVisible(False) self.iface.removeDockWidget(self.toolbox) + self.iface.attributesToolBar().removeAction(self.toolboxAction) self.resultsDock.setVisible(False) self.iface.removeDockWidget(self.resultsDock) diff --git a/src/app/qgisapp.h b/src/app/qgisapp.h index 3d0493c4d21..6986c05834f 100644 --- a/src/app/qgisapp.h +++ b/src/app/qgisapp.h @@ -492,6 +492,7 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow QAction *actionPasteLayerStyle() { return mActionPasteStyle; } QAction *actionOpenTable() { return mActionOpenTable; } QAction *actionOpenFieldCalculator() { return mActionOpenFieldCalc; } + QAction *actionStatisticalSummary() { return mActionStatisticalSummary; } QAction *actionToggleEditing() { return mActionToggleEditing; } QAction *actionSaveActiveLayerEdits() { return mActionSaveLayerEdits; } QAction *actionAllEdits() { return mActionAllEdits; } diff --git a/src/app/qgisappinterface.cpp b/src/app/qgisappinterface.cpp index 0d6772cc629..b46c2ee7bf3 100644 --- a/src/app/qgisappinterface.cpp +++ b/src/app/qgisappinterface.cpp @@ -641,6 +641,7 @@ QAction *QgisAppInterface::actionCopyLayerStyle() { return qgis->actionCopyLayer QAction *QgisAppInterface::actionPasteLayerStyle() { return qgis->actionPasteLayerStyle(); } QAction *QgisAppInterface::actionOpenTable() { return qgis->actionOpenTable(); } QAction *QgisAppInterface::actionOpenFieldCalculator() { return qgis->actionOpenFieldCalculator(); } +QAction *QgisAppInterface::actionOpenStatisticalSummary() { return qgis->actionStatisticalSummary(); } QAction *QgisAppInterface::actionToggleEditing() { return qgis->actionToggleEditing(); } QAction *QgisAppInterface::actionSaveActiveLayerEdits() { return qgis->actionSaveActiveLayerEdits(); } QAction *QgisAppInterface::actionAllEdits() { return qgis->actionAllEdits(); } diff --git a/src/app/qgisappinterface.h b/src/app/qgisappinterface.h index 4e7827b7124..ffdd0136663 100644 --- a/src/app/qgisappinterface.h +++ b/src/app/qgisappinterface.h @@ -445,6 +445,7 @@ class APP_EXPORT QgisAppInterface : public QgisInterface QAction *actionPasteLayerStyle() override; QAction *actionOpenTable() override; QAction *actionOpenFieldCalculator() override; + QAction *actionOpenStatisticalSummary() override; QAction *actionToggleEditing() override; QAction *actionSaveActiveLayerEdits() override; QAction *actionAllEdits() override; diff --git a/src/gui/qgisinterface.h b/src/gui/qgisinterface.h index 8c8d9440a22..0dedc3cbb91 100644 --- a/src/gui/qgisinterface.h +++ b/src/gui/qgisinterface.h @@ -314,6 +314,13 @@ class GUI_EXPORT QgisInterface : public QObject virtual QAction *actionPasteLayerStyle() = 0; virtual QAction *actionOpenTable() = 0; virtual QAction *actionOpenFieldCalculator() = 0; + + /** + * Statistical summary action. + * \since QGIS 3.0 + */ + virtual QAction *actionOpenStatisticalSummary() = 0; + virtual QAction *actionToggleEditing() = 0; virtual QAction *actionSaveActiveLayerEdits() = 0; virtual QAction *actionAllEdits() = 0;