diff --git a/QgisModelBaker/gui/basket_manager.py b/QgisModelBaker/gui/basket_manager.py index c61ae13a1..6441cd5a8 100644 --- a/QgisModelBaker/gui/basket_manager.py +++ b/QgisModelBaker/gui/basket_manager.py @@ -93,7 +93,7 @@ def _add_basket(self): self, self.db_connector, self.datasetname ) if create_basket_dialog.baskets_can_be_created(): - create_basket_dialog.exec_() + create_basket_dialog.exec() # Refresh existing baskets in basket manager after creation self._refresh_baskets() @@ -105,7 +105,7 @@ def _add_basket(self): f"The dataset '{self.datasetname}' already contains one basket for each topic.\n\n" f"No additional baskets can be created." ), - QMessageBox.Close, + QMessageBox.StandardButton.Close, ) def _edit_basket(self) -> None: @@ -114,7 +114,7 @@ def _edit_basket(self) -> None: edit_basket_dialog = EditBasketDialog( self, self.db_connector, selected_basket_settings ) - edit_basket_dialog.exec_() + edit_basket_dialog.exec() # Refresh existing baskets in basket manager after edition self._refresh_baskets() @@ -128,7 +128,7 @@ def _delete_basket(self) -> None: self.tr( "Delete baskets is only available for database schemas created with --createBasketCol parameter." ), - QMessageBox.Close, + QMessageBox.StandardButton.Close, ) return @@ -139,9 +139,9 @@ def _delete_basket(self) -> None: self.tr( "Deleting a Basket will also delete all the data it contains. This operation cannot be reverted.\n\nAre you sure you want to proceed?" ), - QMessageBox.No | QMessageBox.Yes, + QMessageBox.StandardButton.No | QMessageBox.StandardButton.Yes, ) - == QMessageBox.Yes + == QMessageBox.StandardButton.Yes ): basket_config = self.baskets_panel.selected_basket_settings() res, msg = self._do_delete_basket(basket_config) @@ -155,11 +155,11 @@ def _delete_basket(self) -> None: warning_box = QMessageBox(self) warning_box.setIcon( - QMessageBox.Information if res else QMessageBox.Warning + QMessageBox.Icon.Information if res else QMessageBox.Icon.Warning ) warning_box.setWindowTitle(self.tr("Delete Basket")) warning_box.setText(msg) - warning_box.exec_() + warning_box.exec() def _refresh_map_layers(self): # Refresh layer data sources and also their symbology (including feature count) @@ -224,4 +224,6 @@ def _do_delete_basket(self, basket_config): return res, msg def _log_on_delete_dataset_error(self, log): - QgsMessageLog.logMessage(log, self.tr("Delete dataset from DB"), Qgis.Critical) + QgsMessageLog.logMessage( + log, self.tr("Delete dataset from DB"), Qgis.MessageLevel.Critical + ) diff --git a/QgisModelBaker/gui/create_baskets.py b/QgisModelBaker/gui/create_baskets.py index 62f29efa2..8f773e44e 100644 --- a/QgisModelBaker/gui/create_baskets.py +++ b/QgisModelBaker/gui/create_baskets.py @@ -56,7 +56,7 @@ def _accepted(self): ] if negative_feedbacks: warning_box = QMessageBox(self) - warning_box.setIcon(QMessageBox.Critical) + warning_box.setIcon(QMessageBox.Icon.Critical) warning_title = self.tr("Creating baskets failed") warning_box.setWindowTitle(warning_title) warning_box.setText( @@ -65,7 +65,7 @@ def _accepted(self): "\n(The problem is often an incorrectly formatted BID)", ) ) - warning_box.exec_() + warning_box.exec() self.close() def _rejected(self): diff --git a/QgisModelBaker/gui/custom_model_dir.py b/QgisModelBaker/gui/custom_model_dir.py index d3587a397..782ffefec 100644 --- a/QgisModelBaker/gui/custom_model_dir.py +++ b/QgisModelBaker/gui/custom_model_dir.py @@ -75,7 +75,11 @@ def browse_dir(self): ) def set_flags(self, item): - item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEditable | Qt.ItemIsEnabled) + item.setFlags( + Qt.ItemFlag.ItemIsSelectable + | Qt.ItemFlag.ItemIsEditable + | Qt.ItemFlag.ItemIsEnabled + ) def on_selection_changed(self): enable = len(self.model_dir_list.selectedItems()) == 1 diff --git a/QgisModelBaker/gui/dataset_manager.py b/QgisModelBaker/gui/dataset_manager.py index abfb7aa39..5c3f2bcd0 100644 --- a/QgisModelBaker/gui/dataset_manager.py +++ b/QgisModelBaker/gui/dataset_manager.py @@ -53,18 +53,20 @@ def __init__(self, iface, parent=None, wizard_embedded=False): self.setupUi(self) self.buttonBox.accepted.connect(self._accepted) self.bar = QgsMessageBar() - self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Expanding) - self.info_layout.addWidget(self.bar, 0, Qt.AlignTop) + self.bar.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) + self.info_layout.addWidget(self.bar, 0, Qt.AlignmentFlag.AlignTop) self.db_simple_factory = DbSimpleFactory() self.dataset_model = DatasetModel() self.dataset_tableview.horizontalHeader().setSectionResizeMode( - QHeaderView.Stretch + QHeaderView.ResizeMode.Stretch ) self.dataset_tableview.horizontalHeader().hide() self.dataset_tableview.verticalHeader().hide() - self.dataset_tableview.setSelectionMode(QTableView.SingleSelection) + self.dataset_tableview.setSelectionMode( + QTableView.SelectionMode.SingleSelection + ) self.dataset_tableview.setModel(self.dataset_model) self.add_button.clicked.connect(self._add_dataset) @@ -92,14 +94,14 @@ def __init__(self, iface, parent=None, wizard_embedded=False): def _close_editing(self): editable_layers = [] for layer in QgsProject.instance().mapLayers().values(): - if layer.type() == QgsMapLayer.VectorLayer: + if layer.type() == QgsMapLayer.LayerType.VectorLayer: self.iface.vectorLayerTools().stopEditing(layer) if layer.isEditable(): editable_layers.append(layer) if editable_layers: # in case it could not close it automatically warning_box = QMessageBox(self) - warning_box.setIcon(QMessageBox.Warning) + warning_box.setIcon(QMessageBox.Icon.Warning) warning_title = self.tr("Layers still editable") warning_box.setWindowTitle(warning_title) warning_box.setText( @@ -107,7 +109,7 @@ def _close_editing(self): "You still have layers in edit mode.\nIn case you modify datasets on the database of those layers, it could lead to database locks.\nEditable layers are:\n - {}" ).format("\n - ".join([layer.name() for layer in editable_layers])) ) - warning_box.exec_() + warning_box.exec() def _valid_selection(self): """ @@ -142,7 +144,7 @@ def _add_dataset(self): db_connector = db_utils.get_db_connector(self.configuration) if db_connector and db_connector.get_basket_handling(): edit_dataset_dialog = EditDatasetDialog(self, db_connector) - edit_dataset_dialog.exec_() + edit_dataset_dialog.exec() self._refresh_datasets() self._jump_to_entry(edit_dataset_dialog.dataset_line_edit.text()) @@ -159,7 +161,7 @@ def _edit_dataset(self): ), ) edit_dataset_dialog = EditDatasetDialog(self, db_connector, dataset) - edit_dataset_dialog.exec_() + edit_dataset_dialog.exec() self._refresh_datasets() self._jump_to_entry(edit_dataset_dialog.dataset_line_edit.text()) @@ -173,7 +175,7 @@ def _delete_dataset(self): self.tr( "Delete datasets is only available for database schemas created with --createBasketCol parameter." ), - QMessageBox.Close, + QMessageBox.StandardButton.Close, ) return @@ -184,9 +186,9 @@ def _delete_dataset(self): self.tr( "Deleting a Dataset will also delete children baskets and all the data they contain. This operation cannot be reverted.\n\nAre you sure you want to proceed?" ), - QMessageBox.No | QMessageBox.Yes, + QMessageBox.StandardButton.No | QMessageBox.StandardButton.Yes, ) - == QMessageBox.Yes + == QMessageBox.StandardButton.Yes ): dataset = self.dataset_tableview.selectedIndexes()[0].data( int(DatasetModel.Roles.DATASETNAME) @@ -203,14 +205,16 @@ def _delete_dataset(self): warning_box = QMessageBox(self) warning_box.setIcon( - QMessageBox.Information if res else QMessageBox.Warning + QMessageBox.Icon.Information if res else QMessageBox.Icon.Warning ) warning_box.setWindowTitle(self.tr("Delete Dataset")) warning_box.setText(msg) - warning_box.exec_() + warning_box.exec() def _log_on_delete_dataset_error(self, log): - QgsMessageLog.logMessage(log, self.tr("Delete dataset from DB"), Qgis.Critical) + QgsMessageLog.logMessage( + log, self.tr("Delete dataset from DB"), Qgis.MessageLevel.Critical + ) def _refresh_map_layers(self): # Refresh layer data sources and also their symbology (including feature count) @@ -230,15 +234,15 @@ def _open_basket_manager(self): basket_manager_dialog = BasketManagerDialog( self.iface, self, db_connector, datasetname, self.configuration ) - basket_manager_dialog.exec_() + basket_manager_dialog.exec() def _jump_to_entry(self, datasetname): matches = self.dataset_model.match( self.dataset_model.index(0, 0), - Qt.DisplayRole, + Qt.ItemDataRole.DisplayRole, datasetname, 1, - Qt.MatchExactly, + Qt.MatchFlag.MatchExactly, ) if matches: self.dataset_tableview.setCurrentIndex(matches[0]) diff --git a/QgisModelBaker/gui/drop_message.py b/QgisModelBaker/gui/drop_message.py index 0d9738fde..0756cd353 100644 --- a/QgisModelBaker/gui/drop_message.py +++ b/QgisModelBaker/gui/drop_message.py @@ -18,9 +18,8 @@ """ import os -from PyQt5.QtCore import QSize from qgis.gui import QgsGui -from qgis.PyQt.QtCore import QSettings +from qgis.PyQt.QtCore import QSettings, QSize from qgis.PyQt.QtWidgets import QDialog from QgisModelBaker.utils import gui_utils diff --git a/QgisModelBaker/gui/edit_basket.py b/QgisModelBaker/gui/edit_basket.py index 0b259c724..e15105f01 100644 --- a/QgisModelBaker/gui/edit_basket.py +++ b/QgisModelBaker/gui/edit_basket.py @@ -16,9 +16,8 @@ * * ***************************************************************************/ """ -from PyQt5.QtWidgets import QMessageBox from qgis.PyQt.QtCore import Qt -from qgis.PyQt.QtWidgets import QDialog, QWidget +from qgis.PyQt.QtWidgets import QDialog, QMessageBox, QWidget from QgisModelBaker.libs.modelbaker.dbconnector.db_connector import DBConnector from QgisModelBaker.utils import gui_utils @@ -49,7 +48,9 @@ def __init__( if not dataset_data["enabled"]: model = self.cboDatasets.model() item = model.item(self.cboDatasets.count() - 1) - item.setFlags(item.flags() & ~Qt.ItemIsEnabled) # Disable mirror item + item.setFlags( + item.flags() & ~Qt.ItemFlag.ItemIsEnabled + ) # Disable mirror item # Select the current basket's dataset self.cboDatasets.setCurrentIndex( @@ -99,5 +100,8 @@ def _save_edited_basket(self) -> None: res, msg = self.db_connector.edit_basket(basket_config) if not res: QMessageBox.warning( - self, self.tr("Edit Basket Failed"), msg, QMessageBox.Close + self, + self.tr("Edit Basket Failed"), + msg, + QMessageBox.StandardButton.Close, ) diff --git a/QgisModelBaker/gui/edit_command.py b/QgisModelBaker/gui/edit_command.py index 3fb431400..ec694b6ea 100644 --- a/QgisModelBaker/gui/edit_command.py +++ b/QgisModelBaker/gui/edit_command.py @@ -29,4 +29,6 @@ def __init__(self, parent=None): QDialog.__init__(self, parent) self.setupUi(self) QgsGui.instance().enableAutoGeometryRestore(self) - self.button_box.button(QDialogButtonBox.Ok).setText(self.tr("Run")) + self.button_box.button(QDialogButtonBox.StandardButton.Ok).setText( + self.tr("Run") + ) diff --git a/QgisModelBaker/gui/edit_dataset_name.py b/QgisModelBaker/gui/edit_dataset_name.py index db6ec505a..1dbd015a3 100644 --- a/QgisModelBaker/gui/edit_dataset_name.py +++ b/QgisModelBaker/gui/edit_dataset_name.py @@ -59,13 +59,13 @@ def accepted(self): status, message = self.database_command(new_dataset_name) if not status: warning_box = QMessageBox(self) - warning_box.setIcon(QMessageBox.Critical) + warning_box.setIcon(QMessageBox.Icon.Critical) warning_title = ( self.tr("Rename Dataset") if self.tid else self.tr("Create Dataset") ) warning_box.setWindowTitle(warning_title) warning_box.setText(message) - warning_box.exec_() + warning_box.exec() self.close() def database_command(self, new_dataset_name): diff --git a/QgisModelBaker/gui/ili2db_options.py b/QgisModelBaker/gui/ili2db_options.py index 3ec452e78..45e804618 100644 --- a/QgisModelBaker/gui/ili2db_options.py +++ b/QgisModelBaker/gui/ili2db_options.py @@ -156,8 +156,8 @@ def __init__(self, parent=None, remove_create_tid_group=True): ) self.bar = QgsMessageBar() - self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) - self.layout().addWidget(self.bar, 0, 0, Qt.AlignTop) + self.bar.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed) + self.layout().addWidget(self.bar, 0, 0, Qt.AlignmentFlag.AlignTop) def accepted(self): """Save settings before accepting the dialog""" @@ -168,7 +168,7 @@ def accepted(self): ]: if ( line_edit.validator().validate(line_edit.text().strip(), 0)[0] - != QValidator.Acceptable + != QValidator.State.Acceptable ): self.bar.pushWarning( self.tr("Warning"), diff --git a/QgisModelBaker/gui/options.py b/QgisModelBaker/gui/options.py index 7402538be..fd4c72424 100644 --- a/QgisModelBaker/gui/options.py +++ b/QgisModelBaker/gui/options.py @@ -124,7 +124,7 @@ def accepted(self): def show_custom_model_dir(self): dlg = CustomModelDirDialog(self.custom_model_directories_line_edit.text(), self) - dlg.exec_() + dlg.exec() def help_requested(self): os_language = QLocale(QSettings().value("locale/userLocale")).name()[:2] diff --git a/QgisModelBaker/gui/panel/create_basket_panel.py b/QgisModelBaker/gui/panel/create_basket_panel.py index d8c678c22..c3260653a 100644 --- a/QgisModelBaker/gui/panel/create_basket_panel.py +++ b/QgisModelBaker/gui/panel/create_basket_panel.py @@ -57,13 +57,13 @@ def rowCount(self, parent): def flags(self, index): if index.column() == CreateBasketModel.Columns.DO_CREATE: - return Qt.ItemIsEnabled + return Qt.ItemFlag.ItemIsEnabled if index.column() in ( CreateBasketModel.Columns.BID_VALUE, CreateBasketModel.Columns.ATTACHMENT_KEY, ): - return Qt.ItemIsEditable | Qt.ItemIsEnabled - return Qt.ItemIsSelectable | Qt.ItemIsEnabled + return Qt.ItemFlag.ItemIsEditable | Qt.ItemFlag.ItemIsEnabled + return Qt.ItemFlag.ItemIsSelectable | Qt.ItemFlag.ItemIsEnabled def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: """ @@ -78,7 +78,10 @@ def parent(self, index): return index def headerData(self, section, orientation, role): - if orientation == Qt.Horizontal and role == Qt.DisplayRole: + if ( + orientation == Qt.Orientation.Horizontal + and role == Qt.ItemDataRole.DisplayRole + ): if section == CreateBasketModel.Columns.DO_CREATE: return self.tr("Create") if section == CreateBasketModel.Columns.TOPIC: @@ -91,7 +94,9 @@ def headerData(self, section, orientation, role): return self.tr("Attachment key") def data(self, index, role): - if role == int(Qt.DisplayRole) or role == int(Qt.EditRole): + if role == int(Qt.ItemDataRole.DisplayRole) or role == int( + Qt.ItemDataRole.EditRole + ): key = list(self.basket_settings.keys())[index.row()] if index.column() == CreateBasketModel.Columns.DO_CREATE: return self.basket_settings[key]["create"] @@ -103,7 +108,7 @@ def data(self, index, role): return self.basket_settings[key]["bid_value"] if index.column() == CreateBasketModel.Columns.ATTACHMENT_KEY: return self.basket_settings[key]["attachmentkey"] - elif role == int(Qt.ToolTipRole): + elif role == int(Qt.ItemDataRole.ToolTipRole): key = list(self.basket_settings.keys())[index.row()] if index.column() == CreateBasketModel.Columns.DO_CREATE: return self.tr("If this basket should be created") @@ -147,7 +152,7 @@ def data(self, index, role): return None def setData(self, index, data, role): - if role == int(Qt.EditRole): + if role == int(Qt.ItemDataRole.EditRole): key = list(self.basket_settings.keys())[index.row()] if index.column() == CreateBasketModel.Columns.BID_VALUE: self.basket_settings[key]["bid_value"] = data @@ -238,26 +243,28 @@ def __init__(self, parent=None): self.basket_view.setModel(self.bid_model) self.basket_view.horizontalHeader().setSectionResizeMode( - CreateBasketModel.Columns.DO_CREATE, QHeaderView.ResizeToContents + CreateBasketModel.Columns.DO_CREATE, QHeaderView.ResizeMode.ResizeToContents ) self.basket_view.horizontalHeader().setSectionResizeMode( - CreateBasketModel.Columns.TOPIC, QHeaderView.Stretch + CreateBasketModel.Columns.TOPIC, QHeaderView.ResizeMode.Stretch ) self.basket_view.horizontalHeader().setSectionResizeMode( - CreateBasketModel.Columns.BID_DOMAIN, QHeaderView.ResizeToContents + CreateBasketModel.Columns.BID_DOMAIN, + QHeaderView.ResizeMode.ResizeToContents, ) self.basket_view.horizontalHeader().setSectionResizeMode( - CreateBasketModel.Columns.BID_VALUE, QHeaderView.ResizeToContents + CreateBasketModel.Columns.BID_VALUE, QHeaderView.ResizeMode.ResizeToContents ) self.basket_view.horizontalHeader().setSectionResizeMode( - CreateBasketModel.Columns.ATTACHMENT_KEY, QHeaderView.ResizeToContents + CreateBasketModel.Columns.ATTACHMENT_KEY, + QHeaderView.ResizeMode.ResizeToContents, ) self.basket_view.setItemDelegateForColumn( CreateBasketModel.Columns.DO_CREATE, - CheckDelegate(self, Qt.EditRole), + CheckDelegate(self, Qt.ItemDataRole.EditRole), ) - self.basket_view.setEditTriggers(QAbstractItemView.AllEditTriggers) + self.basket_view.setEditTriggers(QAbstractItemView.EditTrigger.AllEditTriggers) def load_basket_config(self, db_connector, dataset): self.bid_model.load_basket_config(db_connector, dataset) diff --git a/QgisModelBaker/gui/panel/dataset_selector.py b/QgisModelBaker/gui/panel/dataset_selector.py index f01ea1661..129e19413 100644 --- a/QgisModelBaker/gui/panel/dataset_selector.py +++ b/QgisModelBaker/gui/panel/dataset_selector.py @@ -36,7 +36,7 @@ class DatasetSelector(QComboBox): def __init__(self, parent=None): QWidget.__init__(self, parent) - self.setSizeAdjustPolicy(QComboBox.AdjustToContents) + self.setSizeAdjustPolicy(QComboBox.SizeAdjustPolicy.AdjustToContents) self.setToolTip(self.tr("Dataset used as default value in form")) self.db_simple_factory = DbSimpleFactory() @@ -95,7 +95,7 @@ def set_current_layer(self, layer): # let it pass, it will have no entries what is okay pass - self.filtered_model.setFilterRegExp( + self.filtered_model.setFilterRegularExpression( "|".join(self.current_schema_topic_identificators) ) @@ -119,7 +119,7 @@ def _set_index(self, default_basket_topic): int(BasketSourceModel.Roles.BASKET_TID), current_basket_tid, 1, - Qt.MatchExactly, + Qt.MatchFlag.MatchExactly, ) if matches: self.setCurrentIndex(matches[0].row()) @@ -145,7 +145,9 @@ def _store_default_basket_tid(self, schema_identificator, model_topic): schema_topic_identificator = slugify( f"{schema_identificator}_{model_topic}" ) - self.filtered_model.setFilterRegExp(f"{schema_topic_identificator}") + self.filtered_model.setFilterRegularExpression( + f"{schema_topic_identificator}" + ) first_index = self.model().index(0, 0) basket_tid = first_index.data(int(BasketSourceModel.Roles.BASKET_TID)) QgsExpressionContextUtils.setProjectVariable( diff --git a/QgisModelBaker/gui/panel/filter_data_panel.py b/QgisModelBaker/gui/panel/filter_data_panel.py index 95d19eb82..1e9d04c4f 100644 --- a/QgisModelBaker/gui/panel/filter_data_panel.py +++ b/QgisModelBaker/gui/panel/filter_data_panel.py @@ -115,8 +115,9 @@ def _filter_changed(self): self.parent.current_filter_mode = filter def _select_all_items(self, state): - if state != Qt.PartiallyChecked and state != self._evaluated_check_state( - self.items_view.model() + if ( + state != Qt.CheckState.PartiallyChecked + and state != self._evaluated_check_state(self.items_view.model()) ): self.items_view.model().check_all(state) @@ -129,6 +130,6 @@ def _evaluated_check_state(self, model): nbr_of_checked = len(model.checked_entries()) if nbr_of_checked: if nbr_of_checked == model.rowCount(): - return Qt.Checked - return Qt.PartiallyChecked - return Qt.Unchecked + return Qt.CheckState.Checked + return Qt.CheckState.PartiallyChecked + return Qt.CheckState.Unchecked diff --git a/QgisModelBaker/gui/panel/gpkg_config_panel.py b/QgisModelBaker/gui/panel/gpkg_config_panel.py index c61d47a8b..198f5d2a6 100644 --- a/QgisModelBaker/gui/panel/gpkg_config_panel.py +++ b/QgisModelBaker/gui/panel/gpkg_config_panel.py @@ -113,7 +113,7 @@ def is_valid(self): if ( not db_file or self.gpkg_file_line_edit.validator().validate(db_file, 0)[0] - != QValidator.Acceptable + != QValidator.State.Acceptable ): message = self.tr( "Please set a valid database file before creating the project." diff --git a/QgisModelBaker/gui/panel/layer_tids_panel.py b/QgisModelBaker/gui/panel/layer_tids_panel.py index 97bf27a61..2bb941849 100644 --- a/QgisModelBaker/gui/panel/layer_tids_panel.py +++ b/QgisModelBaker/gui/panel/layer_tids_panel.py @@ -58,7 +58,7 @@ class TIDModel(QAbstractTableModel): """ class Roles(Enum): - LAYER = Qt.UserRole + 1 + LAYER = Qt.ItemDataRole.UserRole + 1 def __int__(self): return self.value @@ -89,10 +89,10 @@ def flags(self, index): TIDModel.Columns.UNIQUE, ] ): - return Qt.ItemIsEnabled + return Qt.ItemFlag.ItemIsEnabled if index.column() == TIDModel.Columns.DEFAULT_VALUE: - return Qt.ItemIsEditable | Qt.ItemIsEnabled - return Qt.ItemIsSelectable | Qt.ItemIsEnabled + return Qt.ItemFlag.ItemIsEditable | Qt.ItemFlag.ItemIsEnabled + return Qt.ItemFlag.ItemIsSelectable | Qt.ItemFlag.ItemIsEnabled def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: """ @@ -107,7 +107,10 @@ def parent(self, index): return index def headerData(self, section, orientation, role): - if orientation == Qt.Horizontal and role == Qt.DisplayRole: + if ( + orientation == Qt.Orientation.Horizontal + and role == Qt.ItemDataRole.DisplayRole + ): if section == TIDModel.Columns.NAME: return self.tr("Layer") if section == TIDModel.Columns.OID_DOMAIN: @@ -122,7 +125,9 @@ def headerData(self, section, orientation, role): return self.tr("Unique") def data(self, index, role): - if role == int(Qt.DisplayRole) or role == int(Qt.EditRole): + if role == int(Qt.ItemDataRole.DisplayRole) or role == int( + Qt.ItemDataRole.EditRole + ): key = list(self.oid_settings.keys())[index.row()] if index.column() == TIDModel.Columns.NAME: return f"{key} ({self.oid_settings[key]['interlis_topic']})" @@ -136,7 +141,7 @@ def data(self, index, role): return self.oid_settings[key]["not_null"] if index.column() == TIDModel.Columns.UNIQUE: return self.oid_settings[key]["unique"] - elif role == int(Qt.ToolTipRole): + elif role == int(Qt.ItemDataRole.ToolTipRole): key = list(self.oid_settings.keys())[index.row()] if index.column() == TIDModel.Columns.NAME: return f"{key} ({self.oid_settings[key]['interlis_topic']})" @@ -204,7 +209,7 @@ def data(self, index, role): return None def setData(self, index, data, role): - if role == int(Qt.EditRole): + if role == int(Qt.ItemDataRole.EditRole): if index.column() == TIDModel.Columns.DEFAULT_VALUE: key = list(self.oid_settings.keys())[index.row()] self.oid_settings[key]["default_value_expression"] = data @@ -246,12 +251,12 @@ def createEditor(self, parent, option, index): return self.editor def setEditorData(self, editor, index): - value = index.data(int(Qt.DisplayRole)) + value = index.data(int(Qt.ItemDataRole.DisplayRole)) self.editor.setExpression(value) def setModelData(self, editor, model, index): value = editor.expression() - model.setData(index, value, int(Qt.EditRole)) + model.setData(index, value, int(Qt.ItemDataRole.EditRole)) def updateEditorGeometry(self, editor, option, index): self.editor.setGeometry(option.rect) @@ -259,7 +264,7 @@ def updateEditorGeometry(self, editor, option, index): def paint(self, painter, option, index): opt = self.createEditor(self.parent, option, index) opt.editable = False - value = index.data(int(Qt.DisplayRole)) + value = index.data(int(Qt.ItemDataRole.DisplayRole)) opt.setExpression(value) opt.resize(option.rect.width(), option.rect.height()) pixmap = QPixmap(opt.width(), opt.height()) @@ -277,22 +282,22 @@ def __init__(self, parent=None): self.layer_tids_view.setModel(self.tid_model) self.layer_tids_view.horizontalHeader().setSectionResizeMode( - TIDModel.Columns.NAME, QHeaderView.Stretch + TIDModel.Columns.NAME, QHeaderView.ResizeMode.Stretch ) self.layer_tids_view.horizontalHeader().setSectionResizeMode( - TIDModel.Columns.OID_DOMAIN, QHeaderView.ResizeToContents + TIDModel.Columns.OID_DOMAIN, QHeaderView.ResizeMode.ResizeToContents ) self.layer_tids_view.horizontalHeader().setSectionResizeMode( - TIDModel.Columns.DEFAULT_VALUE, QHeaderView.ResizeToContents + TIDModel.Columns.DEFAULT_VALUE, QHeaderView.ResizeMode.ResizeToContents ) self.layer_tids_view.horizontalHeader().setSectionResizeMode( - TIDModel.Columns.IN_FORM, QHeaderView.ResizeToContents + TIDModel.Columns.IN_FORM, QHeaderView.ResizeMode.ResizeToContents ) self.layer_tids_view.horizontalHeader().setSectionResizeMode( - TIDModel.Columns.NOTNULL, QHeaderView.ResizeToContents + TIDModel.Columns.NOTNULL, QHeaderView.ResizeMode.ResizeToContents ) self.layer_tids_view.horizontalHeader().setSectionResizeMode( - TIDModel.Columns.UNIQUE, QHeaderView.ResizeToContents + TIDModel.Columns.UNIQUE, QHeaderView.ResizeMode.ResizeToContents ) self.layer_tids_view.setItemDelegateForColumn( @@ -301,17 +306,19 @@ def __init__(self, parent=None): ) self.layer_tids_view.setItemDelegateForColumn( TIDModel.Columns.IN_FORM, - CheckDelegate(self, Qt.EditRole), + CheckDelegate(self, Qt.ItemDataRole.EditRole), ) self.layer_tids_view.setItemDelegateForColumn( TIDModel.Columns.NOTNULL, - CheckDelegate(self, Qt.EditRole), + CheckDelegate(self, Qt.ItemDataRole.EditRole), ) self.layer_tids_view.setItemDelegateForColumn( TIDModel.Columns.UNIQUE, - CheckDelegate(self, Qt.EditRole), + CheckDelegate(self, Qt.ItemDataRole.EditRole), + ) + self.layer_tids_view.setEditTriggers( + QAbstractItemView.EditTrigger.AllEditTriggers ) - self.layer_tids_view.setEditTriggers(QAbstractItemView.AllEditTriggers) def load_tid_config(self, qgis_project=QgsProject.instance()): self.tid_model.load_tid_config(qgis_project) diff --git a/QgisModelBaker/gui/panel/log_panel.py b/QgisModelBaker/gui/panel/log_panel.py index 1bdee36e1..e5c6eab4d 100644 --- a/QgisModelBaker/gui/panel/log_panel.py +++ b/QgisModelBaker/gui/panel/log_panel.py @@ -19,11 +19,16 @@ import logging -from PyQt5.QtWidgets import QGridLayout, QProgressBar from qgis.core import Qgis from qgis.gui import QgsMessageBar from qgis.PyQt.QtCore import QSize, Qt -from qgis.PyQt.QtWidgets import QGridLayout, QSizePolicy, QTextBrowser, QWidget +from qgis.PyQt.QtWidgets import ( + QGridLayout, + QProgressBar, + QSizePolicy, + QTextBrowser, + QWidget, +) from QgisModelBaker.utils.gui_utils import ( LogLevel, @@ -38,10 +43,10 @@ def __init__(self, parent=None): self.txtStdout = QTextBrowser() self.bar = QgsMessageBar() - self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) + self.bar.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed) self.txtStdout.setLayout(QGridLayout()) self.txtStdout.layout().setContentsMargins(0, 0, 0, 0) - self.txtStdout.layout().addWidget(self.bar, 0, 0, Qt.AlignTop) + self.txtStdout.layout().addWidget(self.bar, 0, 0, Qt.AlignmentFlag.AlignTop) self.scrollbar = self.txtStdout.verticalScrollBar() self.busy_bar = QProgressBar() @@ -75,7 +80,7 @@ def print_stdout_info(self, text): self.print_info(text, get_parsed_log_text_level(text)) def show_message(self, level, message): - if level == Qgis.Warning: - self.bar.pushMessage(message, Qgis.Info, 10) - elif level == Qgis.Critical: - self.bar.pushMessage(message, Qgis.Warning, 10) + if level == Qgis.MessageLevel.Warning: + self.bar.pushMessage(message, Qgis.MessageLevel.Info, 10) + elif level == Qgis.MessageLevel.Critical: + self.bar.pushMessage(message, Qgis.MessageLevel.Warning, 10) diff --git a/QgisModelBaker/gui/panel/pg_config_panel.py b/QgisModelBaker/gui/panel/pg_config_panel.py index bde65be26..1f52b8d84 100644 --- a/QgisModelBaker/gui/panel/pg_config_panel.py +++ b/QgisModelBaker/gui/panel/pg_config_panel.py @@ -44,15 +44,15 @@ class PgConfigPanel(DbConfigPanel, WIDGET_UI): """ class _SERVICE_COMBOBOX_ROLE(IntEnum): - DBSERVICE = Qt.UserRole - DBHOST = Qt.UserRole + 1 - DBPORT = Qt.UserRole + 2 - DBUSR = Qt.UserRole + 3 - DATABASE = Qt.UserRole + 4 - DBSCHEMA = Qt.UserRole + 5 - DBPWD = Qt.UserRole + 6 - DBAUTHID = Qt.UserRole + 7 - SSLMODE = Qt.UserRole + 8 + DBSERVICE = Qt.ItemDataRole.UserRole + DBHOST = Qt.ItemDataRole.UserRole + 1 + DBPORT = Qt.ItemDataRole.UserRole + 2 + DBUSR = Qt.ItemDataRole.UserRole + 3 + DATABASE = Qt.ItemDataRole.UserRole + 4 + DBSCHEMA = Qt.ItemDataRole.UserRole + 5 + DBPWD = Qt.ItemDataRole.UserRole + 6 + DBAUTHID = Qt.ItemDataRole.UserRole + 7 + SSLMODE = Qt.ItemDataRole.UserRole + 8 REFRESH_SCHEMAS_TIMEOUT_MS = 500 @@ -137,45 +137,45 @@ def __init__(self, parent, db_action_type): self.pg_ssl_mode_combo_box.addItem("verify-full", "verify-full") self.pg_ssl_mode_combo_box.setItemData( - 0, self.tr("Do not set the sslmode parameter"), Qt.ToolTipRole + 0, self.tr("Do not set the sslmode parameter"), Qt.ItemDataRole.ToolTipRole ) self.pg_ssl_mode_combo_box.setItemData( - 1, self.tr("Only try a non-SSL connection"), Qt.ToolTipRole + 1, self.tr("Only try a non-SSL connection"), Qt.ItemDataRole.ToolTipRole ) self.pg_ssl_mode_combo_box.setItemData( 2, self.tr( "First try a non-SSL connection; if that fails, try an SSL connection" ), - Qt.ToolTipRole, + Qt.ItemDataRole.ToolTipRole, ) self.pg_ssl_mode_combo_box.setItemData( 3, self.tr( "First try an SSL connection; if that fails, try a non-SSL connection" ), - Qt.ToolTipRole, + Qt.ItemDataRole.ToolTipRole, ) self.pg_ssl_mode_combo_box.setItemData( 4, self.tr( "Only try an SSL connection. If a root CA file is present, verify the certificate in the same way as if verify-ca was specified" ), - Qt.ToolTipRole, + Qt.ItemDataRole.ToolTipRole, ) self.pg_ssl_mode_combo_box.setItemData( 5, self.tr( "Only try an SSL connection, and verify that the server certificate is issued by a trusted certificate authority (CA)" ), - Qt.ToolTipRole, + Qt.ItemDataRole.ToolTipRole, ) self.pg_ssl_mode_combo_box.setItemData( 6, self.tr( "Only try an SSL connection, verify that the server certificate is issued by a trusted CA and that the requested server host name matches that in the certificate" ), - Qt.ToolTipRole, + Qt.ItemDataRole.ToolTipRole, ) self._show_panel() diff --git a/QgisModelBaker/gui/panel/session_panel.py b/QgisModelBaker/gui/panel/session_panel.py index 67d0d250f..73d50a5a6 100644 --- a/QgisModelBaker/gui/panel/session_panel.py +++ b/QgisModelBaker/gui/panel/session_panel.py @@ -313,7 +313,7 @@ def edit_command(self): command = porter.command(True) edit_command_dialog = EditCommandDialog(self) edit_command_dialog.command_edit.setPlainText(command) - if edit_command_dialog.exec_(): + if edit_command_dialog.exec(): edited_command = edit_command_dialog.command_edit.toPlainText() self.run(edited_command) @@ -335,7 +335,7 @@ def run(self, edited_command=None): porter = self._get_porter() - with OverrideCursor(Qt.WaitCursor): + with OverrideCursor(Qt.CursorShape.WaitCursor): self.progress_bar.setTextVisible(False) self.progress_bar.setValue(10) diff --git a/QgisModelBaker/gui/panel/summary_basket_panel.py b/QgisModelBaker/gui/panel/summary_basket_panel.py index dc948b883..f6633d1e3 100644 --- a/QgisModelBaker/gui/panel/summary_basket_panel.py +++ b/QgisModelBaker/gui/panel/summary_basket_panel.py @@ -51,7 +51,7 @@ def rowCount(self, parent): return len(self.basket_settings) def flags(self, index): - return Qt.ItemIsSelectable | Qt.ItemIsEnabled + return Qt.ItemFlag.ItemIsSelectable | Qt.ItemFlag.ItemIsEnabled def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: """ @@ -66,7 +66,10 @@ def parent(self, index): return index def headerData(self, section, orientation, role): - if orientation == Qt.Horizontal and role == Qt.DisplayRole: + if ( + orientation == Qt.Orientation.Horizontal + and role == Qt.ItemDataRole.DisplayRole + ): if section == BasketModel.Columns.DATASET: return self.tr("Dataset") if section == BasketModel.Columns.TOPIC: @@ -79,7 +82,9 @@ def headerData(self, section, orientation, role): return self.tr("Attachment key") def data(self, index, role): - if role == int(Qt.DisplayRole) or role == int(Qt.EditRole): + if role == int(Qt.ItemDataRole.DisplayRole) or role == int( + Qt.ItemDataRole.EditRole + ): key = list(self.basket_settings.keys())[index.row()] if index.column() == BasketModel.Columns.DATASET: return self.basket_settings[key]["datasetname"] @@ -91,7 +96,7 @@ def data(self, index, role): return self.basket_settings[key]["bid_value"] if index.column() == BasketModel.Columns.ATTACHMENT_KEY: return self.basket_settings[key]["attachmentkey"] - elif role == int(Qt.ToolTipRole): + elif role == int(Qt.ItemDataRole.ToolTipRole): key = list(self.basket_settings.keys())[index.row()] if index.column() == BasketModel.Columns.DATASET: return self.tr("Dataset this basket belongs to") @@ -180,19 +185,19 @@ def __init__(self, parent=None): self.basket_view.setModel(self.bid_model) self.basket_view.horizontalHeader().setSectionResizeMode( - BasketModel.Columns.DATASET, QHeaderView.ResizeToContents + BasketModel.Columns.DATASET, QHeaderView.ResizeMode.ResizeToContents ) self.basket_view.horizontalHeader().setSectionResizeMode( - BasketModel.Columns.TOPIC, QHeaderView.Stretch + BasketModel.Columns.TOPIC, QHeaderView.ResizeMode.Stretch ) self.basket_view.horizontalHeader().setSectionResizeMode( - BasketModel.Columns.BID_DOMAIN, QHeaderView.ResizeToContents + BasketModel.Columns.BID_DOMAIN, QHeaderView.ResizeMode.ResizeToContents ) self.basket_view.horizontalHeader().setSectionResizeMode( - BasketModel.Columns.BID_VALUE, QHeaderView.ResizeToContents + BasketModel.Columns.BID_VALUE, QHeaderView.ResizeMode.ResizeToContents ) self.basket_view.horizontalHeader().setSectionResizeMode( - BasketModel.Columns.ATTACHMENT_KEY, QHeaderView.ResizeToContents + BasketModel.Columns.ATTACHMENT_KEY, QHeaderView.ResizeMode.ResizeToContents ) def load_basket_config(self, db_connector, dataset): diff --git a/QgisModelBaker/gui/tid_manager.py b/QgisModelBaker/gui/tid_manager.py index d1e2c1d6e..ff1acb6d9 100644 --- a/QgisModelBaker/gui/tid_manager.py +++ b/QgisModelBaker/gui/tid_manager.py @@ -49,27 +49,27 @@ def __init__(self, iface, parent=None, base_config=None): self.setStyleSheet(gui_utils.DEFAULT_STYLE) self.bar = QgsMessageBar() - self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) - self.layout().addWidget(self.bar, 0, 0, Qt.AlignTop) + self.bar.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed) + self.layout().addWidget(self.bar, 0, 0, Qt.AlignmentFlag.AlignTop) result, message = self.tid_configurator_panel.setup_dialog( QgsProject.instance() ) if not result: self.tid_configurator_panel.setEnabled(False) - self.bar.pushMessage(message, Qgis.Warning) + self.bar.pushMessage(message, Qgis.MessageLevel.Warning) def _close_editing(self): editable_layers = [] for layer in QgsProject.instance().mapLayers().values(): - if layer.type() == QgsMapLayer.VectorLayer: + if layer.type() == QgsMapLayer.LayerType.VectorLayer: self.iface.vectorLayerTools().stopEditing(layer) if layer.isEditable(): editable_layers.append(layer) if editable_layers: # in case it could not close it automatically warning_box = QMessageBox(self) - warning_box.setIcon(QMessageBox.Warning) + warning_box.setIcon(QMessageBox.Icon.Warning) warning_title = self.tr("Layers still editable") warning_box.setWindowTitle(warning_title) warning_box.setText( @@ -77,17 +77,17 @@ def _close_editing(self): "You still have layers in edit mode.\nIn case you modify the sequence in the database of those layers, it could lead to database locks.\nEditable layers are:\n - {}" ).format("\n - ".join([layer.name() for layer in editable_layers])) ) - warning_box.exec_() + warning_box.exec() def _accepted(self): result, message = self.tid_configurator_panel.set_tid_configuration() if not result: error_box = QMessageBox(self) - error_box.setIcon(QMessageBox.Critical) + error_box.setIcon(QMessageBox.Icon.Critical) warning_title = self.tr("Problems on setting T_Id sequence.") error_box.setWindowTitle(warning_title) error_box.setText(message) - error_box.exec_() + error_box.exec() else: self.close() diff --git a/QgisModelBaker/gui/topping_wizard/ili2dbsettings_page.py b/QgisModelBaker/gui/topping_wizard/ili2dbsettings_page.py index c6aa66ae3..51f8eea01 100644 --- a/QgisModelBaker/gui/topping_wizard/ili2dbsettings_page.py +++ b/QgisModelBaker/gui/topping_wizard/ili2dbsettings_page.py @@ -54,7 +54,7 @@ def rowCount(self, parent): return len(self.parameters) def flags(self, index): - return Qt.ItemIsEnabled + return Qt.ItemFlag.ItemIsEnabled def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: """ @@ -69,14 +69,19 @@ def parent(self, index): return index def headerData(self, section, orientation, role): - if orientation == Qt.Horizontal and role == Qt.DisplayRole: + if ( + orientation == Qt.Orientation.Horizontal + and role == Qt.ItemDataRole.DisplayRole + ): if section == ParametersModel.Columns.NAME: return self.tr("Name") if section == ParametersModel.Columns.VALUE: return self.tr("Value") def data(self, index, role): - if role == int(Qt.DisplayRole) or role == int(Qt.EditRole): + if role == int(Qt.ItemDataRole.DisplayRole) or role == int( + Qt.ItemDataRole.EditRole + ): if index.column() == ParametersModel.Columns.NAME: return list(self.parameters.keys())[index.row()] if index.column() == ParametersModel.Columns.VALUE: @@ -86,7 +91,7 @@ def data(self, index, role): # this is unusual that it's not first data and then role (could be changed) def setData(self, index, role, data): - if role == int(Qt.EditRole): + if role == int(Qt.ItemDataRole.EditRole): if index.column() == ParametersModel.Columns.NAME: key = list(self.parameters.keys())[index.row()] self.parameters[key] = self.parameters.pop(key) @@ -124,9 +129,11 @@ def __init__(self, parent, title): ) self.parameters_table_view.setModel(self.parameters_model) self.parameters_table_view.horizontalHeader().setSectionResizeMode( - QHeaderView.Stretch + QHeaderView.ResizeMode.Stretch + ) + self.parameters_table_view.setSelectionMode( + QTableView.SelectionMode.SingleSelection ) - self.parameters_table_view.setSelectionMode(QTableView.SingleSelection) self.toml_file_browse_button.clicked.connect( make_file_selector( @@ -253,7 +260,7 @@ def validatePage(self) -> bool: def _refresh_combobox(self): self.schema_combobox.clear() for layer in QgsProject.instance().mapLayers().values(): - if layer.type() == QgsMapLayer.VectorLayer: + if layer.type() == QgsMapLayer.LayerType.VectorLayer: source_provider = layer.dataProvider() if not source_provider: continue @@ -312,4 +319,6 @@ def _schema_changed(self): self.topping_wizard.busy(self, False) def _log_on_export_metagonfig_error(self, log): - QgsMessageLog.logMessage(log, self.tr("Export metaConfig"), Qgis.Critical) + QgsMessageLog.logMessage( + log, self.tr("Export metaConfig"), Qgis.MessageLevel.Critical + ) diff --git a/QgisModelBaker/gui/topping_wizard/layer_style_categories.py b/QgisModelBaker/gui/topping_wizard/layer_style_categories.py index 1f8273dc8..4975d5451 100644 --- a/QgisModelBaker/gui/topping_wizard/layer_style_categories.py +++ b/QgisModelBaker/gui/topping_wizard/layer_style_categories.py @@ -86,17 +86,17 @@ def setCategories(self, categories: QgsMapLayer.StyleCategories): self._checked_entries = {} for category_name in LayerStyleCategoriesModel.CATEGORY_MAP.keys(): self._checked_entries[category_name] = ( - Qt.Checked + Qt.CheckState.Checked if categories & LayerStyleCategoriesModel.CATEGORY_MAP[category_name] - else Qt.Unchecked + else Qt.CheckState.Unchecked ) self.endResetModel() def categories(self): categories = 0 for name in self._checked_entries.keys(): - if self._checked_entries[name] == Qt.Checked: + if self._checked_entries[name] == Qt.CheckState.Checked: categories |= LayerStyleCategoriesModel.CATEGORY_MAP[name] return categories @@ -113,7 +113,9 @@ def __init__(self, parent=None): self.style_categories_list_view.model().check ) else: - self.model = QgsMapLayerStyleCategoriesModel(QgsMapLayer.VectorLayer) + self.model = QgsMapLayerStyleCategoriesModel( + QgsMapLayer.LayerType.VectorLayer + ) self.style_categories_list_view.setModel(self.model) self.style_categories_list_view.setWordWrap(True) self.style_categories_list_view.setItemDelegate( @@ -134,13 +136,15 @@ def set_layer_type(self, type): def select_all_items(self, state): if Qgis.QGIS_VERSION_INT < 34000: - self.model.check_all(Qt.Checked if state else Qt.Unchecked) + self.model.check_all( + Qt.CheckState.Checked if state else Qt.CheckState.Unchecked + ) else: for i in range(self.model.rowCount()): self.model.setData( self.model.index(i, 0), - Qt.Checked if state else Qt.Unchecked, - Qt.CheckStateRole, + Qt.CheckState.Checked if state else Qt.CheckState.Unchecked, + Qt.ItemDataRole.CheckStateRole, ) def set_categories(self, categories: QgsMapLayer.StyleCategories): diff --git a/QgisModelBaker/gui/topping_wizard/layers_page.py b/QgisModelBaker/gui/topping_wizard/layers_page.py index bde87fb76..bda7b7ec4 100644 --- a/QgisModelBaker/gui/topping_wizard/layers_page.py +++ b/QgisModelBaker/gui/topping_wizard/layers_page.py @@ -71,7 +71,9 @@ def __init__(self, parent=None, rect=None): self.settings_button.setIcon( QgsApplication.getThemeIcon("/propertyicons/symbology.svg") ) - self.settings_button.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) + self.settings_button.setSizePolicy( + QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum + ) self.settings_button.setVisible(False) self.checkbox.stateChanged.connect(self.settings_button.setVisible) @@ -81,7 +83,7 @@ def __init__(self, parent=None, rect=None): layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) self.setLayout(layout) - self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) + self.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum) class LayerModel(QgsLayerTreeModel): @@ -90,8 +92,8 @@ class LayerModel(QgsLayerTreeModel): """ class Roles(IntEnum): - CATEGORIES = Qt.UserRole + 1 - LAYERTYPE = Qt.UserRole + 2 + CATEGORIES = Qt.ItemDataRole.UserRole + 1 + LAYERTYPE = Qt.ItemDataRole.UserRole + 2 class Columns(IntEnum): NAME = 0 @@ -114,20 +116,23 @@ def columnCount(self, parent=None): def flags(self, index): if index.column() == LayerModel.Columns.NAME: - return Qt.ItemIsEnabled + return Qt.ItemFlag.ItemIsEnabled if index.column() == LayerModel.Columns.USE_DEFINITION: - return Qt.ItemIsUserCheckable | Qt.ItemIsEnabled + return Qt.ItemFlag.ItemIsUserCheckable | Qt.ItemFlag.ItemIsEnabled if index.column() == LayerModel.Columns.USE_STYLE: - return Qt.ItemIsEnabled + return Qt.ItemFlag.ItemIsEnabled else: node = self.index2node(index) if not QgsLayerTree.isGroup(node): - return Qt.ItemIsUserCheckable | Qt.ItemIsEnabled + return Qt.ItemFlag.ItemIsUserCheckable | Qt.ItemFlag.ItemIsEnabled else: - return Qt.NoItemFlags + return Qt.ItemFlag.NoItemFlags def headerData(self, section, orientation, role): - if orientation == Qt.Horizontal and role == Qt.DisplayRole: + if ( + orientation == Qt.Orientation.Horizontal + and role == Qt.ItemDataRole.DisplayRole + ): if section == LayerModel.Columns.NAME: return self.tr("Layers and Groups") if section == LayerModel.Columns.USE_STYLE: @@ -136,7 +141,10 @@ def headerData(self, section, orientation, role): return self.tr("Definition (QLR)") if section == LayerModel.Columns.USE_SOURCE: return self.tr("Source") - if orientation == Qt.Horizontal and role == Qt.ToolTipRole: + if ( + orientation == Qt.Orientation.Horizontal + and role == Qt.ItemDataRole.ToolTipRole + ): if section == LayerModel.Columns.NAME: return self.tr( "The layers/groups listed here will be stored the layertree in the project topping (YAML) file. To remove a layer or a group, remove it in your project." @@ -156,7 +164,7 @@ def headerData(self, section, orientation, role): return QgsLayerTreeModel.headerData(self, section, orientation, role) def data(self, index, role): - if role == Qt.CheckStateRole: + if role == Qt.ItemDataRole.CheckStateRole: node = self.index2node(index) if node: if ( @@ -166,12 +174,20 @@ def data(self, index, role): settings = self.export_settings.get_setting( ExportSettings.ToppingType.QMLSTYLE, node ) - return Qt.Checked if settings.get("export", False) else Qt.Unchecked + return ( + Qt.CheckState.Checked + if settings.get("export", False) + else Qt.CheckState.Unchecked + ) if index.column() == LayerModel.Columns.USE_DEFINITION: settings = self.export_settings.get_setting( ExportSettings.ToppingType.DEFINITION, node ) - return Qt.Checked if settings.get("export", False) else Qt.Unchecked + return ( + Qt.CheckState.Checked + if settings.get("export", False) + else Qt.CheckState.Unchecked + ) if ( index.column() == LayerModel.Columns.USE_SOURCE and not QgsLayerTree.isGroup(node) @@ -179,16 +195,20 @@ def data(self, index, role): settings = self.export_settings.get_setting( ExportSettings.ToppingType.SOURCE, node ) - return Qt.Checked if settings.get("export", False) else Qt.Unchecked + return ( + Qt.CheckState.Checked + if settings.get("export", False) + else Qt.CheckState.Unchecked + ) - if role == Qt.BackgroundRole: + if role == Qt.ItemDataRole.BackgroundRole: node = self.index2node(index) if QgsLayerTree.isGroup(node): - return QColor(Qt.gray) + return QColor(Qt.GlobalColor.gray) else: layer = QgsProject.instance().mapLayersByName(node.name())[0] if layer: - if layer.type() == QgsMapLayer.VectorLayer: + if layer.type() == QgsMapLayer.LayerType.VectorLayer: if self._is_ili_schema(layer): return QColor(gui_utils.BLUE) return QColor(gui_utils.GREEN) @@ -219,7 +239,7 @@ def data(self, index, role): # this is unusual that it's not first data and then role (could be changed) def setData(self, index, role, data): - if role == Qt.CheckStateRole: + if role == Qt.ItemDataRole.CheckStateRole: node = self.index2node(index) if node: if ( @@ -315,11 +335,20 @@ def setData(self, index, role, data): return QgsLayerTreeModel.setData(self, index, role, data) def check(self, index): - if index.flags() & (Qt.ItemIsUserCheckable | Qt.ItemIsEnabled): - if self.data(index, Qt.CheckStateRole) == Qt.Checked: - self.setData(index, Qt.CheckStateRole, Qt.Unchecked) + if index.flags() & ( + Qt.ItemFlag.ItemIsUserCheckable | Qt.ItemFlag.ItemIsEnabled + ): + if ( + self.data(index, Qt.ItemDataRole.CheckStateRole) + == Qt.CheckState.Checked + ): + self.setData( + index, Qt.ItemDataRole.CheckStateRole, Qt.CheckState.Unchecked + ) else: - self.setData(index, Qt.CheckStateRole, Qt.Checked) + self.setData( + index, Qt.ItemDataRole.CheckStateRole, Qt.CheckState.Checked + ) def reload(self, load_defaults=False): self._load_ili_schema_identificators() @@ -330,17 +359,17 @@ def _disable_children(self, parent: QModelIndex): for child_row in range(self.rowCount(parent)): self.setData( self.index(child_row, LayerModel.Columns.USE_STYLE, parent), - Qt.CheckStateRole, + Qt.ItemDataRole.CheckStateRole, False, ) self.setData( self.index(child_row, LayerModel.Columns.USE_DEFINITION, parent), - Qt.CheckStateRole, + Qt.ItemDataRole.CheckStateRole, False, ) self.setData( self.index(child_row, LayerModel.Columns.USE_SOURCE, parent), - Qt.CheckStateRole, + Qt.ItemDataRole.CheckStateRole, False, ) self._disable_children( @@ -356,7 +385,7 @@ def _disable_parent_definition(self, index: QModelIndex): LayerModel.Columns.USE_DEFINITION, index.parent().parent(), ) - self.setData(parent_definition_index, Qt.CheckStateRole, False) + self.setData(parent_definition_index, Qt.ItemDataRole.CheckStateRole, False) if index.parent() != QModelIndex(): self._disable_parent_definition(index.parent()) @@ -368,7 +397,7 @@ def _load_ili_schema_identificators(self): self.ili_schema_identificators = [] checked_schema_identificator = [] for layer in QgsProject.instance().mapLayers().values(): - if layer.type() == QgsMapLayer.VectorLayer: + if layer.type() == QgsMapLayer.LayerType.VectorLayer: source_provider = layer.dataProvider() if not source_provider: continue @@ -508,16 +537,20 @@ def createEditor(self, parent, option, index): widget = LayerStyleWidget(parent, option.rect) widget.setAutoFillBackground(True) palette = QPalette() - palette.setColor(QPalette.Base, QColor(index.data(Qt.BackgroundRole))) + palette.setColor( + QPalette.ColorRole.Base, QColor(index.data(Qt.ItemDataRole.BackgroundRole)) + ) widget.setPalette(palette) widget.checkbox.stateChanged.connect( - lambda state: index.model().setData(index, Qt.CheckStateRole, state) + lambda state: index.model().setData( + index, Qt.ItemDataRole.CheckStateRole, state + ) ) widget.settings_button.clicked.connect(lambda: self.button_clicked.emit(index)) return widget def setEditorData(self, editor, index): - check_state = index.data(Qt.CheckStateRole) + check_state = index.data(Qt.ItemDataRole.CheckStateRole) if check_state is not None: editor.checkbox.setVisible(True) editor.checkbox.setCheckState(check_state) @@ -549,7 +582,7 @@ def __init__(self, parent, title): self.layermodel.setFlags(QgsLayerTreeModel.Flags()) self.layer_table_view.setModel(self.layermodel) self.layer_table_view.header().setSectionResizeMode( - LayerModel.Columns.NAME, QHeaderView.Stretch + LayerModel.Columns.NAME, QHeaderView.ResizeMode.Stretch ) self.layer_table_view.header().setStretchLastSection(False) @@ -571,7 +604,7 @@ def reload_layermodel(self): self.topping_wizard.busy(self, False) def open_categories_dialog(self, index): - layername = index.data(int(Qt.DisplayRole)) + layername = index.data(int(Qt.ItemDataRole.DisplayRole)) self.categories_dialog.setWindowTitle( self.tr(f"Layer Style Categories of {layername}") ) @@ -580,7 +613,7 @@ def open_categories_dialog(self, index): ) categories = index.data(int(LayerModel.Roles.CATEGORIES)) self.categories_dialog.set_categories(categories) - if self.categories_dialog.exec_(): + if self.categories_dialog.exec(): self.layermodel.setData( index, int(LayerModel.Roles.CATEGORIES), diff --git a/QgisModelBaker/gui/topping_wizard/models_page.py b/QgisModelBaker/gui/topping_wizard/models_page.py index 38f2951be..e6e833b87 100644 --- a/QgisModelBaker/gui/topping_wizard/models_page.py +++ b/QgisModelBaker/gui/topping_wizard/models_page.py @@ -87,7 +87,7 @@ def _load_available_models_and_sources(self): sources = set() for layer in QgsProject.instance().mapLayers().values(): - if layer.type() == QgsMapLayer.VectorLayer: + if layer.type() == QgsMapLayer.LayerType.VectorLayer: source_provider = layer.dataProvider() if not source_provider: continue diff --git a/QgisModelBaker/gui/topping_wizard/referencedata_page.py b/QgisModelBaker/gui/topping_wizard/referencedata_page.py index 5c358435f..ea73f3204 100644 --- a/QgisModelBaker/gui/topping_wizard/referencedata_page.py +++ b/QgisModelBaker/gui/topping_wizard/referencedata_page.py @@ -80,9 +80,9 @@ def __init__(self, parent, title): self.ilireferencedatacache.sorted_model, self.input_line_edit, ) - completer.setCaseSensitivity(Qt.CaseInsensitive) + completer.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive) completer.setModelSorting(QCompleter.ModelSorting.CaseInsensitivelySortedModel) - completer.setFilterMode(Qt.MatchContains) + completer.setFilterMode(Qt.MatchFlag.MatchContains) completer.popup().setItemDelegate(self.ilireferencedata_delegate) self.input_line_edit.setCompleter(completer) self.input_line_edit.textChanged.connect(self._complete_referencedata_completer) @@ -162,7 +162,7 @@ def _complete_referencedata_completer(self): if self.input_line_edit.hasFocus(): if not self.input_line_edit.text(): self.input_line_edit.completer().setCompletionMode( - QCompleter.UnfilteredPopupCompletion + QCompleter.CompletionMode.UnfilteredPopupCompletion ) self.input_line_edit.completer().complete() else: @@ -171,15 +171,15 @@ def _complete_referencedata_completer(self): .completionModel() .match( self.input_line_edit.completer().completionModel().index(0, 0), - Qt.DisplayRole, + Qt.ItemDataRole.DisplayRole, self.input_line_edit.text(), -1, - Qt.MatchContains, + Qt.MatchFlag.MatchContains, ) ) if len(match_contains) > 1: self.input_line_edit.completer().setCompletionMode( - QCompleter.PopupCompletion + QCompleter.CompletionMode.PopupCompletion ) self.input_line_edit.completer().complete() self.input_line_edit.completer().popup().scrollToTop() @@ -190,10 +190,10 @@ def _valid_source(self): .completionModel() .match( self.input_line_edit.completer().completionModel().index(0, 0), - Qt.DisplayRole, + Qt.ItemDataRole.DisplayRole, self.input_line_edit.text(), -1, - Qt.MatchExactly, + Qt.MatchFlag.MatchExactly, ) ) return ( @@ -234,10 +234,10 @@ def add_source(self, source, origin_info): path = "" matches = self.ilireferencedatacache.model.match( self.ilireferencedatacache.model.index(0, 0), - Qt.DisplayRole, + Qt.ItemDataRole.DisplayRole, self.input_line_edit.text(), 1, - Qt.MatchExactly, + Qt.MatchFlag.MatchExactly, ) if matches: model_index = matches[0] diff --git a/QgisModelBaker/gui/topping_wizard/target_page.py b/QgisModelBaker/gui/topping_wizard/target_page.py index 39889977b..7227c84dc 100644 --- a/QgisModelBaker/gui/topping_wizard/target_page.py +++ b/QgisModelBaker/gui/topping_wizard/target_page.py @@ -96,8 +96,10 @@ def validatePage(self) -> bool: or "Model Baker User" ) ) - publishing_date = self.publishingdate_date_edit.date().toString(Qt.ISODate) - version = self.version_date_edit.date().toString(Qt.ISODate) + publishing_date = self.publishingdate_date_edit.date().toString( + Qt.DateFormat.ISODate + ) + version = self.version_date_edit.date().toString(Qt.DateFormat.ISODate) mainfolder = os.path.abspath(self.main_folder_line_edit.text()) subfolder = self.sub_folder_line_edit.text() diff --git a/QgisModelBaker/gui/topping_wizard/topping_wizard.py b/QgisModelBaker/gui/topping_wizard/topping_wizard.py index 9505832ab..d0b3e0c23 100644 --- a/QgisModelBaker/gui/topping_wizard/topping_wizard.py +++ b/QgisModelBaker/gui/topping_wizard/topping_wizard.py @@ -38,8 +38,8 @@ def __init__(self, iface, base_config, parent): QWizard.__init__(self, parent) self.setWindowTitle(self.tr("QGIS Model Baker Topping Maker Wizard")) - self.setWizardStyle(QWizard.ModernStyle) - self.setOption(QWizard.NoCancelButtonOnLastPage) + self.setWizardStyle(QWizard.WizardStyle.ModernStyle) + self.setOption(QWizard.WizardOption.NoCancelButtonOnLastPage) self.current_id = 0 @@ -132,12 +132,12 @@ def __init__(self, iface, base_config, parent): self.log_panel = LogPanel() self.topping_wizard = ToppingWizard(self.iface, self.base_config, self) self.topping_wizard.setStartId(ToppingWizardPageIds.Target) - self.topping_wizard.setWindowFlags(Qt.Widget) + self.topping_wizard.setWindowFlags(Qt.WindowType.Widget) self.topping_wizard.show() self.topping_wizard.finished.connect(self.done) layout = QVBoxLayout() - splitter = QSplitter(Qt.Vertical) + splitter = QSplitter(Qt.Orientation.Vertical) splitter.addWidget(self.topping_wizard) splitter.addWidget(self.log_panel) layout.addWidget(splitter) diff --git a/QgisModelBaker/gui/validate.py b/QgisModelBaker/gui/validate.py index ff6ffda9c..29d31237a 100644 --- a/QgisModelBaker/gui/validate.py +++ b/QgisModelBaker/gui/validate.py @@ -19,7 +19,6 @@ import logging import os -from PyQt5.QtGui import QColor, QGuiApplication from qgis.core import ( QgsApplication, QgsExpressionContextUtils, @@ -31,6 +30,7 @@ ) from qgis.gui import QgsGui from qgis.PyQt.QtCore import QStandardPaths, Qt, QTimer +from qgis.PyQt.QtGui import QColor, QGuiApplication from qgis.PyQt.QtWidgets import ( QAction, QApplication, @@ -75,20 +75,20 @@ def __init__(self, roles): self.setHorizontalHeaderLabels([role.name for role in self.roles]) def flags(self, index): - return Qt.ItemIsEnabled | Qt.ItemIsSelectable + return Qt.ItemFlag.ItemIsEnabled | Qt.ItemFlag.ItemIsSelectable def data(self, index, role): item = self.item(index.row(), 0) if item: - if role == Qt.DisplayRole: + if role == Qt.ItemDataRole.DisplayRole: return item.data(int(self.roles[index.column()])) - if role == Qt.DecorationRole: + if role == Qt.ItemDataRole.DecorationRole: return ( QColor(gui_utils.SUCCESS_COLOR) if item.data(int(ValidationResultModel.Roles.FIXED)) else QColor(gui_utils.ERROR_COLOR) ) - if role == Qt.ToolTipRole: + if role == Qt.ItemDataRole.ToolTipRole: tooltip_text = "{type} at {tid} in {object}".format( type=item.data(int(ValidationResultModel.Roles.TYPE)), object=item.data(int(ValidationResultModel.Roles.OBJ_TAG)), @@ -152,7 +152,9 @@ def __init__(self, base_config, iface): self.run_button.clicked.connect(self._run) self.visibilityChanged.connect(self._visibility_changed) - self.result_table_view.setContextMenuPolicy(Qt.CustomContextMenu) + self.result_table_view.setContextMenuPolicy( + Qt.ContextMenuPolicy.CustomContextMenu + ) self.result_table_view.customContextMenuRequested.connect( self._table_context_menu_requested ) @@ -205,12 +207,16 @@ def _reset_gui(self): ValidationResultTableModel(self.requested_roles) ) self.result_table_view.horizontalHeader().setSectionResizeMode( - 0, QHeaderView.Stretch + 0, QHeaderView.ResizeMode.Stretch ) self.result_table_view.verticalHeader().hide() self.result_table_view.horizontalHeader().hide() - self.result_table_view.setSelectionBehavior(QHeaderView.SelectRows) - self.result_table_view.setSelectionMode(QHeaderView.SingleSelection) + self.result_table_view.setSelectionBehavior( + QHeaderView.SelectionBehavior.SelectRows + ) + self.result_table_view.setSelectionMode( + QHeaderView.SelectionMode.SingleSelection + ) self.setDisabled(True) @@ -245,11 +251,15 @@ def set_current_layer(self, layer, force_reload=False): if valid and mode: output_file_name = "{}.xtf".format(self.current_schema_identificator) self.current_configuration.xtflog = os.path.join( - QStandardPaths.writableLocation(QStandardPaths.TempLocation), + QStandardPaths.writableLocation( + QStandardPaths.StandardLocation.TempLocation + ), output_file_name, ) self.current_configuration.xtffile = os.path.join( - QStandardPaths.writableLocation(QStandardPaths.TempLocation), + QStandardPaths.writableLocation( + QStandardPaths.StandardLocation.TempLocation + ), f"dataexport_{output_file_name}", ) if mode == DbIliMode.gpkg: @@ -399,7 +409,7 @@ def _run(self, edited_command=None): self.progress_bar.setValue(20) validation_result_state = False - with OverrideCursor(Qt.WaitCursor): + with OverrideCursor(Qt.CursorShape.WaitCursor): try: self._validator_stdout(f"Run: {validator.command(True)}") validation_result_state = ( @@ -442,7 +452,7 @@ def _set_result(self, valid): ) self.result_table_view.setWordWrap(True) - self.result_table_view.setTextElideMode(Qt.ElideLeft) + self.result_table_view.setTextElideMode(Qt.TextElideMode.ElideLeft) self.result_table_view.resizeRowsToContents() if valid: @@ -478,7 +488,7 @@ def _table_context_menu_requested(self, pos): coord_y = index.data(int(ValidationResultModel.Roles.COORD_Y)) t_ili_tid = index.data(int(ValidationResultModel.Roles.TID)) id = index.data(int(ValidationResultModel.Roles.ID)) - text = index.data(Qt.DisplayRole) + text = index.data(Qt.ItemDataRole.DisplayRole) menu = QMenu() if coord_x and coord_y: @@ -529,7 +539,7 @@ def _table_context_menu_requested(self, pos): lambda: QGuiApplication.clipboard().setText(text) ) menu.addAction(action_copy) - menu.exec_(self.result_table_view.mapToGlobal(pos)) + menu.exec(self.result_table_view.mapToGlobal(pos)) def _table_clicked(self, index): if not index.isValid(): @@ -645,7 +655,7 @@ def _get_feature_in_project(self, t_ili_tid): schema_identificator and schema_identificator == self.current_schema_identificator ): - if layer.type() == QgsMapLayer.VectorLayer: + if layer.type() == QgsMapLayer.LayerType.VectorLayer: idx = layer.fields().lookupField("t_ili_tid") if idx < 0: continue diff --git a/QgisModelBaker/gui/workflow_wizard/execution_page.py b/QgisModelBaker/gui/workflow_wizard/execution_page.py index 5208e0185..f38241d75 100644 --- a/QgisModelBaker/gui/workflow_wizard/execution_page.py +++ b/QgisModelBaker/gui/workflow_wizard/execution_page.py @@ -143,7 +143,9 @@ def setup_sessions(self, configuration, sessions): for session_widget in self.session_widget_list: session_layout.addWidget(session_widget) session_layout.addSpacerItem( - QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Expanding) + QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding + ) ) content.setLayout(session_layout) self.scroll_area.setWidget(content) diff --git a/QgisModelBaker/gui/workflow_wizard/export_data_configuration_page.py b/QgisModelBaker/gui/workflow_wizard/export_data_configuration_page.py index bf3963918..0fa6349e3 100644 --- a/QgisModelBaker/gui/workflow_wizard/export_data_configuration_page.py +++ b/QgisModelBaker/gui/workflow_wizard/export_data_configuration_page.py @@ -89,7 +89,7 @@ def setup_dialog(self, basket_handling): def _set_current_export_target(self, text): self.setComplete( self.xtf_file_line_edit.validator().validate(text, 0)[0] - == QValidator.Acceptable + == QValidator.State.Acceptable ) self.workflow_wizard.current_export_target = text diff --git a/QgisModelBaker/gui/workflow_wizard/import_data_configuration_page.py b/QgisModelBaker/gui/workflow_wizard/import_data_configuration_page.py index 257b0efe3..80fb6780e 100644 --- a/QgisModelBaker/gui/workflow_wizard/import_data_configuration_page.py +++ b/QgisModelBaker/gui/workflow_wizard/import_data_configuration_page.py @@ -158,22 +158,29 @@ def __init__(self, parent, title): ) self.file_table_view.setModel(self.workflow_wizard.import_data_file_model) self.file_table_view.horizontalHeader().setSectionResizeMode( - gui_utils.SourceModel.Columns.SOURCE, QHeaderView.Stretch + gui_utils.SourceModel.Columns.SOURCE, QHeaderView.ResizeMode.Stretch ) self.file_table_view.horizontalHeader().setSectionResizeMode( - gui_utils.SourceModel.Columns.DELETE_DATA, QHeaderView.ResizeToContents + gui_utils.SourceModel.Columns.DELETE_DATA, + QHeaderView.ResizeMode.ResizeToContents, ) self.file_table_view.horizontalHeader().setSectionResizeMode( - gui_utils.SourceModel.Columns.IS_CATALOGUE, QHeaderView.ResizeToContents + gui_utils.SourceModel.Columns.IS_CATALOGUE, + QHeaderView.ResizeMode.ResizeToContents, ) self.file_table_view.horizontalHeader().setSectionResizeMode( - gui_utils.SourceModel.Columns.DATASET, QHeaderView.ResizeToContents + gui_utils.SourceModel.Columns.DATASET, + QHeaderView.ResizeMode.ResizeToContents, ) - self.file_table_view.setEditTriggers(QAbstractItemView.AllEditTriggers) + self.file_table_view.setEditTriggers( + QAbstractItemView.EditTrigger.AllEditTriggers + ) self.file_table_view.verticalHeader().setSectionsMovable(True) self.file_table_view.verticalHeader().setDragEnabled(True) - self.file_table_view.verticalHeader().setDragDropMode(QHeaderView.InternalMove) + self.file_table_view.verticalHeader().setDragDropMode( + QHeaderView.DragDropMode.InternalMove + ) self.file_table_view.resizeColumnsToContents() self.workflow_wizard.import_data_file_model.dataChanged.connect( self._update_delegates @@ -290,7 +297,7 @@ def _complete_referencedata_completer(self): if self.ilireferencedata_line_edit.hasFocus(): if not self.ilireferencedata_line_edit.text(): self.ilireferencedata_line_edit.completer().setCompletionMode( - QCompleter.UnfilteredPopupCompletion + QCompleter.CompletionMode.UnfilteredPopupCompletion ) self.ilireferencedata_line_edit.completer().complete() else: @@ -301,15 +308,15 @@ def _complete_referencedata_completer(self): self.ilireferencedata_line_edit.completer() .completionModel() .index(0, 0), - Qt.DisplayRole, + Qt.ItemDataRole.DisplayRole, self.ilireferencedata_line_edit.text(), -1, - Qt.MatchContains, + Qt.MatchFlag.MatchContains, ) ) if len(match_contains) > 1: self.ilireferencedata_line_edit.completer().setCompletionMode( - QCompleter.PopupCompletion + QCompleter.CompletionMode.PopupCompletion ) self.ilireferencedata_line_edit.completer().complete() self.ilireferencedata_line_edit.completer().popup().scrollToTop() @@ -322,10 +329,10 @@ def _valid_referencedata(self): self.ilireferencedata_line_edit.completer() .completionModel() .index(0, 0), - Qt.DisplayRole, + Qt.ItemDataRole.DisplayRole, self.ilireferencedata_line_edit.text(), -1, - Qt.MatchExactly, + Qt.MatchFlag.MatchExactly, ) ) return len(match_contains) == 1 @@ -338,9 +345,9 @@ def _update_referencedata_completer(self): self.workflow_wizard.ilireferencedatacache.sorted_model, self.ilireferencedata_line_edit, ) - completer.setCaseSensitivity(Qt.CaseInsensitive) + completer.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive) completer.setModelSorting(QCompleter.ModelSorting.CaseInsensitivelySortedModel) - completer.setFilterMode(Qt.MatchContains) + completer.setFilterMode(Qt.MatchFlag.MatchContains) completer.popup().setItemDelegate(self.ilireferencedata_delegate) self.ilireferencedata_line_edit.setCompleter(completer) self.ilireferencedata_line_edit.setEnabled( @@ -353,10 +360,10 @@ def _add_row(self): def _get_referencedata(self): matches = self.workflow_wizard.ilireferencedatacache.model.match( self.workflow_wizard.ilireferencedatacache.model.index(0, 0), - Qt.DisplayRole, + Qt.ItemDataRole.DisplayRole, self.ilireferencedata_line_edit.text(), 1, - Qt.MatchExactly, + Qt.MatchFlag.MatchExactly, ) if matches: model_index = matches[0] @@ -437,9 +444,9 @@ def _show_datasetmanager_dialog(self): self.datasetmanager_dlg = DatasetManagerDialog( self.workflow_wizard.iface, self, True ) - self.datasetmanager_dlg.setAttribute(Qt.WA_DeleteOnClose) + self.datasetmanager_dlg.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose) self.datasetmanager_dlg.setWindowFlags( - self.datasetmanager_dlg.windowFlags() | Qt.Tool + self.datasetmanager_dlg.windowFlags() | Qt.WindowType.Tool ) self.datasetmanager_dlg.show() self.datasetmanager_dlg.finished.connect( diff --git a/QgisModelBaker/gui/workflow_wizard/import_schema_configuration_page.py b/QgisModelBaker/gui/workflow_wizard/import_schema_configuration_page.py index a2e546fd3..f5e9e0812 100644 --- a/QgisModelBaker/gui/workflow_wizard/import_schema_configuration_page.py +++ b/QgisModelBaker/gui/workflow_wizard/import_schema_configuration_page.py @@ -259,7 +259,7 @@ def _complete_metaconfig_completer(self): if not self.ili_metaconfig_line_edit.text(): self._clean_metaconfig() self.ili_metaconfig_line_edit.completer().setCompletionMode( - QCompleter.UnfilteredPopupCompletion + QCompleter.CompletionMode.UnfilteredPopupCompletion ) self.ili_metaconfig_line_edit.completer().complete() else: @@ -270,15 +270,15 @@ def _complete_metaconfig_completer(self): self.ili_metaconfig_line_edit.completer() .completionModel() .index(0, 0), - Qt.DisplayRole, + Qt.ItemDataRole.DisplayRole, self.ili_metaconfig_line_edit.text(), -1, - Qt.MatchContains, + Qt.MatchFlag.MatchContains, ) ) if len(match_contains) > 1: self.ili_metaconfig_line_edit.completer().setCompletionMode( - QCompleter.PopupCompletion + QCompleter.CompletionMode.PopupCompletion ) self.ili_metaconfig_line_edit.completer().complete() @@ -288,9 +288,9 @@ def _update_metaconfig_completer(self, rows): completer = QCompleter( self.ilimetaconfigcache.sorted_model, self.ili_metaconfig_line_edit ) - completer.setCaseSensitivity(Qt.CaseInsensitive) + completer.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive) completer.setModelSorting(QCompleter.ModelSorting.CaseInsensitivelySortedModel) - completer.setFilterMode(Qt.MatchContains) + completer.setFilterMode(Qt.MatchFlag.MatchContains) completer.popup().setItemDelegate(self.metaconfig_delegate) self.ili_metaconfig_line_edit.setCompleter(completer) self.ili_metaconfig_line_edit.setEnabled(bool(rows)) @@ -300,10 +300,10 @@ def _on_metaconfig_completer_activated(self, text=None): self._clean_metaconfig() matches = self.ilimetaconfigcache.model.match( self.ilimetaconfigcache.model.index(0, 0), - Qt.DisplayRole, + Qt.ItemDataRole.DisplayRole, self.ili_metaconfig_line_edit.text(), 1, - Qt.MatchExactly, + Qt.MatchFlag.MatchExactly, ) if matches: model_index = matches[0] @@ -318,7 +318,9 @@ def _on_metaconfig_completer_activated(self, text=None): self.tr( "
Current Metaconfig File: {} ({})
{}
< {logline}