From f23f7513b6e756579a9840a838036b0fc78e4ec7 Mon Sep 17 00:00:00 2001 From: signedav Date: Fri, 24 Nov 2023 10:15:20 +0100 Subject: [PATCH] icon --- .../gui/panel/tid_configurator_panel.py | 34 ++++++++++--------- .../images/QgisModelBaker-tidmanager-icon.svg | 2 ++ QgisModelBaker/qgismodelbaker.py | 4 +++ 3 files changed, 24 insertions(+), 16 deletions(-) create mode 100644 QgisModelBaker/images/QgisModelBaker-tidmanager-icon.svg diff --git a/QgisModelBaker/gui/panel/tid_configurator_panel.py b/QgisModelBaker/gui/panel/tid_configurator_panel.py index 8926ab7cd..9ea585b3d 100644 --- a/QgisModelBaker/gui/panel/tid_configurator_panel.py +++ b/QgisModelBaker/gui/panel/tid_configurator_panel.py @@ -51,22 +51,24 @@ def __init__(self, parent=None): def setup_dialog(self, qgis_project, db_connector=None): self.qgis_project = qgis_project - if db_connector: - self.db_connector = db_connector - else: - # getting the data source of the first layer in the layer tree - first_tree_layer = qgis_project.layerTreeRoot().findLayers()[0] - if first_tree_layer: - configuration = Ili2DbCommandConfiguration() - source_provider = first_tree_layer.layer().dataProvider() - valid, mode = db_utils.get_configuration_from_sourceprovider( - source_provider, configuration - ) - if valid: - configuration.tool = mode - self.db_connector = db_utils.get_db_connector(configuration) - - self._reset_tid_configuration() + if self.qgis_project: + if db_connector: + self.db_connector = db_connector + else: + # getting the data source of the first layer in the layer tree + layers = qgis_project.layerTreeRoot().findLayers() + if layers: + first_tree_layer = layers[0] + configuration = Ili2DbCommandConfiguration() + source_provider = first_tree_layer.layer().dataProvider() + valid, mode = db_utils.get_configuration_from_sourceprovider( + source_provider, configuration + ) + if valid: + configuration.tool = mode + self.db_connector = db_utils.get_db_connector(configuration) + + self._reset_tid_configuration() def _reset_tid_configuration(self): self.layer_tids_panel.load_tid_config(self.qgis_project) diff --git a/QgisModelBaker/images/QgisModelBaker-tidmanager-icon.svg b/QgisModelBaker/images/QgisModelBaker-tidmanager-icon.svg new file mode 100644 index 000000000..f98a61e85 --- /dev/null +++ b/QgisModelBaker/images/QgisModelBaker-tidmanager-icon.svg @@ -0,0 +1,2 @@ + +image/svg+xml123ab diff --git a/QgisModelBaker/qgismodelbaker.py b/QgisModelBaker/qgismodelbaker.py index d1d717012..976b74d7b 100644 --- a/QgisModelBaker/qgismodelbaker.py +++ b/QgisModelBaker/qgismodelbaker.py @@ -257,6 +257,9 @@ def unload(self): self.iface.removePluginDatabaseMenu( self.tr("Model Baker"), self.__datasetmanager_action ) + self.iface.removePluginDatabaseMenu( + self.tr("Model Baker"), self.__tidmanager_action + ) self.iface.removePluginDatabaseMenu( self.tr("Model Baker"), self.__validate_action ) @@ -275,6 +278,7 @@ def unload(self): ) del self.__workflow_wizard_action del self.__datasetmanager_action + del self.__tidmanager_action del self.__validate_action del self.__configure_action del self.__help_action