diff --git a/lizmap/dialogs/dock_html_preview.py b/lizmap/dialogs/dock_html_preview.py index 6d097b4e..3e72e860 100644 --- a/lizmap/dialogs/dock_html_preview.py +++ b/lizmap/dialogs/dock_html_preview.py @@ -86,7 +86,7 @@ def __init__(self, parent, *__args): self.layout.addLayout(horizontal) self.web_view = QWebView(self.dock) - size_policy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.MinimumExpanding) + size_policy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.MinimumExpanding) size_policy.setHorizontalStretch(0) size_policy.setVerticalStretch(0) size_policy.setHeightForWidth(self.web_view.sizePolicy().hasHeightForWidth()) @@ -95,7 +95,7 @@ def __init__(self, parent, *__args): self.setWidget(self.dock) - self.layer.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.layer.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) # noinspection PyUnresolvedReferences self.layer.layerChanged.connect(self.current_layer_changed) self.current_layer_changed() diff --git a/lizmap/dialogs/html_editor.py b/lizmap/dialogs/html_editor.py index 49f2b7f9..f6da2a42 100644 --- a/lizmap/dialogs/html_editor.py +++ b/lizmap/dialogs/html_editor.py @@ -26,15 +26,15 @@ def __init__(self): layout.addWidget(self.editor) self.button_box = QDialogButtonBox() - self.button_box.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok) + self.button_box.setStandardButtons(QDialogButtonBox.StandardButton.Cancel | QDialogButtonBox.StandardButton.Ok) # noinspection PyArgumentList layout.addWidget(self.button_box) self.setLayout(layout) - accept_button = self.button_box.button(QDialogButtonBox.Ok) + accept_button = self.button_box.button(QDialogButtonBox.StandardButton.Ok) accept_button.clicked.connect(self.accept) - cancel_button = self.button_box.button(QDialogButtonBox.Cancel) + cancel_button = self.button_box.button(QDialogButtonBox.StandardButton.Cancel) cancel_button.clicked.connect(self.reject) def set_layer(self, layer: QgsVectorLayer): diff --git a/lizmap/dialogs/html_maptip.py b/lizmap/dialogs/html_maptip.py index 36274c82..79e1087f 100644 --- a/lizmap/dialogs/html_maptip.py +++ b/lizmap/dialogs/html_maptip.py @@ -20,9 +20,9 @@ def __init__(self, layer: QgsVectorLayer): self.setupUi(self) self.layer = layer - accept_button = self.button_box.button(QDialogButtonBox.Ok) + accept_button = self.button_box.button(QDialogButtonBox.StandardButton.Ok) accept_button.clicked.connect(self.accept) - cancel_button = self.button_box.button(QDialogButtonBox.Cancel) + cancel_button = self.button_box.button(QDialogButtonBox.StandardButton.Cancel) cancel_button.clicked.connect(self.reject) @staticmethod diff --git a/lizmap/dialogs/lizmap_popup.py b/lizmap/dialogs/lizmap_popup.py index 88ef3acb..56dc2c98 100755 --- a/lizmap/dialogs/lizmap_popup.py +++ b/lizmap/dialogs/lizmap_popup.py @@ -16,9 +16,9 @@ def __init__(self, content): QDialog.__init__(self) self.setupUi(self) - accept_button = self.bbConfigurePopup.button(QDialogButtonBox.Ok) + accept_button = self.bbConfigurePopup.button(QDialogButtonBox.StandardButton.Ok) accept_button.clicked.connect(self.accept) - cancel_button = self.bbConfigurePopup.button(QDialogButtonBox.Cancel) + cancel_button = self.bbConfigurePopup.button(QDialogButtonBox.StandardButton.Cancel) cancel_button.clicked.connect(self.reject) self.groupBox.setStyleSheet(COMPLETE_STYLE_SHEET) diff --git a/lizmap/dialogs/main.py b/lizmap/dialogs/main.py index 725c54e6..d37ccbfa 100755 --- a/lizmap/dialogs/main.py +++ b/lizmap/dialogs/main.py @@ -123,7 +123,7 @@ def __init__(self, parent=None, is_dev_version=True, lwc_version: LwcVersions = self.dataviz_feature_picker = QgsFeaturePickerWidget() self.feature_picker_layout.addWidget(self.dataviz_feature_picker) - self.feature_picker_layout.addItem(QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)) + self.feature_picker_layout.addItem(QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)) self.warning_old_server.setVisible(False) @@ -172,7 +172,7 @@ def __init__(self, parent=None, is_dev_version=True, lwc_version: LwcVersions = self.button_helper_group.setToolTip(tr('Select features having at least one group not matching on the server')) self.button_helper_group.clicked.connect(self.select_unknown_features_group) self.button_helper_group.setIcon(QIcon(":images/themes/default/mActionToggleSelectedLayers.svg")) - self.helper_layer_group.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.helper_layer_group.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) tooltip = tr("The layer to check group IDs") self.helper_layer_group.setToolTip(tooltip) self.helper_field_group.setFilters(QgsFieldProxyModel.String) @@ -248,17 +248,17 @@ def __init__(self, parent=None, is_dev_version=True, lwc_version: LwcVersions = self.button_simplify_geom.clicked.connect(self.fix_simplify_geom_provider) self.button_simplify_geom.setIcon(QIcon(":images/themes/default/mIconPostgis.svg")) - self.buttonBox.button(QDialogButtonBox.Help).setToolTip(tr( + self.buttonBox.button(QDialogButtonBox.StandardButton.Help).setToolTip(tr( 'Open the help in the web-browser' )) - self.buttonBox.button(QDialogButtonBox.Ok).setToolTip(tr( + self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setToolTip(tr( 'The Lizmap configuration file is generated and the dialog is closed, except if there is at least one ' 'blocking check.' )) - self.buttonBox.button(QDialogButtonBox.Cancel).setToolTip(tr( + self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel).setToolTip(tr( 'The Lizmap configuration file is not generated and the dialog is closed.' )) - self.buttonBox.button(QDialogButtonBox.Apply).setToolTip(tr( + self.buttonBox.button(QDialogButtonBox.StandardButton.Apply).setToolTip(tr( 'The Lizmap configuration file is generated, but the dialog stays opened.' )) self.checkbox_save_project.setToolTip(tr( @@ -487,7 +487,7 @@ def check_api_key_address(self): 'However, you have not provided any API key for this provider. Please add one in the ' '"Basemaps" panel to use this provider.' ), - QMessageBox.Ok + QMessageBox.StandardButton.Ok ) def block_signals_address(self, flag: bool): @@ -856,106 +856,106 @@ def setup_icons(self): # Information # It must be the first tab, with index 0. icon = QIcon() - icon.addFile(resources_path('icons', '03-metadata-white'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', '03-metadata-dark'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', '03-metadata-white'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', '03-metadata-dark'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.Information).setIcon(icon) self.mOptionsListWidget.item(Panels.Information).setData(Qt.UserRole, 'info') # Map options icon = QIcon() - icon.addFile(resources_path('icons', '15-baselayer-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', '15-baselayer-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', '15-baselayer-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', '15-baselayer-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.MapOptions).setIcon(icon) self.mOptionsListWidget.item(Panels.MapOptions).setData(Qt.UserRole, 'map-options') # Layers icon = QIcon() - icon.addFile(resources_path('icons', '02-switcher-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', '02-switcher-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', '02-switcher-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', '02-switcher-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.Layers).setIcon(icon) self.mOptionsListWidget.item(Panels.Layers).setData(Qt.UserRole, 'layers') # Base layer icon = QIcon() - icon.addFile(resources_path('icons', '02-switcher-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', '02-switcher-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', '02-switcher-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', '02-switcher-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.Basemap).setIcon(icon) self.mOptionsListWidget.item(Panels.Basemap).setData(Qt.UserRole, 'base-layers') # Attribute table icon = QIcon() - icon.addFile(resources_path('icons', '11-attribute-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', '11-attribute-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', '11-attribute-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', '11-attribute-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.AttributeTable).setIcon(icon) self.mOptionsListWidget.item(Panels.AttributeTable).setData(Qt.UserRole, 'attribute-table') # Layer editing icon = QIcon() - icon.addFile(resources_path('icons', '10-edition-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', '10-edition-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', '10-edition-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', '10-edition-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.Editing).setIcon(icon) self.mOptionsListWidget.item(Panels.Editing).setData(Qt.UserRole, 'layer-editing') # Layouts icon = QIcon() - icon.addFile(resources_path('icons', '08-print-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', '08-print-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', '08-print-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', '08-print-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.Layouts).setIcon(icon) self.mOptionsListWidget.item(Panels.Layouts).setData(Qt.UserRole, 'layouts') # Filter data with form icon = QIcon() - icon.addFile(resources_path('icons', 'filter-icon-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', 'filter-icon-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', 'filter-icon-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', 'filter-icon-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.FormFiltering).setIcon(icon) self.mOptionsListWidget.item(Panels.FormFiltering).setData(Qt.UserRole, 'filter-data-form') # Dataviz icon = QIcon() - icon.addFile(resources_path('icons', 'dataviz-icon-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', 'dataviz-icon-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', 'dataviz-icon-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', 'dataviz-icon-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.Dataviz).setIcon(icon) self.mOptionsListWidget.item(Panels.Dataviz).setData(Qt.UserRole, 'dataviz') # Filter layer by user icon = QIcon() - icon.addFile(resources_path('icons', '12-user-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', '12-user-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', '12-user-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', '12-user-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.FilteredLayers).setIcon(icon) self.mOptionsListWidget.item(Panels.FilteredLayers).setData(Qt.UserRole, 'filter-data-user') # Actions icon = QIcon() - icon.addFile(resources_path('icons', 'actions-white.svg'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', 'actions-dark.svg'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', 'actions-white.svg'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', 'actions-dark.svg'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.Actions).setIcon(icon) self.mOptionsListWidget.item(Panels.Actions).setData(Qt.UserRole, 'actions') # Time manager icon = QIcon() - icon.addFile(resources_path('icons', '13-timemanager-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', '13-timemanager-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', '13-timemanager-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', '13-timemanager-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.TimeManager).setIcon(icon) self.mOptionsListWidget.item(Panels.TimeManager).setData(Qt.UserRole, 'time-manager') # Atlas icon = QIcon() - icon.addFile(resources_path('icons', 'atlas-icon-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', 'atlas-icon-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', 'atlas-icon-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', 'atlas-icon-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.Atlas).setIcon(icon) self.mOptionsListWidget.item(Panels.Atlas).setData(Qt.UserRole, 'atlas') # Locate by layer icon = QIcon() - icon.addFile(resources_path('icons', '04-locate-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', '04-locate-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', '04-locate-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', '04-locate-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.LocateByLayer).setIcon(icon) self.mOptionsListWidget.item(Panels.LocateByLayer).setData(Qt.UserRole, 'locate-by-layer') # Tooltip layer icon = QIcon() - icon.addFile(resources_path('icons', '16-tooltip-white.png'), mode=QIcon.Normal) - icon.addFile(resources_path('icons', '16-tooltip-dark.png'), mode=QIcon.Selected) + icon.addFile(resources_path('icons', '16-tooltip-white.png'), mode=QIcon.Mode.Normal) + icon.addFile(resources_path('icons', '16-tooltip-dark.png'), mode=QIcon.Mode.Selected) self.mOptionsListWidget.item(Panels.ToolTip).setIcon(icon) self.mOptionsListWidget.item(Panels.ToolTip).setData(Qt.UserRole, 'tooltip-layer') diff --git a/lizmap/dialogs/news.py b/lizmap/dialogs/news.py index 9e854b84..4e8bf1ac 100644 --- a/lizmap/dialogs/news.py +++ b/lizmap/dialogs/news.py @@ -35,7 +35,7 @@ def __init__(self, link: str): self.open_link.clicked.connect(self.open_website) - accept_button = self.button_box.button(QDialogButtonBox.Ignore) + accept_button = self.button_box.button(QDialogButtonBox.StandardButton.Ignore) accept_button.clicked.connect(self.accept) def open_website(self): diff --git a/lizmap/dialogs/scroll_message_box.py b/lizmap/dialogs/scroll_message_box.py index 65c29179..3278e675 100644 --- a/lizmap/dialogs/scroll_message_box.py +++ b/lizmap/dialogs/scroll_message_box.py @@ -29,4 +29,4 @@ def __init__(self, parent: QDialog, *args, **kwargs): scroll.setMinimumSize(400, 200) grid.addWidget(scroll, 0, 1) children[1].setText('') - self.exec_() + self.exec() diff --git a/lizmap/dialogs/server_wizard.py b/lizmap/dialogs/server_wizard.py index e8cd7136..0bc60c84 100644 --- a/lizmap/dialogs/server_wizard.py +++ b/lizmap/dialogs/server_wizard.py @@ -209,7 +209,7 @@ def __init__(self, auth_id, parent=None): layout.addWidget(self.password_edit) # Progress bar - layout.addSpacerItem(QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)) + layout.addSpacerItem(QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)) self.progress = QProgressBar() self.progress.setMinimum(0) self.progress.setValue(0) @@ -779,9 +779,9 @@ def __init__(self, parent=None): # noinspection PyArgumentList super().__init__(parent) self.setWindowTitle(tr("Lizmap Web Client instance")) - self.setWizardStyle(QWizard.ClassicStyle) - self.setOption(QWizard.NoBackButtonOnStartPage) - self.setOption(QWizard.HaveHelpButton) + self.setWizardStyle(QWizard.WizardStyle.ClassicStyle) + self.setOption(QWizard.WizardOption.NoBackButtonOnStartPage) + self.setOption(QWizard.WizardOption.HaveHelpButton) self.setMinimumSize(800, 550) @@ -1231,4 +1231,4 @@ def current_url(self): app = QApplication(sys.argv) wizard = ServerWizard() wizard.show() - sys.exit(app.exec_()) + sys.exit(app.exec()) diff --git a/lizmap/dialogs/wizard_group.py b/lizmap/dialogs/wizard_group.py index 9d06d313..508f9453 100755 --- a/lizmap/dialogs/wizard_group.py +++ b/lizmap/dialogs/wizard_group.py @@ -32,18 +32,18 @@ def __init__(self, helper: str, current_acl: str, server_groups: dict = None): self.label_additional.setToolTip(tooltip) # Server groups - self.list.setSelectionMode(QAbstractItemView.MultiSelection) - self.list.setEditTriggers(QAbstractItemView.NoEditTriggers) - self.list.setSelectionBehavior(QAbstractItemView.SelectRows) + self.list.setSelectionMode(QAbstractItemView.SelectionMode.MultiSelection) + self.list.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) + self.list.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) self.list.setAlternatingRowColors(True) self.list.itemSelectionChanged.connect(self.update_preview) # Additional groups self.additional.textChanged.connect(self.update_preview) - accept_button = self.buttons.button(QDialogButtonBox.Ok) + accept_button = self.buttons.button(QDialogButtonBox.StandardButton.Ok) accept_button.clicked.connect(self.accept) - cancel_button = self.buttons.button(QDialogButtonBox.Cancel) + cancel_button = self.buttons.button(QDialogButtonBox.StandardButton.Cancel) cancel_button.clicked.connect(self.reject) self.populate_widgets(current_acl, server_groups) diff --git a/lizmap/drag_drop_dataviz_manager.py b/lizmap/drag_drop_dataviz_manager.py index a4dec74e..67939469 100644 --- a/lizmap/drag_drop_dataviz_manager.py +++ b/lizmap/drag_drop_dataviz_manager.py @@ -60,8 +60,8 @@ def __init__( # Drag and drop self.tree.setDragEnabled(True) self.tree.setAcceptDrops(True) - self.tree.setDragDropMode(QAbstractItemView.InternalMove) - self.tree.setSelectionBehavior(QAbstractItemView.SelectRows) + self.tree.setDragDropMode(QAbstractItemView.DragDropMode.InternalMove) + self.tree.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) def add_current_plot_from_combo(self): """ Button to add the current plot from the combobox into the tree widget. """ @@ -220,10 +220,10 @@ def remove_item(self): children.append(current_item.child(child)) box = QMessageBox(self.parent) - box.setIcon(QMessageBox.Question) + box.setIcon(QMessageBox.Icon.Question) box.setWindowIcon(QIcon(resources_path('icons', 'icon.png')), ) - box.setStandardButtons(QMessageBox.Yes | QMessageBox.No) - box.setDefaultButton(QMessageBox.No) + box.setStandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No) + box.setDefaultButton(QMessageBox.StandardButton.No) if current_item.data(0, Qt.UserRole) == Container.Container: box.setWindowTitle(tr('Remove the container')) @@ -235,8 +235,8 @@ def remove_item(self): box.setWindowTitle(tr('Remove the plot')) box.setText(tr('Are you sure you want to remove the plot from the layout?')) - result = box.exec_() - if result == QMessageBox.No: + result = box.exec() + if result == QMessageBox.StandardButton.No: return for child in children: diff --git a/lizmap/forms/atlas_edition.py b/lizmap/forms/atlas_edition.py index 2c1e37a9..f16db20a 100755 --- a/lizmap/forms/atlas_edition.py +++ b/lizmap/forms/atlas_edition.py @@ -44,7 +44,7 @@ def __init__(self, parent=None, unicity=None, lwc_version: LwcVersions = None): self.config.add_layer_label('triggerFilter', self.label_trigger) self.config.add_layer_label('duration', self.label_duration) - self.layer.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.layer.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) self.primary_key.setAllowEmptyFieldName(False) self.feature_label.setAllowEmptyFieldName(False) self.sort_field.setAllowEmptyFieldName(False) diff --git a/lizmap/forms/attribute_table_edition.py b/lizmap/forms/attribute_table_edition.py index 51ca068c..111df566 100755 --- a/lizmap/forms/attribute_table_edition.py +++ b/lizmap/forms/attribute_table_edition.py @@ -41,7 +41,7 @@ def __init__(self, parent=None, unicity=None, lwc_version: LwcVersions = None): self.config.add_layer_label('hideLayer', self.label_hide_layer) self.config.add_layer_label('custom_config', self.label_has_custom_config) - self.layer.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.layer.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) self.layer.layerChanged.connect(self.check_layer_wfs) self.layer.layerChanged.connect(self.layer_changed) self.layer.layerChanged.connect(self.primary_key.setLayer) diff --git a/lizmap/forms/base_edition_dialog.py b/lizmap/forms/base_edition_dialog.py index 2f4aa90c..8aacc150 100755 --- a/lizmap/forms/base_edition_dialog.py +++ b/lizmap/forms/base_edition_dialog.py @@ -64,16 +64,16 @@ def __init__(self, parent: QDialog = None, unicity=None, lwc_version: LwcVersion def setup_ui(self): """ Build the UI. """ - self.button_box.button(QDialogButtonBox.Help).setToolTip( + self.button_box.button(QDialogButtonBox.StandardButton.Help).setToolTip( tr('Open the online documentation for this feature.')) self.error.setTextInteractionFlags(Qt.TextSelectableByMouse) if not self.config.help_path(): - self.button_box.button(QDialogButtonBox.Help).setVisible(False) + self.button_box.button(QDialogButtonBox.StandardButton.Help).setVisible(False) - self.button_box.button(QDialogButtonBox.Help).clicked.connect(self.open_help) - self.button_box.button(QDialogButtonBox.Cancel).clicked.connect(self.close) - self.button_box.button(QDialogButtonBox.Ok).clicked.connect(self.accept) + self.button_box.button(QDialogButtonBox.StandardButton.Help).clicked.connect(self.open_help) + self.button_box.button(QDialogButtonBox.StandardButton.Cancel).clicked.connect(self.close) + self.button_box.button(QDialogButtonBox.StandardButton.Ok).clicked.connect(self.accept) self.error.setVisible(False) for layer_config in self.config.layer_config.values(): @@ -525,13 +525,13 @@ def open_wizard_dialog(self, helper: str): "Your current Lizmap instance, running version {}, is not providing the needed information. " "You should upgrade your Lizmap instance to at least 3.6.1 to use this wizard." ).format(json_metadata["info"]["version"]), - QMessageBox.Ok + QMessageBox.StandardButton.Ok ) return None # End of duplicated wizard_dialog = WizardGroupDialog(helper, self.allowed_groups.text(), acl['groups']) - if not wizard_dialog.exec_(): + if not wizard_dialog.exec(): return text = wizard_dialog.preview.text() diff --git a/lizmap/forms/dataviz_edition.py b/lizmap/forms/dataviz_edition.py index 889b189a..2f431616 100755 --- a/lizmap/forms/dataviz_edition.py +++ b/lizmap/forms/dataviz_edition.py @@ -87,15 +87,15 @@ def __init__(self, parent=None, unicity=None, lwc_version: LwcVersions = None): column.setToolTip(sub_definition['tooltip']) self.traces.setHorizontalHeaderItem(i, column) header = self.traces.horizontalHeader() - header.setSectionResizeMode(QHeaderView.ResizeToContents) - header.setSectionResizeMode(0, QHeaderView.Stretch) + header.setSectionResizeMode(QHeaderView.ResizeMode.ResizeToContents) + header.setSectionResizeMode(0, QHeaderView.ResizeMode.Stretch) - self.traces.setSelectionMode(QAbstractItemView.SingleSelection) - self.traces.setEditTriggers(QAbstractItemView.NoEditTriggers) - self.traces.setSelectionBehavior(QAbstractItemView.SelectRows) + self.traces.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection) + self.traces.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) + self.traces.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) self.traces.setAlternatingRowColors(True) - self.layer.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.layer.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) self.layer.layerChanged.connect(self.current_layer_changed) self.layer.layerChanged.connect(self.check_layer_wfs) @@ -196,8 +196,8 @@ def add_new_trace(self): dialog = TraceDatavizEditionDialog( self.parent, self.layer.currentLayer(), graph, self.primary_keys_collection()) - result = dialog.exec_() - if result != QDialog.Accepted: + result = dialog.exec() + if result != QDialog.DialogCode.Accepted: return data = dialog.save_form() diff --git a/lizmap/forms/edition_edition.py b/lizmap/forms/edition_edition.py index 7f801c7b..eb276196 100755 --- a/lizmap/forms/edition_edition.py +++ b/lizmap/forms/edition_edition.py @@ -58,7 +58,7 @@ def __init__(self, parent=None, unicity=None, lwc_version: LwcVersions = None): self.layer.layerChanged.connect(self.layer_changed) self.layer.layerChanged.connect(self.check_layer_wfs) - self.layer.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.layer.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) providers = QgsProviderRegistry.instance().providerList() providers.remove('postgres') self.layer.setExcludedProviders(providers) diff --git a/lizmap/forms/filter_by_form_edition.py b/lizmap/forms/filter_by_form_edition.py index 97301519..34edd08e 100755 --- a/lizmap/forms/filter_by_form_edition.py +++ b/lizmap/forms/filter_by_form_edition.py @@ -75,7 +75,7 @@ def __init__(self, parent=None, unicity=None, lwc_version: LwcVersions = None): 'select' ) - self.layer.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.layer.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) self.layer.layerChanged.connect(self.check_layer_wfs) self.layer.layerChanged.connect(self.field.setLayer) diff --git a/lizmap/forms/filter_by_login.py b/lizmap/forms/filter_by_login.py index 48a6ad6a..2ab8340a 100755 --- a/lizmap/forms/filter_by_login.py +++ b/lizmap/forms/filter_by_login.py @@ -36,7 +36,7 @@ def __init__(self, parent=None, unicity=None, lwc_version: LwcVersions = None): self.config.add_layer_label('allow_multiple_acl_values', self.label_allow_multiple) self.config.add_layer_label('filterPrivate', self.label_filter_by) - self.layer.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.layer.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) self.layer.layerChanged.connect(self.field.setLayer) self.layer.layerChanged.connect(self.check_multiple_option) diff --git a/lizmap/forms/filter_by_polygon.py b/lizmap/forms/filter_by_polygon.py index ea8dbaa5..1e973730 100755 --- a/lizmap/forms/filter_by_polygon.py +++ b/lizmap/forms/filter_by_polygon.py @@ -36,7 +36,7 @@ def __init__(self, parent=None, unicity=None, lwc_version: LwcVersions = None): self.config.add_layer_label('filter_mode', self.label_filter_mode) self.config.add_layer_label('spatial_relationship', self.label_spatial_relationship) - self.layer.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.layer.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) self.layer.layerChanged.connect(self.primary_key.setLayer) self.layer.layerChanged.connect(self.enable_primary_key_field) diff --git a/lizmap/forms/locate_layer_edition.py b/lizmap/forms/locate_layer_edition.py index 94664f3a..e311cfe3 100755 --- a/lizmap/forms/locate_layer_edition.py +++ b/lizmap/forms/locate_layer_edition.py @@ -37,7 +37,7 @@ def __init__(self, parent=None, unicity=None, lwc_version: LwcVersions = None): self.config.add_layer_label('minLength', self.label_autocomplete) self.config.add_layer_label('filterOnLocate', self.label_filter_layer) - self.layer.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.layer.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) self.layer.layerChanged.connect(self.check_layer_wfs) self.layer.layerChanged.connect(self.display_field.setLayer) self.layer.layerChanged.connect(self.field_group_by.setLayer) diff --git a/lizmap/forms/time_manager_edition.py b/lizmap/forms/time_manager_edition.py index 2a3da978..ce803b36 100755 --- a/lizmap/forms/time_manager_edition.py +++ b/lizmap/forms/time_manager_edition.py @@ -43,7 +43,7 @@ def __init__(self, parent=None, unicity=None, version: LwcVersions = None): self.config.add_layer_label('min_timestamp', self.label_min_value) self.config.add_layer_label('max_timestamp', self.label_max_value) - self.layer.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.layer.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) self.start_field.setAllowEmptyFieldName(False) self.end_field.setAllowEmptyFieldName(True) diff --git a/lizmap/forms/tooltip_edition.py b/lizmap/forms/tooltip_edition.py index 48053ca9..581d8e94 100755 --- a/lizmap/forms/tooltip_edition.py +++ b/lizmap/forms/tooltip_edition.py @@ -39,7 +39,7 @@ def __init__(self, parent=None, unicity=None, lwc_version: LwcVersions = None): # TODO when 3.8 will be the default, change the default tab according to the LWC version - self.layer.setFilters(QgsMapLayerProxyModel.VectorLayer) + self.layer.setFilters(QgsMapLayerProxyModel.Filter.VectorLayer) self.layer.layerChanged.connect(self.check_layer_wfs) self.layer.layerChanged.connect(self.fields.set_layer) self.layer.layerChanged.connect(self.html_template.set_layer) @@ -82,19 +82,19 @@ def generate_table_clicked(self): return html_maptip_dialog = HtmlMapTipDialog(layer) - if not html_maptip_dialog.exec_(): + if not html_maptip_dialog.exec(): return if self.html_template.html_content(): box = QMessageBox(self) - box.setIcon(QMessageBox.Question) + box.setIcon(QMessageBox.Icon.Question) box.setWindowIcon(QIcon(resources_path('icons', 'icon.png')),) box.setWindowTitle(tr('Replace existing HTML with the template')) box.setText(tr('This will erase your previous HTML.')) - box.setStandardButtons(QMessageBox.Yes | QMessageBox.No) - box.setDefaultButton(QMessageBox.No) - result = box.exec_() - if result == QMessageBox.No: + box.setStandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No) + box.setDefaultButton(QMessageBox.StandardButton.No) + result = box.exec() + if result == QMessageBox.StandardButton.No: return result = html_maptip_dialog.map_tip() diff --git a/lizmap/forms/trace_dataviz_edition.py b/lizmap/forms/trace_dataviz_edition.py index 51cab7de..0ba39a90 100755 --- a/lizmap/forms/trace_dataviz_edition.py +++ b/lizmap/forms/trace_dataviz_edition.py @@ -45,8 +45,8 @@ def __init__(self, parent, layer, graph, uniques): self.z_field.setAllowEmptyFieldName(True) self.color_field.setAllowEmptyFieldName(True) - self.button_box.button(QDialogButtonBox.Cancel).clicked.connect(self.close) - self.button_box.button(QDialogButtonBox.Ok).clicked.connect(self.accept) + self.button_box.button(QDialogButtonBox.StandardButton.Cancel).clicked.connect(self.close) + self.button_box.button(QDialogButtonBox.StandardButton.Ok).clicked.connect(self.accept) self.error.setVisible(False) color_definition = self.config.layer_config['color'] diff --git a/lizmap/lizmap_api/config.py b/lizmap/lizmap_api/config.py index 6d5b4121..bc261d6d 100755 --- a/lizmap/lizmap_api/config.py +++ b/lizmap/lizmap_api/config.py @@ -698,11 +698,11 @@ def configure_server_options(self, WMSTitle=None, WMSDescription=None, WFSLayers prj = self.project - prj.writeEntry("WFSLayers", "/", [lid for lid, lyr in prj.mapLayers().items() if lyr.type() == QgsMapLayer.VectorLayer]) + prj.writeEntry("WFSLayers", "/", [lid for lid, lyr in prj.mapLayers().items() if lyr.type() == QgsMapLayer.LayerType.VectorLayer]) for lid, lyr in prj.mapLayers().items(): - if lyr.type() == QgsMapLayer.VectorLayer: + if lyr.type() == QgsMapLayer.LayerType.VectorLayer: prj.writeEntry("WFSLayersPrecision", "/"+lid, WFSLayersPrecision) - prj.writeEntry("WCSLayers", "/", [lid for lid, lyr in prj.mapLayers().items() if lyr.type() == QgsMapLayer.RasterLayer]) + prj.writeEntry("WCSLayers", "/", [lid for lid, lyr in prj.mapLayers().items() if lyr.type() == QgsMapLayer.LayerType.RasterLayer]) prj.setDirty() # Update WFS layer list @@ -718,8 +718,8 @@ def from_template(self, template, context=None, **kwargs): layers = self.project.mapLayers().values() ctx['project'] = self.project ctx['layers'] = layers - ctx['vectorlayers'] = [l for l in layers if l.type() == QgsMapLayer.VectorLayer] - ctx['rasterlayers'] = [l for l in layers if l.type() == QgsMapLayer.RasterLayer] + ctx['vectorlayers'] = [l for l in layers if l.type() == QgsMapLayer.LayerType.VectorLayer] + ctx['rasterlayers'] = [l for l in layers if l.type() == QgsMapLayer.LayerType.RasterLayer] rendered = template.render(ctx) with open("/srv/projects/test_lizmap_api/api_output.json", "w") as fp: fp.write(rendered) diff --git a/lizmap/log_panel.py b/lizmap/log_panel.py index 7e921e86..24c9987c 100644 --- a/lizmap/log_panel.py +++ b/lizmap/log_panel.py @@ -106,5 +106,5 @@ def clear(self): layout.addWidget(edit) logger = LogPanel(edit) logger.append("Title", Html.H2, time=True) - dialog.exec_() - sys.exit(app.exec_()) + dialog.exec() + sys.exit(app.exec()) diff --git a/lizmap/metadata.txt b/lizmap/metadata.txt index d9a05a46..f197c9da 100755 --- a/lizmap/metadata.txt +++ b/lizmap/metadata.txt @@ -25,3 +25,4 @@ icon=resources/icons/icon.png experimental=False deprecated=False server=False +supportsQt6=true diff --git a/lizmap/plausible.py b/lizmap/plausible.py index d643c368..e57ce82a 100644 --- a/lizmap/plausible.py +++ b/lizmap/plausible.py @@ -135,7 +135,7 @@ def _send_stat_event(self, current_metadata: dict, qgis_server_version: str) -> if extra_debug: request.setRawHeader(b"X-Debug-Request", b"true") request.setRawHeader(b"X-Forwarded-For", b"127.0.0.1") - request.setHeader(QNetworkRequest.ContentTypeHeader, "application/json") + request.setHeader(QNetworkRequest.KnownHeaders.ContentTypeHeader, "application/json") # Qgis.QGIS_VERSION → 3.34.6-Prizren # noinspection PyUnresolvedReferences diff --git a/lizmap/plugin.py b/lizmap/plugin.py index 1e1ba8bc..47fc3320 100755 --- a/lizmap/plugin.py +++ b/lizmap/plugin.py @@ -889,7 +889,7 @@ def write_log_message(message, tag, level): )) # Filter by polygon - self.dlg.layer_filter_polygon.setFilters(QgsMapLayerProxyModel.PolygonLayer) + self.dlg.layer_filter_polygon.setFilters(QgsMapLayerProxyModel.Filter.PolygonLayer) self.dlg.layer_filter_polygon.layerChanged.connect(self.dlg.field_filter_polygon.setLayer) self.dlg.field_filter_polygon.setLayer(self.dlg.layer_filter_polygon.currentLayer()) @@ -997,17 +997,17 @@ def filename_changed(self): old_cfg = self.current_path.with_suffix('.qgs.cfg') if old_cfg.exists(): box = QMessageBox(self.dlg) - box.setIcon(QMessageBox.Question) + box.setIcon(QMessageBox.Icon.Question) box.setWindowIcon(QIcon(resources_path('icons', 'icon.png')), ) box.setWindowTitle(tr('Project has been renamed')) box.setText(tr( 'The previous project located at "{}" was associated to a Lizmap configuration. ' 'Do you want to copy the previous Lizmap configuration file to this new project ?' ).format(self.current_path)) - box.setStandardButtons(QMessageBox.Yes | QMessageBox.No) - box.setDefaultButton(QMessageBox.No) - result = box.exec_() - if result == QMessageBox.No: + box.setStandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No) + box.setDefaultButton(QMessageBox.StandardButton.No) + result = box.exec() + if result == QMessageBox.StandardButton.No: return copyfile(str(old_cfg), str(new_cfg)) @@ -1268,10 +1268,10 @@ def initGui(self): # connect Lizmap signals and functions - self.dlg.buttonBox.button(QDialogButtonBox.Cancel).clicked.connect(self.dlg.close) - self.dlg.buttonBox.button(QDialogButtonBox.Apply).clicked.connect(partial(self.save_cfg_file_cursor, False)) - self.dlg.buttonBox.button(QDialogButtonBox.Ok).clicked.connect(partial(self.save_cfg_file_cursor, True)) - self.dlg.buttonBox.button(QDialogButtonBox.Help).clicked.connect(self.show_help_question) + self.dlg.buttonBox.button(QDialogButtonBox.StandardButton.Cancel).clicked.connect(self.dlg.close) + self.dlg.buttonBox.button(QDialogButtonBox.StandardButton.Apply).clicked.connect(partial(self.save_cfg_file_cursor, False)) + self.dlg.buttonBox.button(QDialogButtonBox.StandardButton.Ok).clicked.connect(partial(self.save_cfg_file_cursor, True)) + self.dlg.buttonBox.button(QDialogButtonBox.StandardButton.Help).clicked.connect(self.show_help_question) # Connect the left menu to the right panel self.dlg.mOptionsListWidget.currentRowChanged.connect(self.dlg.mOptionsStackedWidget.setCurrentIndex) @@ -1653,14 +1653,14 @@ def _open_wizard_group(self, line_edit: QLineEdit, helper: str) -> Optional[str] "Your current Lizmap instance, running version {}, is not providing the needed information. " "You should upgrade your Lizmap instance to at least 3.6.1 to use this wizard." ).format(json_metadata["info"]["version"]), - QMessageBox.Ok + QMessageBox.StandardButton.Ok ) return None # End of duplicated current_acl = line_edit.text() wizard_dialog = WizardGroupDialog(helper, current_acl, acl['groups']) - if not wizard_dialog.exec_(): + if not wizard_dialog.exec(): return None text = wizard_dialog.preview.text() @@ -1679,7 +1679,7 @@ def show_help_question(self): return box = QMessageBox(self.dlg) - box.setIcon(QMessageBox.Question) + box.setIcon(QMessageBox.Icon.Question) box.setWindowIcon(QIcon(resources_path('icons', 'icon.png')), ) box.setWindowTitle(tr('Online documentation')) box.setText(tr( @@ -1688,22 +1688,22 @@ def show_help_question(self): if is_lizmap_cloud(current_metadata): cloud_help = QPushButton("Lizmap Hosting") - box.addButton(cloud_help, QMessageBox.NoRole) + box.addButton(cloud_help, QMessageBox.ButtonRole.NoRole) if page: text = self.dlg.mOptionsListWidget.item(index).text() current_page = QPushButton(tr("Page '{}' in the plugin").format(text)) - box.addButton(current_page, QMessageBox.NoRole) + box.addButton(current_page, QMessageBox.ButtonRole.NoRole) else: current_page = None lwc_help = QPushButton("Lizmap Web Client") - box.addButton(lwc_help, QMessageBox.YesRole) - box.setStandardButtons(QMessageBox.Cancel) + box.addButton(lwc_help, QMessageBox.ButtonRole.YesRole) + box.setStandardButtons(QMessageBox.StandardButton.Cancel) - result = box.exec_() + result = box.exec() - if result == QMessageBox.Cancel: + if result == QMessageBox.StandardButton.Cancel: return if box.clickedButton() == lwc_help: @@ -1739,17 +1739,17 @@ def reset_scales(self): scales = ', '.join([str(i) for i in self.global_options['mapScales']['default']]) if self.dlg.list_map_scales.text() != '': box = QMessageBox(self.dlg) - box.setIcon(QMessageBox.Question) + box.setIcon(QMessageBox.Icon.Question) box.setWindowIcon(QIcon(resources_path('icons', 'icon.png')), ) - box.setStandardButtons(QMessageBox.Yes | QMessageBox.No) - box.setDefaultButton(QMessageBox.No) + box.setStandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No) + box.setDefaultButton(QMessageBox.StandardButton.No) box.setWindowTitle(tr('Reset the scales')) box.setText(tr( 'You have some scales predefined. Are you sure you want to reset with "{}" ?' ).format(scales)) - result = box.exec_() - if result == QMessageBox.No: + result = box.exec() + if result == QMessageBox.StandardButton.No: return self.dlg.list_map_scales.setText(scales) @@ -1771,7 +1771,7 @@ def get_min_max_scales(self): tr( 'Map scales: Write down integer scales separated by comma. ' 'You must enter at least 2 min and max values.'), - QMessageBox.Ok) + QMessageBox.StandardButton.Ok) min_scale = 1 max_scale = 1000000000 else: @@ -1842,7 +1842,7 @@ def read_cfg_file(self, skip_tables=False) -> dict: 'Please re-configure the options in the Layers tab completely. ' 'The previous .cfg has been saved as .cfg.back') QMessageBox.critical( - self.dlg, tr('Lizmap Error'), message, QMessageBox.Ok) + self.dlg, tr('Lizmap Error'), message, QMessageBox.StandardButton.Ok) self.dlg.log_panel.append(message, abort=True, style=Html.P) LOGGER.critical('Error while reading the Lizmap configuration file') @@ -1976,7 +1976,7 @@ def read_cfg_file(self, skip_tables=False) -> dict: 'should find your previous Lizmap configuration file and use the path above. Lizmap will load it.' ) QMessageBox.warning( - self.dlg, tr('New Lizmap configuration'), message, QMessageBox.Ok) + self.dlg, tr('New Lizmap configuration'), message, QMessageBox.StandardButton.Ok) # Add default variables in the project if not variables.get('lizmap_user'): @@ -2135,7 +2135,7 @@ def display_error(self, message): self.dlg, tr('Lizmap Error'), message, - QMessageBox.Ok) + QMessageBox.StandardButton.Ok) def set_tree_item_data(self, item_type, item_key, json_layers): """Define default data or data from previous configuration for one item (layer or group) @@ -2362,7 +2362,7 @@ def layers_config_file(self) -> dict: 'Errors encountered while reading the last layer tree state. ' 'Please re-configure the options in the Layers tab completely' ) - QMessageBox.critical(self.dlg, tr('Lizmap Error'), '', QMessageBox.Ok) + QMessageBox.critical(self.dlg, tr('Lizmap Error'), '', QMessageBox.StandardButton.Ok) self.dlg.log_panel.append(message, abort=True, style=Html.P) return {} @@ -2482,7 +2482,7 @@ def from_data_to_ui_for_layer_group(self): # Disable QGIS popup for layer without geom is_vector = isinstance(layer, QgsVectorLayer) # noinspection PyUnresolvedReferences - has_geom = is_vector and layer.wkbType() != QgsWkbTypes.NoGeometry + has_geom = is_vector and layer.wkbType() != QgsWkbTypes.Type.NoGeometry self.dlg.btConfigurePopup.setEnabled(has_geom) self.dlg.btQgisPopupFromForm.setEnabled(is_vector) self.dlg.button_generate_html_table.setEnabled(is_vector) @@ -2842,7 +2842,7 @@ def convert_html_maptip(self): 'Some fields or alias could not be found in the layer. You must check the result manually ' 'about these values below :' ) + '

' + ','.join(errors), - QMessageBox.Ok) + QMessageBox.StandardButton.Ok) flag = self._set_maptip(layer, html) if flag: @@ -2856,7 +2856,7 @@ def configure_html_abstract(self): html_editor = HtmlEditorDialog() html_editor.editor.set_html_content(self.dlg.teLayerAbstract.toPlainText()) - if not html_editor.exec_(): + if not html_editor.exec(): return self.dlg.teLayerAbstract.setPlainText(html_editor.editor.html_content()) @@ -2890,7 +2890,7 @@ def configure_html_popup(self): LOGGER.warning("The 'lizmap' popup is deprecated for vector layer. This will be removed soon.") popup_dialog = LizmapPopupDialog(text) - if not popup_dialog.exec_(): + if not popup_dialog.exec(): return content = popup_dialog.txtPopup.text() @@ -2910,7 +2910,7 @@ def configure_html_popup(self): html_editor = HtmlEditorDialog() html_editor.set_layer(layer) html_editor.editor.set_html_content(layer.mapTipTemplate()) - if not html_editor.exec_(): + if not html_editor.exec(): return self._set_maptip(layer, html_editor.editor.html_content(), False) @@ -2975,16 +2975,16 @@ def _set_maptip(self, layer: QgsVectorLayer, html_content: str, check: bool = Tr """ Internal function to set the maptip on a layer. """ if check and layer.mapTipTemplate() != '': box = QMessageBox(self.dlg) - box.setIcon(QMessageBox.Question) + box.setIcon(QMessageBox.Icon.Question) box.setWindowIcon(QIcon(resources_path('icons', 'icon.png')),) box.setWindowTitle(tr('Existing maptip for layer {}').format(layer.title())) box.setText(tr( 'A maptip already exists for this layer. This is going to override it. ' 'Are you sure you want to continue ?')) - box.setStandardButtons(QMessageBox.Yes | QMessageBox.No) - box.setDefaultButton(QMessageBox.No) - result = box.exec_() - if result == QMessageBox.No: + box.setStandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No) + box.setDefaultButton(QMessageBox.StandardButton.No) + result = box.exec() + if result == QMessageBox.StandardButton.No: return False layer.setMapTipTemplate(html_content) @@ -2992,7 +2992,7 @@ def _set_maptip(self, layer: QgsVectorLayer, html_content: str, check: bool = Tr self.dlg, tr('Maptip'), tr('The maptip has been set in the layer "{}".').format(layer.name()), - QMessageBox.Ok + QMessageBox.StandardButton.Ok ) self.dock_html_preview.update_html() return True @@ -3004,7 +3004,7 @@ def html_table_from_layer(self): return html_maptip_dialog = HtmlMapTipDialog(layer) - if not html_maptip_dialog.exec_(): + if not html_maptip_dialog.exec(): return result = html_maptip_dialog.map_tip() @@ -3018,13 +3018,13 @@ def maptip_from_form(self): config = layer.editFormConfig() # noinspection PyUnresolvedReferences - if config.layout() != QgsEditFormConfig.TabLayout: + if config.layout() != QgsEditFormConfig.EditorLayout.TabLayout: LOGGER.warning('Maptip : the layer is not using a drag and drop form.') QMessageBox.warning( self.dlg, tr('Lizmap - Warning'), tr('The form for this layer is not a drag and drop layout.'), - QMessageBox.Ok) + QMessageBox.StandardButton.Ok) return root = config.invisibleRootContainer() @@ -3539,7 +3539,7 @@ def check_project( if with_gui and self.dlg.check_results.has_rows(): self.dlg.mOptionsListWidget.setCurrentRow(Panels.Checks) self.dlg.tab_log.setCurrentIndex(0) - self.dlg.out_log.moveCursor(QTextCursor.Start) + self.dlg.out_log.moveCursor(QTextCursor.MoveOperation.Start) self.dlg.out_log.ensureCursorVisible() beginner_mode = QgsSettings().value(Settings.key(Settings.BeginnerMode), True, bool) @@ -3647,7 +3647,7 @@ def project_config_file( ) + "

" + tr('This is not blocking your current usage of the plugin, only to advise you.'), - QMessageBox.Ok + QMessageBox.StandardButton.Ok ) qgis_server_info = server_metadata.get('qgis_server_info') @@ -3679,7 +3679,7 @@ def project_config_file( ) + "

" + tr('This is not blocking your current usage of the plugin, only to advise you.'), - QMessageBox.Ok + QMessageBox.StandardButton.Ok ) metadata = { @@ -3922,7 +3922,7 @@ def project_config_file( geometry_type = -1 if layer_type == 'layer': layer = self.get_qgis_layer_by_id(k) - if layer and layer.type() == QgsMapLayer.VectorLayer: # if it is a vector layer: + if layer and layer.type() == QgsMapLayer.LayerType.VectorLayer: # if it is a vector layer: geometry_type = layer.geometryType() # geometry type @@ -4088,7 +4088,7 @@ def project_config_file( 'deprecated for vector layer, you should switch to another kind of popup, for instance to ' 'a "QGIS HTML maptip". This will be removed in a future version of Lizmap.' ).format(layer_options["name"]), - QMessageBox.Ok + QMessageBox.StandardButton.Ok ) # Add external WMS options if needed @@ -4332,7 +4332,7 @@ def save_cfg_file_cursor(self, close_dialog: bool): """ Save CFG file with a waiting cursor. """ if not self.dlg.check_cfg_file_exists(): new_project = NewConfigDialog() - new_project.exec_() + new_project.exec() with OverrideCursor(Qt.WaitCursor): result = self.save_cfg_file() @@ -4469,14 +4469,14 @@ def save_cfg_file( "check you have provided the correct server URL." ), stop_process - ), QMessageBox.Ok) + ), QMessageBox.StandardButton.Ok) return False # global project option checking is_valid, message = self.check_global_project_options() if not is_valid: QMessageBox.critical( - self.dlg, tr('Lizmap Error'), '{}\n\n{}'.format(message, stop_process), QMessageBox.Ok) + self.dlg, tr('Lizmap Error'), '{}\n\n{}'.format(message, stop_process), QMessageBox.StandardButton.Ok) return False # Get configuration from input fields @@ -4581,7 +4581,7 @@ def create_new_repository(self): auth_id=self.webdav.auth_id, url=self.webdav.server_url(), ) - dialog.exec_() + dialog.exec() self.dlg.refresh_versions_button.click() # def open_web_browser_project(self): @@ -4606,7 +4606,7 @@ def send_webdav(self) -> Tuple[bool, str, str]: server = self.dlg.server_combo.currentData(ServerComboData.ServerUrl.value) if not qgis_exists: box = QMessageBox(self.dlg) - box.setIcon(QMessageBox.Question) + box.setIcon(QMessageBox.Icon.Question) box.setWindowIcon(QIcon(resources_path('icons', 'icon.png')), ) box.setWindowTitle(tr('The project is not published yet')) box.setText(tr( @@ -4617,10 +4617,10 @@ def send_webdav(self) -> Tuple[bool, str, str]: 'Do you want to publish it for the first time in this directory ?' ).format( self.project.baseName(), server, folder)) - box.setStandardButtons(QMessageBox.Yes | QMessageBox.No) - box.setDefaultButton(QMessageBox.No) - result = box.exec_() - if result == QMessageBox.No: + box.setStandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No) + box.setDefaultButton(QMessageBox.StandardButton.No) + result = box.exec() + if result == QMessageBox.StandardButton.No: return False, '', '' with OverrideCursor(Qt.WaitCursor): @@ -4662,7 +4662,7 @@ def create_media_dir_remote(self): return box = QMessageBox(self.dlg) - box.setIcon(QMessageBox.Question) + box.setIcon(QMessageBox.Icon.Question) box.setWindowIcon(QIcon(resources_path('icons', 'icon.png')), ) box.setWindowTitle(tr('Create "media" directory on the server')) box.setText(tr( @@ -4672,10 +4672,10 @@ def create_media_dir_remote(self): server=self.dlg.server_combo.currentText(), name=self.dlg.repository_combo.currentText() )) - box.setStandardButtons(QMessageBox.Yes | QMessageBox.No) - box.setDefaultButton(QMessageBox.No) - result = box.exec_() - if result == QMessageBox.No: + box.setStandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No) + box.setDefaultButton(QMessageBox.StandardButton.No) + result = box.exec() + if result == QMessageBox.StandardButton.No: return directory += 'media/' @@ -4760,7 +4760,7 @@ def upload_thumbnail(self): if result: box = QMessageBox(self.dlg) - box.setIcon(QMessageBox.Information) + box.setIcon(QMessageBox.Icon.Information) box.setWindowIcon(QIcon(resources_path('icons', 'icon.png')), ) box.setWindowTitle(tr('Cache about the thumbnail')) box.setText(tr( @@ -4771,9 +4771,9 @@ def upload_thumbnail(self): 'CTRL + F5 (or CTRL + MAJ + R or similar) to force the refresh of the page without using the ' 'web-browser cache.' ).format(number=24)) - box.setStandardButtons(QMessageBox.Ok) - box.setDefaultButton(QMessageBox.Ok) - box.exec_() + box.setStandardButtons(QMessageBox.StandardButton.Ok) + box.setDefaultButton(QMessageBox.StandardButton.Ok) + box.exec() file_stats, error = self.webdav.file_stats_thumbnail() if error: @@ -4807,14 +4807,14 @@ def upload_action(self): def _question_remove_remote_file(self) -> bool: """ Question to confirme deletion on the remote server. """ box = QMessageBox(self.dlg) - box.setIcon(QMessageBox.Question) + box.setIcon(QMessageBox.Icon.Question) box.setWindowIcon(QIcon(resources_path('icons', 'icon.png')), ) box.setWindowTitle(tr('Remove a remote file')) box.setText(tr('Are you sure you want to remove the remote file ?')) - box.setStandardButtons(QMessageBox.Yes | QMessageBox.No) - box.setDefaultButton(QMessageBox.No) - result = box.exec_() - return result == QMessageBox.No + box.setStandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No) + box.setDefaultButton(QMessageBox.StandardButton.No) + result = box.exec() + return result == QMessageBox.StandardButton.No def remove_remote_file(self, button: QPushButton): """ Remove a remote file. """ @@ -5200,7 +5200,7 @@ def download_training_data_clicked(self, workshop_type: str = WorkshopType.ZipFi downloader.downloadCompleted.connect(self.download_completed_zip) downloader.startDownload() QApplication.setOverrideCursor(Qt.WaitCursor) - loop.exec_() + loop.exec() @staticmethod def login_from_auth_id(auth_id) -> str: @@ -5243,7 +5243,7 @@ def download_completed_qgs(self): # downloader.downloadCanceled.connect(self.download_canceled) downloader.downloadCompleted.connect(self.download_completed) downloader.startDownload() - loop.exec_() + loop.exec() def download_completed(self): """ Show the success bar, for both kind of workshops. """ @@ -5391,6 +5391,6 @@ def run(self) -> bool: auto_send = QgsSettings().value(Settings.key(Settings.AutoSend), False, bool) self.dlg.send_webdav.setChecked(auto_send) - self.dlg.exec_() + self.dlg.exec() # self.check_webdav() return True diff --git a/lizmap/project_checker_tools.py b/lizmap/project_checker_tools.py index 6276444c..6b41ff67 100644 --- a/lizmap/project_checker_tools.py +++ b/lizmap/project_checker_tools.py @@ -387,7 +387,7 @@ def simplify_provider_side(project: QgsProject, fix=False) -> List[SourceLayer]: if not is_vector_pg(layer, geometry_check=True): continue - if layer.geometryType() == QgsWkbTypes.PointGeometry: + if layer.geometryType() == QgsWkbTypes.GeometryType.PointGeometry: continue has_simplification = layer.simplifyMethod().simplifyHints() != QgsVectorSimplifyMethod.NoSimplification diff --git a/lizmap/server_dav.py b/lizmap/server_dav.py index 8f814514..01c727db 100644 --- a/lizmap/server_dav.py +++ b/lizmap/server_dav.py @@ -203,7 +203,7 @@ def send_all_project_files(self) -> Tuple[bool, str, str]: self.qgs = self.webdav.store(self.qgs_path, url, self.auth_id, Qgis.ActionStart.Deferred) self.qgs.stored.connect(loop.quit) self.qgs.store() - loop.exec_() + loop.exec() error = self.qgs.errorString() if error: @@ -215,7 +215,7 @@ def send_all_project_files(self) -> Tuple[bool, str, str]: self.cfg = self.webdav.store(self.cfg_path, url, self.auth_id, Qgis.ActionStart.Deferred) self.cfg.stored.connect(loop.quit) self.cfg.store() - loop.exec_() + loop.exec() error = self.cfg.errorString() if error: @@ -244,7 +244,7 @@ def send_thumbnail(self) -> tuple[bool, str]: self.thumbnail = self.webdav.store(str(self.thumbnail_path), url, self.auth_id, Qgis.ActionStart.Deferred) self.thumbnail.stored.connect(loop.quit) self.thumbnail.store() - loop.exec_() + loop.exec() error = self.thumbnail.errorString() if error: @@ -271,7 +271,7 @@ def send_action(self) -> tuple[bool, str]: self.action = self.webdav.store(str(self.action_path), url, self.auth_id, Qgis.ActionStart.Deferred) self.action.stored.connect(loop.quit) self.action.store() - loop.exec_() + loop.exec() error = self.action.errorString() if error: @@ -296,7 +296,7 @@ def send_media(self, file_path: Path) -> tuple[bool, str]: self.media = self.webdav.store(str(file_path), url, self.auth_id, Qgis.ActionStart.Deferred) self.media.stored.connect(loop.quit) self.media.store() - loop.exec_() + loop.exec() error = self.media.errorString() if error: @@ -400,7 +400,7 @@ def put_file(self, file_path: Path, remote_path: Path): self.generic = self.webdav.store(str(file_path), remote_server, self.auth_id, Qgis.ActionStart.Deferred) self.generic.stored.connect(loop.quit) self.generic.store() - loop.exec_() + loop.exec() error = self.generic.errorString() if error: @@ -571,11 +571,11 @@ def file_stats(self, filename: str) -> Tuple[Optional[PropFindFileResponse], Opt data = reply.readAll() content = data.data().decode('utf8') - if reply.error() == QNetworkReply.NoError: + if reply.error() == QNetworkReply.NetworkError.NoError: # No error occurred, return the parsed response without any error message return self.parse_propfind_response(content), '' - if reply.error() == QNetworkReply.ContentNotFoundError: + if reply.error() == QNetworkReply.NetworkError.ContentNotFoundError: # The file doesn't exist on the server # Return None and empty error message return None, '' @@ -643,7 +643,7 @@ def make_dir_basic(self, directory: str, exists_ok: bool, user: str, password: s network_request.setUrl(QUrl(self.dav_server + directory)) reply = self._custom_blocking_request(network_request, 'MKCOL') - if reply.error() == QNetworkReply.NoError: + if reply.error() == QNetworkReply.NetworkError.NoError: return True, '' error = self.xml_reply_from_dav(reply) @@ -673,7 +673,7 @@ def _custom_blocking_request(cls, request: QNetworkRequest, http: str, multi_par reply: QNetworkReply # noinspection PyUnresolvedReferences reply.finished.connect(loop.quit) - loop.exec_() + loop.exec() return reply @classmethod diff --git a/lizmap/server_lwc.py b/lizmap/server_lwc.py index b01c1cc6..213e9935 100755 --- a/lizmap/server_lwc.py +++ b/lizmap/server_lwc.py @@ -148,9 +148,9 @@ def __init__( # Table self.table.setColumnCount(7) - self.table.setSelectionMode(QAbstractItemView.SingleSelection) - self.table.setEditTriggers(QAbstractItemView.NoEditTriggers) - self.table.setSelectionBehavior(QAbstractItemView.SelectRows) + self.table.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection) + self.table.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) + self.table.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) self.table.setAlternatingRowColors(True) self.table.cellDoubleClicked.connect(self.edit_row) self.table.setContextMenuPolicy(Qt.CustomContextMenu) @@ -158,7 +158,7 @@ def __init__( # Headers header = self.table.horizontalHeader() - header.setSectionResizeMode(QHeaderView.ResizeToContents) + header.setSectionResizeMode(QHeaderView.ResizeMode.ResizeToContents) # URL of the server, hidden item = QTableWidgetItem(tr('URL')) @@ -321,9 +321,9 @@ def add_row(self): """ Add a new row in the table, asking the URL to the user. """ existing = self.existing_json_server_list() dialog = ServerWizard(self.parent, existing) - result = dialog.exec_() + result = dialog.exec() - if result != QDialog.Accepted: + if result != QDialog.DialogCode.Accepted: return row = self.table.rowCount() @@ -366,9 +366,9 @@ def edit_row(self): if server.get('url') != url: data.append({'url': server.get('url'), 'auth_id': auth_id}) dialog = ServerWizard(self.parent, data, url=url, auth_id=auth_id, name=name) - result = dialog.exec_() + result = dialog.exec() - if result != QDialog.Accepted: + if result != QDialog.DialogCode.Accepted: return self._edit_row(row, dialog.current_url(), dialog.auth_id, dialog.current_name()) @@ -398,7 +398,7 @@ def remove_row(self): "We couldn't remove the login/password from the QGIS authentication database. " "Please remove manually the line '{}' from your QGIS authentication database in the your QGIS " "global settings, then 'Authentication' tab.").format(auth_id), - QMessageBox.Ok) + QMessageBox.StandardButton.Ok) self.table.clearSelection() return LOGGER.debug("Row {} removed from the QGIS authentication database".format(auth_id)) @@ -509,7 +509,7 @@ def fetch(self, url: str, auth_id: str, row: int): request.setUrl(QUrl(ServerWizard.url_metadata(url))) request.setAttribute(QNetworkRequest.FollowRedirectsAttribute, True) # According to QGIS debug panel, this is not working for now - request.setAttribute(QNetworkRequest.CacheLoadControlAttribute, QNetworkRequest.PreferNetwork) + request.setAttribute(QNetworkRequest.Attribute.CacheLoadControlAttribute, QNetworkRequest.CacheLoadControl.PreferNetwork) self.fetchers[row].fetchContent(request, auth_id) def request_finished(self, row: int): @@ -542,10 +542,10 @@ def request_finished(self, row: int): self.display_action(row, Qgis.Warning, tr('Temporary not available')) return - if reply.error() != QNetworkReply.NoError: - if reply.error() == QNetworkReply.HostNotFoundError: + if reply.error() != QNetworkReply.NetworkError.NoError: + if reply.error() == QNetworkReply.NetworkError.HostNotFoundError: self.display_action(row, Qgis.Warning, tr('Host can not be found. Is-it an intranet server ?')) - if reply.error() == QNetworkReply.ContentNotFoundError: + if reply.error() == QNetworkReply.NetworkError.ContentNotFoundError: self.display_action( row, Qgis.Critical, @@ -1207,12 +1207,12 @@ def context_menu_requested(self, position: QPoint): show_fonts.triggered.connect(slot) # noinspection PyArgumentList - menu.exec_(QCursor.pos()) + menu.exec(QCursor.pos()) def create_remote_repository(self, authid: str, webdav_server: str, server: str): """ Open the wizard for repository creation. """ dialog = CreateFolderWizard(self.parent, webdav_server=webdav_server, auth_id=authid, url=server) - dialog.exec_() + dialog.exec() def copy_as_markdown(self, data: str, action_data: str, action_required: bool): """ Copy the server information. """ @@ -1247,7 +1247,7 @@ def show_fonts(self, data: list, alias: str): # noinspection PyArgumentList layout.addWidget(widget) dialog.setLayout(layout) - dialog.exec_() + dialog.exec() def display_all_versions(self, data: str): """ Display the markdown in a message box. """ @@ -1261,7 +1261,7 @@ def display_all_versions(self, data: str): self.parent, tr('Server versions'), data, - QMessageBox.Ok) + QMessageBox.StandardButton.Ok) @staticmethod def released_versions() -> Path: diff --git a/lizmap/table_manager/base.py b/lizmap/table_manager/base.py index c5e949cd..006ac1d4 100755 --- a/lizmap/table_manager/base.py +++ b/lizmap/table_manager/base.py @@ -76,9 +76,9 @@ def __init__( if not item.get('visible', True): self.table.setColumnHidden(i, True) - self.table.setSelectionMode(QAbstractItemView.SingleSelection) - self.table.setEditTriggers(QAbstractItemView.NoEditTriggers) - self.table.setSelectionBehavior(QAbstractItemView.SelectRows) + self.table.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection) + self.table.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) + self.table.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) self.table.setAlternatingRowColors(True) self.table.cellDoubleClicked.connect(self.edit_existing_row) @@ -209,8 +209,8 @@ def add_new_row(self): """ When clicking on the "add" button, to add new row in the table. """ # We give the main UI of the plugin in the edition dialog dialog = self.edition(self.parent, self._primary_keys()) - result = dialog.exec_() - if result == QDialog.Accepted: + result = dialog.exec() + if result == QDialog.DialogCode.Accepted: data = dialog.save_form() row = self.table.rowCount() self.table.setRowCount(row + 1) @@ -243,8 +243,8 @@ def edit_existing_row(self): # We give the main UI of the plugin in the edition dialog dialog = self.edition(self.parent, self._primary_keys()) dialog.load_form(data) - result = dialog.exec_() - if result == QDialog.Accepted: + result = dialog.exec() + if result == QDialog.DialogCode.Accepted: data = dialog.save_form() self._edit_row(row, data) @@ -751,7 +751,7 @@ def to_json(self, version: LwcVersions = None) -> dict: has_index, message = self.definitions.has_spatial_centroid_index(vector_layer) if not has_index: # noinspection PyUnresolvedReferences,PyArgumentList - QMessageBox.critical(self.parent, tr('Filter by polygon'), message, QMessageBox.Ok) + QMessageBox.critical(self.parent, tr('Filter by polygon'), message, QMessageBox.StandardButton.Ok) if self.definitions.key() in [ 'locateByLayer', diff --git a/lizmap/test/test_project_checker_tools.py b/lizmap/test/test_project_checker_tools.py index 2afcbbc3..ac7d9b8b 100644 --- a/lizmap/test/test_project_checker_tools.py +++ b/lizmap/test/test_project_checker_tools.py @@ -202,22 +202,22 @@ def test_duplicated_sub_rule(self): # Rule 1 with symbol # noinspection PyUnresolvedReferences - rule_1 = QgsRuleBasedRenderer.Rule(QgsSymbol.defaultSymbol(QgsWkbTypes.PointGeometry), label=label + '-1') + rule_1 = QgsRuleBasedRenderer.Rule(QgsSymbol.defaultSymbol(QgsWkbTypes.GeometryType.PointGeometry), label=label + '-1') root_rule.appendChild(rule_1) # Sub-rule to rule 1 # noinspection PyTypeChecker - rule_1_1 = QgsRuleBasedRenderer.Rule(QgsSymbol.defaultSymbol(QgsWkbTypes.PointGeometry), label=label) + rule_1_1 = QgsRuleBasedRenderer.Rule(QgsSymbol.defaultSymbol(QgsWkbTypes.GeometryType.PointGeometry), label=label) rule_1.appendChild(rule_1_1) # Rule 2 with symbol # noinspection PyUnresolvedReferences - rule_2 = QgsRuleBasedRenderer.Rule(QgsSymbol.defaultSymbol(QgsWkbTypes.PointGeometry), label=label + '-2') + rule_2 = QgsRuleBasedRenderer.Rule(QgsSymbol.defaultSymbol(QgsWkbTypes.GeometryType.PointGeometry), label=label + '-2') root_rule.appendChild(rule_2) # Sub-rule to rule 2 # noinspection PyTypeChecker - rule_2_1 = QgsRuleBasedRenderer.Rule(QgsSymbol.defaultSymbol(QgsWkbTypes.PointGeometry), label=label) + rule_2_1 = QgsRuleBasedRenderer.Rule(QgsSymbol.defaultSymbol(QgsWkbTypes.GeometryType.PointGeometry), label=label) rule_2.appendChild(rule_2_1) # Useful for debugging diff --git a/lizmap/test/test_tooltip.py b/lizmap/test/test_tooltip.py index 06324322..5dac9099 100755 --- a/lizmap/test/test_tooltip.py +++ b/lizmap/test/test_tooltip.py @@ -406,7 +406,7 @@ def test_layer_non_existing_field(self): layer.dataProvider().addFeatures([feature]) config = layer.editFormConfig() - config.setLayout(QgsEditFormConfig.TabLayout) + config.setLayout(QgsEditFormConfig.EditorLayout.TabLayout) config.clearTabs() root = config.invisibleRootContainer() @@ -442,7 +442,7 @@ def test_display_group(self): layer = QgsVectorLayer('None?field=field_a:string', 'table', 'memory') config = layer.editFormConfig() - config.setLayout(QgsEditFormConfig.TabLayout) + config.setLayout(QgsEditFormConfig.EditorLayout.TabLayout) config.clearTabs() root = config.invisibleRootContainer() @@ -498,7 +498,7 @@ def test_tooltip_layer(self): self.assertTrue(layer.isValid()) config = layer.editFormConfig() - self.assertEqual(QgsEditFormConfig.TabLayout, config.layout()) + self.assertEqual(QgsEditFormConfig.EditorLayout.TabLayout, config.layout()) root = config.invisibleRootContainer() # noinspection PyArgumentList diff --git a/lizmap/test/test_webdav.py b/lizmap/test/test_webdav.py index c491e41a..500a1fb2 100644 --- a/lizmap/test/test_webdav.py +++ b/lizmap/test/test_webdav.py @@ -369,9 +369,9 @@ def test_wizard(self): # Message are always in English, hardcoded in source code self.assertEqual("The resource you tried to create already exists", dialog.currentPage().result.text()) - self.assertFalse(dialog.button(QWizard.FinishButton).isVisible()) + self.assertFalse(dialog.button(QWizard.WizardButton.FinishButton).isVisible()) - dialog.button(QWizard.NextButton).click() + dialog.button(QWizard.WizardButton.NextButton).click() self.assertEqual(self.directory_name, dialog.field("folder_name")) @@ -379,7 +379,7 @@ def test_wizard(self): self.assertFalse(THUMBS in dialog.currentPage().result.text()) self.assertTrue(self.directory_name in dialog.currentPage().result.text()) - self.assertTrue(dialog.button(QWizard.FinishButton).isVisible()) + self.assertTrue(dialog.button(QWizard.WizardButton.FinishButton).isVisible()) if __name__ == "__main__": diff --git a/lizmap/test/test_wizard_server.py b/lizmap/test/test_wizard_server.py index 3ce18a25..b8a23ea1 100644 --- a/lizmap/test/test_wizard_server.py +++ b/lizmap/test/test_wizard_server.py @@ -61,24 +61,24 @@ def test_server_creation_wrong_data(self): # URL page # self.assertEqual(WizardPages.UrlPage, dialog.currentId()) - self.assertFalse(dialog.button(QWizard.NextButton).isEnabled()) + self.assertFalse(dialog.button(QWizard.WizardButton.NextButton).isEnabled()) # Not a JSON content when appending index.php/view/app/metadata dialog.currentPage().url_edit.setText('https://foo.org') - dialog.button(QWizard.NextButton).click() + dialog.button(QWizard.WizardButton.NextButton).click() # # Login and password page # self.assertEqual(WizardPages.LoginPasswordPage, dialog.currentId()) - self.assertFalse(dialog.button(QWizard.NextButton).isEnabled()) + self.assertFalse(dialog.button(QWizard.WizardButton.NextButton).isEnabled()) # Wrong credentials dialog.currentPage().login_edit.setText('admin') dialog.currentPage().password_edit.setText('admin') - self.assertTrue(dialog.button(QWizard.NextButton).isEnabled()) - dialog.button(QWizard.NextButton).click() + self.assertTrue(dialog.button(QWizard.WizardButton.NextButton).isEnabled()) + dialog.button(QWizard.WizardButton.NextButton).click() # Back to the first panel because of the URL is not a JSON reply self.assertEqual(WizardPages.UrlPage, dialog.currentId()) @@ -87,12 +87,12 @@ def test_server_creation_wrong_data(self): self.assertEqual("", dialog.page(WizardPages.LoginPasswordPage).result_login_password.text()) dialog.currentPage().url_edit.setText("https://demo.snap.lizmap.com/lizmap_3_6") - dialog.button(QWizard.NextButton).click() + dialog.button(QWizard.WizardButton.NextButton).click() dialog.currentPage().login_edit.setText('admin_WRONG') dialog.currentPage().password_edit.setText('admin_WRONG') - dialog.button(QWizard.NextButton).click() + dialog.button(QWizard.WizardButton.NextButton).click() # Still on the same page because of the login & password now... @@ -113,18 +113,18 @@ def X_test_server_creation_real_data(self): # self.assertEqual(WizardPages.UrlPage, dialog.currentId()) dialog.currentPage().url_edit.setText(LIZMAP_HOST_WEB) - dialog.button(QWizard.NextButton).click() + dialog.button(QWizard.WizardButton.NextButton).click() # # Login and password page # self.assertEqual(WizardPages.LoginPasswordPage, dialog.currentId()) - self.assertFalse(dialog.button(QWizard.NextButton).isEnabled()) + self.assertFalse(dialog.button(QWizard.WizardButton.NextButton).isEnabled()) dialog.currentPage().login_edit.setText(LIZMAP_USER) dialog.currentPage().password_edit.setText(LIZMAP_PASSWORD) - dialog.button(QWizard.NextButton).click() + dialog.button(QWizard.WizardButton.NextButton).click() # # Name page @@ -134,7 +134,7 @@ def X_test_server_creation_real_data(self): self.assertNotEqual('', dialog.page(WizardPages.LoginPasswordPage).result_login_password.text()) self.assertEqual(NamePage.automatic_name(LIZMAP_HOST_WEB), dialog.currentPage().name_edit.text()) - dialog.button(QWizard.NextButton).click() + dialog.button(QWizard.WizardButton.NextButton).click() # # Saving credentials page diff --git a/lizmap/toolbelt/layer.py b/lizmap/toolbelt/layer.py index ef72adb3..6a5fa8e5 100644 --- a/lizmap/toolbelt/layer.py +++ b/lizmap/toolbelt/layer.py @@ -35,7 +35,7 @@ def is_database_layer(layer) -> bool: def is_vector_pg(layer: QgsMapLayer, geometry_check=False) -> bool: """ Return boolean if the layer is stored in PG and is a vector with a geometry. """ - if layer.type() != QgsMapLayer.VectorLayer: + if layer.type() != QgsMapLayer.LayerType.VectorLayer: return False if layer.dataProvider().name() != 'postgres': diff --git a/lizmap/version_checker.py b/lizmap/version_checker.py index b9895291..9987b505 100755 --- a/lizmap/version_checker.py +++ b/lizmap/version_checker.py @@ -162,7 +162,7 @@ def update_lwc_releases(self, released_versions: dict): # If the changelog link has been published if NewVersionDialog.check_version(lwc_version, self.dialog.table_server.rowCount): new_version = NewVersionDialog(lwc_version, changelog_url) - new_version.exec_() + new_version.exec() else: NewVersionDialog.append_version(lwc_version) diff --git a/lizmap/widgets/check_project.py b/lizmap/widgets/check_project.py index 307b551e..28489fbb 100644 --- a/lizmap/widgets/check_project.py +++ b/lizmap/widgets/check_project.py @@ -1023,9 +1023,9 @@ def setup(self): """ Setting up parameters. """ # Do not use the constructor __init__, it's not working. Maybe because of UI files ? - self.setSelectionMode(QAbstractItemView.SingleSelection) - self.setEditTriggers(QAbstractItemView.NoEditTriggers) - self.setSelectionBehavior(QAbstractItemView.SelectRows) + self.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection) + self.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) + self.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) self.setAlternatingRowColors(True) self.horizontalHeader().setStretchLastSection(True) self.horizontalHeader().setVisible(True) diff --git a/lizmap/widgets/html_editor.py b/lizmap/widgets/html_editor.py index d2500786..eddb3ea5 100644 --- a/lizmap/widgets/html_editor.py +++ b/lizmap/widgets/html_editor.py @@ -154,7 +154,7 @@ def add_expression_field_in_html(self): def add_expression_in_html(self): """ Open the expression builder dialog without any layer set. """ dialog = QgsExpressionBuilderDialog(None) - if not dialog.exec_(): + if not dialog.exec(): return self._insert_qgis_expression(dialog.expressionText()) diff --git a/lizmap/widgets/list_fields_selection.py b/lizmap/widgets/list_fields_selection.py index 93b7517f..5bbc313d 100644 --- a/lizmap/widgets/list_fields_selection.py +++ b/lizmap/widgets/list_fields_selection.py @@ -13,8 +13,8 @@ class ListFieldsSelection(QListWidget): def __init__(self, parent=None): super().__init__(parent) - self.setSelectionMode(QAbstractItemView.MultiSelection) - self.setEditTriggers(QAbstractItemView.NoEditTriggers) + self.setSelectionMode(QAbstractItemView.SelectionMode.MultiSelection) + self.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) self.layer = None def set_layer(self, layer: QgsVectorLayer): diff --git a/lizmap/widgets/list_layers_selection.py b/lizmap/widgets/list_layers_selection.py index 69368c80..d1a0d343 100644 --- a/lizmap/widgets/list_layers_selection.py +++ b/lizmap/widgets/list_layers_selection.py @@ -13,8 +13,8 @@ class ListLayersSelection(QListWidget): def __init__(self, parent=None): super().__init__(parent) - self.setSelectionMode(QAbstractItemView.MultiSelection) - self.setEditTriggers(QAbstractItemView.NoEditTriggers) + self.setSelectionMode(QAbstractItemView.SelectionMode.MultiSelection) + self.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) self.project = None def set_project(self, project: QgsProject): @@ -23,7 +23,7 @@ def set_project(self, project: QgsProject): self.clear() for layer in self.project.mapLayers().values(): - if layer.type() != QgsMapLayer.VectorLayer: + if layer.type() != QgsMapLayer.LayerType.VectorLayer: continue if not layer.isSpatial(): diff --git a/lizmap/widgets/selectable_combobox.py b/lizmap/widgets/selectable_combobox.py index e8ef231f..9f4eb33b 100644 --- a/lizmap/widgets/selectable_combobox.py +++ b/lizmap/widgets/selectable_combobox.py @@ -73,7 +73,7 @@ def set_layer(self, layer): if not layer: return - if layer.type() != QgsMapLayer.VectorLayer: + if layer.type() != QgsMapLayer.LayerType.VectorLayer: return self.layer = layer diff --git a/lizmap/widgets/table_files.py b/lizmap/widgets/table_files.py index 98d526dd..c0c1bbce 100644 --- a/lizmap/widgets/table_files.py +++ b/lizmap/widgets/table_files.py @@ -53,9 +53,9 @@ def setup(self): """ Setting up parameters. """ # Do not use the constructor __init__, it's not working. Maybe because of UI files ? - self.setSelectionMode(QAbstractItemView.SingleSelection) - self.setEditTriggers(QAbstractItemView.NoEditTriggers) - self.setSelectionBehavior(QAbstractItemView.SelectRows) + self.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection) + self.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) + self.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) self.setAlternatingRowColors(True) self.horizontalHeader().setStretchLastSection(True) self.horizontalHeader().setVisible(True) @@ -109,7 +109,7 @@ def add_file(self, file_path: Path, icon: QIcon): remove_button.setText('') remove_button.setIcon(QIcon(":/images/themes/default/mActionDeleteSelected.svg")) remove_button.setToolTip(tr('Remove the remote file')) - remove_button.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum) + remove_button.setSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Maximum) remove_button.clicked.connect(partial(self.button_remove_layer, row)) cell = QWidget() diff --git a/lizmap/widgets/warning_widget.py b/lizmap/widgets/warning_widget.py index 00e7b8d9..e800d0f1 100644 --- a/lizmap/widgets/warning_widget.py +++ b/lizmap/widgets/warning_widget.py @@ -18,7 +18,7 @@ def __init__(self, flags, *args, **kwargs): image_widget = QLabel() warning_icon = QPixmap(":images/themes/default/mIconWarning.svg") image_widget.setPixmap(warning_icon) - image_widget.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred) + image_widget.setSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Preferred) # noinspection PyArgumentList layout.addWidget(image_widget)