Wed, 19 May 2021 17:36:34 +0200
Continued porting eric to PyQt6.
--- a/eric7/E5Gui/E5TextEditSearchWidget.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/E5Gui/E5TextEditSearchWidget.py Wed May 19 17:36:34 2021 +0200 @@ -302,9 +302,9 @@ @rtype bool """ flags = ( - QTextDocument.FindFlags(QTextDocument.FindFlag.FindBackward) + QTextDocument.FindFlag.FindBackward if backwards else - QTextDocument.FindFlags() + QTextDocument.FindFlag(0) ) if self.caseCheckBox.isChecked(): flags |= QTextDocument.FindFlag.FindCaseSensitively @@ -337,7 +337,7 @@ """ from PyQt6.QtWebEngineWidgets import QWebEnginePage - findFlags = QWebEnginePage.FindFlags() + findFlags = QWebEnginePage.FindFlag(0) if self.caseCheckBox.isChecked(): findFlags |= QWebEnginePage.FindFlag.FindCaseSensitively if backwards:
--- a/eric7/Plugins/DocumentationPlugins/Ericapi/EricapiConfigDialog.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/Plugins/DocumentationPlugins/Ericapi/EricapiConfigDialog.py Wed May 19 17:36:34 2021 +0200 @@ -83,7 +83,7 @@ # convert Python to the more specific Python3 language = "Python3" items = self.languagesList.findItems( - language, Qt.MatchFlags(Qt.MatchFlag.MatchExactly)) + language, Qt.MatchFlag.MatchExactly) items and items[0].setSelected(True) def __initializeDefaults(self):
--- a/eric7/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py Wed May 19 17:36:34 2021 +0200 @@ -1427,13 +1427,13 @@ self.__extensionsMenu = QMenu(self.tr("Extensions"), menu) self.__extensionsMenu.setTearOffEnabled(True) self.__extensionsMenu.aboutToShow.connect(self.__showExtensionMenu) - # TODO: change this to store the menu instead of the menu action to not use action.menu() - self.extensionMenus = {} + self.__extensionMenus = {} for extensionMenuTitle in sorted(self.__extensionMenuTitles): extensionName = self.__extensionMenuTitles[extensionMenuTitle] - self.extensionMenus[extensionName] = self.__extensionsMenu.addMenu( - self.__extensions[extensionName].initMenu( - self.__extensionsMenu)) + extensionMenu = self.__extensions[extensionName].initMenu( + self.__extensionsMenu) + self.__extensionMenus[extensionName] = extensionMenu + self.__extensionsMenu.addMenu(extensionMenu) self.vcs.activeExtensionsChanged.connect(self.__showExtensionMenu) graftMenu = QMenu(self.tr("Copy Changesets"), menu) @@ -1630,9 +1630,9 @@ menu.hideTearOffMenu() # close torn off extension menus - for extensionName in self.extensionMenus: + for extensionName in self.__extensionMenus: self.__extensions[extensionName].shutdown() - menu = self.extensionMenus[extensionName].menu() + menu = self.__extensionMenus[extensionName] if menu.isTearOffMenuVisible(): menu.hideTearOffMenu() @@ -1643,17 +1643,15 @@ """ Private slot showing the extensions menu. """ - for extensionName in self.extensionMenus: - self.extensionMenus[extensionName].setEnabled( + for extensionName in self.__extensionMenus: + extensionMenu = self.__extensionMenus[extensionName] + extensionMenu.menuAction().setEnabled( self.vcs.isExtensionActive(extensionName)) if ( - not self.extensionMenus[extensionName].isEnabled() and - self.extensionMenus[extensionName].menu() - .isTearOffMenuVisible() + not extensionMenu.menuAction().isEnabled() and + extensionMenu.isTearOffMenuVisible() ): - self.extensionMenus[extensionName].menu().hideTearOffMenu() - if self.vcs.version < (4, 8, 0): - self.extensionMenus["closehead"].setEnabled(False) + extensionMenu.hideTearOffMenu() def __hgExtendedDiff(self): """
--- a/eric7/Plugins/VcsPlugins/vcsMercurial/hg.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/Plugins/VcsPlugins/vcsMercurial/hg.py Wed May 19 17:36:34 2021 +0200 @@ -2839,7 +2839,6 @@ args = self.initCommand("showconfig") args.append('extensions') - return output, error = self.__client.runcommand(args) if output:
--- a/eric7/Plugins/WizardPlugins/FontDialogWizard/FontDialogWizardDialog.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/Plugins/WizardPlugins/FontDialogWizard/FontDialogWizardDialog.py Wed May 19 17:36:34 2021 +0200 @@ -22,6 +22,18 @@ It displays a dialog for entering the parameters for the QFontDialog code generator. """ + FontWeight2Code = { + 100: "Thin", + 200: "ExtraLight", + 300: "Light", + 400: "Normal", + 500: "Medium", + 600: "DemiBold", + 700: "Bold", + 800: "ExtraBold", + 900: "Black", + } + def __init__(self, parent=None): """ Constructor @@ -117,9 +129,15 @@ code += '{0}{1}'.format(os.linesep, istring) if not self.eVariable.text(): if self.font is not None: - code += 'QFont(["{0}"], {1:d}, {2:d}, {3:d})'.format( - self.font.family(), self.font.pointSize(), - self.font.weight(), self.font.italic()) + code += ( + 'QFont(["{0}"], {1:d}, QFont.Weight.{2}, {3})' + .format( + self.font.family(), + self.font.pointSize(), + FontDialogWizardDialog.FontWeight2Code[ + self.font.weight()], + "True" if self.font.italic() else "False") + ) else: code += self.eVariable.text() if title: @@ -130,6 +148,7 @@ elif parent != "None": code += ',{0}{1}{2}'.format( os.linesep, istring, parent) + # NOTE: add support for font dialog options (enhancement) code += '){0}'.format(estring) return code
--- a/eric7/Preferences/ConfigurationPages/EditorHighlightersPage.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/Preferences/ConfigurationPages/EditorHighlightersPage.py Wed May 19 17:36:34 2021 +0200 @@ -90,7 +90,7 @@ lexer = "Pygments|{0}".format(pygmentsLexer) if ext and lexer: itmList = self.editorLexerList.findItems( - ext, Qt.MatchFlags(Qt.MatchFlag.MatchExactly), 0) + ext, Qt.MatchFlag.MatchExactly, 0) if itmList: index = self.editorLexerList.indexOfTopLevelItem(itmList[0]) itm = self.editorLexerList.takeTopLevelItem(index)
--- a/eric7/Preferences/ToolConfigurationDialog.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/Preferences/ToolConfigurationDialog.py Wed May 19 17:36:34 2021 +0200 @@ -125,7 +125,7 @@ return if len(self.toolsList.findItems( - menutext, Qt.MatchFlags(Qt.MatchFlag.MatchExactly))): + menutext, Qt.MatchFlag.MatchExactly)): E5MessageBox.critical( self, self.tr("Add tool entry"),
--- a/eric7/Preferences/ToolGroupConfigurationDialog.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/Preferences/ToolGroupConfigurationDialog.py Wed May 19 17:36:34 2021 +0200 @@ -63,7 +63,7 @@ return if len(self.groupsList.findItems( - groupName, Qt.MatchFlags(Qt.MatchFlag.MatchExactly))): + groupName, Qt.MatchFlag.MatchExactly)): E5MessageBox.critical( self, self.tr("Add tool group entry"), @@ -93,7 +93,7 @@ return if len(self.groupsList.findItems( - groupName, Qt.MatchFlags(Qt.MatchFlag.MatchExactly))): + groupName, Qt.MatchFlag.MatchExactly)): E5MessageBox.critical( self, self.tr("Add tool group entry"),
--- a/eric7/Project/CreateDialogCodeDialog.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/Project/CreateDialogCodeDialog.py Wed May 19 17:36:34 2021 +0200 @@ -340,8 +340,7 @@ (methodDict["methods"][0] in signatureList or methodDict["methods"][1] in signatureList) ): - itm2.setFlags( - Qt.ItemFlags(Qt.ItemFlag.ItemIsEnabled)) + itm2.setFlags(Qt.ItemFlag.ItemIsEnabled) itm2.setCheckState(Qt.CheckState.Checked) if e5App().usesDarkPalette(): itm2.setForeground(QBrush(QColor("#75bfff"))) @@ -360,10 +359,10 @@ itm2.setData(methodDict["parameter_names"], parameterNamesListRole) - itm2.setFlags(Qt.ItemFlags( + itm2.setFlags( Qt.ItemFlag.ItemIsUserCheckable | Qt.ItemFlag.ItemIsEnabled | - Qt.ItemFlag.ItemIsSelectable) + Qt.ItemFlag.ItemIsSelectable ) itm2.setCheckState(Qt.CheckState.Unchecked) @@ -511,8 +510,7 @@ child = topItem.child(childRow) if ( child.checkState() and - child.flags() & Qt.ItemFlags( - Qt.ItemFlag.ItemIsUserCheckable) + child.flags() & Qt.ItemFlag.ItemIsUserCheckable ): slotsCode.append('{0}\n'.format(indentStr)) slotsCode.append('{0}{1}\n'.format(
--- a/eric7/Project/FiletypeAssociationDialog.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/Project/FiletypeAssociationDialog.py Wed May 19 17:36:34 2021 +0200 @@ -110,7 +110,7 @@ filetype = self.filetypeCombo.currentText() if pattern: items = self.filetypeAssociationList.findItems( - pattern, Qt.MatchFlags(Qt.MatchFlag.MatchExactly), 0) + pattern, Qt.MatchFlag.MatchExactly, 0) for itm in items: itm = self.filetypeAssociationList.takeTopLevelItem( self.filetypeAssociationList.indexOfTopLevelItem(itm))
--- a/eric7/Project/LexerAssociationDialog.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/Project/LexerAssociationDialog.py Wed May 19 17:36:34 2021 +0200 @@ -80,7 +80,7 @@ lexer = "Pygments|{0}".format(pygmentsLexer) if ext and lexer: itmList = self.editorLexerList.findItems( - ext, Qt.MatchFlags(Qt.MatchFlag.MatchExactly), 0) + ext, Qt.MatchFlag.MatchExactly, 0) if itmList: index = self.editorLexerList.indexOfTopLevelItem(itmList[0]) itm = self.editorLexerList.takeTopLevelItem(index)
--- a/eric7/Project/ProjectBaseBrowser.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/Project/ProjectBaseBrowser.py Wed May 19 17:36:34 2021 +0200 @@ -178,11 +178,11 @@ """ if index.isValid(): self.setCurrentIndex(index) - flags = QItemSelectionModel.SelectionFlags( + self.selectionModel().select( + index, QItemSelectionModel.SelectionFlag.ClearAndSelect | QItemSelectionModel.SelectionFlag.Rows ) - self.selectionModel().select(index, flags) def _setItemSelected(self, index, selected): """
--- a/eric7/PyUnit/UnittestDialog.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/PyUnit/UnittestDialog.py Wed May 19 17:36:34 2021 +0200 @@ -942,7 +942,7 @@ text = re.sub(pattern, "", text) foundItems = self.testsListWidget.findItems( - text, Qt.MatchFlags(Qt.MatchFlag.MatchExactly)) + text, Qt.MatchFlag.MatchExactly) if len(foundItems) > 0: itm = foundItems[0] self.testsListWidget.setCurrentItem(itm)
--- a/eric7/QScintilla/QsciScintillaCompat.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/QScintilla/QsciScintillaCompat.py Wed May 19 17:36:34 2021 +0200 @@ -50,6 +50,19 @@ IndicatorStyleMax = QsciScintilla.INDIC_GRADIENTCENTRE + # Maps PyQt6.QFont.Weight to the weights used by QScintilla + QFontWeightMapping = { + 100: 0, + 200: 12, + 300: 25, + 400: 50, + 500: 57, + 600: 63, + 700: 75, + 800: 81, + 900: 87, + } + def __init__(self, parent=None): """ Constructor @@ -145,7 +158,7 @@ f = font.family().encode("utf-8") ps = font.pointSize() - weight = -font.weight() + weight = -QsciScintillaCompat.QFontWeightMapping[font.weight()] italic = font.italic() underline = font.underline() bold = font.bold()
--- a/eric7/UI/FindFileDialog.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/UI/FindFileDialog.py Wed May 19 17:36:34 2021 +0200 @@ -159,8 +159,8 @@ if self.__replaceMode: self.__lastFileItem.setFlags( self.__lastFileItem.flags() | - Qt.ItemFlags(Qt.ItemFlag.ItemIsUserCheckable | - Qt.ItemFlag.ItemIsTristate)) + Qt.ItemFlag.ItemIsUserCheckable | + Qt.ItemFlag.ItemIsTristate) self.__lastFileItem.setData(0, self.md5Role, md5) itm = QTreeWidgetItem(self.__lastFileItem) @@ -173,7 +173,7 @@ itm.setData(0, self.replaceRole, replTxt) if self.__replaceMode: itm.setFlags(itm.flags() | - Qt.ItemFlags(Qt.ItemFlag.ItemIsUserCheckable)) + Qt.ItemFlag.ItemIsUserCheckable) itm.setCheckState(0, Qt.CheckState.Checked) self.replaceButton.setEnabled(True)
--- a/eric7/UI/LogView.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/UI/LogView.py Wed May 19 17:36:34 2021 +0200 @@ -249,7 +249,7 @@ @type bool """ self.__lastSearch = (txt, caseSensitive, wholeWord, regexp) - flags = QTextDocument.FindFlags() + flags = QTextDocument.FindFlag(0) if caseSensitive: flags |= QTextDocument.FindFlag.FindCaseSensitively if wholeWord: @@ -283,7 +283,7 @@ @type bool """ self.__lastSearch = (txt, caseSensitive, wholeWord, regexp) - flags = QTextDocument.FindFlags(QTextDocument.FindFlag.FindBackward) + flags = QTextDocument.FindFlag.FindBackward if caseSensitive: flags |= QTextDocument.FindFlag.FindCaseSensitively if wholeWord:
--- a/eric7/WebBrowser/WebBrowserView.py Tue May 18 19:25:53 2021 +0200 +++ b/eric7/WebBrowser/WebBrowserView.py Wed May 19 17:36:34 2021 +0200 @@ -508,7 +508,7 @@ @param callback reference to a function with a bool parameter @type function(bool) or None """ - findFlags = QWebEnginePage.FindFlags() + findFlags = QWebEnginePage.FindFlag(0) if case: findFlags |= QWebEnginePage.FindFlag.FindCaseSensitively if backwards: