Wed, 02 Sep 2020 18:06:20 +0200
Merged with default branch to prepare the 20.9 release.
--- a/docs/changelog Sat Aug 01 10:39:12 2020 +0200 +++ b/docs/changelog Wed Sep 02 18:06:20 2020 +0200 @@ -1,5 +1,16 @@ Change Log ---------- +Version 20.9: +- bug fixes +- File Browser + -- changed it to react upon changed files if their contents is shown +- Tasks + -- added separate task categories for 'Test' and 'Documentation' tasks +- Mercurial Interface + -- removed the interface for the deprecated 'fetch' extension +- VCS Interfaces + -- added a configuration option to disable the VCS toolbars + Version 20.8: - bug fixes
--- a/eric6.e4p Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6.e4p Wed Sep 02 18:06:20 2020 +0200 @@ -368,9 +368,6 @@ <Source>eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/messages.py</Source> <Source>eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py</Source> <Source>eric6/Plugins/CheckerPlugins/SyntaxChecker/yamlCheckSyntax.py</Source> - <Source>eric6/Plugins/CheckerPlugins/Tabnanny/Tabnanny.py</Source> - <Source>eric6/Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.py</Source> - <Source>eric6/Plugins/CheckerPlugins/Tabnanny/__init__.py</Source> <Source>eric6/Plugins/CheckerPlugins/__init__.py</Source> <Source>eric6/Plugins/DocumentationPlugins/Ericapi/EricapiConfigDialog.py</Source> <Source>eric6/Plugins/DocumentationPlugins/Ericapi/EricapiExecDialog.py</Source> @@ -384,7 +381,6 @@ <Source>eric6/Plugins/PluginEricapi.py</Source> <Source>eric6/Plugins/PluginEricdoc.py</Source> <Source>eric6/Plugins/PluginSyntaxChecker.py</Source> - <Source>eric6/Plugins/PluginTabnanny.py</Source> <Source>eric6/Plugins/PluginTranslator.py</Source> <Source>eric6/Plugins/PluginVcsGit.py</Source> <Source>eric6/Plugins/PluginVcsMercurial.py</Source> @@ -488,10 +484,6 @@ <Source>eric6/Plugins/VcsPlugins/vcsMercurial/Config.py</Source> <Source>eric6/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.py</Source> <Source>eric6/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/__init__.py</Source> - <Source>eric6/Plugins/VcsPlugins/vcsMercurial/FetchExtension/HgFetchDialog.py</Source> - <Source>eric6/Plugins/VcsPlugins/vcsMercurial/FetchExtension/ProjectHelper.py</Source> - <Source>eric6/Plugins/VcsPlugins/vcsMercurial/FetchExtension/__init__.py</Source> - <Source>eric6/Plugins/VcsPlugins/vcsMercurial/FetchExtension/fetch.py</Source> <Source>eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignDialog.py</Source> <Source>eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignaturesDialog.py</Source> <Source>eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/ProjectHelper.py</Source> @@ -1299,7 +1291,6 @@ <Source>eric6/Utilities/PasswordChecker.py</Source> <Source>eric6/Utilities/PySideImporter.py</Source> <Source>eric6/Utilities/__init__.py</Source> - <Source>eric6/Utilities/binplistlib.py</Source> <Source>eric6/Utilities/crypto/__init__.py</Source> <Source>eric6/Utilities/crypto/py3AES.py</Source> <Source>eric6/Utilities/crypto/py3PBKDF2.py</Source> @@ -1685,7 +1676,6 @@ <Form>eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCodeSelectionDialog.ui</Form> <Form>eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.ui</Form> <Form>eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.ui</Form> - <Form>eric6/Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.ui</Form> <Form>eric6/Plugins/DocumentationPlugins/Ericapi/EricapiConfigDialog.ui</Form> <Form>eric6/Plugins/DocumentationPlugins/Ericapi/EricapiExecDialog.ui</Form> <Form>eric6/Plugins/DocumentationPlugins/Ericdoc/EricdocConfigDialog.ui</Form> @@ -1740,7 +1730,6 @@ <Form>eric6/Plugins/VcsPlugins/vcsGit/GitUserConfigDataDialog.ui</Form> <Form>eric6/Plugins/VcsPlugins/vcsMercurial/CloseheadExtension/HgCloseHeadSelectionDialog.ui</Form> <Form>eric6/Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.ui</Form> - <Form>eric6/Plugins/VcsPlugins/vcsMercurial/FetchExtension/HgFetchDialog.ui</Form> <Form>eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignDialog.ui</Form> <Form>eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/HgGpgSignaturesDialog.ui</Form> <Form>eric6/Plugins/VcsPlugins/vcsMercurial/HgAddSubrepositoryDialog.ui</Form>
--- a/eric6/APIs/Python3/eric6.api Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/APIs/Python3/eric6.api Wed Sep 02 18:06:20 2020 +0200 @@ -3468,33 +3468,6 @@ eric6.Plugins.CheckerPlugins.SyntaxChecker.yamlCheckSyntax.worker?4(inputQueue, outputQueue) eric6.Plugins.CheckerPlugins.SyntaxChecker.yamlCheckSyntax.yamlSyntaxBatchCheck?4(argumentsList, send, fx, cancelled, maxProcesses=0) eric6.Plugins.CheckerPlugins.SyntaxChecker.yamlCheckSyntax.yamlSyntaxCheck?4(file, codestring) -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.NannyNag.get_line?4() -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.NannyNag.get_lineno?4() -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.NannyNag.get_msg?4() -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.NannyNag?1(lineno, msg, line) -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.Whitespace.equal?4(other) -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.Whitespace.indent_level?4(tabsize) -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.Whitespace.less?4(other) -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.Whitespace.longest_run_of_spaces?4() -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.Whitespace.not_equal_witness?4(other) -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.Whitespace.not_less_witness?4(other) -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.Whitespace?1(ws) -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.batchCheck?4(argumentsList, send, fx, cancelled, maxProcesses=0) -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.check?4(file, text="") -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.format_witnesses?4(w) -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.initBatchService?4() -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.initService?4() -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.process_tokens?4(tokens) -eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.worker?4(inputQueue, outputQueue) -eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.TabnannyDialog.check?4(codestring='') -eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.TabnannyDialog.checkBatch?4() -eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.TabnannyDialog.filenameRole?7 -eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.TabnannyDialog.on_buttonBox_clicked?4(button) -eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.TabnannyDialog.on_resultList_itemActivated?4(itm, col) -eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.TabnannyDialog.on_startButton_clicked?4() -eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.TabnannyDialog.prepare?4(fileList, project) -eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.TabnannyDialog.start?4(fn) -eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.TabnannyDialog?1(indentCheckService, parent=None) eric6.Plugins.DocumentationPlugins.Ericapi.EricapiConfigDialog.EricapiConfigDialog.accept?4() eric6.Plugins.DocumentationPlugins.Ericapi.EricapiConfigDialog.EricapiConfigDialog.generateParameters?4() eric6.Plugins.DocumentationPlugins.Ericapi.EricapiConfigDialog.EricapiConfigDialog.on_addButton_clicked?4() @@ -3612,28 +3585,6 @@ eric6.Plugins.PluginSyntaxChecker.pyqtApi?7 eric6.Plugins.PluginSyntaxChecker.shortDescription?7 eric6.Plugins.PluginSyntaxChecker.version?7 -eric6.Plugins.PluginTabnanny.TabnannyPlugin.activate?4() -eric6.Plugins.PluginTabnanny.TabnannyPlugin.batchFinished?7 -eric6.Plugins.PluginTabnanny.TabnannyPlugin.batchJobDone?4(fx, lang) -eric6.Plugins.PluginTabnanny.TabnannyPlugin.cancelIndentBatchCheck?4() -eric6.Plugins.PluginTabnanny.TabnannyPlugin.deactivate?4() -eric6.Plugins.PluginTabnanny.TabnannyPlugin.error?7 -eric6.Plugins.PluginTabnanny.TabnannyPlugin.indentBatchCheck?4(argumentsList) -eric6.Plugins.PluginTabnanny.TabnannyPlugin.indentCheck?4(lang, filename, source) -eric6.Plugins.PluginTabnanny.TabnannyPlugin.indentChecked?7 -eric6.Plugins.PluginTabnanny.TabnannyPlugin.serviceErrorPy3?4(fx, lang, fn, msg) -eric6.Plugins.PluginTabnanny.TabnannyPlugin?1(ui) -eric6.Plugins.PluginTabnanny.author?7 -eric6.Plugins.PluginTabnanny.autoactivate?7 -eric6.Plugins.PluginTabnanny.className?7 -eric6.Plugins.PluginTabnanny.deactivateable?7 -eric6.Plugins.PluginTabnanny.error?7 -eric6.Plugins.PluginTabnanny.longDescription?7 -eric6.Plugins.PluginTabnanny.name?7 -eric6.Plugins.PluginTabnanny.packageName?7 -eric6.Plugins.PluginTabnanny.pyqtApi?7 -eric6.Plugins.PluginTabnanny.shortDescription?7 -eric6.Plugins.PluginTabnanny.version?7 eric6.Plugins.PluginTranslator.TranslatorPlugin.PreferencesKey?7 eric6.Plugins.PluginTranslator.TranslatorPlugin.activate?4() eric6.Plugins.PluginTranslator.TranslatorPlugin.deactivate?4() @@ -4614,15 +4565,6 @@ eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.MercurialPage.MercurialPage.on_configButton_clicked?4() eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.MercurialPage.MercurialPage.save?4() eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.MercurialPage.MercurialPage?1(plugin) -eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.HgFetchDialog.getData?4() -eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.HgFetchDialog.on_recentComboBox_activated?4(txt) -eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.HgFetchDialog?1(vcs, parent=None) -eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.FetchProjectHelper.initActions?4() -eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.FetchProjectHelper.initMenu?4(mainMenu) -eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.FetchProjectHelper.menuTitle?4() -eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.FetchProjectHelper?1() -eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch.Fetch.hgFetch?4(name, revisions=None) -eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch.Fetch?1(vcs) eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignDialog.HgGpgSignDialog.getData?4() eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignDialog.HgGpgSignDialog.on_bookmarkButton_toggled?4(checked) eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignDialog.HgGpgSignDialog.on_bookmarkCombo_editTextChanged?4(txt) @@ -8492,9 +8434,14 @@ eric6.SqlBrowser.SqlConnectionWidget.SqlConnectionWidget.showSchema?4() eric6.SqlBrowser.SqlConnectionWidget.SqlConnectionWidget.tableActivated?7 eric6.SqlBrowser.SqlConnectionWidget.SqlConnectionWidget?1(parent=None) +eric6.Tasks.Task.Task.TaskType2ColorName?7 +eric6.Tasks.Task.Task.TaskType2IconName?7 +eric6.Tasks.Task.Task.TaskType2MarkersName?7 +eric6.Tasks.Task.Task.TypeDocu?7 eric6.Tasks.Task.Task.TypeFixme?7 eric6.Tasks.Task.Task.TypeNone?7 eric6.Tasks.Task.Task.TypeNote?7 +eric6.Tasks.Task.Task.TypeTest?7 eric6.Tasks.Task.Task.TypeTodo?7 eric6.Tasks.Task.Task.TypeWarning?7 eric6.Tasks.Task.Task.colorizeTask?4() @@ -8800,6 +8747,7 @@ eric6.UI.BrowserModel.BrowserModel.columnCount?4(parent=None) eric6.UI.BrowserModel.BrowserModel.data?4(index, role) eric6.UI.BrowserModel.BrowserModel.directoryChanged?4(path) +eric6.UI.BrowserModel.BrowserModel.fileChanged?4(fileName) eric6.UI.BrowserModel.BrowserModel.flags?4(index) eric6.UI.BrowserModel.BrowserModel.hasChildren?4(parent=None) eric6.UI.BrowserModel.BrowserModel.headerData?4(section, orientation, role=Qt.DisplayRole) @@ -8816,6 +8764,7 @@ eric6.UI.BrowserModel.BrowserModel.populateSysPathItem?4(parentItem, repopulate=False) eric6.UI.BrowserModel.BrowserModel.programChange?4(dirname) eric6.UI.BrowserModel.BrowserModel.removeToplevelDir?4(index) +eric6.UI.BrowserModel.BrowserModel.repopulateFileItem?4(itm) eric6.UI.BrowserModel.BrowserModel.rowCount?4(parent=None) eric6.UI.BrowserModel.BrowserModel.saveToplevelDirs?4() eric6.UI.BrowserModel.BrowserModel?1(parent=None, nopopulate=False) @@ -9111,6 +9060,7 @@ eric6.UI.UserInterface.UserInterface.getOriginalPathString?4() eric6.UI.UserInterface.UserInterface.getToolBarIconSize?4() eric6.UI.UserInterface.UserInterface.getToolbar?4(name) +eric6.UI.UserInterface.UserInterface.getToolbarsByCategory?4(category) eric6.UI.UserInterface.UserInterface.getViewProfile?4() eric6.UI.UserInterface.UserInterface.handleUrl?4(url) eric6.UI.UserInterface.UserInterface.isOnline?4() @@ -9124,11 +9074,11 @@ eric6.UI.UserInterface.UserInterface.performVersionCheck?4(manual=True, alternative=0, showVersions=False) eric6.UI.UserInterface.UserInterface.preferencesChanged?7 eric6.UI.UserInterface.UserInterface.processArgs?4(args) -eric6.UI.UserInterface.UserInterface.registerToolbar?4(name, text, toolbar) +eric6.UI.UserInterface.UserInterface.registerToolbar?4(name, text, toolbar, category="") eric6.UI.UserInterface.UserInterface.reloadAPIs?7 eric6.UI.UserInterface.UserInterface.removeE5Actions?4(actions, actionType='ui') eric6.UI.UserInterface.UserInterface.removeSideWidget?4(widget) -eric6.UI.UserInterface.UserInterface.reregisterToolbar?4(name, text) +eric6.UI.UserInterface.UserInterface.reregisterToolbar?4(name, text, category="") eric6.UI.UserInterface.UserInterface.setDebugProfile?4(save=True) eric6.UI.UserInterface.UserInterface.showAvailableVersionsInfo?4() eric6.UI.UserInterface.UserInterface.showEmailDialog?4(mode, attachFile=None, deleteAttachFile=False) @@ -9343,63 +9293,6 @@ eric6.Utilities._uunescape?8 eric6.Utilities.absolutePath?4(path, start) eric6.Utilities.absoluteUniversalPath?4(path, start) -eric6.Utilities.binplistlib.BoolWrapper?1(value) -eric6.Utilities.binplistlib.HashableWrapper?1(value) -eric6.Utilities.binplistlib.PlistByteCounts?7 -eric6.Utilities.binplistlib.PlistReader.contents?7 -eric6.Utilities.binplistlib.PlistReader.currentOffset?7 -eric6.Utilities.binplistlib.PlistReader.file?7 -eric6.Utilities.binplistlib.PlistReader.getSizedInteger?4(data, length) -eric6.Utilities.binplistlib.PlistReader.offsets?7 -eric6.Utilities.binplistlib.PlistReader.parse?4() -eric6.Utilities.binplistlib.PlistReader.proc_extra?4() -eric6.Utilities.binplistlib.PlistReader.readArray?4(count) -eric6.Utilities.binplistlib.PlistReader.readAsciiString?4(length) -eric6.Utilities.binplistlib.PlistReader.readData?4(length) -eric6.Utilities.binplistlib.PlistReader.readDate?4() -eric6.Utilities.binplistlib.PlistReader.readDict?4(count) -eric6.Utilities.binplistlib.PlistReader.readInteger?4(length) -eric6.Utilities.binplistlib.PlistReader.readObject?4() -eric6.Utilities.binplistlib.PlistReader.readReal?4(length) -eric6.Utilities.binplistlib.PlistReader.readRefs?4(count) -eric6.Utilities.binplistlib.PlistReader.readRoot?4() -eric6.Utilities.binplistlib.PlistReader.readUid?4(length) -eric6.Utilities.binplistlib.PlistReader.readUnicode?4(length) -eric6.Utilities.binplistlib.PlistReader.reset?4() -eric6.Utilities.binplistlib.PlistReader.setCurrentOffsetToObjectNumber?4(objectNumber) -eric6.Utilities.binplistlib.PlistReader.trailer?7 -eric6.Utilities.binplistlib.PlistReader?1(fileOrStream) -eric6.Utilities.binplistlib.PlistTrailer?7 -eric6.Utilities.binplistlib.PlistWriter.binaryInt?4(obj, length=None) -eric6.Utilities.binplistlib.PlistWriter.binaryReal?4(obj) -eric6.Utilities.binplistlib.PlistWriter.byteCounts?7 -eric6.Utilities.binplistlib.PlistWriter.computeOffsets?4(obj, asReference=False, isRoot=False) -eric6.Utilities.binplistlib.PlistWriter.computedUniques?7 -eric6.Utilities.binplistlib.PlistWriter.file?7 -eric6.Utilities.binplistlib.PlistWriter.header?7 -eric6.Utilities.binplistlib.PlistWriter.incrementByteCount?4(field, incr=1) -eric6.Utilities.binplistlib.PlistWriter.intSize?4(obj) -eric6.Utilities.binplistlib.PlistWriter.positionOfObjectReference?4(obj) -eric6.Utilities.binplistlib.PlistWriter.proc_variable_length?4(length) -eric6.Utilities.binplistlib.PlistWriter.realSize?4(obj) -eric6.Utilities.binplistlib.PlistWriter.referencePositions?7 -eric6.Utilities.binplistlib.PlistWriter.reset?4() -eric6.Utilities.binplistlib.PlistWriter.trailer?7 -eric6.Utilities.binplistlib.PlistWriter.wrapRoot?4(root) -eric6.Utilities.binplistlib.PlistWriter.wrappedFalse?7 -eric6.Utilities.binplistlib.PlistWriter.wrappedTrue?7 -eric6.Utilities.binplistlib.PlistWriter.writeObject?4(obj, output, setReferencePosition=False) -eric6.Utilities.binplistlib.PlistWriter.writeObjectReference?4(obj, output) -eric6.Utilities.binplistlib.PlistWriter.writeOffsetTable?4(output) -eric6.Utilities.binplistlib.PlistWriter.writeRoot?4(root) -eric6.Utilities.binplistlib.PlistWriter.writtenReferences?7 -eric6.Utilities.binplistlib.PlistWriter?1(file) -eric6.Utilities.binplistlib.apple_reference_date_offset?7 -eric6.Utilities.binplistlib.is_stream_binary_plist?4(stream) -eric6.Utilities.binplistlib.readPlist?4(pathOrFile) -eric6.Utilities.binplistlib.readPlistFromBytes?4(data) -eric6.Utilities.binplistlib.writePlist?4(rootObject, pathOrFile, binary=True) -eric6.Utilities.binplistlib.writePlistToBytes?4(rootObject, binary=True) eric6.Utilities.checkPyside?4(variant="2") eric6.Utilities.codingBytes_regexps?7 eric6.Utilities.coding_regexps?7 @@ -9858,7 +9751,6 @@ eric6.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.IsCondaRole?7 eric6.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.IsGlobalRole?7 eric6.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.IsRemoteRole?7 -eric6.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.PythonVariantRole?7 eric6.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.on_addButton_clicked?4() eric6.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.on_deleteAllButton_clicked?4() eric6.VirtualEnv.VirtualenvManagerDialog.VirtualenvManagerDialog.on_deleteButton_clicked?4()
--- a/eric6/APIs/Python3/eric6.bas Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/APIs/Python3/eric6.bas Wed Sep 02 18:06:20 2020 +0200 @@ -120,7 +120,6 @@ CorbaPage ConfigurationPageBase Ui_CorbaPage CreateDialogCodeDialog QDialog Ui_CreateDialogCodeDialog DCTestResult TestResult -Data bytes DateTimeVisitor ast.NodeVisitor DebugClient DebugBase DebugClientBase ThreadExtension DebugServer QTcpServer @@ -296,8 +295,6 @@ FeedEditDialog QDialog Ui_FeedEditDialog FeedsDialog QDialog Ui_FeedsDialog FeedsManager QDialog Ui_FeedsManager -Fetch HgExtension -FetchProjectHelper HgExtensionProjectHelper FileDialogWizard QObject FileDialogWizardDialog QDialog Ui_FileDialogWizardDialog FileReport BaseReport @@ -426,7 +423,6 @@ HgExtension QObject HgExtensionProjectBrowserHelper QObject HgExtensionProjectHelper QObject -HgFetchDialog QDialog Ui_HgFetchDialog HgGpgSignDialog QDialog Ui_HgGpgSignDialog HgGpgSignaturesDialog QDialog Ui_HgGpgSignaturesDialog HgGraftDialog QDialog Ui_HgGraftDialog @@ -514,7 +510,6 @@ InterfacePage ConfigurationPageBase Ui_InterfacePage InvalidISO8859Error Exception InvalidModulePath Exception -InvalidPlistException Exception IrcChannelEditDialog QDialog Ui_IrcChannelEditDialog IrcChannelWidget QWidget Ui_IrcChannelWidget IrcIdentitiesEditDialog QDialog Ui_IrcIdentitiesEditDialog @@ -617,7 +612,6 @@ MultiValueDictResolver DictResolver MyMemoryEngine TranslationEngine NameFinder ast.NodeVisitor -NannyNag Exception NavigationBar QWidget NavigationContainer QWidget NdArrayResolver BaseResolver @@ -627,7 +621,6 @@ NewDialogClassDialog QDialog Ui_NewDialogClassDialog NewPythonPackageDialog QDialog Ui_NewPythonPackageDialog NoExtToken peg.Symbol -NotBinaryPlistException Exception NotificationWidget QWidget Ui_NotificationWidget NotificationsPage ConfigurationPageBase Ui_NotificationsPage NsHtmlReader QObject @@ -902,8 +895,6 @@ TabBar E5WheelTabBar TabManagerWidget QWidget TabWidget E5TabWidget -TabnannyDialog QDialog Ui_TabnannyDialog -TabnannyPlugin QObject Tabview ViewManager TagError Exception Task QTreeWidgetItem @@ -947,7 +938,6 @@ UMLItem QGraphicsRectItem UMLSceneSizeDialog QDialog Ui_UMLSceneSizeDialog UicCompilerOptionsDialog QDialog Ui_UicCompilerOptionsDialog -Uid int UniqueNamespace peg.Namespace UnittestDialog QWidget Ui_UnittestDialog UnittestWindow E5MainWindow
--- a/eric6/Documentation/Help/source.qhp Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Help/source.qhp Wed Sep 02 18:06:20 2020 +0200 @@ -351,10 +351,6 @@ <section title="eric6.Plugins.CheckerPlugins.SyntaxChecker.jsonCheckSyntax" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.jsonCheckSyntax.html" /> <section title="eric6.Plugins.CheckerPlugins.SyntaxChecker.yamlCheckSyntax" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.yamlCheckSyntax.html" /> </section> - <section title="eric6.Plugins.CheckerPlugins.Tabnanny" ref="index-eric6.Plugins.CheckerPlugins.Tabnanny.html"> - <section title="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html" /> - <section title="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html" /> - </section> </section> <section title="eric6.Plugins.DocumentationPlugins" ref="index-eric6.Plugins.DocumentationPlugins.html"> <section title="eric6.Plugins.DocumentationPlugins.Ericapi" ref="index-eric6.Plugins.DocumentationPlugins.Ericapi.html"> @@ -459,11 +455,6 @@ <section title="eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage" ref="index-eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.html"> <section title="eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.MercurialPage" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.MercurialPage.html" /> </section> - <section title="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension" ref="index-eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.html"> - <section title="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.html" /> - <section title="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html" /> - <section title="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch.html" /> - </section> <section title="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension" ref="index-eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.html"> <section title="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignDialog" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignDialog.html" /> <section title="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html" /> @@ -706,7 +697,6 @@ <section title="eric6.Plugins.PluginEricapi" ref="eric6.Plugins.PluginEricapi.html" /> <section title="eric6.Plugins.PluginEricdoc" ref="eric6.Plugins.PluginEricdoc.html" /> <section title="eric6.Plugins.PluginSyntaxChecker" ref="eric6.Plugins.PluginSyntaxChecker.html" /> - <section title="eric6.Plugins.PluginTabnanny" ref="eric6.Plugins.PluginTabnanny.html" /> <section title="eric6.Plugins.PluginTranslator" ref="eric6.Plugins.PluginTranslator.html" /> <section title="eric6.Plugins.PluginVcsGit" ref="eric6.Plugins.PluginVcsGit.html" /> <section title="eric6.Plugins.PluginVcsMercurial" ref="eric6.Plugins.PluginVcsMercurial.html" /> @@ -1039,7 +1029,6 @@ <section title="eric6.Utilities.PasswordChecker" ref="eric6.Utilities.PasswordChecker.html" /> <section title="eric6.Utilities.PySideImporter" ref="eric6.Utilities.PySideImporter.html" /> <section title="eric6.Utilities.__init__" ref="eric6.Utilities.__init__.html" /> - <section title="eric6.Utilities.binplistlib" ref="eric6.Utilities.binplistlib.html" /> <section title="eric6.Utilities.uic" ref="eric6.Utilities.uic.html" /> </section> <section title="eric6.VCS" ref="index-eric6.VCS.html"> @@ -2033,9 +2022,6 @@ <keyword name="BookmarksToolBar.__removeBookmark" id="BookmarksToolBar.__removeBookmark" ref="eric6.WebBrowser.Bookmarks.BookmarksToolBar.html#BookmarksToolBar.__removeBookmark" /> <keyword name="BookmarksToolBar.__updateVisitCount" id="BookmarksToolBar.__updateVisitCount" ref="eric6.WebBrowser.Bookmarks.BookmarksToolBar.html#BookmarksToolBar.__updateVisitCount" /> <keyword name="BookmarksToolBar._createMenu" id="BookmarksToolBar._createMenu" ref="eric6.WebBrowser.Bookmarks.BookmarksToolBar.html#BookmarksToolBar._createMenu" /> - <keyword name="BoolWrapper" id="BoolWrapper" ref="eric6.Utilities.binplistlib.html#BoolWrapper" /> - <keyword name="BoolWrapper (Constructor)" id="BoolWrapper (Constructor)" ref="eric6.Utilities.binplistlib.html#BoolWrapper.__init__" /> - <keyword name="BoolWrapper.__repr__" id="BoolWrapper.__repr__" ref="eric6.Utilities.binplistlib.html#BoolWrapper.__repr__" /> <keyword name="BreakPointModel" id="BreakPointModel" ref="eric6.Debugger.BreakPointModel.html#BreakPointModel" /> <keyword name="BreakPointModel (Constructor)" id="BreakPointModel (Constructor)" ref="eric6.Debugger.BreakPointModel.html#BreakPointModel.__init__" /> <keyword name="BreakPointModel (Module)" id="BreakPointModel (Module)" ref="eric6.Debugger.BreakPointModel.html" /> @@ -2110,6 +2096,7 @@ <keyword name="Browser.__findInDirectory" id="Browser.__findInDirectory" ref="eric6.UI.Browser.html#Browser.__findInDirectory" /> <keyword name="Browser.__newToplevelDir" id="Browser.__newToplevelDir" ref="eric6.UI.Browser.html#Browser.__newToplevelDir" /> <keyword name="Browser.__refreshDirectory" id="Browser.__refreshDirectory" ref="eric6.UI.Browser.html#Browser.__refreshDirectory" /> + <keyword name="Browser.__refreshSource" id="Browser.__refreshSource" ref="eric6.UI.Browser.html#Browser.__refreshSource" /> <keyword name="Browser.__removeToplevel" id="Browser.__removeToplevel" ref="eric6.UI.Browser.html#Browser.__removeToplevel" /> <keyword name="Browser.__replaceInDirectory" id="Browser.__replaceInDirectory" ref="eric6.UI.Browser.html#Browser.__replaceInDirectory" /> <keyword name="Browser.__showMimeType" id="Browser.__showMimeType" ref="eric6.UI.Browser.html#Browser.__showMimeType" /> @@ -2242,6 +2229,7 @@ <keyword name="BrowserModel.columnCount" id="BrowserModel.columnCount" ref="eric6.UI.BrowserModel.html#BrowserModel.columnCount" /> <keyword name="BrowserModel.data" id="BrowserModel.data" ref="eric6.UI.BrowserModel.html#BrowserModel.data" /> <keyword name="BrowserModel.directoryChanged" id="BrowserModel.directoryChanged" ref="eric6.UI.BrowserModel.html#BrowserModel.directoryChanged" /> + <keyword name="BrowserModel.fileChanged" id="BrowserModel.fileChanged" ref="eric6.UI.BrowserModel.html#BrowserModel.fileChanged" /> <keyword name="BrowserModel.flags" id="BrowserModel.flags" ref="eric6.UI.BrowserModel.html#BrowserModel.flags" /> <keyword name="BrowserModel.hasChildren" id="BrowserModel.hasChildren" ref="eric6.UI.BrowserModel.html#BrowserModel.hasChildren" /> <keyword name="BrowserModel.headerData" id="BrowserModel.headerData" ref="eric6.UI.BrowserModel.html#BrowserModel.headerData" /> @@ -2258,6 +2246,7 @@ <keyword name="BrowserModel.populateSysPathItem" id="BrowserModel.populateSysPathItem" ref="eric6.UI.BrowserModel.html#BrowserModel.populateSysPathItem" /> <keyword name="BrowserModel.programChange" id="BrowserModel.programChange" ref="eric6.UI.BrowserModel.html#BrowserModel.programChange" /> <keyword name="BrowserModel.removeToplevelDir" id="BrowserModel.removeToplevelDir" ref="eric6.UI.BrowserModel.html#BrowserModel.removeToplevelDir" /> + <keyword name="BrowserModel.repopulateFileItem" id="BrowserModel.repopulateFileItem" ref="eric6.UI.BrowserModel.html#BrowserModel.repopulateFileItem" /> <keyword name="BrowserModel.rowCount" id="BrowserModel.rowCount" ref="eric6.UI.BrowserModel.html#BrowserModel.rowCount" /> <keyword name="BrowserModel.saveToplevelDirs" id="BrowserModel.saveToplevelDirs" ref="eric6.UI.BrowserModel.html#BrowserModel.saveToplevelDirs" /> <keyword name="BrowserSortFilterProxyModel" id="BrowserSortFilterProxyModel" ref="eric6.UI.BrowserSortFilterProxyModel.html#BrowserSortFilterProxyModel" /> @@ -3104,7 +3093,6 @@ <keyword name="DCTestResult.addUnexpectedSuccess" id="DCTestResult.addUnexpectedSuccess" ref="eric6.DebugClients.Python.DCTestResult.html#DCTestResult.addUnexpectedSuccess" /> <keyword name="DCTestResult.startTest" id="DCTestResult.startTest" ref="eric6.DebugClients.Python.DCTestResult.html#DCTestResult.startTest" /> <keyword name="DCTestResult.stopTest" id="DCTestResult.stopTest" ref="eric6.DebugClients.Python.DCTestResult.html#DCTestResult.stopTest" /> - <keyword name="Data" id="Data" ref="eric6.Utilities.binplistlib.html#Data" /> <keyword name="DataViews (Package)" id="DataViews (Package)" ref="index-eric6.DataViews.html" /> <keyword name="DateTimeVisitor" id="DateTimeVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#DateTimeVisitor" /> <keyword name="DateTimeVisitor (Constructor)" id="DateTimeVisitor (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#DateTimeVisitor.__init__" /> @@ -5588,17 +5576,6 @@ <keyword name="FeedsManager.on_reloadAllButton_clicked" id="FeedsManager.on_reloadAllButton_clicked" ref="eric6.WebBrowser.Feeds.FeedsManager.html#FeedsManager.on_reloadAllButton_clicked" /> <keyword name="FeedsManager.on_reloadButton_clicked" id="FeedsManager.on_reloadButton_clicked" ref="eric6.WebBrowser.Feeds.FeedsManager.html#FeedsManager.on_reloadButton_clicked" /> <keyword name="FeedsManager.show" id="FeedsManager.show" ref="eric6.WebBrowser.Feeds.FeedsManager.html#FeedsManager.show" /> - <keyword name="Fetch" id="Fetch" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch.html#Fetch" /> - <keyword name="Fetch (Constructor)" id="Fetch (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch.html#Fetch.__init__" /> - <keyword name="Fetch.hgFetch" id="Fetch.hgFetch" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch.html#Fetch.hgFetch" /> - <keyword name="FetchExtension (Package)" id="FetchExtension (Package)" ref="index-eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.html" /> - <keyword name="FetchProjectHelper" id="FetchProjectHelper" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper" /> - <keyword name="FetchProjectHelper (Constructor)" id="FetchProjectHelper (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper.__init__" /> - <keyword name="FetchProjectHelper.__aboutToShowMenu" id="FetchProjectHelper.__aboutToShowMenu" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper.__aboutToShowMenu" /> - <keyword name="FetchProjectHelper.__hgFetch" id="FetchProjectHelper.__hgFetch" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper.__hgFetch" /> - <keyword name="FetchProjectHelper.initActions" id="FetchProjectHelper.initActions" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper.initActions" /> - <keyword name="FetchProjectHelper.initMenu" id="FetchProjectHelper.initMenu" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper.initMenu" /> - <keyword name="FetchProjectHelper.menuTitle" id="FetchProjectHelper.menuTitle" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html#FetchProjectHelper.menuTitle" /> <keyword name="FileDialogWizard" id="FileDialogWizard" ref="eric6.Plugins.PluginWizardQFileDialog.html#FileDialogWizard" /> <keyword name="FileDialogWizard (Constructor)" id="FileDialogWizard (Constructor)" ref="eric6.Plugins.PluginWizardQFileDialog.html#FileDialogWizard.__init__" /> <keyword name="FileDialogWizard (Package)" id="FileDialogWizard (Package)" ref="index-eric6.Plugins.WizardPlugins.FileDialogWizard.html" /> @@ -6851,9 +6828,6 @@ <keyword name="HashPrefixList (Constructor)" id="HashPrefixList (Constructor)" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingThreatList.html#HashPrefixList.__init__" /> <keyword name="HashPrefixList.__iter__" id="HashPrefixList.__iter__" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingThreatList.html#HashPrefixList.__iter__" /> <keyword name="HashPrefixList.__len__" id="HashPrefixList.__len__" ref="eric6.WebBrowser.SafeBrowsing.SafeBrowsingThreatList.html#HashPrefixList.__len__" /> - <keyword name="HashableWrapper" id="HashableWrapper" ref="eric6.Utilities.binplistlib.html#HashableWrapper" /> - <keyword name="HashableWrapper (Constructor)" id="HashableWrapper (Constructor)" ref="eric6.Utilities.binplistlib.html#HashableWrapper.__init__" /> - <keyword name="HashableWrapper.__repr__" id="HashableWrapper.__repr__" ref="eric6.Utilities.binplistlib.html#HashableWrapper.__repr__" /> <keyword name="HelpDocsInstaller" id="HelpDocsInstaller" ref="eric6.WebBrowser.QtHelp.HelpDocsInstaller.html#HelpDocsInstaller" /> <keyword name="HelpDocsInstaller (Constructor)" id="HelpDocsInstaller (Constructor)" ref="eric6.WebBrowser.QtHelp.HelpDocsInstaller.html#HelpDocsInstaller.__init__" /> <keyword name="HelpDocsInstaller (Module)" id="HelpDocsInstaller (Module)" ref="eric6.WebBrowser.QtHelp.HelpDocsInstaller.html" /> @@ -7505,11 +7479,6 @@ <keyword name="HgExtensionProjectHelper.menuTitle" id="HgExtensionProjectHelper.menuTitle" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgExtensionProjectHelper.html#HgExtensionProjectHelper.menuTitle" /> <keyword name="HgExtensionProjectHelper.setObjects" id="HgExtensionProjectHelper.setObjects" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgExtensionProjectHelper.html#HgExtensionProjectHelper.setObjects" /> <keyword name="HgExtensionProjectHelper.shutdown" id="HgExtensionProjectHelper.shutdown" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgExtensionProjectHelper.html#HgExtensionProjectHelper.shutdown" /> - <keyword name="HgFetchDialog" id="HgFetchDialog" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.html#HgFetchDialog" /> - <keyword name="HgFetchDialog (Constructor)" id="HgFetchDialog (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.html#HgFetchDialog.__init__" /> - <keyword name="HgFetchDialog (Module)" id="HgFetchDialog (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.html" /> - <keyword name="HgFetchDialog.getData" id="HgFetchDialog.getData" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.html#HgFetchDialog.getData" /> - <keyword name="HgFetchDialog.on_recentComboBox_activated" id="HgFetchDialog.on_recentComboBox_activated" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.html#HgFetchDialog.on_recentComboBox_activated" /> <keyword name="HgGpgSignDialog" id="HgGpgSignDialog" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignDialog.html#HgGpgSignDialog" /> <keyword name="HgGpgSignDialog (Constructor)" id="HgGpgSignDialog (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignDialog.html#HgGpgSignDialog.__init__" /> <keyword name="HgGpgSignDialog (Module)" id="HgGpgSignDialog (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignDialog.html" /> @@ -7609,7 +7578,6 @@ <keyword name="HgLogBrowserDialog.__branchColor" id="HgLogBrowserDialog.__branchColor" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__branchColor" /> <keyword name="HgLogBrowserDialog.__bundleActTriggered" id="HgLogBrowserDialog.__bundleActTriggered" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__bundleActTriggered" /> <keyword name="HgLogBrowserDialog.__closeHeadsActTriggered" id="HgLogBrowserDialog.__closeHeadsActTriggered" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__closeHeadsActTriggered" /> - <keyword name="HgLogBrowserDialog.__fetchActTriggered" id="HgLogBrowserDialog.__fetchActTriggered" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__fetchActTriggered" /> <keyword name="HgLogBrowserDialog.__filterLogs" id="HgLogBrowserDialog.__filterLogs" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__filterLogs" /> <keyword name="HgLogBrowserDialog.__findItem" id="HgLogBrowserDialog.__findItem" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__findItem" /> <keyword name="HgLogBrowserDialog.__finish" id="HgLogBrowserDialog.__finish" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html#HgLogBrowserDialog.__finish" /> @@ -8667,7 +8635,6 @@ <keyword name="InterfacePage.save" id="InterfacePage.save" ref="eric6.Preferences.ConfigurationPages.InterfacePage.html#InterfacePage.save" /> <keyword name="InvalidISO8859Error" id="InvalidISO8859Error" ref="eric6.E5Network.E5RFC6266.html#InvalidISO8859Error" /> <keyword name="InvalidModulePath" id="InvalidModulePath" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityUtils.html#InvalidModulePath" /> - <keyword name="InvalidPlistException" id="InvalidPlistException" ref="eric6.Utilities.binplistlib.html#InvalidPlistException" /> <keyword name="IrcChannel" id="IrcChannel" ref="eric6.Network.IRC.IrcNetworkManager.html#IrcChannel" /> <keyword name="IrcChannel (Constructor)" id="IrcChannel (Constructor)" ref="eric6.Network.IRC.IrcNetworkManager.html#IrcChannel.__init__" /> <keyword name="IrcChannel.autoJoin" id="IrcChannel.autoJoin" ref="eric6.Network.IRC.IrcNetworkManager.html#IrcChannel.autoJoin" /> @@ -10155,11 +10122,6 @@ <keyword name="NamingStyleChecker.__visitNode" id="NamingStyleChecker.__visitNode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.NamingStyleChecker.html#NamingStyleChecker.__visitNode" /> <keyword name="NamingStyleChecker.__visitTree" id="NamingStyleChecker.__visitTree" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.NamingStyleChecker.html#NamingStyleChecker.__visitTree" /> <keyword name="NamingStyleChecker.run" id="NamingStyleChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.NamingStyleChecker.html#NamingStyleChecker.run" /> - <keyword name="NannyNag" id="NannyNag" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#NannyNag" /> - <keyword name="NannyNag (Constructor)" id="NannyNag (Constructor)" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#NannyNag.__init__" /> - <keyword name="NannyNag.get_line" id="NannyNag.get_line" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#NannyNag.get_line" /> - <keyword name="NannyNag.get_lineno" id="NannyNag.get_lineno" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#NannyNag.get_lineno" /> - <keyword name="NannyNag.get_msg" id="NannyNag.get_msg" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#NannyNag.get_msg" /> <keyword name="Navigation (Package)" id="Navigation (Package)" ref="index-eric6.WebBrowser.Navigation.html" /> <keyword name="NavigationBar" id="NavigationBar" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar" /> <keyword name="NavigationBar (Constructor)" id="NavigationBar (Constructor)" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.__init__" /> @@ -10252,7 +10214,6 @@ <keyword name="NoneSplashScreen.clearMessage" id="NoneSplashScreen.clearMessage" ref="eric6.UI.SplashScreen.html#NoneSplashScreen.clearMessage" /> <keyword name="NoneSplashScreen.finish" id="NoneSplashScreen.finish" ref="eric6.UI.SplashScreen.html#NoneSplashScreen.finish" /> <keyword name="NoneSplashScreen.showMessage" id="NoneSplashScreen.showMessage" ref="eric6.UI.SplashScreen.html#NoneSplashScreen.showMessage" /> - <keyword name="NotBinaryPlistException" id="NotBinaryPlistException" ref="eric6.Utilities.binplistlib.html#NotBinaryPlistException" /> <keyword name="NotificationWidget" id="NotificationWidget" ref="eric6.UI.NotificationWidget.html#NotificationWidget" /> <keyword name="NotificationWidget (Constructor)" id="NotificationWidget (Constructor)" ref="eric6.UI.NotificationWidget.html#NotificationWidget.__init__" /> <keyword name="NotificationWidget (Module)" id="NotificationWidget (Module)" ref="eric6.UI.NotificationWidget.html" /> @@ -10765,43 +10726,6 @@ <keyword name="PixmapDiagram.getDiagramName" id="PixmapDiagram.getDiagramName" ref="eric6.Graphics.PixmapDiagram.html#PixmapDiagram.getDiagramName" /> <keyword name="PixmapDiagram.getStatus" id="PixmapDiagram.getStatus" ref="eric6.Graphics.PixmapDiagram.html#PixmapDiagram.getStatus" /> <keyword name="PixmapDiagram.wheelEvent" id="PixmapDiagram.wheelEvent" ref="eric6.Graphics.PixmapDiagram.html#PixmapDiagram.wheelEvent" /> - <keyword name="PlistReader" id="PlistReader" ref="eric6.Utilities.binplistlib.html#PlistReader" /> - <keyword name="PlistReader (Constructor)" id="PlistReader (Constructor)" ref="eric6.Utilities.binplistlib.html#PlistReader.__init__" /> - <keyword name="PlistReader.getSizedInteger" id="PlistReader.getSizedInteger" ref="eric6.Utilities.binplistlib.html#PlistReader.getSizedInteger" /> - <keyword name="PlistReader.parse" id="PlistReader.parse" ref="eric6.Utilities.binplistlib.html#PlistReader.parse" /> - <keyword name="PlistReader.proc_extra" id="PlistReader.proc_extra" ref="eric6.Utilities.binplistlib.html#PlistReader.proc_extra" /> - <keyword name="PlistReader.readArray" id="PlistReader.readArray" ref="eric6.Utilities.binplistlib.html#PlistReader.readArray" /> - <keyword name="PlistReader.readAsciiString" id="PlistReader.readAsciiString" ref="eric6.Utilities.binplistlib.html#PlistReader.readAsciiString" /> - <keyword name="PlistReader.readData" id="PlistReader.readData" ref="eric6.Utilities.binplistlib.html#PlistReader.readData" /> - <keyword name="PlistReader.readDate" id="PlistReader.readDate" ref="eric6.Utilities.binplistlib.html#PlistReader.readDate" /> - <keyword name="PlistReader.readDict" id="PlistReader.readDict" ref="eric6.Utilities.binplistlib.html#PlistReader.readDict" /> - <keyword name="PlistReader.readInteger" id="PlistReader.readInteger" ref="eric6.Utilities.binplistlib.html#PlistReader.readInteger" /> - <keyword name="PlistReader.readObject" id="PlistReader.readObject" ref="eric6.Utilities.binplistlib.html#PlistReader.readObject" /> - <keyword name="PlistReader.readReal" id="PlistReader.readReal" ref="eric6.Utilities.binplistlib.html#PlistReader.readReal" /> - <keyword name="PlistReader.readRefs" id="PlistReader.readRefs" ref="eric6.Utilities.binplistlib.html#PlistReader.readRefs" /> - <keyword name="PlistReader.readRoot" id="PlistReader.readRoot" ref="eric6.Utilities.binplistlib.html#PlistReader.readRoot" /> - <keyword name="PlistReader.readUid" id="PlistReader.readUid" ref="eric6.Utilities.binplistlib.html#PlistReader.readUid" /> - <keyword name="PlistReader.readUnicode" id="PlistReader.readUnicode" ref="eric6.Utilities.binplistlib.html#PlistReader.readUnicode" /> - <keyword name="PlistReader.reset" id="PlistReader.reset" ref="eric6.Utilities.binplistlib.html#PlistReader.reset" /> - <keyword name="PlistReader.setCurrentOffsetToObjectNumber" id="PlistReader.setCurrentOffsetToObjectNumber" ref="eric6.Utilities.binplistlib.html#PlistReader.setCurrentOffsetToObjectNumber" /> - <keyword name="PlistWriter" id="PlistWriter" ref="eric6.Utilities.binplistlib.html#PlistWriter" /> - <keyword name="PlistWriter (Constructor)" id="PlistWriter (Constructor)" ref="eric6.Utilities.binplistlib.html#PlistWriter.__init__" /> - <keyword name="PlistWriter.__checkKey" id="PlistWriter.__checkKey" ref="eric6.Utilities.binplistlib.html#PlistWriter.__checkKey" /> - <keyword name="PlistWriter.__processSize" id="PlistWriter.__processSize" ref="eric6.Utilities.binplistlib.html#PlistWriter.__processSize" /> - <keyword name="PlistWriter.binaryInt" id="PlistWriter.binaryInt" ref="eric6.Utilities.binplistlib.html#PlistWriter.binaryInt" /> - <keyword name="PlistWriter.binaryReal" id="PlistWriter.binaryReal" ref="eric6.Utilities.binplistlib.html#PlistWriter.binaryReal" /> - <keyword name="PlistWriter.computeOffsets" id="PlistWriter.computeOffsets" ref="eric6.Utilities.binplistlib.html#PlistWriter.computeOffsets" /> - <keyword name="PlistWriter.incrementByteCount" id="PlistWriter.incrementByteCount" ref="eric6.Utilities.binplistlib.html#PlistWriter.incrementByteCount" /> - <keyword name="PlistWriter.intSize" id="PlistWriter.intSize" ref="eric6.Utilities.binplistlib.html#PlistWriter.intSize" /> - <keyword name="PlistWriter.positionOfObjectReference" id="PlistWriter.positionOfObjectReference" ref="eric6.Utilities.binplistlib.html#PlistWriter.positionOfObjectReference" /> - <keyword name="PlistWriter.proc_variable_length" id="PlistWriter.proc_variable_length" ref="eric6.Utilities.binplistlib.html#PlistWriter.proc_variable_length" /> - <keyword name="PlistWriter.realSize" id="PlistWriter.realSize" ref="eric6.Utilities.binplistlib.html#PlistWriter.realSize" /> - <keyword name="PlistWriter.reset" id="PlistWriter.reset" ref="eric6.Utilities.binplistlib.html#PlistWriter.reset" /> - <keyword name="PlistWriter.wrapRoot" id="PlistWriter.wrapRoot" ref="eric6.Utilities.binplistlib.html#PlistWriter.wrapRoot" /> - <keyword name="PlistWriter.writeObject" id="PlistWriter.writeObject" ref="eric6.Utilities.binplistlib.html#PlistWriter.writeObject" /> - <keyword name="PlistWriter.writeObjectReference" id="PlistWriter.writeObjectReference" ref="eric6.Utilities.binplistlib.html#PlistWriter.writeObjectReference" /> - <keyword name="PlistWriter.writeOffsetTable" id="PlistWriter.writeOffsetTable" ref="eric6.Utilities.binplistlib.html#PlistWriter.writeOffsetTable" /> - <keyword name="PlistWriter.writeRoot" id="PlistWriter.writeRoot" ref="eric6.Utilities.binplistlib.html#PlistWriter.writeRoot" /> <keyword name="PluginAbout (Module)" id="PluginAbout (Module)" ref="eric6.Plugins.PluginAbout.html" /> <keyword name="PluginActivationError" id="PluginActivationError" ref="eric6.PluginManager.PluginExceptions.html#PluginActivationError" /> <keyword name="PluginActivationError (Constructor)" id="PluginActivationError (Constructor)" ref="eric6.PluginManager.PluginExceptions.html#PluginActivationError.__init__" /> @@ -10960,7 +10884,6 @@ <keyword name="PluginRepositoryWindow (Constructor)" id="PluginRepositoryWindow (Constructor)" ref="eric6.PluginManager.PluginRepositoryDialog.html#PluginRepositoryWindow.__init__" /> <keyword name="PluginRepositoryWindow.__startPluginInstall" id="PluginRepositoryWindow.__startPluginInstall" ref="eric6.PluginManager.PluginRepositoryDialog.html#PluginRepositoryWindow.__startPluginInstall" /> <keyword name="PluginSyntaxChecker (Module)" id="PluginSyntaxChecker (Module)" ref="eric6.Plugins.PluginSyntaxChecker.html" /> - <keyword name="PluginTabnanny (Module)" id="PluginTabnanny (Module)" ref="eric6.Plugins.PluginTabnanny.html" /> <keyword name="PluginTranslator (Module)" id="PluginTranslator (Module)" ref="eric6.Plugins.PluginTranslator.html" /> <keyword name="PluginUninstallDialog" id="PluginUninstallDialog" ref="eric6.PluginManager.PluginUninstallDialog.html#PluginUninstallDialog" /> <keyword name="PluginUninstallDialog (Constructor)" id="PluginUninstallDialog (Constructor)" ref="eric6.PluginManager.PluginUninstallDialog.html#PluginUninstallDialog.__init__" /> @@ -11492,7 +11415,6 @@ <keyword name="ProjectFormsBrowser.handlePreferencesChanged" id="ProjectFormsBrowser.handlePreferencesChanged" ref="eric6.Project.ProjectFormsBrowser.html#ProjectFormsBrowser.handlePreferencesChanged" /> <keyword name="ProjectHelper (Module)" id="ProjectHelper (Module)" ref="eric6.Plugins.VcsPlugins.vcsGit.ProjectHelper.html" /> <keyword name="ProjectHelper (Module)" id="ProjectHelper (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.CloseheadExtension.ProjectHelper.html" /> - <keyword name="ProjectHelper (Module)" id="ProjectHelper (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html" /> <keyword name="ProjectHelper (Module)" id="ProjectHelper (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.ProjectHelper.html" /> <keyword name="ProjectHelper (Module)" id="ProjectHelper (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HisteditExtension.ProjectHelper.html" /> <keyword name="ProjectHelper (Module)" id="ProjectHelper (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.LargefilesExtension.ProjectHelper.html" /> @@ -14589,44 +14511,6 @@ <keyword name="TabWidget.removeWidget" id="TabWidget.removeWidget" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#TabWidget.removeWidget" /> <keyword name="TabWidget.setCurrentWidget" id="TabWidget.setCurrentWidget" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#TabWidget.setCurrentWidget" /> <keyword name="TabWidget.showIndicator" id="TabWidget.showIndicator" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#TabWidget.showIndicator" /> - <keyword name="Tabnanny (Module)" id="Tabnanny (Module)" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html" /> - <keyword name="Tabnanny (Package)" id="Tabnanny (Package)" ref="index-eric6.Plugins.CheckerPlugins.Tabnanny.html" /> - <keyword name="TabnannyDialog" id="TabnannyDialog" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog" /> - <keyword name="TabnannyDialog (Constructor)" id="TabnannyDialog (Constructor)" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.__init__" /> - <keyword name="TabnannyDialog (Module)" id="TabnannyDialog (Module)" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html" /> - <keyword name="TabnannyDialog.__batchFinished" id="TabnannyDialog.__batchFinished" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.__batchFinished" /> - <keyword name="TabnannyDialog.__createErrorItem" id="TabnannyDialog.__createErrorItem" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.__createErrorItem" /> - <keyword name="TabnannyDialog.__createResultItem" id="TabnannyDialog.__createResultItem" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.__createResultItem" /> - <keyword name="TabnannyDialog.__finish" id="TabnannyDialog.__finish" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.__finish" /> - <keyword name="TabnannyDialog.__processError" id="TabnannyDialog.__processError" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.__processError" /> - <keyword name="TabnannyDialog.__processResult" id="TabnannyDialog.__processResult" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.__processResult" /> - <keyword name="TabnannyDialog.__resort" id="TabnannyDialog.__resort" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.__resort" /> - <keyword name="TabnannyDialog.check" id="TabnannyDialog.check" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.check" /> - <keyword name="TabnannyDialog.checkBatch" id="TabnannyDialog.checkBatch" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.checkBatch" /> - <keyword name="TabnannyDialog.on_buttonBox_clicked" id="TabnannyDialog.on_buttonBox_clicked" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.on_buttonBox_clicked" /> - <keyword name="TabnannyDialog.on_resultList_itemActivated" id="TabnannyDialog.on_resultList_itemActivated" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.on_resultList_itemActivated" /> - <keyword name="TabnannyDialog.on_startButton_clicked" id="TabnannyDialog.on_startButton_clicked" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.on_startButton_clicked" /> - <keyword name="TabnannyDialog.prepare" id="TabnannyDialog.prepare" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.prepare" /> - <keyword name="TabnannyDialog.start" id="TabnannyDialog.start" ref="eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html#TabnannyDialog.start" /> - <keyword name="TabnannyPlugin" id="TabnannyPlugin" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin" /> - <keyword name="TabnannyPlugin (Constructor)" id="TabnannyPlugin (Constructor)" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.__init__" /> - <keyword name="TabnannyPlugin.__editorClosed" id="TabnannyPlugin.__editorClosed" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.__editorClosed" /> - <keyword name="TabnannyPlugin.__editorOpened" id="TabnannyPlugin.__editorOpened" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.__editorOpened" /> - <keyword name="TabnannyPlugin.__editorShowMenu" id="TabnannyPlugin.__editorShowMenu" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.__editorShowMenu" /> - <keyword name="TabnannyPlugin.__editorTabnanny" id="TabnannyPlugin.__editorTabnanny" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.__editorTabnanny" /> - <keyword name="TabnannyPlugin.__initialize" id="TabnannyPlugin.__initialize" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.__initialize" /> - <keyword name="TabnannyPlugin.__projectBrowserShowMenu" id="TabnannyPlugin.__projectBrowserShowMenu" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.__projectBrowserShowMenu" /> - <keyword name="TabnannyPlugin.__projectBrowserTabnanny" id="TabnannyPlugin.__projectBrowserTabnanny" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.__projectBrowserTabnanny" /> - <keyword name="TabnannyPlugin.__projectShowMenu" id="TabnannyPlugin.__projectShowMenu" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.__projectShowMenu" /> - <keyword name="TabnannyPlugin.__projectTabnanny" id="TabnannyPlugin.__projectTabnanny" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.__projectTabnanny" /> - <keyword name="TabnannyPlugin.__serviceError" id="TabnannyPlugin.__serviceError" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.__serviceError" /> - <keyword name="TabnannyPlugin.activate" id="TabnannyPlugin.activate" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.activate" /> - <keyword name="TabnannyPlugin.batchJobDone" id="TabnannyPlugin.batchJobDone" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.batchJobDone" /> - <keyword name="TabnannyPlugin.cancelIndentBatchCheck" id="TabnannyPlugin.cancelIndentBatchCheck" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.cancelIndentBatchCheck" /> - <keyword name="TabnannyPlugin.deactivate" id="TabnannyPlugin.deactivate" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.deactivate" /> - <keyword name="TabnannyPlugin.indentBatchCheck" id="TabnannyPlugin.indentBatchCheck" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.indentBatchCheck" /> - <keyword name="TabnannyPlugin.indentCheck" id="TabnannyPlugin.indentCheck" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.indentCheck" /> - <keyword name="TabnannyPlugin.serviceErrorPy3" id="TabnannyPlugin.serviceErrorPy3" ref="eric6.Plugins.PluginTabnanny.html#TabnannyPlugin.serviceErrorPy3" /> <keyword name="Tabview" id="Tabview" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview" /> <keyword name="Tabview (Constructor)" id="Tabview (Constructor)" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.__init__" /> <keyword name="Tabview (Module)" id="Tabview (Module)" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html" /> @@ -15186,8 +15070,6 @@ <keyword name="UicCompilerOptionsDialog (Module)" id="UicCompilerOptionsDialog (Module)" ref="eric6.Project.UicCompilerOptionsDialog.html" /> <keyword name="UicCompilerOptionsDialog.getData" id="UicCompilerOptionsDialog.getData" ref="eric6.Project.UicCompilerOptionsDialog.html#UicCompilerOptionsDialog.getData" /> <keyword name="UicLoadUi (Module)" id="UicLoadUi (Module)" ref="eric6.Project.UicLoadUi.html" /> - <keyword name="Uid" id="Uid" ref="eric6.Utilities.binplistlib.html#Uid" /> - <keyword name="Uid.__repr__" id="Uid.__repr__" ref="eric6.Utilities.binplistlib.html#Uid.__repr__" /> <keyword name="UniqueNamespace" id="UniqueNamespace" ref="eric6.E5Network.E5RFC6266.html#UniqueNamespace" /> <keyword name="UniqueNamespace.__setitem__" id="UniqueNamespace.__setitem__" ref="eric6.E5Network.E5RFC6266.html#UniqueNamespace.__setitem__" /> <keyword name="UnittestDialog" id="UnittestDialog" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog" /> @@ -15501,6 +15383,7 @@ <keyword name="UserInterface.getOriginalPathString" id="UserInterface.getOriginalPathString" ref="eric6.UI.UserInterface.html#UserInterface.getOriginalPathString" /> <keyword name="UserInterface.getToolBarIconSize" id="UserInterface.getToolBarIconSize" ref="eric6.UI.UserInterface.html#UserInterface.getToolBarIconSize" /> <keyword name="UserInterface.getToolbar" id="UserInterface.getToolbar" ref="eric6.UI.UserInterface.html#UserInterface.getToolbar" /> + <keyword name="UserInterface.getToolbarsByCategory" id="UserInterface.getToolbarsByCategory" ref="eric6.UI.UserInterface.html#UserInterface.getToolbarsByCategory" /> <keyword name="UserInterface.getViewProfile" id="UserInterface.getViewProfile" ref="eric6.UI.UserInterface.html#UserInterface.getViewProfile" /> <keyword name="UserInterface.handleUrl" id="UserInterface.handleUrl" ref="eric6.UI.UserInterface.html#UserInterface.handleUrl" /> <keyword name="UserInterface.isOnline" id="UserInterface.isOnline" ref="eric6.UI.UserInterface.html#UserInterface.isOnline" /> @@ -16861,14 +16744,6 @@ <keyword name="WebInspector.inspectElement" id="WebInspector.inspectElement" ref="eric6.WebBrowser.WebInspector.html#WebInspector.inspectElement" /> <keyword name="WebInspector.isEnabled" id="WebInspector.isEnabled" ref="eric6.WebBrowser.WebInspector.html#WebInspector.isEnabled" /> <keyword name="WebInspector.setView" id="WebInspector.setView" ref="eric6.WebBrowser.WebInspector.html#WebInspector.setView" /> - <keyword name="Whitespace" id="Whitespace" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#Whitespace" /> - <keyword name="Whitespace (Constructor)" id="Whitespace (Constructor)" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#Whitespace.__init__" /> - <keyword name="Whitespace.equal" id="Whitespace.equal" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#Whitespace.equal" /> - <keyword name="Whitespace.indent_level" id="Whitespace.indent_level" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#Whitespace.indent_level" /> - <keyword name="Whitespace.less" id="Whitespace.less" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#Whitespace.less" /> - <keyword name="Whitespace.longest_run_of_spaces" id="Whitespace.longest_run_of_spaces" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#Whitespace.longest_run_of_spaces" /> - <keyword name="Whitespace.not_equal_witness" id="Whitespace.not_equal_witness" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#Whitespace.not_equal_witness" /> - <keyword name="Whitespace.not_less_witness" id="Whitespace.not_less_witness" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#Whitespace.not_less_witness" /> <keyword name="WidgetArea" id="WidgetArea" ref="eric6.Tools.TRPreviewer.html#WidgetArea" /> <keyword name="WidgetArea (Constructor)" id="WidgetArea (Constructor)" ref="eric6.Tools.TRPreviewer.html#WidgetArea.__init__" /> <keyword name="WidgetArea.__findWidget" id="WidgetArea.__findWidget" ref="eric6.Tools.TRPreviewer.html#WidgetArea.__findWidget" /> @@ -17000,7 +16875,6 @@ <keyword name="_ClbrBase" id="_ClbrBase" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase" /> <keyword name="_ClbrBase (Constructor)" id="_ClbrBase (Constructor)" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase.__init__" /> <keyword name="_ClbrBase.setEndLine" id="_ClbrBase.setEndLine" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase.setEndLine" /> - <keyword name="__check" id="__check" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#__check" /> <keyword name="__checkCodeStyle" id="__checkCodeStyle" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html#__checkCodeStyle" /> <keyword name="__checkSyntax" id="__checkSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html#__checkSyntax" /> <keyword name="__getMasterPassword" id="__getMasterPassword" ref="eric6.Utilities.crypto.__init__.html#__getMasterPassword" /> @@ -17056,8 +16930,6 @@ <keyword name="assert (Module)" id="assert (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.assert.html" /> <keyword name="awsHardcodedPassword (Module)" id="awsHardcodedPassword (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.awsHardcodedPassword.html" /> <keyword name="bare_except" id="bare_except" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html#bare_except" /> - <keyword name="batchCheck" id="batchCheck" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#batchCheck" /> - <keyword name="binplistlib (Module)" id="binplistlib (Module)" ref="eric6.Utilities.binplistlib.html" /> <keyword name="blackListCalls (Module)" id="blackListCalls (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.blackListCalls.html" /> <keyword name="blackListImports (Module)" id="blackListImports (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.blackListImports.html" /> <keyword name="blank_lines" id="blank_lines" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html#blank_lines" /> @@ -17065,7 +16937,6 @@ <keyword name="break_before_binary_operator" id="break_before_binary_operator" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html#break_before_binary_operator" /> <keyword name="certificateValidation (Module)" id="certificateValidation (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.certificateValidation.html" /> <keyword name="changeRememberedMaster" id="changeRememberedMaster" ref="eric6.Utilities.crypto.__init__.html#changeRememberedMaster" /> - <keyword name="check" id="check" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#check" /> <keyword name="checkAssertUsed" id="checkAssertUsed" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.assert.html#checkAssertUsed" /> <keyword name="checkBindAllInterfaces" id="checkBindAllInterfaces" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.generalBindAllInterfaces.html#checkBindAllInterfaces" /> <keyword name="checkBlacklist" id="checkBlacklist" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.blackListCalls.html#checkBlacklist" /> @@ -17347,7 +17218,6 @@ <keyword name="extraneous_whitespace" id="extraneous_whitespace" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html#extraneous_whitespace" /> <keyword name="factory" id="factory" ref="eric6.VCS.__init__.html#factory" /> <keyword name="factory" id="factory" ref="eric6.ViewManager.__init__.html#factory" /> - <keyword name="fetch (Module)" id="fetch (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch.html" /> <keyword name="filename_match" id="filename_match" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html#filename_match" /> <keyword name="filterAnsiSequences" id="filterAnsiSequences" ref="eric6.Utilities.__init__.html#filterAnsiSequences" /> <keyword name="filterCharsFromFilename" id="filterCharsFromFilename" ref="eric6.WebBrowser.Tools.WebBrowserTools.html#filterCharsFromFilename" /> @@ -17360,7 +17230,6 @@ <keyword name="flashDataPathForOS" id="flashDataPathForOS" ref="eric6.WebBrowser.FlashCookieManager.FlashCookieUtilities.html#flashDataPathForOS" /> <keyword name="flaskDebug (Module)" id="flaskDebug (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.flaskDebug.html" /> <keyword name="formatTime" id="formatTime" ref="eric6.Plugins.VcsPlugins.vcsPySvn.SvnUtilities.html#formatTime" /> - <keyword name="format_witnesses" id="format_witnesses" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#format_witnesses" /> <keyword name="formatargvalues" id="formatargvalues" ref="eric6.DebugClients.Python.DebugUtilities.html#formatargvalues" /> <keyword name="fromNativeSeparators" id="fromNativeSeparators" ref="eric6.Utilities.__init__.html#fromNativeSeparators" /> <keyword name="fstat" id="fstat" ref="eric6.MicroPython.MicroPythonFileSystemUtilities.html#fstat" /> @@ -17598,7 +17467,6 @@ <keyword name="initBatchService" id="initBatchService" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.html#initBatchService" /> <keyword name="initBatchService" id="initBatchService" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.jsonCheckSyntax.html#initBatchService" /> <keyword name="initBatchService" id="initBatchService" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.yamlCheckSyntax.html#initBatchService" /> - <keyword name="initBatchService" id="initBatchService" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#initBatchService" /> <keyword name="initDebugger" id="initDebugger" ref="eric6.DebugClients.Python.eric6dbgstub.html#initDebugger" /> <keyword name="initGlobals" id="initGlobals" ref="install-debugclients.html#initGlobals" /> <keyword name="initGlobals" id="initGlobals" ref="install.html#initGlobals" /> @@ -17613,7 +17481,6 @@ <keyword name="initService" id="initService" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.html#initService" /> <keyword name="initService" id="initService" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.jsonCheckSyntax.html#initService" /> <keyword name="initService" id="initService" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.yamlCheckSyntax.html#initService" /> - <keyword name="initService" id="initService" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#initService" /> <keyword name="initializeResourceSearchPath" id="initializeResourceSearchPath" ref="eric6.Toolbox.Startup.html#initializeResourceSearchPath" /> <keyword name="injectionParamiko (Module)" id="injectionParamiko (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.injectionParamiko.html" /> <keyword name="injectionShell (Module)" id="injectionShell (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.injectionShell.html" /> @@ -17660,7 +17527,6 @@ <keyword name="isVisible" id="isVisible" ref="eric6.MicroPython.MicroPythonFileSystemUtilities.html#isVisible" /> <keyword name="isWaylandSession" id="isWaylandSession" ref="eric6.Globals.__init__.html#isWaylandSession" /> <keyword name="isWindowsPlatform" id="isWindowsPlatform" ref="eric6.Globals.__init__.html#isWindowsPlatform" /> - <keyword name="is_stream_binary_plist" id="is_stream_binary_plist" ref="eric6.Utilities.binplistlib.html#is_stream_binary_plist" /> <keyword name="is_string_literal" id="is_string_literal" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html#is_string_literal" /> <keyword name="isinpath" id="isinpath" ref="eric6.Utilities.__init__.html#isinpath" /> <keyword name="jinja2Templates (Module)" id="jinja2Templates (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.jinja2Templates.html" /> @@ -17781,7 +17647,6 @@ <keyword name="previewPix" id="previewPix" ref="eric6.Plugins.PluginVmTabview.html#previewPix" /> <keyword name="printerr" id="printerr" ref="eric6.DebugClients.Python.DebugBase.html#printerr" /> <keyword name="process_options" id="process_options" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html#process_options" /> - <keyword name="process_tokens" id="process_tokens" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#process_tokens" /> <keyword name="protoclbr (Module)" id="protoclbr (Module)" ref="eric6.Utilities.ClassBrowsers.protoclbr.html" /> <keyword name="proxyAuthenticationRequired" id="proxyAuthenticationRequired" ref="eric6.E5Network.E5NetworkProxyFactory.html#proxyAuthenticationRequired" /> <keyword name="purge (Module)" id="purge (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.PurgeExtension.purge.html" /> @@ -17814,8 +17679,6 @@ <keyword name="readEncodedFileWithEncoding" id="readEncodedFileWithEncoding" ref="eric6.Utilities.__init__.html#readEncodedFileWithEncoding" /> <keyword name="readEncodedFileWithHash" id="readEncodedFileWithHash" ref="eric6.Utilities.__init__.html#readEncodedFileWithHash" /> <keyword name="readModule" id="readModule" ref="eric6.Utilities.ModuleParser.html#readModule" /> - <keyword name="readPlist" id="readPlist" ref="eric6.Utilities.binplistlib.html#readPlist" /> - <keyword name="readPlistFromBytes" id="readPlistFromBytes" ref="eric6.Utilities.binplistlib.html#readPlistFromBytes" /> <keyword name="readShortcuts" id="readShortcuts" ref="eric6.Preferences.Shortcuts.html#readShortcuts" /> <keyword name="readStringFromStream" id="readStringFromStream" ref="eric6.Utilities.__init__.html#readStringFromStream" /> <keyword name="readToolGroups" id="readToolGroups" ref="eric6.Preferences.__init__.html#readToolGroups" /> @@ -18029,12 +17892,9 @@ <keyword name="worker" id="worker" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.html#worker" /> <keyword name="worker" id="worker" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.jsonCheckSyntax.html#worker" /> <keyword name="worker" id="worker" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.yamlCheckSyntax.html#worker" /> - <keyword name="worker" id="worker" ref="eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html#worker" /> <keyword name="wrapperNames" id="wrapperNames" ref="install.html#wrapperNames" /> <keyword name="wrapperNames" id="wrapperNames" ref="uninstall.html#wrapperNames" /> <keyword name="writeEncodedFile" id="writeEncodedFile" ref="eric6.Utilities.__init__.html#writeEncodedFile" /> - <keyword name="writePlist" id="writePlist" ref="eric6.Utilities.binplistlib.html#writePlist" /> - <keyword name="writePlistToBytes" id="writePlistToBytes" ref="eric6.Utilities.binplistlib.html#writePlistToBytes" /> <keyword name="yamlCheckSyntax (Module)" id="yamlCheckSyntax (Module)" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.yamlCheckSyntax.html" /> <keyword name="yamlLoad (Module)" id="yamlLoad (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.yamlLoad.html" /> <keyword name="yamlSyntaxBatchCheck" id="yamlSyntaxBatchCheck" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.yamlCheckSyntax.html#yamlSyntaxBatchCheck" /> @@ -18324,8 +18184,6 @@ <file>eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.html</file> <file>eric6.Plugins.CheckerPlugins.SyntaxChecker.jsonCheckSyntax.html</file> <file>eric6.Plugins.CheckerPlugins.SyntaxChecker.yamlCheckSyntax.html</file> - <file>eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html</file> - <file>eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html</file> <file>eric6.Plugins.DocumentationPlugins.Ericapi.EricapiConfigDialog.html</file> <file>eric6.Plugins.DocumentationPlugins.Ericapi.EricapiExecDialog.html</file> <file>eric6.Plugins.DocumentationPlugins.Ericdoc.EricdocConfigDialog.html</file> @@ -18335,7 +18193,6 @@ <file>eric6.Plugins.PluginEricapi.html</file> <file>eric6.Plugins.PluginEricdoc.html</file> <file>eric6.Plugins.PluginSyntaxChecker.html</file> - <file>eric6.Plugins.PluginTabnanny.html</file> <file>eric6.Plugins.PluginTranslator.html</file> <file>eric6.Plugins.PluginVcsGit.html</file> <file>eric6.Plugins.PluginVcsMercurial.html</file> @@ -18431,9 +18288,6 @@ <file>eric6.Plugins.VcsPlugins.vcsMercurial.CloseheadExtension.closehead.html</file> <file>eric6.Plugins.VcsPlugins.vcsMercurial.Config.html</file> <file>eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.MercurialPage.html</file> - <file>eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.html</file> - <file>eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html</file> - <file>eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch.html</file> <file>eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignDialog.html</file> <file>eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.HgGpgSignaturesDialog.html</file> <file>eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.ProjectHelper.html</file> @@ -18880,7 +18734,6 @@ <file>eric6.Utilities.PasswordChecker.html</file> <file>eric6.Utilities.PySideImporter.html</file> <file>eric6.Utilities.__init__.html</file> - <file>eric6.Utilities.binplistlib.html</file> <file>eric6.Utilities.crypto.__init__.html</file> <file>eric6.Utilities.crypto.py3AES.html</file> <file>eric6.Utilities.crypto.py3PBKDF2.html</file> @@ -19162,7 +19015,6 @@ <file>index-eric6.Plugins.VcsPlugins.vcsGit.html</file> <file>index-eric6.Plugins.VcsPlugins.vcsMercurial.CloseheadExtension.html</file> <file>index-eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.html</file> - <file>index-eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.html</file> <file>index-eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.html</file> <file>index-eric6.Plugins.VcsPlugins.vcsMercurial.HisteditExtension.html</file> <file>index-eric6.Plugins.VcsPlugins.vcsMercurial.LargefilesExtension.html</file>
--- a/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,616 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny</title> -<meta charset="UTF-8"> -<style> -body { - background: #EDECE6; - margin: 0em 1em 10em 1em; - color: black; -} - -h1 { color: white; background: #85774A; } -h2 { color: white; background: #85774A; } -h3 { color: white; background: #9D936E; } -h4 { color: white; background: #9D936E; } - -a { color: #BA6D36; } - -</style> -</head> -<body> -<a NAME="top" ID="top"></a> -<h1>eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny</h1> - -<p> -The Tab Nanny despises ambiguous indentation. She knows no mercy. -</p> -<p> -tabnanny -- Detection of ambiguous indentation -</p> -<p> -For the time being this module is intended to be called as a script. -However it is possible to import it into an IDE and use the function -check() described below. -</p> -<p> -Warning: The API provided by this module is likely to change in future -releases; such changes may not be backward compatible. -</p> -<p> -This is a modified version to make the original tabnanny better suitable -for being called from within the eric6 IDE. -</p> -<dl> - -<dt>Raises <b>ValueError</b>:</dt> -<dd> -The tokenize module is too old. -</dd> -</dl> -<h3>Global Attributes</h3> - -<table> -<tr><td>__all__</td></tr><tr><td>__version__</td></tr> -</table> -<h3>Classes</h3> - -<table> - -<tr> -<td><a href="#NannyNag">NannyNag</a></td> -<td>Class implementing an exception for indentation issues.</td> -</tr> -<tr> -<td><a href="#Whitespace">Whitespace</a></td> -<td>Class implementing the whitespace checker.</td> -</tr> -</table> -<h3>Functions</h3> - -<table> - -<tr> -<td><a href="#__check">__check</a></td> -<td>Private function to check one Python source file for whitespace related problems.</td> -</tr> -<tr> -<td><a href="#batchCheck">batchCheck</a></td> -<td>Module function to check a batch of files for whitespace related problems.</td> -</tr> -<tr> -<td><a href="#check">check</a></td> -<td>Private function to check one Python source file for whitespace related problems.</td> -</tr> -<tr> -<td><a href="#format_witnesses">format_witnesses</a></td> -<td>Function to format the witnesses as a readable string.</td> -</tr> -<tr> -<td><a href="#initBatchService">initBatchService</a></td> -<td>Initialize the batch service and return the entry point.</td> -</tr> -<tr> -<td><a href="#initService">initService</a></td> -<td>Initialize the service and return the entry point.</td> -</tr> -<tr> -<td><a href="#process_tokens">process_tokens</a></td> -<td>Function processing all tokens generated by a tokenizer run.</td> -</tr> -<tr> -<td><a href="#worker">worker</a></td> -<td>Module function acting as the parallel worker for the style check.</td> -</tr> -</table> -<hr /> -<hr /> -<a NAME="NannyNag" ID="NannyNag"></a> -<h2>NannyNag</h2> - -<p> - Class implementing an exception for indentation issues. -</p> -<p> - Raised by tokeneater() if detecting an ambiguous indent. - Captured and handled in check(). -</p> -<h3>Derived from</h3> -Exception -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#NannyNag.__init__">NannyNag</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#NannyNag.get_line">get_line</a></td> -<td>Public method to retrieve the offending line.</td> -</tr> -<tr> -<td><a href="#NannyNag.get_lineno">get_lineno</a></td> -<td>Public method to retrieve the line number.</td> -</tr> -<tr> -<td><a href="#NannyNag.get_msg">get_msg</a></td> -<td>Public method to retrieve the message.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="NannyNag.__init__" ID="NannyNag.__init__"></a> -<h4>NannyNag (Constructor)</h4> -<b>NannyNag</b>(<i>lineno, msg, line</i>) - -<p> - Constructor -</p> -<dl> - -<dt><i>lineno</i></dt> -<dd> -Line number of the ambiguous indent. -</dd> -<dt><i>msg</i></dt> -<dd> -Descriptive message assigned to this problem. -</dd> -<dt><i>line</i></dt> -<dd> -The offending source line. -</dd> -</dl> -<a NAME="NannyNag.get_line" ID="NannyNag.get_line"></a> -<h4>NannyNag.get_line</h4> -<b>get_line</b>(<i></i>) - -<p> - Public method to retrieve the offending line. -</p> -<dl> -<dt>Returns:</dt> -<dd> -The line of code (string) -</dd> -</dl> -<a NAME="NannyNag.get_lineno" ID="NannyNag.get_lineno"></a> -<h4>NannyNag.get_lineno</h4> -<b>get_lineno</b>(<i></i>) - -<p> - Public method to retrieve the line number. -</p> -<dl> -<dt>Returns:</dt> -<dd> -The line number (integer) -</dd> -</dl> -<a NAME="NannyNag.get_msg" ID="NannyNag.get_msg"></a> -<h4>NannyNag.get_msg</h4> -<b>get_msg</b>(<i></i>) - -<p> - Public method to retrieve the message. -</p> -<dl> -<dt>Returns:</dt> -<dd> -The error message (string) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="Whitespace" ID="Whitespace"></a> -<h2>Whitespace</h2> - -<p> - Class implementing the whitespace checker. -</p> -<h3>Derived from</h3> -object -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#Whitespace.__init__">Whitespace</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#Whitespace.equal">equal</a></td> -<td>Public method to compare the indentation levels of two Whitespace objects for equality.</td> -</tr> -<tr> -<td><a href="#Whitespace.indent_level">indent_level</a></td> -<td>Public method to determine the indentation level.</td> -</tr> -<tr> -<td><a href="#Whitespace.less">less</a></td> -<td>Public method to compare the indentation level against another Whitespace objects to be smaller.</td> -</tr> -<tr> -<td><a href="#Whitespace.longest_run_of_spaces">longest_run_of_spaces</a></td> -<td>Public method to calculate the length of longest contiguous run of spaces.</td> -</tr> -<tr> -<td><a href="#Whitespace.not_equal_witness">not_equal_witness</a></td> -<td>Public method to calculate a tuple of witnessing tab size.</td> -</tr> -<tr> -<td><a href="#Whitespace.not_less_witness">not_less_witness</a></td> -<td>Public method to calculate a tuple of witnessing tab size.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="Whitespace.__init__" ID="Whitespace.__init__"></a> -<h4>Whitespace (Constructor)</h4> -<b>Whitespace</b>(<i>ws</i>) - -<p> - Constructor -</p> -<dl> - -<dt><i>ws</i></dt> -<dd> -The string to be checked. -</dd> -</dl> -<a NAME="Whitespace.equal" ID="Whitespace.equal"></a> -<h4>Whitespace.equal</h4> -<b>equal</b>(<i>other</i>) - -<p> - Public method to compare the indentation levels of two Whitespace - objects for equality. -</p> -<dl> - -<dt><i>other</i></dt> -<dd> -Whitespace object to compare against. -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -True, if we compare equal against the other Whitespace object. -</dd> -</dl> -<a NAME="Whitespace.indent_level" ID="Whitespace.indent_level"></a> -<h4>Whitespace.indent_level</h4> -<b>indent_level</b>(<i>tabsize</i>) - -<p> - Public method to determine the indentation level. -</p> -<dl> - -<dt><i>tabsize</i></dt> -<dd> -The length of a tab stop. (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -indentation level (integer) -</dd> -</dl> -<a NAME="Whitespace.less" ID="Whitespace.less"></a> -<h4>Whitespace.less</h4> -<b>less</b>(<i>other</i>) - -<p> - Public method to compare the indentation level against another - Whitespace objects to be smaller. -</p> -<dl> - -<dt><i>other</i></dt> -<dd> -Whitespace object to compare against. -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -True, if we compare less against the other Whitespace object. -</dd> -</dl> -<a NAME="Whitespace.longest_run_of_spaces" ID="Whitespace.longest_run_of_spaces"></a> -<h4>Whitespace.longest_run_of_spaces</h4> -<b>longest_run_of_spaces</b>(<i></i>) - -<p> - Public method to calculate the length of longest contiguous run of - spaces. -</p> -<dl> -<dt>Returns:</dt> -<dd> -The length of longest contiguous run of spaces (whether or not - preceding a tab) -</dd> -</dl> -<a NAME="Whitespace.not_equal_witness" ID="Whitespace.not_equal_witness"></a> -<h4>Whitespace.not_equal_witness</h4> -<b>not_equal_witness</b>(<i>other</i>) - -<p> - Public method to calculate a tuple of witnessing tab size. -</p> -<p> - Intended to be used after not self.equal(other) is known, in which - case it will return at least one witnessing tab size. -</p> -<dl> - -<dt><i>other</i></dt> -<dd> -Whitespace object to calculate against. -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -A list of tuples (ts, i1, i2) such that - i1 == self.indent_level(ts) != other.indent_level(ts) == i2. -</dd> -</dl> -<a NAME="Whitespace.not_less_witness" ID="Whitespace.not_less_witness"></a> -<h4>Whitespace.not_less_witness</h4> -<b>not_less_witness</b>(<i>other</i>) - -<p> - Public method to calculate a tuple of witnessing tab size. -</p> -<p> - Intended to be used after not self.less(other is known, in which - case it will return at least one witnessing tab size. -</p> -<dl> - -<dt><i>other</i></dt> -<dd> -Whitespace object to calculate against. -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -A list of tuples (ts, i1, i2) such that - i1 == self.indent_level(ts) >= other.indent_level(ts) == i2. -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="__check" ID="__check"></a> -<h2>__check</h2> -<b>__check</b>(<i>file, text=""</i>) - -<p> - Private function to check one Python source file for whitespace related - problems. -</p> -<dl> - -<dt><i>file</i></dt> -<dd> -source filename (string) -</dd> -<dt><i>text</i></dt> -<dd> -source text (string) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -A tuple indicating status (True = an error was found), the - filename, the linenumber and the error message - (boolean, string, string). The values are only - valid, if the status is True. -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="batchCheck" ID="batchCheck"></a> -<h2>batchCheck</h2> -<b>batchCheck</b>(<i>argumentsList, send, fx, cancelled, maxProcesses=0</i>) - -<p> - Module function to check a batch of files for whitespace related problems. -</p> -<dl> - -<dt><i>argumentsList</i> (list)</dt> -<dd> -list of arguments tuples as given for check -</dd> -<dt><i>send</i> (func)</dt> -<dd> -reference to send function -</dd> -<dt><i>fx</i> (str)</dt> -<dd> -registered service name -</dd> -<dt><i>cancelled</i> (func)</dt> -<dd> -reference to function checking for a cancellation -</dd> -<dt><i>maxProcesses</i> (int)</dt> -<dd> -number of processes to be used -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="check" ID="check"></a> -<h2>check</h2> -<b>check</b>(<i>file, text=""</i>) - -<p> - Private function to check one Python source file for whitespace related - problems. -</p> -<dl> - -<dt><i>file</i></dt> -<dd> -source filename (string) -</dd> -<dt><i>text</i></dt> -<dd> -source text (string) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -A tuple indicating status (True = an error was found), the - filename, the linenumber and the error message - (boolean, string, string, string). The values are only - valid, if the status is True. -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="format_witnesses" ID="format_witnesses"></a> -<h2>format_witnesses</h2> -<b>format_witnesses</b>(<i>w</i>) - -<p> - Function to format the witnesses as a readable string. -</p> -<dl> - -<dt><i>w</i></dt> -<dd> -A list of witnesses -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -A formated string of the witnesses. -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="initBatchService" ID="initBatchService"></a> -<h2>initBatchService</h2> -<b>initBatchService</b>(<i></i>) - -<p> - Initialize the batch service and return the entry point. -</p> -<dl> -<dt>Returns:</dt> -<dd> -the entry point for the background client (function) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="initService" ID="initService"></a> -<h2>initService</h2> -<b>initService</b>(<i></i>) - -<p> - Initialize the service and return the entry point. -</p> -<dl> -<dt>Returns:</dt> -<dd> -the entry point for the background client (function) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="process_tokens" ID="process_tokens"></a> -<h2>process_tokens</h2> -<b>process_tokens</b>(<i>tokens</i>) - -<p> - Function processing all tokens generated by a tokenizer run. -</p> -<dl> - -<dt><i>tokens</i></dt> -<dd> -list of tokens -</dd> -</dl> -<dl> - -<dt>Raises <b>NannyNag</b>:</dt> -<dd> -raised to indicate an indentation error -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="worker" ID="worker"></a> -<h2>worker</h2> -<b>worker</b>(<i>inputQueue, outputQueue</i>) - -<p> - Module function acting as the parallel worker for the style check. -</p> -<dl> - -<dt><i>inputQueue</i></dt> -<dd> -input queue (multiprocessing.Queue) -</dd> -<dt><i>outputQueue</i></dt> -<dd> -output queue (multiprocessing.Queue) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog.html Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,363 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog</title> -<meta charset="UTF-8"> -<style> -body { - background: #EDECE6; - margin: 0em 1em 10em 1em; - color: black; -} - -h1 { color: white; background: #85774A; } -h2 { color: white; background: #85774A; } -h3 { color: white; background: #9D936E; } -h4 { color: white; background: #9D936E; } - -a { color: #BA6D36; } - -</style> -</head> -<body> -<a NAME="top" ID="top"></a> -<h1>eric6.Plugins.CheckerPlugins.Tabnanny.TabnannyDialog</h1> - -<p> -Module implementing a dialog to show the output of the tabnanny command -process. -</p> -<h3>Global Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Classes</h3> - -<table> - -<tr> -<td><a href="#TabnannyDialog">TabnannyDialog</a></td> -<td>Class implementing a dialog to show the results of the tabnanny check run.</td> -</tr> -</table> -<h3>Functions</h3> - -<table> -<tr><td>None</td></tr> -</table> -<hr /> -<hr /> -<a NAME="TabnannyDialog" ID="TabnannyDialog"></a> -<h2>TabnannyDialog</h2> - -<p> - Class implementing a dialog to show the results of the tabnanny check run. -</p> -<h3>Derived from</h3> -QDialog, Ui_TabnannyDialog -<h3>Class Attributes</h3> - -<table> -<tr><td>filenameRole</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#TabnannyDialog.__init__">TabnannyDialog</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.__batchFinished">__batchFinished</a></td> -<td>Private slot handling the completion of a batch job.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.__createErrorItem">__createErrorItem</a></td> -<td>Private slot to create a new error item in the result list.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.__createResultItem">__createResultItem</a></td> -<td>Private method to create an entry in the result list.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.__finish">__finish</a></td> -<td>Private slot called when the action or the user pressed the button.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.__processError">__processError</a></td> -<td>Private slot to process an error indication from the service.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.__processResult">__processResult</a></td> -<td>Private slot called after perfoming a style check on one file.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.__resort">__resort</a></td> -<td>Private method to resort the tree.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.check">check</a></td> -<td>Public method to start an indentation check for one file.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.checkBatch">checkBatch</a></td> -<td>Public method to start an indentation check batch job.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td> -<td>Private slot called by a button of the button box clicked.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.on_resultList_itemActivated">on_resultList_itemActivated</a></td> -<td>Private slot to handle the activation of an item.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.on_startButton_clicked">on_startButton_clicked</a></td> -<td>Private slot to start a code metrics run.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.prepare">prepare</a></td> -<td>Public method to prepare the dialog with a list of filenames.</td> -</tr> -<tr> -<td><a href="#TabnannyDialog.start">start</a></td> -<td>Public slot to start the tabnanny check.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="TabnannyDialog.__init__" ID="TabnannyDialog.__init__"></a> -<h4>TabnannyDialog (Constructor)</h4> -<b>TabnannyDialog</b>(<i>indentCheckService, parent=None</i>) - -<p> - Constructor -</p> -<dl> - -<dt><i>indentCheckService</i></dt> -<dd> -reference to the service (IndentCheckService) -</dd> -<dt><i>parent</i></dt> -<dd> -The parent widget (QWidget). -</dd> -</dl> -<a NAME="TabnannyDialog.__batchFinished" ID="TabnannyDialog.__batchFinished"></a> -<h4>TabnannyDialog.__batchFinished</h4> -<b>__batchFinished</b>(<i></i>) - -<p> - Private slot handling the completion of a batch job. -</p> -<a NAME="TabnannyDialog.__createErrorItem" ID="TabnannyDialog.__createErrorItem"></a> -<h4>TabnannyDialog.__createErrorItem</h4> -<b>__createErrorItem</b>(<i>filename, message</i>) - -<p> - Private slot to create a new error item in the result list. -</p> -<dl> - -<dt><i>filename</i> (str)</dt> -<dd> -name of the file -</dd> -<dt><i>message</i> (str)</dt> -<dd> -error message -</dd> -</dl> -<a NAME="TabnannyDialog.__createResultItem" ID="TabnannyDialog.__createResultItem"></a> -<h4>TabnannyDialog.__createResultItem</h4> -<b>__createResultItem</b>(<i>filename, line, sourcecode</i>) - -<p> - Private method to create an entry in the result list. -</p> -<dl> - -<dt><i>filename</i></dt> -<dd> -filename of file (string) -</dd> -<dt><i>line</i></dt> -<dd> -linenumber of faulty source (integer or string) -</dd> -<dt><i>sourcecode</i></dt> -<dd> -faulty line of code (string) -</dd> -</dl> -<a NAME="TabnannyDialog.__finish" ID="TabnannyDialog.__finish"></a> -<h4>TabnannyDialog.__finish</h4> -<b>__finish</b>(<i></i>) - -<p> - Private slot called when the action or the user pressed the button. -</p> -<a NAME="TabnannyDialog.__processError" ID="TabnannyDialog.__processError"></a> -<h4>TabnannyDialog.__processError</h4> -<b>__processError</b>(<i>fn, msg</i>) - -<p> - Private slot to process an error indication from the service. -</p> -<dl> - -<dt><i>fn</i> (str)</dt> -<dd> -filename of the file -</dd> -<dt><i>msg</i> (str)</dt> -<dd> -error message -</dd> -</dl> -<a NAME="TabnannyDialog.__processResult" ID="TabnannyDialog.__processResult"></a> -<h4>TabnannyDialog.__processResult</h4> -<b>__processResult</b>(<i>fn, nok, line, error</i>) - -<p> - Private slot called after perfoming a style check on one file. -</p> -<dl> - -<dt><i>fn</i></dt> -<dd> -filename of the just checked file (str) -</dd> -<dt><i>nok</i></dt> -<dd> -flag if a problem was found (bool) -</dd> -<dt><i>line</i></dt> -<dd> -line number (str) -</dd> -<dt><i>error</i></dt> -<dd> -text of the problem (str) -</dd> -</dl> -<a NAME="TabnannyDialog.__resort" ID="TabnannyDialog.__resort"></a> -<h4>TabnannyDialog.__resort</h4> -<b>__resort</b>(<i></i>) - -<p> - Private method to resort the tree. -</p> -<a NAME="TabnannyDialog.check" ID="TabnannyDialog.check"></a> -<h4>TabnannyDialog.check</h4> -<b>check</b>(<i>codestring=''</i>) - -<p> - Public method to start an indentation check for one file. -</p> -<p> - The results are reported to the __processResult slot. -</p> -<dl> - -<dt><i>codestring=</i></dt> -<dd> -optional sourcestring (str) -</dd> -</dl> -<a NAME="TabnannyDialog.checkBatch" ID="TabnannyDialog.checkBatch"></a> -<h4>TabnannyDialog.checkBatch</h4> -<b>checkBatch</b>(<i></i>) - -<p> - Public method to start an indentation check batch job. -</p> -<p> - The results are reported to the __processResult slot. -</p> -<a NAME="TabnannyDialog.on_buttonBox_clicked" ID="TabnannyDialog.on_buttonBox_clicked"></a> -<h4>TabnannyDialog.on_buttonBox_clicked</h4> -<b>on_buttonBox_clicked</b>(<i>button</i>) - -<p> - Private slot called by a button of the button box clicked. -</p> -<dl> - -<dt><i>button</i></dt> -<dd> -button that was clicked (QAbstractButton) -</dd> -</dl> -<a NAME="TabnannyDialog.on_resultList_itemActivated" ID="TabnannyDialog.on_resultList_itemActivated"></a> -<h4>TabnannyDialog.on_resultList_itemActivated</h4> -<b>on_resultList_itemActivated</b>(<i>itm, col</i>) - -<p> - Private slot to handle the activation of an item. -</p> -<dl> - -<dt><i>itm</i></dt> -<dd> -reference to the activated item (QTreeWidgetItem) -</dd> -<dt><i>col</i></dt> -<dd> -column the item was activated in (integer) -</dd> -</dl> -<a NAME="TabnannyDialog.on_startButton_clicked" ID="TabnannyDialog.on_startButton_clicked"></a> -<h4>TabnannyDialog.on_startButton_clicked</h4> -<b>on_startButton_clicked</b>(<i></i>) - -<p> - Private slot to start a code metrics run. -</p> -<a NAME="TabnannyDialog.prepare" ID="TabnannyDialog.prepare"></a> -<h4>TabnannyDialog.prepare</h4> -<b>prepare</b>(<i>fileList, project</i>) - -<p> - Public method to prepare the dialog with a list of filenames. -</p> -<dl> - -<dt><i>fileList</i></dt> -<dd> -list of filenames (list of strings) -</dd> -<dt><i>project</i></dt> -<dd> -reference to the project object (Project) -</dd> -</dl> -<a NAME="TabnannyDialog.start" ID="TabnannyDialog.start"></a> -<h4>TabnannyDialog.start</h4> -<b>start</b>(<i>fn</i>) - -<p> - Public slot to start the tabnanny check. -</p> -<dl> - -<dt><i>fn</i></dt> -<dd> -File or list of files or directory to be checked - (string or list of strings) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/eric6.Plugins.PluginTabnanny.html Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,430 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.Plugins.PluginTabnanny</title> -<meta charset="UTF-8"> -<style> -body { - background: #EDECE6; - margin: 0em 1em 10em 1em; - color: black; -} - -h1 { color: white; background: #85774A; } -h2 { color: white; background: #85774A; } -h3 { color: white; background: #9D936E; } -h4 { color: white; background: #9D936E; } - -a { color: #BA6D36; } - -</style> -</head> -<body> -<a NAME="top" ID="top"></a> -<h1>eric6.Plugins.PluginTabnanny</h1> - -<p> -Module implementing the Tabnanny plugin. -</p> -<h3>Global Attributes</h3> - -<table> -<tr><td>author</td></tr><tr><td>autoactivate</td></tr><tr><td>className</td></tr><tr><td>deactivateable</td></tr><tr><td>error</td></tr><tr><td>longDescription</td></tr><tr><td>name</td></tr><tr><td>packageName</td></tr><tr><td>pyqtApi</td></tr><tr><td>shortDescription</td></tr><tr><td>version</td></tr> -</table> -<h3>Classes</h3> - -<table> - -<tr> -<td><a href="#TabnannyPlugin">TabnannyPlugin</a></td> -<td>Class implementing the Tabnanny plugin.</td> -</tr> -</table> -<h3>Functions</h3> - -<table> -<tr><td>None</td></tr> -</table> -<hr /> -<hr /> -<a NAME="TabnannyPlugin" ID="TabnannyPlugin"></a> -<h2>TabnannyPlugin</h2> - -<p> - Class implementing the Tabnanny plugin. -</p> -<h3>Signals</h3> -<dl> - -<dt>batchFinished()</dt> -<dd> -emitted when a style check batch is done -</dd> -<dt>error(str, str)</dt> -<dd> -emitted in case of an error -</dd> -<dt>indentChecked(str, bool, str, str)</dt> -<dd> -emitted when the indent - check was done. -</dd> -</dl> -<h3>Derived from</h3> -QObject -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#TabnannyPlugin.__init__">TabnannyPlugin</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.__editorClosed">__editorClosed</a></td> -<td>Private slot called, when an editor was closed.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.__editorOpened">__editorOpened</a></td> -<td>Private slot called, when a new editor was opened.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.__editorShowMenu">__editorShowMenu</a></td> -<td>Private slot called, when the the editor context menu or a submenu is about to be shown.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.__editorTabnanny">__editorTabnanny</a></td> -<td>Private slot to handle the tabnanny context menu action of the editors.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.__initialize">__initialize</a></td> -<td>Private slot to (re)initialize the plugin.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.__projectBrowserShowMenu">__projectBrowserShowMenu</a></td> -<td>Private slot called, when the the project browser context menu or a submenu is about to be shown.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.__projectBrowserTabnanny">__projectBrowserTabnanny</a></td> -<td>Private method to handle the tabnanny context menu action of the project sources browser.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.__projectShowMenu">__projectShowMenu</a></td> -<td>Private slot called, when the the project menu or a submenu is about to be shown.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.__projectTabnanny">__projectTabnanny</a></td> -<td>Private slot used to check the project files for bad indentations.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.__serviceError">__serviceError</a></td> -<td>Private slot handling service errors.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.activate">activate</a></td> -<td>Public method to activate this plugin.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.batchJobDone">batchJobDone</a></td> -<td>Public slot handling the completion of a batch job.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.cancelIndentBatchCheck">cancelIndentBatchCheck</a></td> -<td>Public method to cancel all batch jobs.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.deactivate">deactivate</a></td> -<td>Public method to deactivate this plugin.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.indentBatchCheck">indentBatchCheck</a></td> -<td>Public method to prepare an indentation check on multiple Python source files.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.indentCheck">indentCheck</a></td> -<td>Public method to prepare an indentation check on one Python source file.</td> -</tr> -<tr> -<td><a href="#TabnannyPlugin.serviceErrorPy3">serviceErrorPy3</a></td> -<td>Public slot handling service errors for Python 3.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="TabnannyPlugin.__init__" ID="TabnannyPlugin.__init__"></a> -<h4>TabnannyPlugin (Constructor)</h4> -<b>TabnannyPlugin</b>(<i>ui</i>) - -<p> - Constructor -</p> -<dl> - -<dt><i>ui</i></dt> -<dd> -reference to the user interface object (UI.UserInterface) -</dd> -</dl> -<a NAME="TabnannyPlugin.__editorClosed" ID="TabnannyPlugin.__editorClosed"></a> -<h4>TabnannyPlugin.__editorClosed</h4> -<b>__editorClosed</b>(<i>editor</i>) - -<p> - Private slot called, when an editor was closed. -</p> -<dl> - -<dt><i>editor</i></dt> -<dd> -reference to the editor (QScintilla.Editor) -</dd> -</dl> -<a NAME="TabnannyPlugin.__editorOpened" ID="TabnannyPlugin.__editorOpened"></a> -<h4>TabnannyPlugin.__editorOpened</h4> -<b>__editorOpened</b>(<i>editor</i>) - -<p> - Private slot called, when a new editor was opened. -</p> -<dl> - -<dt><i>editor</i></dt> -<dd> -reference to the new editor (QScintilla.Editor) -</dd> -</dl> -<a NAME="TabnannyPlugin.__editorShowMenu" ID="TabnannyPlugin.__editorShowMenu"></a> -<h4>TabnannyPlugin.__editorShowMenu</h4> -<b>__editorShowMenu</b>(<i>menuName, menu, editor</i>) - -<p> - Private slot called, when the the editor context menu or a submenu is - about to be shown. -</p> -<dl> - -<dt><i>menuName</i></dt> -<dd> -name of the menu to be shown (string) -</dd> -<dt><i>menu</i></dt> -<dd> -reference to the menu (QMenu) -</dd> -<dt><i>editor</i></dt> -<dd> -reference to the editor -</dd> -</dl> -<a NAME="TabnannyPlugin.__editorTabnanny" ID="TabnannyPlugin.__editorTabnanny"></a> -<h4>TabnannyPlugin.__editorTabnanny</h4> -<b>__editorTabnanny</b>(<i></i>) - -<p> - Private slot to handle the tabnanny context menu action of the editors. -</p> -<a NAME="TabnannyPlugin.__initialize" ID="TabnannyPlugin.__initialize"></a> -<h4>TabnannyPlugin.__initialize</h4> -<b>__initialize</b>(<i></i>) - -<p> - Private slot to (re)initialize the plugin. -</p> -<a NAME="TabnannyPlugin.__projectBrowserShowMenu" ID="TabnannyPlugin.__projectBrowserShowMenu"></a> -<h4>TabnannyPlugin.__projectBrowserShowMenu</h4> -<b>__projectBrowserShowMenu</b>(<i>menuName, menu</i>) - -<p> - Private slot called, when the the project browser context menu or a - submenu is about to be shown. -</p> -<dl> - -<dt><i>menuName</i></dt> -<dd> -name of the menu to be shown (string) -</dd> -<dt><i>menu</i></dt> -<dd> -reference to the menu (QMenu) -</dd> -</dl> -<a NAME="TabnannyPlugin.__projectBrowserTabnanny" ID="TabnannyPlugin.__projectBrowserTabnanny"></a> -<h4>TabnannyPlugin.__projectBrowserTabnanny</h4> -<b>__projectBrowserTabnanny</b>(<i></i>) - -<p> - Private method to handle the tabnanny context menu action of the - project sources browser. -</p> -<a NAME="TabnannyPlugin.__projectShowMenu" ID="TabnannyPlugin.__projectShowMenu"></a> -<h4>TabnannyPlugin.__projectShowMenu</h4> -<b>__projectShowMenu</b>(<i>menuName, menu</i>) - -<p> - Private slot called, when the the project menu or a submenu is - about to be shown. -</p> -<dl> - -<dt><i>menuName</i></dt> -<dd> -name of the menu to be shown (string) -</dd> -<dt><i>menu</i></dt> -<dd> -reference to the menu (QMenu) -</dd> -</dl> -<a NAME="TabnannyPlugin.__projectTabnanny" ID="TabnannyPlugin.__projectTabnanny"></a> -<h4>TabnannyPlugin.__projectTabnanny</h4> -<b>__projectTabnanny</b>(<i></i>) - -<p> - Private slot used to check the project files for bad indentations. -</p> -<a NAME="TabnannyPlugin.__serviceError" ID="TabnannyPlugin.__serviceError"></a> -<h4>TabnannyPlugin.__serviceError</h4> -<b>__serviceError</b>(<i>fn, msg</i>) - -<p> - Private slot handling service errors. -</p> -<dl> - -<dt><i>fn</i></dt> -<dd> -file name (string) -</dd> -<dt><i>msg</i></dt> -<dd> -message text (string) -</dd> -</dl> -<a NAME="TabnannyPlugin.activate" ID="TabnannyPlugin.activate"></a> -<h4>TabnannyPlugin.activate</h4> -<b>activate</b>(<i></i>) - -<p> - Public method to activate this plugin. -</p> -<dl> -<dt>Returns:</dt> -<dd> -tuple of None and activation status (boolean) -</dd> -</dl> -<a NAME="TabnannyPlugin.batchJobDone" ID="TabnannyPlugin.batchJobDone"></a> -<h4>TabnannyPlugin.batchJobDone</h4> -<b>batchJobDone</b>(<i>fx, lang</i>) - -<p> - Public slot handling the completion of a batch job. -</p> -<dl> - -<dt><i>fx</i></dt> -<dd> -service name (string) -</dd> -<dt><i>lang</i></dt> -<dd> -language (string) -</dd> -</dl> -<a NAME="TabnannyPlugin.cancelIndentBatchCheck" ID="TabnannyPlugin.cancelIndentBatchCheck"></a> -<h4>TabnannyPlugin.cancelIndentBatchCheck</h4> -<b>cancelIndentBatchCheck</b>(<i></i>) - -<p> - Public method to cancel all batch jobs. -</p> -<a NAME="TabnannyPlugin.deactivate" ID="TabnannyPlugin.deactivate"></a> -<h4>TabnannyPlugin.deactivate</h4> -<b>deactivate</b>(<i></i>) - -<p> - Public method to deactivate this plugin. -</p> -<a NAME="TabnannyPlugin.indentBatchCheck" ID="TabnannyPlugin.indentBatchCheck"></a> -<h4>TabnannyPlugin.indentBatchCheck</h4> -<b>indentBatchCheck</b>(<i>argumentsList</i>) - -<p> - Public method to prepare an indentation check on multiple Python - source files. -</p> -<dl> - -<dt><i>argumentsList</i></dt> -<dd> -list of arguments tuples with each tuple - containing filename and source (string, string) -</dd> -</dl> -<a NAME="TabnannyPlugin.indentCheck" ID="TabnannyPlugin.indentCheck"></a> -<h4>TabnannyPlugin.indentCheck</h4> -<b>indentCheck</b>(<i>lang, filename, source</i>) - -<p> - Public method to prepare an indentation check on one Python source - file. -</p> -<dl> - -<dt><i>lang</i></dt> -<dd> -language of the file or None to determine by internal - algorithm (str or None) -</dd> -<dt><i>filename</i></dt> -<dd> -source filename (string) -</dd> -<dt><i>source</i></dt> -<dd> -string containing the code to check (string) -</dd> -</dl> -<a NAME="TabnannyPlugin.serviceErrorPy3" ID="TabnannyPlugin.serviceErrorPy3"></a> -<h4>TabnannyPlugin.serviceErrorPy3</h4> -<b>serviceErrorPy3</b>(<i>fx, lang, fn, msg</i>) - -<p> - Public slot handling service errors for Python 3. -</p> -<dl> - -<dt><i>fx</i></dt> -<dd> -service name (string) -</dd> -<dt><i>lang</i></dt> -<dd> -language (string) -</dd> -<dt><i>fn</i></dt> -<dd> -file name (string) -</dd> -<dt><i>msg</i></dt> -<dd> -message text (string) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.html Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog</title> -<meta charset="UTF-8"> -<style> -body { - background: #EDECE6; - margin: 0em 1em 10em 1em; - color: black; -} - -h1 { color: white; background: #85774A; } -h2 { color: white; background: #85774A; } -h3 { color: white; background: #9D936E; } -h4 { color: white; background: #9D936E; } - -a { color: #BA6D36; } - -</style> -</head> -<body> -<a NAME="top" ID="top"></a> -<h1>eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog</h1> - -<p> -Module implementing a dialog to enter data to be used for a fetch operation. -</p> -<h3>Global Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Classes</h3> - -<table> - -<tr> -<td><a href="#HgFetchDialog">HgFetchDialog</a></td> -<td>Class implementing a dialog to enter data to be used for a fetch operation.</td> -</tr> -</table> -<h3>Functions</h3> - -<table> -<tr><td>None</td></tr> -</table> -<hr /> -<hr /> -<a NAME="HgFetchDialog" ID="HgFetchDialog"></a> -<h2>HgFetchDialog</h2> - -<p> - Class implementing a dialog to enter data to be used for a fetch operation. -</p> -<h3>Derived from</h3> -QDialog, Ui_HgFetchDialog -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#HgFetchDialog.__init__">HgFetchDialog</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#HgFetchDialog.getData">getData</a></td> -<td>Public method to get the data for the fetch operation.</td> -</tr> -<tr> -<td><a href="#HgFetchDialog.on_recentComboBox_activated">on_recentComboBox_activated</a></td> -<td>Private slot to select a commit message from recent ones.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="HgFetchDialog.__init__" ID="HgFetchDialog.__init__"></a> -<h4>HgFetchDialog (Constructor)</h4> -<b>HgFetchDialog</b>(<i>vcs, parent=None</i>) - -<p> - Constructor -</p> -<dl> - -<dt><i>vcs</i> (Hg)</dt> -<dd> -reference to the Mercurial vcs object -</dd> -<dt><i>parent</i> (QWidget)</dt> -<dd> -reference to the parent widget -</dd> -</dl> -<a NAME="HgFetchDialog.getData" ID="HgFetchDialog.getData"></a> -<h4>HgFetchDialog.getData</h4> -<b>getData</b>(<i></i>) - -<p> - Public method to get the data for the fetch operation. -</p> -<dl> -<dt>Returns:</dt> -<dd> -tuple with the commit message and a flag indicating to switch - the merge order (string, boolean) -</dd> -</dl> -<a NAME="HgFetchDialog.on_recentComboBox_activated" ID="HgFetchDialog.on_recentComboBox_activated"></a> -<h4>HgFetchDialog.on_recentComboBox_activated</h4> -<b>on_recentComboBox_activated</b>(<i>txt</i>) - -<p> - Private slot to select a commit message from recent ones. -</p> -<dl> - -<dt><i>txt</i></dt> -<dd> -text of the selected entry (string) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,165 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper</title> -<meta charset="UTF-8"> -<style> -body { - background: #EDECE6; - margin: 0em 1em 10em 1em; - color: black; -} - -h1 { color: white; background: #85774A; } -h2 { color: white; background: #85774A; } -h3 { color: white; background: #9D936E; } -h4 { color: white; background: #9D936E; } - -a { color: #BA6D36; } - -</style> -</head> -<body> -<a NAME="top" ID="top"></a> -<h1>eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper</h1> - -<p> -Module implementing the fetch extension project helper. -</p> -<h3>Global Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Classes</h3> - -<table> - -<tr> -<td><a href="#FetchProjectHelper">FetchProjectHelper</a></td> -<td>Class implementing the fetch extension project helper.</td> -</tr> -</table> -<h3>Functions</h3> - -<table> -<tr><td>None</td></tr> -</table> -<hr /> -<hr /> -<a NAME="FetchProjectHelper" ID="FetchProjectHelper"></a> -<h2>FetchProjectHelper</h2> - -<p> - Class implementing the fetch extension project helper. -</p> -<h3>Derived from</h3> -HgExtensionProjectHelper -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#FetchProjectHelper.__init__">FetchProjectHelper</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#FetchProjectHelper.__aboutToShowMenu">__aboutToShowMenu</a></td> -<td>Private slot to handle the aboutToShow signal of the background menu.</td> -</tr> -<tr> -<td><a href="#FetchProjectHelper.__hgFetch">__hgFetch</a></td> -<td>Private slot used to fetch changes from a remote repository.</td> -</tr> -<tr> -<td><a href="#FetchProjectHelper.initActions">initActions</a></td> -<td>Public method to generate the action objects.</td> -</tr> -<tr> -<td><a href="#FetchProjectHelper.initMenu">initMenu</a></td> -<td>Public method to generate the extension menu.</td> -</tr> -<tr> -<td><a href="#FetchProjectHelper.menuTitle">menuTitle</a></td> -<td>Public method to get the menu title.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="FetchProjectHelper.__init__" ID="FetchProjectHelper.__init__"></a> -<h4>FetchProjectHelper (Constructor)</h4> -<b>FetchProjectHelper</b>(<i></i>) - -<p> - Constructor -</p> -<a NAME="FetchProjectHelper.__aboutToShowMenu" ID="FetchProjectHelper.__aboutToShowMenu"></a> -<h4>FetchProjectHelper.__aboutToShowMenu</h4> -<b>__aboutToShowMenu</b>(<i></i>) - -<p> - Private slot to handle the aboutToShow signal of the background menu. -</p> -<a NAME="FetchProjectHelper.__hgFetch" ID="FetchProjectHelper.__hgFetch"></a> -<h4>FetchProjectHelper.__hgFetch</h4> -<b>__hgFetch</b>(<i></i>) - -<p> - Private slot used to fetch changes from a remote repository. -</p> -<a NAME="FetchProjectHelper.initActions" ID="FetchProjectHelper.initActions"></a> -<h4>FetchProjectHelper.initActions</h4> -<b>initActions</b>(<i></i>) - -<p> - Public method to generate the action objects. -</p> -<a NAME="FetchProjectHelper.initMenu" ID="FetchProjectHelper.initMenu"></a> -<h4>FetchProjectHelper.initMenu</h4> -<b>initMenu</b>(<i>mainMenu</i>) - -<p> - Public method to generate the extension menu. -</p> -<dl> - -<dt><i>mainMenu</i></dt> -<dd> -reference to the main menu (QMenu) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -populated menu (QMenu) -</dd> -</dl> -<a NAME="FetchProjectHelper.menuTitle" ID="FetchProjectHelper.menuTitle"></a> -<h4>FetchProjectHelper.menuTitle</h4> -<b>menuTitle</b>(<i></i>) - -<p> - Public method to get the menu title. -</p> -<dl> -<dt>Returns:</dt> -<dd> -title of the menu (string) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch.html Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,133 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch</title> -<meta charset="UTF-8"> -<style> -body { - background: #EDECE6; - margin: 0em 1em 10em 1em; - color: black; -} - -h1 { color: white; background: #85774A; } -h2 { color: white; background: #85774A; } -h3 { color: white; background: #9D936E; } -h4 { color: white; background: #9D936E; } - -a { color: #BA6D36; } - -</style> -</head> -<body> -<a NAME="top" ID="top"></a> -<h1>eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch</h1> - -<p> -Module implementing the fetch extension interface. -</p> -<h3>Global Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Classes</h3> - -<table> - -<tr> -<td><a href="#Fetch">Fetch</a></td> -<td>Class implementing the fetch extension interface.</td> -</tr> -</table> -<h3>Functions</h3> - -<table> -<tr><td>None</td></tr> -</table> -<hr /> -<hr /> -<a NAME="Fetch" ID="Fetch"></a> -<h2>Fetch</h2> - -<p> - Class implementing the fetch extension interface. -</p> -<h3>Derived from</h3> -HgExtension -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#Fetch.__init__">Fetch</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#Fetch.hgFetch">hgFetch</a></td> -<td>Public method to fetch changes from a remote repository.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="Fetch.__init__" ID="Fetch.__init__"></a> -<h4>Fetch (Constructor)</h4> -<b>Fetch</b>(<i>vcs</i>) - -<p> - Constructor -</p> -<dl> - -<dt><i>vcs</i></dt> -<dd> -reference to the Mercurial vcs object -</dd> -</dl> -<a NAME="Fetch.hgFetch" ID="Fetch.hgFetch"></a> -<h4>Fetch.hgFetch</h4> -<b>hgFetch</b>(<i>name, revisions=None</i>) - -<p> - Public method to fetch changes from a remote repository. -</p> -<dl> - -<dt><i>name</i> (str)</dt> -<dd> -directory name of the project to be fetched to -</dd> -<dt><i>revisions</i> (list of str)</dt> -<dd> -list of revisions to be pulled -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -flag indicating, that the update contained an add - or delete -</dd> -</dl> -<dl> -<dt>Return Type:</dt> -<dd> -bool -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.gpg.html Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.gpg.html Wed Sep 02 18:06:20 2020 +0200 @@ -36,7 +36,7 @@ <tr> <td><a href="#Gpg">Gpg</a></td> -<td>Class implementing the fetch extension interface.</td> +<td>Class implementing the gpg extension interface.</td> </tr> </table> <h3>Functions</h3> @@ -50,7 +50,7 @@ <h2>Gpg</h2> <p> - Class implementing the fetch extension interface. + Class implementing the gpg extension interface. </p> <h3>Derived from</h3> HgExtension @@ -86,7 +86,7 @@ </tr> <tr> <td><a href="#Gpg.shutdown">shutdown</a></td> -<td>Public method used to shutdown the fetch interface.</td> +<td>Public method used to shutdown the gpg interface.</td> </tr> </table> <h3>Static Methods</h3> @@ -164,7 +164,7 @@ <b>shutdown</b>(<i></i>) <p> - Public method used to shutdown the fetch interface. + Public method used to shutdown the gpg interface. </p> <div align="right"><a href="#top">Up</a></div> <hr />
--- a/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgLogBrowserDialog.html Wed Sep 02 18:06:20 2020 +0200 @@ -101,10 +101,6 @@ <td>Private slot to close the selected head revisions.</td> </tr> <tr> -<td><a href="#HgLogBrowserDialog.__fetchActTriggered">__fetchActTriggered</a></td> -<td>Private slot to fetch changes from a remote repository.</td> -</tr> -<tr> <td><a href="#HgLogBrowserDialog.__filterLogs">__filterLogs</a></td> <td>Private method to filter the log entries.</td> </tr> @@ -500,13 +496,6 @@ <p> Private slot to close the selected head revisions. </p> -<a NAME="HgLogBrowserDialog.__fetchActTriggered" ID="HgLogBrowserDialog.__fetchActTriggered"></a> -<h4>HgLogBrowserDialog.__fetchActTriggered</h4> -<b>__fetchActTriggered</b>(<i></i>) - -<p> - Private slot to fetch changes from a remote repository. -</p> <a NAME="HgLogBrowserDialog.__filterLogs" ID="HgLogBrowserDialog.__filterLogs"></a> <h4>HgLogBrowserDialog.__filterLogs</h4> <b>__filterLogs</b>(<i></i>)
--- a/eric6/Documentation/Source/eric6.Tasks.Task.html Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Source/eric6.Tasks.Task.html Wed Sep 02 18:06:20 2020 +0200 @@ -57,7 +57,7 @@ <h3>Class Attributes</h3> <table> -<tr><td>TypeFixme</td></tr><tr><td>TypeNone</td></tr><tr><td>TypeNote</td></tr><tr><td>TypeTodo</td></tr><tr><td>TypeWarning</td></tr> +<tr><td>TaskType2ColorName</td></tr><tr><td>TaskType2IconName</td></tr><tr><td>TaskType2MarkersName</td></tr><tr><td>TypeDocu</td></tr><tr><td>TypeFixme</td></tr><tr><td>TypeNone</td></tr><tr><td>TypeNote</td></tr><tr><td>TypeTest</td></tr><tr><td>TypeTodo</td></tr><tr><td>TypeWarning</td></tr> </table> <h3>Class Methods</h3> @@ -176,7 +176,7 @@ <dt><i>taskType</i></dt> <dd> type of the task (one of TypeFixme, TypeTodo, - TypeWarning, TypeNote) + TypeWarning, TypeNote, TypeTest, TypeDocu) </dd> <dt><i>project</i></dt> <dd>
--- a/eric6/Documentation/Source/eric6.UI.Browser.html Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Source/eric6.UI.Browser.html Wed Sep 02 18:06:20 2020 +0200 @@ -171,6 +171,10 @@ <td>Private slot to refresh a directory entry.</td> </tr> <tr> +<td><a href="#Browser.__refreshSource">__refreshSource</a></td> +<td>Private slot to refresh the structure of a source file.</td> +</tr> +<tr> <td><a href="#Browser.__removeToplevel">__removeToplevel</a></td> <td>Private slot to handle the Remove from toplevel popup menu entry.</td> </tr> @@ -330,6 +334,13 @@ <p> Private slot to refresh a directory entry. </p> +<a NAME="Browser.__refreshSource" ID="Browser.__refreshSource"></a> +<h4>Browser.__refreshSource</h4> +<b>__refreshSource</b>(<i></i>) + +<p> + Private slot to refresh the structure of a source file. +</p> <a NAME="Browser.__removeToplevel" ID="Browser.__removeToplevel"></a> <h4>Browser.__removeToplevel</h4> <b>__removeToplevel</b>(<i></i>)
--- a/eric6/Documentation/Source/eric6.UI.BrowserModel.html Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Source/eric6.UI.BrowserModel.html Wed Sep 02 18:06:20 2020 +0200 @@ -2188,6 +2188,10 @@ <td>Public slot to handle the directoryChanged signal of the watcher.</td> </tr> <tr> +<td><a href="#BrowserModel.fileChanged">fileChanged</a></td> +<td>Public method to react upon file changes.</td> +</tr> +<tr> <td><a href="#BrowserModel.flags">flags</a></td> <td>Public method to get the item flags.</td> </tr> @@ -2252,6 +2256,10 @@ <td>Public method to remove a toplevel directory.</td> </tr> <tr> +<td><a href="#BrowserModel.repopulateFileItem">repopulateFileItem</a></td> +<td>Public method to repopulate a file item.</td> +</tr> +<tr> <td><a href="#BrowserModel.rowCount">rowCount</a></td> <td>Public method to get the number of rows.</td> </tr> @@ -2435,6 +2443,20 @@ path of the directory (string) </dd> </dl> +<a NAME="BrowserModel.fileChanged" ID="BrowserModel.fileChanged"></a> +<h4>BrowserModel.fileChanged</h4> +<b>fileChanged</b>(<i>fileName</i>) + +<p> + Public method to react upon file changes. +</p> +<dl> + +<dt><i>fileName</i> (str)</dt> +<dd> +path of the changed file +</dd> +</dl> <a NAME="BrowserModel.flags" ID="BrowserModel.flags"></a> <h4>BrowserModel.flags</h4> <b>flags</b>(<i>index</i>) @@ -2746,6 +2768,20 @@ (QModelIndex) </dd> </dl> +<a NAME="BrowserModel.repopulateFileItem" ID="BrowserModel.repopulateFileItem"></a> +<h4>BrowserModel.repopulateFileItem</h4> +<b>repopulateFileItem</b>(<i>itm</i>) + +<p> + Public method to repopulate a file item. +</p> +<dl> + +<dt><i>itm</i> (BrowserFileItem)</dt> +<dd> +reference to the item to be repopulated +</dd> +</dl> <a NAME="BrowserModel.rowCount" ID="BrowserModel.rowCount"></a> <h4>BrowserModel.rowCount</h4> <b>rowCount</b>(<i>parent=None</i>)
--- a/eric6/Documentation/Source/eric6.UI.UserInterface.html Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Source/eric6.UI.UserInterface.html Wed Sep 02 18:06:20 2020 +0200 @@ -999,6 +999,10 @@ <td>Public method to get a reference to a specific toolbar.</td> </tr> <tr> +<td><a href="#UserInterface.getToolbarsByCategory">getToolbarsByCategory</a></td> +<td>Public method to get a list of toolbars belonging to a given toolbar category.</td> +</tr> +<tr> <td><a href="#UserInterface.getViewProfile">getViewProfile</a></td> <td>Public method to get the current view profile.</td> </tr> @@ -3278,6 +3282,33 @@ reference to the toolbar entry (tuple of string and QToolBar) </dd> </dl> +<a NAME="UserInterface.getToolbarsByCategory" ID="UserInterface.getToolbarsByCategory"></a> +<h4>UserInterface.getToolbarsByCategory</h4> +<b>getToolbarsByCategory</b>(<i>category</i>) + +<p> + Public method to get a list of toolbars belonging to a given toolbar + category. +</p> +<dl> + +<dt><i>category</i> (str)</dt> +<dd> +toolbar category +</dd> +</dl> +<dl> +<dt>Returns:</dt> +<dd> +list of toolbars +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +list of QToolBar +</dd> +</dl> <a NAME="UserInterface.getViewProfile" ID="UserInterface.getViewProfile"></a> <h4>UserInterface.getViewProfile</h4> <b>getViewProfile</b>(<i></i>) @@ -3422,7 +3453,7 @@ </dl> <a NAME="UserInterface.registerToolbar" ID="UserInterface.registerToolbar"></a> <h4>UserInterface.registerToolbar</h4> -<b>registerToolbar</b>(<i>name, text, toolbar</i>) +<b>registerToolbar</b>(<i>name, text, toolbar, category=""</i>) <p> Public method to register a toolbar. @@ -3433,18 +3464,22 @@ </p> <dl> -<dt><i>name</i></dt> +<dt><i>name</i> (str)</dt> <dd> -name of the toolbar (string). This is used as the key into +name of the toolbar. This is used as the key into the dictionary of toolbar references. </dd> -<dt><i>text</i></dt> +<dt><i>text</i> (str)</dt> <dd> -user visible text for the toolbar entry (string) +user visible text for the toolbar entry </dd> -<dt><i>toolbar</i></dt> +<dt><i>toolbar</i> (QToolBar)</dt> <dd> -reference to the toolbar to be registered (QToolBar) +reference to the toolbar to be registered +</dd> +<dt><i>category</i> (str)</dt> +<dd> +toolbar category </dd> </dl> <dl> @@ -3490,20 +3525,24 @@ </dl> <a NAME="UserInterface.reregisterToolbar" ID="UserInterface.reregisterToolbar"></a> <h4>UserInterface.reregisterToolbar</h4> -<b>reregisterToolbar</b>(<i>name, text</i>) +<b>reregisterToolbar</b>(<i>name, text, category=""</i>) <p> Public method to change the visible text for the named toolbar. </p> <dl> -<dt><i>name</i></dt> +<dt><i>name</i> (str)</dt> <dd> -name of the toolbar to be changed (string) +name of the toolbar to be changed </dd> -<dt><i>text</i></dt> +<dt><i>text</i> (str)</dt> <dd> -new user visible text for the toolbar entry (string) +new user visible text for the toolbar entry +</dd> +<dt><i>category</i> (str)</dt> +<dd> +new toolbar category for the toolbar entry </dd> </dl> <a NAME="UserInterface.setDebugProfile" ID="UserInterface.setDebugProfile"></a>
--- a/eric6/Documentation/Source/eric6.Utilities.binplistlib.html Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1483 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.Utilities.binplistlib</title> -<meta charset="UTF-8"> -<style> -body { - background: #EDECE6; - margin: 0em 1em 10em 1em; - color: black; -} - -h1 { color: white; background: #85774A; } -h2 { color: white; background: #85774A; } -h3 { color: white; background: #9D936E; } -h4 { color: white; background: #9D936E; } - -a { color: #BA6D36; } - -</style> -</head> -<body> -<a NAME="top" ID="top"></a> -<h1>eric6.Utilities.binplistlib</h1> - -<p> -Module implementing a library for reading and writing binary property list -files. -</p> -<p> -Binary Property List (plist) files provide a faster and smaller serialization -format for property lists on OS X. This is a library for generating binary -plists which can be read by OS X, iOS, or other clients. -</p> -<p> -The API models the plistlib API, and will call through to plistlib when -XML serialization or deserialization is required. -</p> -<p> -To generate plists with UID values, wrap the values with the Uid object. The -value must be an int. -</p> -<p> -To generate plists with NSData/CFData values, wrap the values with the -Data object. The value must be a bytes object. -</p> -<p> -Date values can only be datetime.datetime objects. -</p> -<p> -The exceptions InvalidPlistException and NotBinaryPlistException may be -thrown to indicate that the data cannot be serialized or deserialized as -a binary plist. -</p> -<p> -Plist generation example: -<pre> - from binplistlib import * - from datetime import datetime - plist = {'aKey':'aValue', - '0':1.322, - 'now':datetime.now(), - 'list':[1,2,3], - 'tuple':('a','b','c') - } - try: - writePlist(plist, "example.plist") - except (InvalidPlistException, NotBinaryPlistException) as e: - print("Something bad happened:", e) -</pre> -Plist parsing example: -<pre> - from binplistlib import * - try: - plist = readPlist("example.plist") - print(plist) - except (InvalidPlistException, NotBinaryPlistException) as e: - print("Not a plist:", e) -</pre> -</p> -<h3>Global Attributes</h3> - -<table> -<tr><td>PlistByteCounts</td></tr><tr><td>PlistTrailer</td></tr><tr><td>__all__</td></tr><tr><td>apple_reference_date_offset</td></tr> -</table> -<h3>Classes</h3> - -<table> - -<tr> -<td><a href="#BoolWrapper">BoolWrapper</a></td> -<td>Class wrapping a boolean value.</td> -</tr> -<tr> -<td><a href="#Data">Data</a></td> -<td>Class implementing a wrapper around bytes types for representing Data values.</td> -</tr> -<tr> -<td><a href="#HashableWrapper">HashableWrapper</a></td> -<td>Class wrapping a hashable value.</td> -</tr> -<tr> -<td><a href="#InvalidPlistException">InvalidPlistException</a></td> -<td>Exception raised when the plist is incorrectly formatted.</td> -</tr> -<tr> -<td><a href="#NotBinaryPlistException">NotBinaryPlistException</a></td> -<td>Exception raised when a binary plist was expected but not encountered.</td> -</tr> -<tr> -<td><a href="#PlistReader">PlistReader</a></td> -<td>Class implementing the plist reader.</td> -</tr> -<tr> -<td><a href="#PlistWriter">PlistWriter</a></td> -<td>Class implementing the plist writer.</td> -</tr> -<tr> -<td><a href="#Uid">Uid</a></td> -<td>Class implementing a wrapper around integers for representing UID values.</td> -</tr> -</table> -<h3>Functions</h3> - -<table> - -<tr> -<td><a href="#is_stream_binary_plist">is_stream_binary_plist</a></td> -<td>Module function to check, if the stream is a binary plist.</td> -</tr> -<tr> -<td><a href="#readPlist">readPlist</a></td> -<td>Module function to read a plist file.</td> -</tr> -<tr> -<td><a href="#readPlistFromBytes">readPlistFromBytes</a></td> -<td>Module function to read from a plist bytes object.</td> -</tr> -<tr> -<td><a href="#writePlist">writePlist</a></td> -<td>Module function to write a plist file.</td> -</tr> -<tr> -<td><a href="#writePlistToBytes">writePlistToBytes</a></td> -<td>Module function to write a plist bytes object.</td> -</tr> -</table> -<hr /> -<hr /> -<a NAME="BoolWrapper" ID="BoolWrapper"></a> -<h2>BoolWrapper</h2> - -<p> - Class wrapping a boolean value. -</p> -<h3>Derived from</h3> -object -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#BoolWrapper.__init__">BoolWrapper</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#BoolWrapper.__repr__">__repr__</a></td> -<td>Special method to generate a representation of the object.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="BoolWrapper.__init__" ID="BoolWrapper.__init__"></a> -<h4>BoolWrapper (Constructor)</h4> -<b>BoolWrapper</b>(<i>value</i>) - -<p> - Constructor -</p> -<dl> - -<dt><i>value</i></dt> -<dd> -object value (boolean) -</dd> -</dl> -<a NAME="BoolWrapper.__repr__" ID="BoolWrapper.__repr__"></a> -<h4>BoolWrapper.__repr__</h4> -<b>__repr__</b>(<i></i>) - -<p> - Special method to generate a representation of the object. -</p> -<dl> -<dt>Returns:</dt> -<dd> -object representation (string) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="Data" ID="Data"></a> -<h2>Data</h2> - -<p> - Class implementing a wrapper around bytes types for representing Data - values. -</p> -<h3>Derived from</h3> -bytes -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="HashableWrapper" ID="HashableWrapper"></a> -<h2>HashableWrapper</h2> - -<p> - Class wrapping a hashable value. -</p> -<h3>Derived from</h3> -object -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#HashableWrapper.__init__">HashableWrapper</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#HashableWrapper.__repr__">__repr__</a></td> -<td>Special method to generate a representation of the object.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="HashableWrapper.__init__" ID="HashableWrapper.__init__"></a> -<h4>HashableWrapper (Constructor)</h4> -<b>HashableWrapper</b>(<i>value</i>) - -<p> - Constructor -</p> -<dl> - -<dt><i>value</i></dt> -<dd> -object value -</dd> -</dl> -<a NAME="HashableWrapper.__repr__" ID="HashableWrapper.__repr__"></a> -<h4>HashableWrapper.__repr__</h4> -<b>__repr__</b>(<i></i>) - -<p> - Special method to generate a representation of the object. -</p> -<dl> -<dt>Returns:</dt> -<dd> -object representation (string) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="InvalidPlistException" ID="InvalidPlistException"></a> -<h2>InvalidPlistException</h2> - -<p> - Exception raised when the plist is incorrectly formatted. -</p> -<h3>Derived from</h3> -Exception -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="NotBinaryPlistException" ID="NotBinaryPlistException"></a> -<h2>NotBinaryPlistException</h2> - -<p> - Exception raised when a binary plist was expected but not encountered. -</p> -<h3>Derived from</h3> -Exception -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="PlistReader" ID="PlistReader"></a> -<h2>PlistReader</h2> - -<p> - Class implementing the plist reader. -</p> -<h3>Derived from</h3> -object -<h3>Class Attributes</h3> - -<table> -<tr><td>contents</td></tr><tr><td>currentOffset</td></tr><tr><td>file</td></tr><tr><td>offsets</td></tr><tr><td>trailer</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#PlistReader.__init__">PlistReader</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#PlistReader.getSizedInteger">getSizedInteger</a></td> -<td>Public method to read an integer of a specific size.</td> -</tr> -<tr> -<td><a href="#PlistReader.parse">parse</a></td> -<td>Public method to parse the plist data.</td> -</tr> -<tr> -<td><a href="#PlistReader.proc_extra">proc_extra</a></td> -<td></td> -</tr> -<tr> -<td><a href="#PlistReader.readArray">readArray</a></td> -<td>Public method to read an Array object.</td> -</tr> -<tr> -<td><a href="#PlistReader.readAsciiString">readAsciiString</a></td> -<td>Public method to read an ASCII encoded string.</td> -</tr> -<tr> -<td><a href="#PlistReader.readData">readData</a></td> -<td>Public method to read some bytes.</td> -</tr> -<tr> -<td><a href="#PlistReader.readDate">readDate</a></td> -<td>Public method to read a date.</td> -</tr> -<tr> -<td><a href="#PlistReader.readDict">readDict</a></td> -<td>Public method to read a Dictionary object.</td> -</tr> -<tr> -<td><a href="#PlistReader.readInteger">readInteger</a></td> -<td>Public method to read an Integer object.</td> -</tr> -<tr> -<td><a href="#PlistReader.readObject">readObject</a></td> -<td>Public method to read the object data.</td> -</tr> -<tr> -<td><a href="#PlistReader.readReal">readReal</a></td> -<td>Public method to read a Real object.</td> -</tr> -<tr> -<td><a href="#PlistReader.readRefs">readRefs</a></td> -<td>Public method to read References.</td> -</tr> -<tr> -<td><a href="#PlistReader.readRoot">readRoot</a></td> -<td>Public method to read the root object.</td> -</tr> -<tr> -<td><a href="#PlistReader.readUid">readUid</a></td> -<td>Public method to read a UID.</td> -</tr> -<tr> -<td><a href="#PlistReader.readUnicode">readUnicode</a></td> -<td>Public method to read an Unicode encoded string.</td> -</tr> -<tr> -<td><a href="#PlistReader.reset">reset</a></td> -<td>Public method to reset the instance object.</td> -</tr> -<tr> -<td><a href="#PlistReader.setCurrentOffsetToObjectNumber">setCurrentOffsetToObjectNumber</a></td> -<td>Public method to set the current offset.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="PlistReader.__init__" ID="PlistReader.__init__"></a> -<h4>PlistReader (Constructor)</h4> -<b>PlistReader</b>(<i>fileOrStream</i>) - -<p> - Constructor -</p> -<dl> - -<dt><i>fileOrStream</i></dt> -<dd> -open file containing the plist data (file object) -</dd> -</dl> -<a NAME="PlistReader.getSizedInteger" ID="PlistReader.getSizedInteger"></a> -<h4>PlistReader.getSizedInteger</h4> -<b>getSizedInteger</b>(<i>data, length</i>) - -<p> - Public method to read an integer of a specific size. -</p> -<dl> - -<dt><i>data</i></dt> -<dd> -data to extract the integer from (bytes) -</dd> -<dt><i>length</i></dt> -<dd> -length of the integer (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -read integer (integer) -</dd> -</dl> -<dl> - -<dt>Raises <b>InvalidPlistException</b>:</dt> -<dd> -raised to indicate an invalid - plist file -</dd> -</dl> -<a NAME="PlistReader.parse" ID="PlistReader.parse"></a> -<h4>PlistReader.parse</h4> -<b>parse</b>(<i></i>) - -<p> - Public method to parse the plist data. -</p> -<dl> -<dt>Returns:</dt> -<dd> -unpickled object -</dd> -</dl> -<a NAME="PlistReader.proc_extra" ID="PlistReader.proc_extra"></a> -<h4>PlistReader.proc_extra</h4> -<b>proc_extra</b>(<i></i>) - -<a NAME="PlistReader.readArray" ID="PlistReader.readArray"></a> -<h4>PlistReader.readArray</h4> -<b>readArray</b>(<i>count</i>) - -<p> - Public method to read an Array object. -</p> -<dl> - -<dt><i>count</i></dt> -<dd> -number of array elements (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -list of unpickled objects -</dd> -</dl> -<a NAME="PlistReader.readAsciiString" ID="PlistReader.readAsciiString"></a> -<h4>PlistReader.readAsciiString</h4> -<b>readAsciiString</b>(<i>length</i>) - -<p> - Public method to read an ASCII encoded string. -</p> -<dl> - -<dt><i>length</i></dt> -<dd> -length of the string (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -ASCII encoded string -</dd> -</dl> -<a NAME="PlistReader.readData" ID="PlistReader.readData"></a> -<h4>PlistReader.readData</h4> -<b>readData</b>(<i>length</i>) - -<p> - Public method to read some bytes. -</p> -<dl> - -<dt><i>length</i></dt> -<dd> -number of bytes to read (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -Data object -</dd> -</dl> -<a NAME="PlistReader.readDate" ID="PlistReader.readDate"></a> -<h4>PlistReader.readDate</h4> -<b>readDate</b>(<i></i>) - -<p> - Public method to read a date. -</p> -<dl> -<dt>Returns:</dt> -<dd> -date object (datetime.datetime) -</dd> -</dl> -<a NAME="PlistReader.readDict" ID="PlistReader.readDict"></a> -<h4>PlistReader.readDict</h4> -<b>readDict</b>(<i>count</i>) - -<p> - Public method to read a Dictionary object. -</p> -<dl> - -<dt><i>count</i></dt> -<dd> -number of dictionary elements (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -dictionary of unpickled objects -</dd> -</dl> -<a NAME="PlistReader.readInteger" ID="PlistReader.readInteger"></a> -<h4>PlistReader.readInteger</h4> -<b>readInteger</b>(<i>length</i>) - -<p> - Public method to read an Integer object. -</p> -<dl> - -<dt><i>length</i></dt> -<dd> -length of the object (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -integer object -</dd> -</dl> -<a NAME="PlistReader.readObject" ID="PlistReader.readObject"></a> -<h4>PlistReader.readObject</h4> -<b>readObject</b>(<i></i>) - -<p> - Public method to read the object data. -</p> -<dl> -<dt>Returns:</dt> -<dd> -unpickled object -</dd> -</dl> -<dl> - -<dt>Raises <b>InvalidPlistException</b>:</dt> -<dd> -raised to indicate an invalid - plist file -</dd> -</dl> -<a NAME="PlistReader.readReal" ID="PlistReader.readReal"></a> -<h4>PlistReader.readReal</h4> -<b>readReal</b>(<i>length</i>) - -<p> - Public method to read a Real object. -</p> -<dl> - -<dt><i>length</i></dt> -<dd> -length of the object (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -float object -</dd> -</dl> -<dl> - -<dt>Raises <b>InvalidPlistException</b>:</dt> -<dd> -raised to indicate an invalid - plist file -</dd> -</dl> -<a NAME="PlistReader.readRefs" ID="PlistReader.readRefs"></a> -<h4>PlistReader.readRefs</h4> -<b>readRefs</b>(<i>count</i>) - -<p> - Public method to read References. -</p> -<dl> - -<dt><i>count</i></dt> -<dd> -amount of the references (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -list of references (list of integers) -</dd> -</dl> -<a NAME="PlistReader.readRoot" ID="PlistReader.readRoot"></a> -<h4>PlistReader.readRoot</h4> -<b>readRoot</b>(<i></i>) - -<p> - Public method to read the root object. -</p> -<dl> -<dt>Returns:</dt> -<dd> -unpickled object -</dd> -</dl> -<dl> - -<dt>Raises <b>InvalidPlistException</b>:</dt> -<dd> -raised to indicate an invalid - plist file -</dd> -<dt>Raises <b>NotBinaryPlistException</b>:</dt> -<dd> -raised to indicate, that the - plist file is not a binary file -</dd> -</dl> -<a NAME="PlistReader.readUid" ID="PlistReader.readUid"></a> -<h4>PlistReader.readUid</h4> -<b>readUid</b>(<i>length</i>) - -<p> - Public method to read a UID. -</p> -<dl> - -<dt><i>length</i></dt> -<dd> -length of the UID (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -Uid object -</dd> -</dl> -<a NAME="PlistReader.readUnicode" ID="PlistReader.readUnicode"></a> -<h4>PlistReader.readUnicode</h4> -<b>readUnicode</b>(<i>length</i>) - -<p> - Public method to read an Unicode encoded string. -</p> -<dl> - -<dt><i>length</i></dt> -<dd> -length of the string (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -unicode encoded string -</dd> -</dl> -<a NAME="PlistReader.reset" ID="PlistReader.reset"></a> -<h4>PlistReader.reset</h4> -<b>reset</b>(<i></i>) - -<p> - Public method to reset the instance object. -</p> -<a NAME="PlistReader.setCurrentOffsetToObjectNumber" ID="PlistReader.setCurrentOffsetToObjectNumber"></a> -<h4>PlistReader.setCurrentOffsetToObjectNumber</h4> -<b>setCurrentOffsetToObjectNumber</b>(<i>objectNumber</i>) - -<p> - Public method to set the current offset. -</p> -<dl> - -<dt><i>objectNumber</i></dt> -<dd> -number of the object (integer) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="PlistWriter" ID="PlistWriter"></a> -<h2>PlistWriter</h2> - -<p> - Class implementing the plist writer. -</p> -<h3>Derived from</h3> -object -<h3>Class Attributes</h3> - -<table> -<tr><td>byteCounts</td></tr><tr><td>computedUniques</td></tr><tr><td>file</td></tr><tr><td>header</td></tr><tr><td>referencePositions</td></tr><tr><td>trailer</td></tr><tr><td>wrappedFalse</td></tr><tr><td>wrappedTrue</td></tr><tr><td>writtenReferences</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#PlistWriter.__init__">PlistWriter</a></td> -<td>Constructor</td> -</tr> -<tr> -<td><a href="#PlistWriter.__checkKey">__checkKey</a></td> -<td>Private method to check the validity of a key.</td> -</tr> -<tr> -<td><a href="#PlistWriter.__processSize">__processSize</a></td> -<td>Private method to process a size.</td> -</tr> -<tr> -<td><a href="#PlistWriter.binaryInt">binaryInt</a></td> -<td>Public method to pack an integer object.</td> -</tr> -<tr> -<td><a href="#PlistWriter.binaryReal">binaryReal</a></td> -<td>Public method to pack a real object.</td> -</tr> -<tr> -<td><a href="#PlistWriter.computeOffsets">computeOffsets</a></td> -<td>Public method to compute offsets of an object.</td> -</tr> -<tr> -<td><a href="#PlistWriter.incrementByteCount">incrementByteCount</a></td> -<td>Public method to increment the byte count.</td> -</tr> -<tr> -<td><a href="#PlistWriter.intSize">intSize</a></td> -<td>Public method to determine the number of bytes necessary to store the given integer.</td> -</tr> -<tr> -<td><a href="#PlistWriter.positionOfObjectReference">positionOfObjectReference</a></td> -<td>Public method to get the position of an object.</td> -</tr> -<tr> -<td><a href="#PlistWriter.proc_variable_length">proc_variable_length</a></td> -<td></td> -</tr> -<tr> -<td><a href="#PlistWriter.realSize">realSize</a></td> -<td>Public method to determine the number of bytes necessary to store the given real.</td> -</tr> -<tr> -<td><a href="#PlistWriter.reset">reset</a></td> -<td>Public method to reset the instance object.</td> -</tr> -<tr> -<td><a href="#PlistWriter.wrapRoot">wrapRoot</a></td> -<td>Public method to generate object wrappers.</td> -</tr> -<tr> -<td><a href="#PlistWriter.writeObject">writeObject</a></td> -<td>Public method to serialize the given object to the output.</td> -</tr> -<tr> -<td><a href="#PlistWriter.writeObjectReference">writeObjectReference</a></td> -<td>Public method to write an object reference.</td> -</tr> -<tr> -<td><a href="#PlistWriter.writeOffsetTable">writeOffsetTable</a></td> -<td>Public method to write all of the object reference offsets.</td> -</tr> -<tr> -<td><a href="#PlistWriter.writeRoot">writeRoot</a></td> -<td>Public method to write an object to a plist file.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="PlistWriter.__init__" ID="PlistWriter.__init__"></a> -<h4>PlistWriter (Constructor)</h4> -<b>PlistWriter</b>(<i>file</i>) - -<p> - Constructor -</p> -<dl> - -<dt><i>file</i></dt> -<dd> -file to write the plist data to (file object) -</dd> -</dl> -<a NAME="PlistWriter.__checkKey" ID="PlistWriter.__checkKey"></a> -<h4>PlistWriter.__checkKey</h4> -<b>__checkKey</b>(<i>key</i>) - -<p> - Private method to check the validity of a key. -</p> -<dl> - -<dt><i>key</i></dt> -<dd> -key to be checked -</dd> -</dl> -<dl> - -<dt>Raises <b>InvalidPlistException</b>:</dt> -<dd> -raised to indicate an invalid - plist file -</dd> -</dl> -<a NAME="PlistWriter.__processSize" ID="PlistWriter.__processSize"></a> -<h4>PlistWriter.__processSize</h4> -<b>__processSize</b>(<i>size</i>) - -<p> - Private method to process a size. -</p> -<dl> - -<dt><i>size</i></dt> -<dd> -size value to be processed (int) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -processed size (int) -</dd> -</dl> -<a NAME="PlistWriter.binaryInt" ID="PlistWriter.binaryInt"></a> -<h4>PlistWriter.binaryInt</h4> -<b>binaryInt</b>(<i>obj, length=None</i>) - -<p> - Public method to pack an integer object. -</p> -<dl> - -<dt><i>obj</i></dt> -<dd> -integer to be packed -</dd> -<dt><i>length</i></dt> -<dd> -length the integer should be packed into (integer) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -serialized object (bytes) -</dd> -</dl> -<dl> - -<dt>Raises <b>InvalidPlistException</b>:</dt> -<dd> -raised to indicate an invalid - plist file -</dd> -</dl> -<a NAME="PlistWriter.binaryReal" ID="PlistWriter.binaryReal"></a> -<h4>PlistWriter.binaryReal</h4> -<b>binaryReal</b>(<i>obj</i>) - -<p> - Public method to pack a real object. -</p> -<dl> - -<dt><i>obj</i></dt> -<dd> -real to be packed -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -serialized object (bytes) -</dd> -</dl> -<a NAME="PlistWriter.computeOffsets" ID="PlistWriter.computeOffsets"></a> -<h4>PlistWriter.computeOffsets</h4> -<b>computeOffsets</b>(<i>obj, asReference=False, isRoot=False</i>) - -<p> - Public method to compute offsets of an object. -</p> -<dl> - -<dt><i>obj</i></dt> -<dd> -plist object -</dd> -<dt><i>asReference</i></dt> -<dd> -flag indicating offsets as references (boolean) -</dd> -<dt><i>isRoot</i></dt> -<dd> -flag indicating a root object (boolean) -</dd> -</dl> -<dl> - -<dt>Raises <b>InvalidPlistException</b>:</dt> -<dd> -raised to indicate an invalid - plist file -</dd> -</dl> -<a NAME="PlistWriter.incrementByteCount" ID="PlistWriter.incrementByteCount"></a> -<h4>PlistWriter.incrementByteCount</h4> -<b>incrementByteCount</b>(<i>field, incr=1</i>) - -<p> - Public method to increment the byte count. -</p> -<dl> - -<dt><i>field</i></dt> -<dd> -field to evaluate -</dd> -<dt><i>incr</i></dt> -<dd> -byte count increment (integer) -</dd> -</dl> -<a NAME="PlistWriter.intSize" ID="PlistWriter.intSize"></a> -<h4>PlistWriter.intSize</h4> -<b>intSize</b>(<i>obj</i>) - -<p> - Public method to determine the number of bytes necessary to store the - given integer. -</p> -<dl> - -<dt><i>obj</i></dt> -<dd> -integer object -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -number of bytes required (integer) -</dd> -</dl> -<dl> - -<dt>Raises <b>InvalidPlistException</b>:</dt> -<dd> -raised to indicate an invalid - plist file -</dd> -</dl> -<a NAME="PlistWriter.positionOfObjectReference" ID="PlistWriter.positionOfObjectReference"></a> -<h4>PlistWriter.positionOfObjectReference</h4> -<b>positionOfObjectReference</b>(<i>obj</i>) - -<p> - Public method to get the position of an object. -</p> -<p> - If the given object has been written already, return its - position in the offset table. Otherwise, return None. -</p> -<dl> - -<dt><i>obj</i></dt> -<dd> -object -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -position of the object (integer) -</dd> -</dl> -<a NAME="PlistWriter.proc_variable_length" ID="PlistWriter.proc_variable_length"></a> -<h4>PlistWriter.proc_variable_length</h4> -<b>proc_variable_length</b>(<i>length</i>) - -<a NAME="PlistWriter.realSize" ID="PlistWriter.realSize"></a> -<h4>PlistWriter.realSize</h4> -<b>realSize</b>(<i>obj</i>) - -<p> - Public method to determine the number of bytes necessary to store the - given real. -</p> -<dl> - -<dt><i>obj</i></dt> -<dd> -real object -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -number of bytes required (integer) -</dd> -</dl> -<a NAME="PlistWriter.reset" ID="PlistWriter.reset"></a> -<h4>PlistWriter.reset</h4> -<b>reset</b>(<i></i>) - -<p> - Public method to reset the instance object. -</p> -<a NAME="PlistWriter.wrapRoot" ID="PlistWriter.wrapRoot"></a> -<h4>PlistWriter.wrapRoot</h4> -<b>wrapRoot</b>(<i>root</i>) - -<p> - Public method to generate object wrappers. -</p> -<dl> - -<dt><i>root</i></dt> -<dd> -object to be wrapped -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -wrapped object -</dd> -</dl> -<a NAME="PlistWriter.writeObject" ID="PlistWriter.writeObject"></a> -<h4>PlistWriter.writeObject</h4> -<b>writeObject</b>(<i>obj, output, setReferencePosition=False</i>) - -<p> - Public method to serialize the given object to the output. -</p> -<dl> - -<dt><i>obj</i></dt> -<dd> -object to be serialized -</dd> -<dt><i>output</i></dt> -<dd> -output to be serialized to (bytes) -</dd> -<dt><i>setReferencePosition</i></dt> -<dd> -flag indicating, that the reference - position the object was written to shall be recorded (boolean) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -new output -</dd> -</dl> -<a NAME="PlistWriter.writeObjectReference" ID="PlistWriter.writeObjectReference"></a> -<h4>PlistWriter.writeObjectReference</h4> -<b>writeObjectReference</b>(<i>obj, output</i>) - -<p> - Public method to write an object reference. -</p> -<p> - Tries to write an object reference, adding it to the references - table. Does not write the actual object bytes or set the reference - position. Returns a tuple of whether the object was a new reference - (True if it was, False if it already was in the reference table) - and the new output. -</p> -<dl> - -<dt><i>obj</i></dt> -<dd> -object to be written -</dd> -<dt><i>output</i></dt> -<dd> -output stream to append the object to -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -flag indicating a new reference and the new output -</dd> -</dl> -<a NAME="PlistWriter.writeOffsetTable" ID="PlistWriter.writeOffsetTable"></a> -<h4>PlistWriter.writeOffsetTable</h4> -<b>writeOffsetTable</b>(<i>output</i>) - -<p> - Public method to write all of the object reference offsets. -</p> -<dl> - -<dt><i>output</i></dt> -<dd> -current output (bytes) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -new output (bytes) -</dd> -</dl> -<dl> - -<dt>Raises <b>InvalidPlistException</b>:</dt> -<dd> -raised to indicate an invalid - plist file -</dd> -</dl> -<a NAME="PlistWriter.writeRoot" ID="PlistWriter.writeRoot"></a> -<h4>PlistWriter.writeRoot</h4> -<b>writeRoot</b>(<i>root</i>) - -<p> - Public method to write an object to a plist file. -</p> -<p> - Strategy is: - <ul> - <li>write header</li> - <li>wrap root object so everything is hashable</li> - <li>compute size of objects which will be written - <ul> - <li>need to do this in order to know how large the object refs - will be in the list/dict/set reference lists</li> - </ul></li> - <li>write objects - <ul> - <li>keep objects in writtenReferences</li> - <li>keep positions of object references in referencePositions</li> - <li>write object references with the length computed previously</li> - </ul></li> - <li>computer object reference length</li> - <li>write object reference positions</li> - <li>write trailer</li> - </ul> -</p> -<dl> - -<dt><i>root</i></dt> -<dd> -reference to the object to be written -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="Uid" ID="Uid"></a> -<h2>Uid</h2> - -<p> - Class implementing a wrapper around integers for representing UID values. -</p> -<p> - This is used in keyed archiving. -</p> -<h3>Derived from</h3> -int -<h3>Class Attributes</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Class Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> - -<table> - -<tr> -<td><a href="#Uid.__repr__">__repr__</a></td> -<td>Special method to return an object representation.</td> -</tr> -</table> -<h3>Static Methods</h3> - -<table> -<tr><td>None</td></tr> -</table> - -<a NAME="Uid.__repr__" ID="Uid.__repr__"></a> -<h4>Uid.__repr__</h4> -<b>__repr__</b>(<i></i>) - -<p> - Special method to return an object representation. -</p> -<dl> -<dt>Returns:</dt> -<dd> -object representation (string) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="is_stream_binary_plist" ID="is_stream_binary_plist"></a> -<h2>is_stream_binary_plist</h2> -<b>is_stream_binary_plist</b>(<i>stream</i>) - -<p> - Module function to check, if the stream is a binary plist. -</p> -<dl> - -<dt><i>stream</i></dt> -<dd> -plist stream (file object) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -flag indicating a binary plist (boolean) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="readPlist" ID="readPlist"></a> -<h2>readPlist</h2> -<b>readPlist</b>(<i>pathOrFile</i>) - -<p> - Module function to read a plist file. -</p> -<dl> - -<dt><i>pathOrFile</i></dt> -<dd> -name of the plist file (string) or an open file - (file object) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -reference to the read object -</dd> -</dl> -<dl> - -<dt>Raises <b>InvalidPlistException</b>:</dt> -<dd> -raised to signal an invalid plist file -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="readPlistFromBytes" ID="readPlistFromBytes"></a> -<h2>readPlistFromBytes</h2> -<b>readPlistFromBytes</b>(<i>data</i>) - -<p> - Module function to read from a plist bytes object. -</p> -<dl> - -<dt><i>data</i></dt> -<dd> -plist data (bytes) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -reference to the read object -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="writePlist" ID="writePlist"></a> -<h2>writePlist</h2> -<b>writePlist</b>(<i>rootObject, pathOrFile, binary=True</i>) - -<p> - Module function to write a plist file. -</p> -<dl> - -<dt><i>rootObject</i></dt> -<dd> -reference to the object to be written -</dd> -<dt><i>pathOrFile</i></dt> -<dd> -name of the plist file (string) or an open file - (file object) -</dd> -<dt><i>binary</i></dt> -<dd> -flag indicating the generation of a binary plist file - (boolean) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> -<a NAME="writePlistToBytes" ID="writePlistToBytes"></a> -<h2>writePlistToBytes</h2> -<b>writePlistToBytes</b>(<i>rootObject, binary=True</i>) - -<p> - Module function to write a plist bytes object. -</p> -<dl> - -<dt><i>rootObject</i></dt> -<dd> -reference to the object to be written -</dd> -<dt><i>binary</i></dt> -<dd> -flag indicating the generation of a binary plist bytes - object (boolean) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -bytes object containing the plist data -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/eric6.VirtualEnv.VirtualenvManagerDialog.html Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Source/eric6.VirtualEnv.VirtualenvManagerDialog.html Wed Sep 02 18:06:20 2020 +0200 @@ -59,7 +59,7 @@ <h3>Class Attributes</h3> <table> -<tr><td>ExecPathRole</td></tr><tr><td>IsCondaRole</td></tr><tr><td>IsGlobalRole</td></tr><tr><td>IsRemoteRole</td></tr><tr><td>PythonVariantRole</td></tr> +<tr><td>ExecPathRole</td></tr><tr><td>IsCondaRole</td></tr><tr><td>IsGlobalRole</td></tr><tr><td>IsRemoteRole</td></tr> </table> <h3>Class Methods</h3>
--- a/eric6/Documentation/Source/index-eric6.Plugins.CheckerPlugins.html Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Source/index-eric6.Plugins.CheckerPlugins.html Wed Sep 02 18:06:20 2020 +0200 @@ -36,10 +36,6 @@ <td><a href="index-eric6.Plugins.CheckerPlugins.SyntaxChecker.html">SyntaxChecker</a></td> <td>Package containing the Syntax Checker plugin.</td> </tr> -<tr> -<td><a href="index-eric6.Plugins.CheckerPlugins.Tabnanny.html">Tabnanny</a></td> -<td>Package containing the Tabnanny plugin.</td> -</tr> </table> </body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/index-eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.html Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension</title> -<meta charset="UTF-8"> -<style> -body { - background: #EDECE6; - margin: 0em 1em 10em 1em; - color: black; -} - -h1 { color: white; background: #85774A; } -h2 { color: white; background: #85774A; } -h3 { color: white; background: #9D936E; } -h4 { color: white; background: #9D936E; } - -a { color: #BA6D36; } - -</style> -</head> -<body> -<h1>eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension</h1> - -<p> -Package implementing the fetch extension support interface. -</p> - - -<h3>Modules</h3> -<table> - -<tr> -<td><a href="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.HgFetchDialog.html">HgFetchDialog</a></td> -<td>Module implementing a dialog to enter data to be used for a fetch operation.</td> -</tr> -<tr> -<td><a href="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.ProjectHelper.html">ProjectHelper</a></td> -<td>Module implementing the fetch extension project helper.</td> -</tr> -<tr> -<td><a href="eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.fetch.html">fetch</a></td> -<td>Module implementing the fetch extension interface.</td> -</tr> -</table> -</body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/index-eric6.Plugins.VcsPlugins.vcsMercurial.html Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Source/index-eric6.Plugins.VcsPlugins.vcsMercurial.html Wed Sep 02 18:06:20 2020 +0200 @@ -41,10 +41,6 @@ <td>Package implementing the the Mercurial configuration page.</td> </tr> <tr> -<td><a href="index-eric6.Plugins.VcsPlugins.vcsMercurial.FetchExtension.html">FetchExtension</a></td> -<td>Package implementing the fetch extension support interface.</td> -</tr> -<tr> <td><a href="index-eric6.Plugins.VcsPlugins.vcsMercurial.GpgExtension.html">GpgExtension</a></td> <td>Package implementing the gpg extension support interface.</td> </tr>
--- a/eric6/Documentation/Source/index-eric6.Plugins.html Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Source/index-eric6.Plugins.html Wed Sep 02 18:06:20 2020 +0200 @@ -82,10 +82,6 @@ <td>Module implementing the Syntax Checker plugin.</td> </tr> <tr> -<td><a href="eric6.Plugins.PluginTabnanny.html">PluginTabnanny</a></td> -<td>Module implementing the Tabnanny plugin.</td> -</tr> -<tr> <td><a href="eric6.Plugins.PluginTranslator.html">PluginTranslator</a></td> <td>Module implementing the Translator plugin.</td> </tr>
--- a/eric6/Documentation/Source/index-eric6.Utilities.html Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Documentation/Source/index-eric6.Utilities.html Wed Sep 02 18:06:20 2020 +0200 @@ -86,10 +86,6 @@ <td>Package implementing various functions/classes needed everywhere within eric6.</td> </tr> <tr> -<td><a href="eric6.Utilities.binplistlib.html">binplistlib</a></td> -<td>Module implementing a library for reading and writing binary property list files.</td> -</tr> -<tr> <td><a href="eric6.Utilities.uic.html">uic</a></td> <td>Module implementing a function to compile all user interface files of a directory or directory tree.</td> </tr>
--- a/eric6/Globals/__init__.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Globals/__init__.py Wed Sep 02 18:06:20 2020 +0200 @@ -371,7 +371,11 @@ # step 1: extract suffix version = re.split(r"[^\d.]", version)[0] for part in version.split("."): - versionParts.append(int(part)) + try: + versionParts.append(int(part.strip())) + except ValueError: + # skip non-integer parts + pass versionParts.extend([0] * length) return tuple(versionParts[:length])
--- a/eric6/Plugins/CheckerPlugins/Tabnanny/Tabnanny.py Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,524 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -The Tab Nanny despises ambiguous indentation. She knows no mercy. - -tabnanny -- Detection of ambiguous indentation - -For the time being this module is intended to be called as a script. -However it is possible to import it into an IDE and use the function -check() described below. - -Warning: The API provided by this module is likely to change in future -releases; such changes may not be backward compatible. - -This is a modified version to make the original tabnanny better suitable -for being called from within the eric6 IDE. - -@exception ValueError The tokenize module is too old. -""" - -# Released to the public domain, by Tim Peters, 15 April 1998. - -# XXX Note: this is now a standard library module. -# XXX The API needs to undergo changes however; the current code is too -# XXX script-like. This will be addressed later. - -# -# This is a modified version to make the original tabnanny better suitable -# for being called from within the eric6 IDE. The modifications are as -# follows: -# -# - there is no main function anymore -# - check function has been modified to only accept a filename and return -# a tuple indicating status (1 = an error was found), the filename, the -# linenumber and the error message (boolean, string, string, string). The -# values are only valid, if the status equals 1. -# -# Mofifications Copyright (c) 2003-2020 Detlev Offenbach -# <detlev@die-offenbachs.de> -# - -__version__ = "6_eric" - -import tokenize -try: - import StringIO as io - import Queue as queue -except (ImportError): - import io # __IGNORE_WARNING__ - import queue - -import multiprocessing - - -if not hasattr(tokenize, 'NL'): - raise ValueError("tokenize.NL doesn't exist -- tokenize module too old") - -__all__ = ["check", "NannyNag", "process_tokens"] - - -def initService(): - """ - Initialize the service and return the entry point. - - @return the entry point for the background client (function) - """ - return check - - -def initBatchService(): - """ - Initialize the batch service and return the entry point. - - @return the entry point for the background client (function) - """ - return batchCheck - - -class NannyNag(Exception): - """ - Class implementing an exception for indentation issues. - - Raised by tokeneater() if detecting an ambiguous indent. - Captured and handled in check(). - """ - def __init__(self, lineno, msg, line): - """ - Constructor - - @param lineno Line number of the ambiguous indent. - @param msg Descriptive message assigned to this problem. - @param line The offending source line. - """ - self.lineno, self.msg, self.line = lineno, msg, line - - def get_lineno(self): - """ - Public method to retrieve the line number. - - @return The line number (integer) - """ - return self.lineno - - def get_msg(self): - """ - Public method to retrieve the message. - - @return The error message (string) - """ - return self.msg - - def get_line(self): - """ - Public method to retrieve the offending line. - - @return The line of code (string) - """ - return self.line - - -def check(file, text=""): - """ - Private function to check one Python source file for whitespace related - problems. - - @param file source filename (string) - @param text source text (string) - @return A tuple indicating status (True = an error was found), the - filename, the linenumber and the error message - (boolean, string, string, string). The values are only - valid, if the status is True. - """ - return __check(file, text) - - -def batchCheck(argumentsList, send, fx, cancelled, maxProcesses=0): - """ - Module function to check a batch of files for whitespace related problems. - - @param argumentsList list of arguments tuples as given for check - @type list - @param send reference to send function - @type func - @param fx registered service name - @type str - @param cancelled reference to function checking for a cancellation - @type func - @param maxProcesses number of processes to be used - @type int - """ - if maxProcesses == 0: - # determine based on CPU count - try: - NumberOfProcesses = multiprocessing.cpu_count() - if NumberOfProcesses >= 1: - NumberOfProcesses -= 1 - except NotImplementedError: - NumberOfProcesses = 1 - else: - NumberOfProcesses = maxProcesses - - # Create queues - taskQueue = multiprocessing.Queue() - doneQueue = multiprocessing.Queue() - - # Submit tasks (initially two time number of processes - initialTasks = 2 * NumberOfProcesses - for task in argumentsList[:initialTasks]: - taskQueue.put(task) - - # Start worker processes - for _ in range(NumberOfProcesses): - multiprocessing.Process( - target=worker, args=(taskQueue, doneQueue) - ).start() - - # Get and send results - endIndex = len(argumentsList) - initialTasks - for i in range(len(argumentsList)): - resultSent = False - wasCancelled = False - - while not resultSent: - try: - # get result (waiting max. 3 seconds and send it to frontend - filename, result = doneQueue.get() - send(fx, filename, result) - resultSent = True - except queue.Empty: - # ignore empty queue, just carry on - if cancelled(): - wasCancelled = True - break - - if wasCancelled or cancelled(): - # just exit the loop ignoring the results of queued tasks - break - - if i < endIndex: - taskQueue.put(argumentsList[i + initialTasks]) - - # Tell child processes to stop - for _ in range(NumberOfProcesses): - taskQueue.put('STOP') - - -def worker(inputQueue, outputQueue): - """ - Module function acting as the parallel worker for the style check. - - @param inputQueue input queue (multiprocessing.Queue) - @param outputQueue output queue (multiprocessing.Queue) - """ - for filename, source in iter(inputQueue.get, 'STOP'): - result = __check(filename, source) - outputQueue.put((filename, result)) - - -def __check(file, text=""): - """ - Private function to check one Python source file for whitespace related - problems. - - @param file source filename (string) - @param text source text (string) - @return A tuple indicating status (True = an error was found), the - filename, the linenumber and the error message - (boolean, string, string). The values are only - valid, if the status is True. - """ - global indents, check_equal - indents = [Whitespace("")] - check_equal = 0 - if not text: - return (True, "1", "Error: source code missing.") - - source = io.StringIO(text) - try: - process_tokens(tokenize.generate_tokens(source.readline)) - - except tokenize.TokenError as msg: - return (True, "1", "Token Error: {0}".format(str(msg))) - - except IndentationError as err: - return (True, str(err.lineno), - "Indentation Error: {0}".format(str(err.msg))) - - except NannyNag as nag: - badline = nag.get_lineno() - line = nag.get_line() - return (True, str(badline), line) - - except Exception as err: - return (True, "1", "Unspecific Error: {0}".format(str(err))) - - return (False, "", "") - - -class Whitespace(object): - """ - Class implementing the whitespace checker. - """ - # the characters used for space and tab - S, T = ' \t' - - # members: - # raw - # the original string - # n - # the number of leading whitespace characters in raw - # nt - # the number of tabs in raw[:n] - # norm - # the normal form as a pair (count, trailing), where: - # count - # a tuple such that raw[:n] contains count[i] - # instances of S * i + T - # trailing - # the number of trailing spaces in raw[:n] - # It's A Theorem that m.indent_level(t) == - # n.indent_level(t) for all t >= 1 iff m.norm == n.norm. - # is_simple - # true iff raw[:n] is of the form (T*)(S*) - - def __init__(self, ws): - """ - Constructor - - @param ws The string to be checked. - """ - self.raw = ws - S, T = Whitespace.S, Whitespace.T - count = [] - b = n = nt = 0 - for ch in self.raw: - if ch == S: - n = n + 1 - b = b + 1 - elif ch == T: - n = n + 1 - nt = nt + 1 - if b >= len(count): - count = count + [0] * (b - len(count) + 1) - count[b] = count[b] + 1 - b = 0 - else: - break - self.n = n - self.nt = nt - self.norm = tuple(count), b - self.is_simple = len(count) <= 1 - - # return length of longest contiguous run of spaces (whether or not - # preceding a tab) - def longest_run_of_spaces(self): - """ - Public method to calculate the length of longest contiguous run of - spaces. - - @return The length of longest contiguous run of spaces (whether or not - preceding a tab) - """ - count, trailing = self.norm - return max(len(count) - 1, trailing) - - def indent_level(self, tabsize): - """ - Public method to determine the indentation level. - - @param tabsize The length of a tab stop. (integer) - @return indentation level (integer) - """ - ## count, il = self.norm - ## for i in range(len(count)): - ## if count[i]: - ## il = il + (i/tabsize + 1)*tabsize * count[i] - ## return il - - ## quicker: - ## il = trailing + sum (i/ts + 1)*ts*count[i] = - ## trailing + ts * sum (i/ts + 1)*count[i] = - ## trailing + ts * sum i/ts*count[i] + count[i] = - ## trailing + ts * [(sum i/ts*count[i]) + (sum count[i])] = - ## trailing + ts * [(sum i/ts*count[i]) + num_tabs] - ## and note that i/ts*count[i] is 0 when i < ts - - count, trailing = self.norm - il = 0 - for i in range(tabsize, len(count)): - il = il + i / tabsize * count[i] - return trailing + tabsize * (il + self.nt) - - # return true iff self.indent_level(t) == other.indent_level(t) - # for all t >= 1 - def equal(self, other): - """ - Public method to compare the indentation levels of two Whitespace - objects for equality. - - @param other Whitespace object to compare against. - @return True, if we compare equal against the other Whitespace object. - """ - return self.norm == other.norm - - # return a list of tuples (ts, i1, i2) such that - # i1 == self.indent_level(ts) != other.indent_level(ts) == i2. - # Intended to be used after not self.equal(other) is known, in which - # case it will return at least one witnessing tab size. - def not_equal_witness(self, other): - """ - Public method to calculate a tuple of witnessing tab size. - - Intended to be used after not self.equal(other) is known, in which - case it will return at least one witnessing tab size. - - @param other Whitespace object to calculate against. - @return A list of tuples (ts, i1, i2) such that - i1 == self.indent_level(ts) != other.indent_level(ts) == i2. - """ - n = max(self.longest_run_of_spaces(), - other.longest_run_of_spaces()) + 1 - a = [] - for ts in range(1, n + 1): - if self.indent_level(ts) != other.indent_level(ts): - a.append((ts, - self.indent_level(ts), - other.indent_level(ts))) - return a - - # Return True iff self.indent_level(t) < other.indent_level(t) - # for all t >= 1. - # The algorithm is due to Vincent Broman. - # Easy to prove it's correct. - # XXXpost that. - # Trivial to prove n is sharp (consider T vs ST). - # Unknown whether there's a faster general way. I suspected so at - # first, but no longer. - # For the special (but common!) case where M and N are both of the - # form (T*)(S*), M.less(N) iff M.len() < N.len() and - # M.num_tabs() <= N.num_tabs(). Proof is easy but kinda long-winded. - # XXXwrite that up. - # Note that M is of the form (T*)(S*) iff len(M.norm[0]) <= 1. - def less(self, other): - """ - Public method to compare the indentation level against another - Whitespace objects to be smaller. - - @param other Whitespace object to compare against. - @return True, if we compare less against the other Whitespace object. - """ - if self.n >= other.n: - return False - if self.is_simple and other.is_simple: - return self.nt <= other.nt - n = max(self.longest_run_of_spaces(), - other.longest_run_of_spaces()) + 1 - # the self.n >= other.n test already did it for ts=1 - for ts in range(2, n + 1): - if self.indent_level(ts) >= other.indent_level(ts): - return False - return True - - # return a list of tuples (ts, i1, i2) such that - # i1 == self.indent_level(ts) >= other.indent_level(ts) == i2. - # Intended to be used after not self.less(other) is known, in which - # case it will return at least one witnessing tab size. - def not_less_witness(self, other): - """ - Public method to calculate a tuple of witnessing tab size. - - Intended to be used after not self.less(other is known, in which - case it will return at least one witnessing tab size. - - @param other Whitespace object to calculate against. - @return A list of tuples (ts, i1, i2) such that - i1 == self.indent_level(ts) >= other.indent_level(ts) == i2. - """ - n = max(self.longest_run_of_spaces(), - other.longest_run_of_spaces()) + 1 - a = [] - for ts in range(1, n + 1): - if self.indent_level(ts) >= other.indent_level(ts): - a.append((ts, - self.indent_level(ts), - other.indent_level(ts))) - return a - - -def format_witnesses(w): - """ - Function to format the witnesses as a readable string. - - @param w A list of witnesses - @return A formated string of the witnesses. - """ - firsts = [str(tup[0]) for tup in w] - prefix = "at tab size" - if len(w) > 1: - prefix = prefix + "s" - return prefix + " " + ', '.join(firsts) - - -def process_tokens(tokens): - """ - Function processing all tokens generated by a tokenizer run. - - @param tokens list of tokens - @exception NannyNag raised to indicate an indentation error - """ - INDENT = tokenize.INDENT - DEDENT = tokenize.DEDENT - NEWLINE = tokenize.NEWLINE - JUNK = tokenize.COMMENT, tokenize.NL - indents = [Whitespace("")] - check_equal = 0 - - for (tokenType, token, start, _end, line) in tokens: - if tokenType == NEWLINE: - # a program statement, or ENDMARKER, will eventually follow, - # after some (possibly empty) run of tokens of the form - # (NL | COMMENT)* (INDENT | DEDENT+)? - # If an INDENT appears, setting check_equal is wrong, and will - # be undone when we see the INDENT. - check_equal = 1 - - elif tokenType == INDENT: - check_equal = 0 - thisguy = Whitespace(token) - if not indents[-1].less(thisguy): - witness = indents[-1].not_less_witness(thisguy) - msg = "indent not greater e.g. " + format_witnesses(witness) - raise NannyNag(start[0], msg, line) - indents.append(thisguy) - - elif tokenType == DEDENT: - # there's nothing we need to check here! what's important is - # that when the run of DEDENTs ends, the indentation of the - # program statement (or ENDMARKER) that triggered the run is - # equal to what's left at the top of the indents stack - - # Ouch! This assert triggers if the last line of the source - # is indented *and* lacks a newline -- then DEDENTs pop out - # of thin air. - # assert check_equal # else no earlier NEWLINE, or an - # earlier INDENT - check_equal = 1 - - del indents[-1] - - elif check_equal and tokenType not in JUNK: - # this is the first "real token" following a NEWLINE, so it - # must be the first token of the next program statement, or an - # ENDMARKER; the "line" argument exposes the leading whitespace - # for this statement; in the case of ENDMARKER, line is an empty - # string, so will properly match the empty string with which the - # "indents" stack was seeded - check_equal = 0 - thisguy = Whitespace(line) - if not indents[-1].equal(thisguy): - witness = indents[-1].not_equal_witness(thisguy) - msg = "indent not equal e.g. " + format_witnesses(witness) - raise NannyNag(start[0], msg, line) - -# eflag: noqa = M111
--- a/eric6/Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.py Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,391 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2003 - 2020 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing a dialog to show the output of the tabnanny command -process. -""" - - -import os -import fnmatch - -from PyQt5.QtCore import pyqtSlot, Qt, QTimer -from PyQt5.QtWidgets import ( - QDialog, QDialogButtonBox, QTreeWidgetItem, QApplication, QHeaderView -) - -from E5Gui.E5Application import e5App - -from .Ui_TabnannyDialog import Ui_TabnannyDialog - -import Utilities -import Preferences - - -class TabnannyDialog(QDialog, Ui_TabnannyDialog): - """ - Class implementing a dialog to show the results of the tabnanny check run. - """ - filenameRole = Qt.UserRole + 1 - - def __init__(self, indentCheckService, parent=None): - """ - Constructor - - @param indentCheckService reference to the service (IndentCheckService) - @param parent The parent widget (QWidget). - """ - super(TabnannyDialog, self).__init__(parent) - self.setupUi(self) - self.setWindowFlags(Qt.Window) - - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) - - self.resultList.headerItem().setText(self.resultList.columnCount(), "") - self.resultList.header().setSortIndicator(0, Qt.AscendingOrder) - - self.indentCheckService = indentCheckService - self.indentCheckService.indentChecked.connect(self.__processResult) - self.indentCheckService.batchFinished.connect(self.__batchFinished) - self.indentCheckService.error.connect(self.__processError) - self.filename = None - - self.noResults = True - self.cancelled = False - self.__finished = True - self.__errorItem = None - - self.__fileList = [] - self.__project = None - self.filterFrame.setVisible(False) - - self.checkProgress.setVisible(False) - self.checkProgressLabel.setVisible(False) - self.checkProgressLabel.setMaximumWidth(600) - - def __resort(self): - """ - Private method to resort the tree. - """ - self.resultList.sortItems( - self.resultList.sortColumn(), - self.resultList.header().sortIndicatorOrder()) - - def __createErrorItem(self, filename, message): - """ - Private slot to create a new error item in the result list. - - @param filename name of the file - @type str - @param message error message - @type str - """ - if self.__errorItem is None: - self.__errorItem = QTreeWidgetItem(self.resultList, [ - self.tr("Errors")]) - self.__errorItem.setExpanded(True) - self.__errorItem.setForeground(0, Qt.red) - - msg = "{0} ({1})".format(self.__project.getRelativePath(filename), - message) - if not self.resultList.findItems(msg, Qt.MatchExactly): - itm = QTreeWidgetItem(self.__errorItem, [msg]) - itm.setForeground(0, Qt.red) - itm.setFirstColumnSpanned(True) - - def __createResultItem(self, filename, line, sourcecode): - """ - Private method to create an entry in the result list. - - @param filename filename of file (string) - @param line linenumber of faulty source (integer or string) - @param sourcecode faulty line of code (string) - """ - itm = QTreeWidgetItem(self.resultList) - itm.setData(0, Qt.DisplayRole, - self.__project.getRelativePath(filename)) - itm.setData(1, Qt.DisplayRole, line) - itm.setData(2, Qt.DisplayRole, sourcecode) - itm.setTextAlignment(1, Qt.AlignRight) - itm.setData(0, self.filenameRole, filename) - - def prepare(self, fileList, project): - """ - Public method to prepare the dialog with a list of filenames. - - @param fileList list of filenames (list of strings) - @param project reference to the project object (Project) - """ - self.__fileList = fileList[:] - self.__project = project - - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) - - self.filterFrame.setVisible(True) - - self.__data = self.__project.getData("CHECKERSPARMS", "Tabnanny") - if self.__data is None or "ExcludeFiles" not in self.__data: - self.__data = {"ExcludeFiles": ""} - self.excludeFilesEdit.setText(self.__data["ExcludeFiles"]) - - def start(self, fn): - """ - Public slot to start the tabnanny check. - - @param fn File or list of files or directory to be checked - (string or list of strings) - """ - if self.__project is None: - self.__project = e5App().getObject("Project") - - self.cancelled = False - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) - self.checkProgress.setVisible(True) - QApplication.processEvents() - - if isinstance(fn, list): - self.files = fn - elif os.path.isdir(fn): - self.files = [] - extensions = set(Preferences.getPython("Python3Extensions")) - for ext in extensions: - self.files.extend( - Utilities.direntries(fn, True, '*{0}'.format(ext), 0)) - else: - self.files = [fn] - - self.__errorItem = None - - if len(self.files) > 0: - self.checkProgress.setMaximum(len(self.files)) - self.checkProgress.setVisible(len(self.files) > 1) - self.checkProgressLabel.setVisible(len(self.files) > 1) - QApplication.processEvents() - - # now go through all the files - self.progress = 0 - self.files.sort() - if len(self.files) == 1: - self.__batch = False - self.check() - else: - self.__batch = True - self.checkBatch() - - def check(self, codestring=''): - """ - Public method to start an indentation check for one file. - - The results are reported to the __processResult slot. - @keyparam codestring optional sourcestring (str) - """ - if not self.files: - self.checkProgressLabel.setPath("") - self.checkProgress.setMaximum(1) - self.checkProgress.setValue(1) - self.__finish() - return - - self.filename = self.files.pop(0) - self.checkProgress.setValue(self.progress) - self.checkProgressLabel.setPath(self.filename) - QApplication.processEvents() - self.__resort() - - if self.cancelled: - return - - try: - self.source = Utilities.readEncodedFile(self.filename)[0] - self.source = Utilities.normalizeCode(self.source) - except (UnicodeError, IOError) as msg: - self.noResults = False - self.__createResultItem( - self.filename, 1, - "Error: {0}".format(str(msg)).rstrip()) - self.progress += 1 - # Continue with next file - self.check() - return - - self.__finished = False - self.indentCheckService.indentCheck( - None, self.filename, self.source) - - def checkBatch(self): - """ - Public method to start an indentation check batch job. - - The results are reported to the __processResult slot. - """ - self.__lastFileItem = None - - self.checkProgressLabel.setPath(self.tr("Preparing files...")) - progress = 0 - - argumentsList = [] - for filename in self.files: - progress += 1 - self.checkProgress.setValue(progress) - QApplication.processEvents() - - try: - source = Utilities.readEncodedFile(filename)[0] - source = Utilities.normalizeCode(source) - except (UnicodeError, IOError) as msg: - self.noResults = False - self.__createResultItem( - filename, 1, - "Error: {0}".format(str(msg)).rstrip()) - continue - - argumentsList.append((filename, source)) - - # reset the progress bar to the checked files - self.checkProgress.setValue(self.progress) - self.checkProgressLabel.setPath(self.tr("Transferring data...")) - QApplication.processEvents() - - self.__finished = False - self.indentCheckService.indentBatchCheck(argumentsList) - - def __batchFinished(self): - """ - Private slot handling the completion of a batch job. - """ - self.checkProgressLabel.setPath("") - self.checkProgress.setMaximum(1) - self.checkProgress.setValue(1) - self.__finish() - - def __processError(self, fn, msg): - """ - Private slot to process an error indication from the service. - - @param fn filename of the file - @type str - @param msg error message - @type str - """ - self.__createErrorItem(fn, msg) - - if not self.__batch: - self.check() - - def __processResult(self, fn, nok, line, error): - """ - Private slot called after perfoming a style check on one file. - - @param fn filename of the just checked file (str) - @param nok flag if a problem was found (bool) - @param line line number (str) - @param error text of the problem (str) - """ - if self.__finished: - return - - # Check if it's the requested file, otherwise ignore signal if not - # in batch mode - if not self.__batch and fn != self.filename: - return - - if nok: - self.noResults = False - self.__createResultItem(fn, line, error.rstrip()) - self.progress += 1 - - self.checkProgress.setValue(self.progress) - self.checkProgressLabel.setPath(fn) - QApplication.processEvents() - self.__resort() - - if not self.__batch: - self.check() - - def __finish(self): - """ - Private slot called when the action or the user pressed the button. - """ - if not self.__finished: - self.__finished = True - - self.cancelled = True - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) - - if self.noResults: - self.__createResultItem( - self.tr('No indentation errors found.'), "", "") - QApplication.processEvents() - self.resultList.header().resizeSections( - QHeaderView.ResizeToContents) - self.resultList.header().setStretchLastSection(True) - - self.checkProgress.setVisible(False) - self.checkProgressLabel.setVisible(False) - - def on_buttonBox_clicked(self, button): - """ - Private slot called by a button of the button box clicked. - - @param button button that was clicked (QAbstractButton) - """ - if button == self.buttonBox.button(QDialogButtonBox.Close): - self.close() - elif button == self.buttonBox.button(QDialogButtonBox.Cancel): - if self.__batch: - self.indentCheckService.cancelIndentBatchCheck() - QTimer.singleShot(1000, self.__finish) - else: - self.__finish() - - @pyqtSlot() - def on_startButton_clicked(self): - """ - Private slot to start a code metrics run. - """ - fileList = self.__fileList[:] - - filterString = self.excludeFilesEdit.text() - if ( - "ExcludeFiles" not in self.__data or - filterString != self.__data["ExcludeFiles"] - ): - self.__data["ExcludeFiles"] = filterString - self.__project.setData("CHECKERSPARMS", "Tabnanny", self.__data) - filterList = [f.strip() for f in filterString.split(",") - if f.strip()] - if filterList: - for fileFilter in filterList: - fileList = [ - f for f in fileList if not fnmatch.fnmatch(f, fileFilter) - ] - - self.resultList.clear() - self.noResults = True - self.cancelled = False - self.start(fileList) - - def on_resultList_itemActivated(self, itm, col): - """ - Private slot to handle the activation of an item. - - @param itm reference to the activated item (QTreeWidgetItem) - @param col column the item was activated in (integer) - """ - if self.noResults: - return - - fn = Utilities.normabspath(itm.data(0, self.filenameRole)) - lineno = int(itm.text(1)) - - e5App().getObject("ViewManager").openSourceFile(fn, lineno)
--- a/eric6/Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.ui Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,173 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>TabnannyDialog</class> - <widget class="QDialog" name="TabnannyDialog"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>650</width> - <height>400</height> - </rect> - </property> - <property name="windowTitle"> - <string>Tabnanny Result</string> - </property> - <property name="whatsThis"> - <string><b>Tabnanny Results</b> -<p>This dialog shows the results of the tabnanny command. Double clicking an -entry will open an editor window and position the cursor at the respective line.</p></string> - </property> - <property name="sizeGripEnabled"> - <bool>true</bool> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QFrame" name="filterFrame"> - <property name="frameShape"> - <enum>QFrame::NoFrame</enum> - </property> - <property name="frameShadow"> - <enum>QFrame::Raised</enum> - </property> - <layout class="QHBoxLayout" name="horizontalLayout"> - <property name="margin"> - <number>0</number> - </property> - <item> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>Exclude Files:</string> - </property> - </widget> - </item> - <item> - <widget class="E5ClearableLineEdit" name="excludeFilesEdit"> - <property name="toolTip"> - <string>Enter filename patterns of files to be excluded separated by a comma</string> - </property> - </widget> - </item> - <item> - <widget class="Line" name="line"> - <property name="lineWidth"> - <number>2</number> - </property> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="startButton"> - <property name="toolTip"> - <string>Press to start the tabnanny run</string> - </property> - <property name="text"> - <string>Start</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QTreeWidget" name="resultList"> - <property name="whatsThis"> - <string><b>Result List</b> -<p>This list shows the results of the tabnanny command. Double clicking -an entry will open this entry in an editor window and position the cursor at -the respective line.</p></string> - </property> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="rootIsDecorated"> - <bool>false</bool> - </property> - <property name="itemsExpandable"> - <bool>false</bool> - </property> - <property name="sortingEnabled"> - <bool>true</bool> - </property> - <column> - <property name="text"> - <string>Filename</string> - </property> - </column> - <column> - <property name="text"> - <string>#</string> - </property> - </column> - <column> - <property name="text"> - <string>Source</string> - </property> - </column> - </widget> - </item> - <item> - <widget class="E5SqueezeLabelPath" name="checkProgressLabel"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item> - <widget class="QProgressBar" name="checkProgress"> - <property name="toolTip"> - <string>Shows the progress of the tabnanny action</string> - </property> - <property name="value"> - <number>0</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="format"> - <string>%v/%m Files</string> - </property> - </widget> - </item> - <item> - <widget class="QDialogButtonBox" name="buttonBox"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons"> - <set>QDialogButtonBox::Cancel|QDialogButtonBox::Close</set> - </property> - </widget> - </item> - </layout> - </widget> - <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> - <customwidgets> - <customwidget> - <class>E5SqueezeLabelPath</class> - <extends>QLabel</extends> - <header>E5Gui/E5SqueezeLabels.h</header> - </customwidget> - <customwidget> - <class>E5ClearableLineEdit</class> - <extends>QLineEdit</extends> - <header>E5Gui/E5LineEdit.h</header> - </customwidget> - </customwidgets> - <tabstops> - <tabstop>startButton</tabstop> - <tabstop>excludeFilesEdit</tabstop> - <tabstop>resultList</tabstop> - <tabstop>buttonBox</tabstop> - </tabstops> - <resources/> - <connections/> -</ui>
--- a/eric6/Plugins/CheckerPlugins/Tabnanny/__init__.py Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2007 - 2020 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Package containing the Tabnanny plugin. -"""
--- a/eric6/Plugins/PluginTabnanny.py Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,392 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2007 - 2020 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing the Tabnanny plugin. -""" - -# TODO: remove tabnanny as it is obsolete - -import os - -from PyQt5.QtCore import QObject, pyqtSignal - -from E5Gui.E5Application import e5App -from E5Gui.E5Action import E5Action -from Project.ProjectBrowserModel import ProjectBrowserFileItem -from Utilities import determinePythonVersion - -import Preferences -import UI.Info - -# Start-Of-Header -name = "Tabnanny Plugin" -author = "Detlev Offenbach <detlev@die-offenbachs.de>" -autoactivate = True -deactivateable = True -version = UI.Info.VersionOnly -className = "TabnannyPlugin" -packageName = "__core__" -shortDescription = "Show the Tabnanny dialog." -longDescription = ( - """This plugin implements the Tabnanny dialog.""" - """ Tabnanny is used to check Python source files for correct""" - """ indentations.""" -) -pyqtApi = 2 -# End-Of-Header - -error = "" - - -class TabnannyPlugin(QObject): - """ - Class implementing the Tabnanny plugin. - - @signal indentChecked(str, bool, str, str) emitted when the indent - check was done. - @signal batchFinished() emitted when a style check batch is done - @signal error(str, str) emitted in case of an error - """ - indentChecked = pyqtSignal(str, bool, str, str) - batchFinished = pyqtSignal() - error = pyqtSignal(str, str) - - def __init__(self, ui): - """ - Constructor - - @param ui reference to the user interface object (UI.UserInterface) - """ - super(TabnannyPlugin, self).__init__(ui) - self.__ui = ui - self.__initialize() - - self.backgroundService = e5App().getObject("BackgroundService") - - path = os.path.join( - os.path.dirname(__file__), 'CheckerPlugins', 'Tabnanny') - self.backgroundService.serviceConnect( - 'indent', 'Python3', path, 'Tabnanny', - lambda *args: self.indentChecked.emit(*args), - onErrorCallback=self.serviceErrorPy3, - onBatchDone=self.batchJobDone) - - self.queuedBatches = [] - self.batchesFinished = True - - def __serviceError(self, fn, msg): - """ - Private slot handling service errors. - - @param fn file name (string) - @param msg message text (string) - """ - self.error.emit(fn, msg) - - def serviceErrorPy3(self, fx, lang, fn, msg): - """ - Public slot handling service errors for Python 3. - - @param fx service name (string) - @param lang language (string) - @param fn file name (string) - @param msg message text (string) - """ - if fx in ['indent', 'batch_indent'] and lang == 'Python3': - if fx == 'indent': - self.__serviceError(fn, msg) - else: - self.__serviceError(self.tr("Python 3 batch check"), msg) - self.batchJobDone(fx, lang) - - def batchJobDone(self, fx, lang): - """ - Public slot handling the completion of a batch job. - - @param fx service name (string) - @param lang language (string) - """ - if fx in ['indent', 'batch_indent']: - if lang in self.queuedBatches: - self.queuedBatches.remove(lang) - # prevent sending the signal multiple times - if len(self.queuedBatches) == 0 and not self.batchesFinished: - self.batchFinished.emit() - self.batchesFinished = True - - def __initialize(self): - """ - Private slot to (re)initialize the plugin. - """ - self.__projectAct = None - self.__projectTabnannyDialog = None - - self.__projectBrowserAct = None - self.__projectBrowserMenu = None - self.__projectBrowserTabnannyDialog = None - - self.__editors = [] - self.__editorAct = None - self.__editorTabnannyDialog = None - - def indentCheck(self, lang, filename, source): - """ - Public method to prepare an indentation check on one Python source - file. - - @param lang language of the file or None to determine by internal - algorithm (str or None) - @param filename source filename (string) - @param source string containing the code to check (string) - """ - if lang is None: - lang = 'Python{0}'.format(determinePythonVersion(filename, source)) - if lang != 'Python3': - return - - self.backgroundService.enqueueRequest( - 'indent', lang, filename, [source]) - - def indentBatchCheck(self, argumentsList): - """ - Public method to prepare an indentation check on multiple Python - source files. - - @param argumentsList list of arguments tuples with each tuple - containing filename and source (string, string) - """ - data = { - "Python3": [], - } - for filename, source in argumentsList: - lang = 'Python{0}'.format(determinePythonVersion(filename, source)) - if lang != 'Python3': - continue - else: - data[lang].append((filename, source)) - - self.queuedBatches = [] - if data['Python3']: - self.queuedBatches.append('Python3') - self.backgroundService.enqueueRequest( - 'batch_indent', 'Python3', "", data['Python3']) - self.batchesFinished = False - - def cancelIndentBatchCheck(self): - """ - Public method to cancel all batch jobs. - """ - self.backgroundService.requestCancel('batch_style', 'Python3') - - def activate(self): - """ - Public method to activate this plugin. - - @return tuple of None and activation status (boolean) - """ - menu = e5App().getObject("Project").getMenu("Checks") - if menu: - self.__projectAct = E5Action( - self.tr('Check Indentations'), - self.tr('&Indentations...'), 0, 0, - self, 'project_check_indentations') - self.__projectAct.setStatusTip( - self.tr('Check indentations using tabnanny.')) - self.__projectAct.setWhatsThis(self.tr( - """<b>Check Indentations...</b>""" - """<p>This checks Python files""" - """ for bad indentations using tabnanny.</p>""" - )) - self.__projectAct.triggered.connect(self.__projectTabnanny) - e5App().getObject("Project").addE5Actions([self.__projectAct]) - menu.addAction(self.__projectAct) - - self.__editorAct = E5Action( - self.tr('Check Indentations'), - self.tr('&Indentations...'), 0, 0, - self, "") - self.__editorAct.setWhatsThis(self.tr( - """<b>Check Indentations...</b>""" - """<p>This checks Python files""" - """ for bad indentations using tabnanny.</p>""" - )) - self.__editorAct.triggered.connect(self.__editorTabnanny) - - e5App().getObject("Project").showMenu.connect(self.__projectShowMenu) - e5App().getObject("ProjectBrowser").getProjectBrowser( - "sources").showMenu.connect(self.__projectBrowserShowMenu) - e5App().getObject("ViewManager").editorOpenedEd.connect( - self.__editorOpened) - e5App().getObject("ViewManager").editorClosedEd.connect( - self.__editorClosed) - - for editor in e5App().getObject("ViewManager").getOpenEditors(): - self.__editorOpened(editor) - - return None, True - - def deactivate(self): - """ - Public method to deactivate this plugin. - """ - e5App().getObject("Project").showMenu.disconnect( - self.__projectShowMenu) - e5App().getObject("ProjectBrowser").getProjectBrowser( - "sources").showMenu.disconnect(self.__projectBrowserShowMenu) - e5App().getObject("ViewManager").editorOpenedEd.disconnect( - self.__editorOpened) - e5App().getObject("ViewManager").editorClosedEd.disconnect( - self.__editorClosed) - - menu = e5App().getObject("Project").getMenu("Checks") - if menu: - menu.removeAction(self.__projectAct) - - if self.__projectBrowserMenu: - if self.__projectBrowserAct: - self.__projectBrowserMenu.removeAction( - self.__projectBrowserAct) - - for editor in self.__editors: - editor.showMenu.disconnect(self.__editorShowMenu) - menu = editor.getMenu("Checks") - if menu is not None: - menu.removeAction(self.__editorAct) - - self.__initialize() - - def __projectShowMenu(self, menuName, menu): - """ - Private slot called, when the the project menu or a submenu is - about to be shown. - - @param menuName name of the menu to be shown (string) - @param menu reference to the menu (QMenu) - """ - if menuName == "Checks" and self.__projectAct is not None: - self.__projectAct.setEnabled( - e5App().getObject("Project").getProjectLanguage() in - ["Python3", "MicroPython"]) - - def __projectBrowserShowMenu(self, menuName, menu): - """ - Private slot called, when the the project browser context menu or a - submenu is about to be shown. - - @param menuName name of the menu to be shown (string) - @param menu reference to the menu (QMenu) - """ - if ( - menuName == "Checks" and - e5App().getObject("Project").getProjectLanguage() in - ["Python3", "MicroPython"] - ): - self.__projectBrowserMenu = menu - if self.__projectBrowserAct is None: - self.__projectBrowserAct = E5Action( - self.tr('Check Indentations'), - self.tr('&Indentations...'), 0, 0, - self, "") - self.__projectBrowserAct.setWhatsThis(self.tr( - """<b>Check Indentations...</b>""" - """<p>This checks Python files""" - """ for bad indentations using tabnanny.</p>""" - )) - self.__projectBrowserAct.triggered.connect( - self.__projectBrowserTabnanny) - if self.__projectBrowserAct not in menu.actions(): - menu.addAction(self.__projectBrowserAct) - - def __projectTabnanny(self): - """ - Private slot used to check the project files for bad indentations. - """ - project = e5App().getObject("Project") - project.saveAllScripts() - ppath = project.getProjectPath() - files = [os.path.join(ppath, file) - for file in project.pdata["SOURCES"] - if file.endswith( - tuple(Preferences.getPython("Python3Extensions")))] - - from CheckerPlugins.Tabnanny.TabnannyDialog import TabnannyDialog - self.__projectTabnannyDialog = TabnannyDialog(self) - self.__projectTabnannyDialog.show() - self.__projectTabnannyDialog.prepare(files, project) - - def __projectBrowserTabnanny(self): - """ - Private method to handle the tabnanny context menu action of the - project sources browser. - """ - browser = e5App().getObject("ProjectBrowser").getProjectBrowser( - "sources") - if browser.getSelectedItemsCount([ProjectBrowserFileItem]) > 1: - fn = [] - for itm in browser.getSelectedItems([ProjectBrowserFileItem]): - fn.append(itm.fileName()) - else: - itm = browser.model().item(browser.currentIndex()) - try: - fn = itm.fileName() - except AttributeError: - fn = itm.dirName() - - from CheckerPlugins.Tabnanny.TabnannyDialog import TabnannyDialog - self.__projectBrowserTabnannyDialog = TabnannyDialog(self) - self.__projectBrowserTabnannyDialog.show() - self.__projectBrowserTabnannyDialog.start(fn) - - def __editorOpened(self, editor): - """ - Private slot called, when a new editor was opened. - - @param editor reference to the new editor (QScintilla.Editor) - """ - menu = editor.getMenu("Checks") - if menu is not None: - menu.addAction(self.__editorAct) - editor.showMenu.connect(self.__editorShowMenu) - self.__editors.append(editor) - - def __editorClosed(self, editor): - """ - Private slot called, when an editor was closed. - - @param editor reference to the editor (QScintilla.Editor) - """ - try: - self.__editors.remove(editor) - except ValueError: - pass - - def __editorShowMenu(self, menuName, menu, editor): - """ - Private slot called, when the the editor context menu or a submenu is - about to be shown. - - @param menuName name of the menu to be shown (string) - @param menu reference to the menu (QMenu) - @param editor reference to the editor - """ - if menuName == "Checks": - if self.__editorAct not in menu.actions(): - menu.addAction(self.__editorAct) - self.__editorAct.setEnabled(editor.isPyFile()) - - def __editorTabnanny(self): - """ - Private slot to handle the tabnanny context menu action of the editors. - """ - editor = e5App().getObject("ViewManager").activeWindow() - if editor is not None: - if editor.checkDirty() and editor.getFileName() is not None: - from CheckerPlugins.Tabnanny.TabnannyDialog import ( - TabnannyDialog - ) - self.__editorTabnannyDialog = TabnannyDialog(self) - self.__editorTabnannyDialog.show() - self.__editorTabnannyDialog.start(editor.getFileName())
--- a/eric6/Plugins/PluginVcsGit.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/PluginVcsGit.py Wed Sep 02 18:06:20 2020 +0200 @@ -234,17 +234,13 @@ from VcsPlugins.vcsGit.git import Git self.__object = Git(self, self.__ui) - tbData = self.__ui.getToolbar("vcs") - if tbData: - tb = tbData[1] - tb.setVisible(False) - tb.setEnabled(False) + tb = self.__ui.getToolbar("vcs")[1] + tb.setVisible(False) + tb.setEnabled(False) - tbData = self.__ui.getToolbar("git") - if tbData: - tb = tbData[1] - tb.setVisible(True) - tb.setEnabled(True) + tb = self.__ui.getToolbar("git")[1] + tb.setVisible(Preferences.getVCS("ShowVcsToolbar")) + tb.setEnabled(True) return self.__object, True @@ -254,17 +250,13 @@ """ self.__object = None - tbData = self.__ui.getToolbar("git") - if tbData: - tb = tbData[1] - tb.setVisible(False) - tb.setEnabled(False) + tb = self.__ui.getToolbar("git")[1] + tb.setVisible(False) + tb.setEnabled(False) - tbData = self.__ui.getToolbar("vcs") - if tbData: - tb = tbData[1] - tb.setVisible(True) - tb.setEnabled(True) + tb = self.__ui.getToolbar("vcs")[1] + tb.setVisible(Preferences.getVCS("ShowVcsToolbar")) + tb.setEnabled(True) @classmethod def getPreferences(cls, key):
--- a/eric6/Plugins/PluginVcsMercurial.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/PluginVcsMercurial.py Wed Sep 02 18:06:20 2020 +0200 @@ -239,7 +239,7 @@ tb.setEnabled(False) tb = self.__ui.getToolbar("mercurial")[1] - tb.setVisible(True) + tb.setVisible(Preferences.getVCS("ShowVcsToolbar")) tb.setEnabled(True) return self.__object, True @@ -255,7 +255,7 @@ tb.setEnabled(False) tb = self.__ui.getToolbar("vcs")[1] - tb.setVisible(True) + tb.setVisible(Preferences.getVCS("ShowVcsToolbar")) tb.setEnabled(True) @classmethod
--- a/eric6/Plugins/PluginVcsPySvn.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/PluginVcsPySvn.py Wed Sep 02 18:06:20 2020 +0200 @@ -202,7 +202,7 @@ tb.setEnabled(False) tb = self.__ui.getToolbar("pysvn")[1] - tb.setVisible(True) + tb.setVisible(Preferences.getVCS("ShowVcsToolbar")) tb.setEnabled(True) return self.__object, True @@ -218,7 +218,7 @@ tb.setEnabled(False) tb = self.__ui.getToolbar("vcs")[1] - tb.setVisible(True) + tb.setVisible(Preferences.getVCS("ShowVcsToolbar")) tb.setEnabled(True) def getPreferences(self, key):
--- a/eric6/Plugins/PluginVcsSubversion.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/PluginVcsSubversion.py Wed Sep 02 18:06:20 2020 +0200 @@ -208,7 +208,7 @@ tb.setEnabled(False) tb = self.__ui.getToolbar("subversion")[1] - tb.setVisible(True) + tb.setVisible(Preferences.getVCS("ShowVcsToolbar")) tb.setEnabled(True) return self.__object, True @@ -224,7 +224,7 @@ tb.setEnabled(False) tb = self.__ui.getToolbar("vcs")[1] - tb.setVisible(True) + tb.setVisible(Preferences.getVCS("ShowVcsToolbar")) tb.setEnabled(True) def getPreferences(self, key):
--- a/eric6/Plugins/VcsPlugins/vcsGit/ProjectHelper.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsGit/ProjectHelper.py Wed Sep 02 18:06:20 2020 +0200 @@ -1601,7 +1601,7 @@ self.__toolbar.setVisible(False) ui.registerToolbar("git", self.__toolbar.windowTitle(), - self.__toolbar) + self.__toolbar, "vcs") ui.addToolBar(self.__toolbar) def removeToolbar(self, ui, toolbarManager):
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/FetchExtension/HgFetchDialog.py Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2011 - 2020 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing a dialog to enter data to be used for a fetch operation. -""" - - -from PyQt5.QtCore import pyqtSlot -from PyQt5.QtWidgets import QDialog - -from .Ui_HgFetchDialog import Ui_HgFetchDialog - - -class HgFetchDialog(QDialog, Ui_HgFetchDialog): - """ - Class implementing a dialog to enter data to be used for a fetch operation. - """ - def __init__(self, vcs, parent=None): - """ - Constructor - - @param vcs reference to the Mercurial vcs object - @type Hg - @param parent reference to the parent widget - @type QWidget - """ - super(HgFetchDialog, self).__init__(parent) - self.setupUi(self) - - self.__vcs = vcs - - commitMessages = self.__vcs.getPlugin().getPreferences('Commits') - self.recentComboBox.clear() - self.recentComboBox.addItem("") - for message in commitMessages: - abbrMsg = message[:60] - if len(message) > 60: - abbrMsg += "..." - self.recentComboBox.addItem(abbrMsg, message) - - @pyqtSlot(str) - def on_recentComboBox_activated(self, txt): - """ - Private slot to select a commit message from recent ones. - - @param txt text of the selected entry (string) - """ - if txt: - self.messageEdit.setPlainText(self.recentComboBox.currentData()) - - def getData(self): - """ - Public method to get the data for the fetch operation. - - @return tuple with the commit message and a flag indicating to switch - the merge order (string, boolean) - """ - msg = self.messageEdit.toPlainText() - if msg: - commitMessages = self.__vcs.getPlugin().getPreferences('Commits') - if msg in commitMessages: - commitMessages.remove(msg) - commitMessages.insert(0, msg) - no = self.__vcs.getPlugin().getPreferences("CommitMessages") - del commitMessages[no:] - self.__vcs.getPlugin().setPreferences( - 'Commits', commitMessages) - - return msg, self.switchCheckBox.isChecked()
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/FetchExtension/HgFetchDialog.ui Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,116 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>HgFetchDialog</class> - <widget class="QDialog" name="HgFetchDialog"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>400</width> - <height>300</height> - </rect> - </property> - <property name="windowTitle"> - <string>Fetch Changes</string> - </property> - <property name="sizeGripEnabled"> - <bool>true</bool> - </property> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QGroupBox" name="groupBox"> - <property name="title"> - <string>Commit Message</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QPlainTextEdit" name="messageEdit"> - <property name="toolTip"> - <string>Enter commit message or leave empty to use the default message</string> - </property> - <property name="tabChangesFocus"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>Recent commit messages</string> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="recentComboBox"> - <property name="toolTip"> - <string>Select a recent commit message to use</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QCheckBox" name="switchCheckBox"> - <property name="toolTip"> - <string>Select to switch the merge order</string> - </property> - <property name="text"> - <string>Switch Parents when Merging</string> - </property> - </widget> - </item> - <item> - <widget class="QDialogButtonBox" name="buttonBox"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons"> - <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> - </property> - </widget> - </item> - </layout> - </widget> - <tabstops> - <tabstop>messageEdit</tabstop> - <tabstop>recentComboBox</tabstop> - <tabstop>switchCheckBox</tabstop> - <tabstop>buttonBox</tabstop> - </tabstops> - <resources/> - <connections> - <connection> - <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>HgFetchDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel"> - <x>248</x> - <y>254</y> - </hint> - <hint type="destinationlabel"> - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> - <signal>rejected()</signal> - <receiver>HgFetchDialog</receiver> - <slot>reject()</slot> - <hints> - <hint type="sourcelabel"> - <x>316</x> - <y>260</y> - </hint> - <hint type="destinationlabel"> - <x>286</x> - <y>274</y> - </hint> - </hints> - </connection> - </connections> -</ui>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/FetchExtension/ProjectHelper.py Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2011 - 2020 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing the fetch extension project helper. -""" - - -from PyQt5.QtWidgets import QMenu - -from E5Gui.E5Action import E5Action -from E5Gui import E5MessageBox - -from ..HgExtensionProjectHelper import HgExtensionProjectHelper - -import UI.PixmapCache - - -class FetchProjectHelper(HgExtensionProjectHelper): - """ - Class implementing the fetch extension project helper. - """ - def __init__(self): - """ - Constructor - """ - super(FetchProjectHelper, self).__init__() - - def initActions(self): - """ - Public method to generate the action objects. - """ - self.hgFetchAct = E5Action( - self.tr('Fetch changes'), - UI.PixmapCache.getIcon("vcsUpdate"), - self.tr('Fetch changes'), - 0, 0, self, 'mercurial_fetch') - self.hgFetchAct.setStatusTip(self.tr( - 'Fetch changes from a remote repository' - )) - self.hgFetchAct.setWhatsThis(self.tr( - """<b>Fetch changes</b>""" - """<p>This pulls changes from a remote repository into the """ - """local repository. If the pulled changes add a new branch""" - """ head, the head is automatically merged, and the result of""" - """ the merge is committed. Otherwise, the working directory""" - """ is updated to include the new changes.</p>""" - )) - self.hgFetchAct.triggered.connect(self.__hgFetch) - self.actions.append(self.hgFetchAct) - - def initMenu(self, mainMenu): - """ - Public method to generate the extension menu. - - @param mainMenu reference to the main menu (QMenu) - @return populated menu (QMenu) - """ - menu = QMenu(self.menuTitle(), mainMenu) - menu.setIcon(UI.PixmapCache.getIcon("vcsUpdate")) - menu.setTearOffEnabled(True) - - menu.addAction(self.hgFetchAct) - - menu.aboutToShow.connect(self.__aboutToShowMenu) - - return menu - - def __aboutToShowMenu(self): - """ - Private slot to handle the aboutToShow signal of the background menu. - """ - self.hgFetchAct.setEnabled(self.vcs.canPull()) - - def menuTitle(self): - """ - Public method to get the menu title. - - @return title of the menu (string) - """ - return self.tr("Fetch") - - def __hgFetch(self): - """ - Private slot used to fetch changes from a remote repository. - """ - shouldReopen = self.vcs.getExtensionObject("fetch").hgFetch( - self.project.getProjectPath()) - if shouldReopen: - res = E5MessageBox.yesNo( - None, - self.tr("Fetch"), - self.tr("""The project should be reread. Do this now?"""), - yesDefault=True) - if res: - self.project.reopenProject()
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/FetchExtension/__init__.py Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2011 - 2020 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Package implementing the fetch extension support interface. -"""
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/FetchExtension/fetch.py Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2011 - 2020 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing the fetch extension interface. -""" - - -import os - -from PyQt5.QtWidgets import QDialog - -from ..HgExtension import HgExtension -from ..HgDialog import HgDialog - - -class Fetch(HgExtension): - """ - Class implementing the fetch extension interface. - """ - def __init__(self, vcs): - """ - Constructor - - @param vcs reference to the Mercurial vcs object - """ - super(Fetch, self).__init__(vcs) - - self.__vcs = vcs - - def hgFetch(self, name, revisions=None): - """ - Public method to fetch changes from a remote repository. - - @param name directory name of the project to be fetched to - @type str - @param revisions list of revisions to be pulled - @type list of str - @return flag indicating, that the update contained an add - or delete - @rtype bool - """ - # find the root of the repo - repodir = self.vcs.splitPath(name)[0] - while not os.path.isdir(os.path.join(repodir, self.vcs.adminDir)): - repodir = os.path.dirname(repodir) - if os.path.splitdrive(repodir)[1] == os.sep: - return False - - from .HgFetchDialog import HgFetchDialog - res = False - dlg = HgFetchDialog(self.__vcs) - if dlg.exec_() == QDialog.Accepted: - message, switchParent = dlg.getData() - - args = self.vcs.initCommand("fetch") - if message != "": - args.append("--message") - args.append(message) - if switchParent: - args.append("--switch-parent") - args.append("-v") - if revisions: - for rev in revisions: - args.append("--rev") - args.append(rev) - - dia = HgDialog( - self.tr('Fetching from a remote Mercurial repository'), - self.vcs) - res = dia.startProcess(args, repodir) - if res: - dia.exec_() - res = dia.hasAddOrDelete() - self.vcs.checkVCSStatus() - return res
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/gpg.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/GpgExtension/gpg.py Wed Sep 02 18:06:20 2020 +0200 @@ -19,7 +19,7 @@ class Gpg(HgExtension): """ - Class implementing the fetch extension interface. + Class implementing the gpg extension interface. """ def __init__(self, vcs): """ @@ -33,7 +33,7 @@ def shutdown(self): """ - Public method used to shutdown the fetch interface. + Public method used to shutdown the gpg interface. """ if self.gpgSignaturesDialog is not None: self.gpgSignaturesDialog.close()
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgDialog.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgDialog.py Wed Sep 02 18:06:20 2020 +0200 @@ -97,7 +97,7 @@ self.__hasAddOrDelete = False if ( - args[0] in ["fetch", "qpush", "qpop", "qgoto", "rebase", + args[0] in ["qpush", "qpop", "qgoto", "rebase", "update", "import", "revert", "graft", "shelve", "unshelve", "strip", "histedit"] or (args[0] in ["pull", "unbundle"] and
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py Wed Sep 02 18:06:20 2020 +0200 @@ -319,10 +319,6 @@ self.tr("Pull Large Files"), self.__lfPullActTriggered) self.__lfPullAct.setToolTip(self.tr( "Pull large files for selected revisions")) - self.__fetchAct = self.__actionsMenu.addAction( - self.tr("Fetch Changes"), self.__fetchActTriggered) - self.__fetchAct.setToolTip(self.tr( - "Fetch changes from a remote repository")) self.__actionsMenu.addSeparator() @@ -1449,21 +1445,16 @@ if selectedIncomingItemsCount > 0: self.__pullAct.setText(self.tr("Pull Selected Changes")) - self.__fetchAct.setText(self.tr("Fetch Selected Changes")) else: self.__pullAct.setText(self.tr("Pull Changes")) - self.__fetchAct.setText(self.tr("Fetch Changes")) if self.vcs.canPull(): self.__pullAct.setEnabled(True) self.__lfPullAct.setEnabled( self.vcs.isExtensionActive("largefiles") and selectedItemsCount > 0) - self.__fetchAct.setEnabled( - self.vcs.isExtensionActive("fetch")) else: self.__pullAct.setEnabled(False) self.__lfPullAct.setEnabled(False) - self.__fetchAct.setEnabled(False) if self.vcs.canPush(): self.__pushAct.setEnabled( @@ -1524,7 +1515,6 @@ act.setEnabled(False) self.__pullAct.setText(self.tr("Pull Selected Changes")) - self.__fetchAct.setText(self.tr("Fetch Selected Changes")) if self.vcs.canPull() and not bool(self.__bundle): selectedIncomingItemsCount = len([ itm for itm in self.logTree.selectedItems() @@ -1534,13 +1524,9 @@ self.__lfPullAct.setEnabled( self.vcs.isExtensionActive("largefiles") and selectedIncomingItemsCount > 0) - self.__fetchAct.setEnabled( - self.vcs.isExtensionActive("fetch") and - selectedIncomingItemsCount > 0) else: self.__pullAct.setEnabled(False) self.__lfPullAct.setEnabled(False) - self.__fetchAct.setEnabled(False) self.__unbundleAct.setEnabled(bool(self.__bundle)) @@ -1550,7 +1536,7 @@ for act in [self.__phaseAct, self.__graftAct, self.__mergeAct, self.__tagAct, self.__closeHeadsAct, self.__switchAct, self.__bookmarkAct, self.__bookmarkMoveAct, - self.__pullAct, self.__lfPullAct, self.__fetchAct, + self.__pullAct, self.__lfPullAct, self.__stripAct, self.__gpgSignAct, self.__gpgVerifyAct, self.__unbundleAct]: act.setEnabled(False) @@ -2151,41 +2137,6 @@ self.repodir, revisions=revs) @pyqtSlot() - def __fetchActTriggered(self): - """ - Private slot to fetch changes from a remote repository. - """ - shouldReopen = False - refresh = False - addNext = False - - if self.initialCommandMode in ("log", "full_log", "incoming"): - revs = [] - for itm in [item for item in self.logTree.selectedItems() - if item.data(0, self.__incomingRole)]: - rev = itm.text(self.RevisionColumn).split(":")[1].strip() - if rev: - revs.append(rev) - shouldReopen = self.vcs.getExtensionObject("fetch").hgFetch( - self.repodir, revisions=revs) - refresh = True - if self.initialCommandMode == "incoming": - addNext = True - if shouldReopen: - res = E5MessageBox.yesNo( - None, - self.tr("Fetch Changes"), - self.tr( - """The project should be reread. Do this now?"""), - yesDefault=True) - if res: - e5App().getObject("Project").reopenProject() - return - - if refresh: - self.on_refreshButton_clicked(addNext=addNext) - - @pyqtSlot() def __pullActTriggered(self): """ Private slot to pull changes from a remote repository.
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py Wed Sep 02 18:06:20 2020 +0200 @@ -121,12 +121,6 @@ ################################################################### if "extensions" not in self.__config: self.__config["extensions"] = {} - if self.fetchCheckBox.isChecked(): - self.__config["extensions"]["fetch"] = "" - else: - if "fetch" in self.__config["extensions"]: - del self.__config["extensions"]["fetch"] - self.__config["extensions"]["#fetch"] = "" if self.gpgCheckBox.isChecked(): self.__config["extensions"]["gpg"] = "" @@ -331,8 +325,6 @@ # step 2: extract extensions information if "extensions" in self.__config: - self.fetchCheckBox.setChecked( - "fetch" in self.__config["extensions"]) self.gpgCheckBox.setChecked( "gpg" in self.__config["extensions"]) self.purgeCheckBox.setChecked( @@ -459,7 +451,6 @@ self.userNameEdit.clear() self.emailEdit.clear() - self.fetchCheckBox.setChecked(False) self.gpgCheckBox.setChecked(False) self.purgeCheckBox.setChecked(False) self.queuesCheckBox.setChecked(False)
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.ui Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.ui Wed Sep 02 18:06:20 2020 +0200 @@ -131,16 +131,6 @@ </widget> </item> <item row="0" column="1"> - <widget class="QCheckBox" name="fetchCheckBox"> - <property name="toolTip"> - <string>Select to activate the fetch extension</string> - </property> - <property name="text"> - <string>Fetch</string> - </property> - </widget> - </item> - <item row="1" column="0"> <widget class="QCheckBox" name="gpgCheckBox"> <property name="toolTip"> <string>Select to activate the GPG extension</string> @@ -150,7 +140,7 @@ </property> </widget> </item> - <item row="1" column="1"> + <item row="1" column="0"> <widget class="QCheckBox" name="histeditCheckBox"> <property name="toolTip"> <string>Select to activate the histedit extension</string> @@ -160,7 +150,7 @@ </property> </widget> </item> - <item row="2" column="0"> + <item row="1" column="1"> <widget class="QCheckBox" name="largefilesCheckBox"> <property name="toolTip"> <string>Select to activate the largefiles extension</string> @@ -170,7 +160,7 @@ </property> </widget> </item> - <item row="2" column="1"> + <item row="2" column="0"> <widget class="QCheckBox" name="purgeCheckBox"> <property name="toolTip"> <string>Select to activate the Purge extension</string> @@ -180,7 +170,7 @@ </property> </widget> </item> - <item row="3" column="0"> + <item row="2" column="1"> <widget class="QCheckBox" name="queuesCheckBox"> <property name="toolTip"> <string>Select to activate the queues extension</string> @@ -190,7 +180,7 @@ </property> </widget> </item> - <item row="3" column="1"> + <item row="3" column="0"> <widget class="QCheckBox" name="rebaseCheckBox"> <property name="toolTip"> <string>Select to activate the rebase extension</string> @@ -200,7 +190,7 @@ </property> </widget> </item> - <item row="4" column="0"> + <item row="3" column="1"> <widget class="QCheckBox" name="shelveCheckBox"> <property name="toolTip"> <string>Select to activate the shelve extension</string> @@ -210,7 +200,7 @@ </property> </widget> </item> - <item row="4" column="1"> + <item row="4" column="0"> <widget class="QCheckBox" name="stripCheckBox"> <property name="toolTip"> <string>Select to activate the strip extension</string> @@ -683,15 +673,6 @@ <tabstop>userNameEdit</tabstop> <tabstop>emailEdit</tabstop> <tabstop>closeheadCheckBox</tabstop> - <tabstop>fetchCheckBox</tabstop> - <tabstop>gpgCheckBox</tabstop> - <tabstop>histeditCheckBox</tabstop> - <tabstop>largefilesCheckBox</tabstop> - <tabstop>purgeCheckBox</tabstop> - <tabstop>queuesCheckBox</tabstop> - <tabstop>rebaseCheckBox</tabstop> - <tabstop>shelveCheckBox</tabstop> - <tabstop>stripCheckBox</tabstop> <tabstop>lfFileSizeSpinBox</tabstop> <tabstop>lfFilePatternsEdit</tabstop> <tabstop>lfUserCachePicker</tabstop>
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py Wed Sep 02 18:06:20 2020 +0200 @@ -40,7 +40,6 @@ # instantiate the extensions from .QueuesExtension.ProjectHelper import QueuesProjectHelper - from .FetchExtension.ProjectHelper import FetchProjectHelper from .PurgeExtension.ProjectHelper import PurgeProjectHelper from .GpgExtension.ProjectHelper import GpgProjectHelper from .RebaseExtension.ProjectHelper import RebaseProjectHelper @@ -51,7 +50,6 @@ from .CloseheadExtension.ProjectHelper import CloseheadProjectHelper self.__extensions = { "mq": QueuesProjectHelper(), - "fetch": FetchProjectHelper(), "purge": PurgeProjectHelper(), "gpg": GpgProjectHelper(), "rebase": RebaseProjectHelper(), @@ -1579,7 +1577,7 @@ self.__toolbar.setVisible(False) ui.registerToolbar("mercurial", self.__toolbar.windowTitle(), - self.__toolbar) + self.__toolbar, "vcs") ui.addToolBar(self.__toolbar) def removeToolbar(self, ui, toolbarManager):
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py Wed Sep 02 18:06:20 2020 +0200 @@ -137,7 +137,6 @@ # instantiate the extensions from .QueuesExtension.queues import Queues - from .FetchExtension.fetch import Fetch from .PurgeExtension.purge import Purge from .GpgExtension.gpg import Gpg from .RebaseExtension.rebase import Rebase @@ -148,7 +147,6 @@ from .CloseheadExtension.closehead import Closehead self.__extensions = { "mq": Queues(self), - "fetch": Fetch(self), "purge": Purge(self), "gpg": Gpg(self), "rebase": Rebase(self),
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/ProjectHelper.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/ProjectHelper.py Wed Sep 02 18:06:20 2020 +0200 @@ -585,7 +585,7 @@ self.__toolbar.setVisible(False) ui.registerToolbar("pysvn", self.__toolbar.windowTitle(), - self.__toolbar) + self.__toolbar, "vcs") ui.addToolBar(self.__toolbar) def removeToolbar(self, ui, toolbarManager):
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/ProjectHelper.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/ProjectHelper.py Wed Sep 02 18:06:20 2020 +0200 @@ -568,7 +568,7 @@ self.__toolbar.setVisible(False) ui.registerToolbar("subversion", self.__toolbar.windowTitle(), - self.__toolbar) + self.__toolbar, "vcs") ui.addToolBar(self.__toolbar) def removeToolbar(self, ui, toolbarManager):
--- a/eric6/Preferences/ConfigurationPages/TasksPage.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Preferences/ConfigurationPages/TasksPage.py Wed Sep 02 18:06:20 2020 +0200 @@ -35,6 +35,10 @@ Preferences.getTasks("TasksTodoMarkers")) self.tasksMarkerNoteEdit.setText( Preferences.getTasks("TasksNoteMarkers")) + self.tasksMarkerTestEdit.setText( + Preferences.getTasks("TasksTestMarkers")) + self.tasksMarkerDocuEdit.setText( + Preferences.getTasks("TasksDocuMarkers")) self.initColour( "TasksFixmeColor", self.tasksFixmeColourButton, @@ -48,6 +52,12 @@ self.initColour( "TasksNoteColor", self.tasksNoteColourButton, Preferences.getTasks) + self.initColour( + "TasksTestColor", self.tasksTestColourButton, + Preferences.getTasks) + self.initColour( + "TasksDocuColor", self.tasksDocuColourButton, + Preferences.getTasks) self.clearCheckBox.setChecked(Preferences.getTasks("ClearOnFileClose")) @@ -64,6 +74,10 @@ Preferences.setTasks( "TasksNoteMarkers", self.tasksMarkerNoteEdit.text()) Preferences.setTasks( + "TasksTestMarkers", self.tasksMarkerTestEdit.text()) + Preferences.setTasks( + "TasksDocuMarkers", self.tasksMarkerDocuEdit.text()) + Preferences.setTasks( "ClearOnFileClose", self.clearCheckBox.isChecked()) self.saveColours(Preferences.setTasks)
--- a/eric6/Preferences/ConfigurationPages/TasksPage.ui Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Preferences/ConfigurationPages/TasksPage.ui Wed Sep 02 18:06:20 2020 +0200 @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>586</width> - <height>475</height> + <width>600</width> + <height>678</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout"> @@ -96,6 +96,34 @@ </property> </widget> </item> + <item row="4" column="0"> + <widget class="QLabel" name="textLabel4_7"> + <property name="text"> + <string>Test tasks:</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QLineEdit" name="tasksMarkerTestEdit"> + <property name="toolTip"> + <string>Enter the tasks markers separated by a space character.</string> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="textLabel4_6"> + <property name="text"> + <string>Documentation tasks:</string> + </property> + </widget> + </item> + <item row="5" column="1"> + <widget class="QLineEdit" name="tasksMarkerDocuEdit"> + <property name="toolTip"> + <string>Enter the tasks markers separated by a space character.</string> + </property> + </widget> + </item> </layout> </widget> </item> @@ -210,6 +238,52 @@ </property> </widget> </item> + <item row="4" column="0"> + <widget class="QLabel" name="textLabel1_4"> + <property name="text"> + <string>Test tasks:</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QPushButton" name="tasksTestColourButton"> + <property name="minimumSize"> + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="toolTip"> + <string>Select the background color for these tasks.</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="textLabel3_5"> + <property name="text"> + <string>Documentation tasks:</string> + </property> + </widget> + </item> + <item row="5" column="1"> + <widget class="QPushButton" name="tasksDocuColourButton"> + <property name="minimumSize"> + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="toolTip"> + <string>Select the background color for these tasks.</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> </layout> </widget> </item> @@ -252,10 +326,14 @@ <tabstop>tasksMarkerWarningEdit</tabstop> <tabstop>tasksMarkerTodoEdit</tabstop> <tabstop>tasksMarkerNoteEdit</tabstop> + <tabstop>tasksMarkerTestEdit</tabstop> + <tabstop>tasksMarkerDocuEdit</tabstop> <tabstop>tasksFixmeColourButton</tabstop> <tabstop>tasksWarningColourButton</tabstop> <tabstop>tasksTodoColourButton</tabstop> <tabstop>tasksNoteColourButton</tabstop> + <tabstop>tasksTestColourButton</tabstop> + <tabstop>tasksDocuColourButton</tabstop> <tabstop>clearCheckBox</tabstop> </tabstops> <resources/>
--- a/eric6/Preferences/ConfigurationPages/VcsPage.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Preferences/ConfigurationPages/VcsPage.py Wed Sep 02 18:06:20 2020 +0200 @@ -38,6 +38,8 @@ Preferences.getVCS("MonitorLocalStatus")) self.autoUpdateCheckBox.setChecked( Preferences.getVCS("AutoUpdate")) + self.vcsToolbarCheckBox.setChecked( + Preferences.getVCS("ShowVcsToolbar")) self.initColour( "VcsAdded", self.pbVcsAddedButton, @@ -80,6 +82,9 @@ Preferences.setVCS( "AutoUpdate", self.autoUpdateCheckBox.isChecked()) + Preferences.setVCS( + "ShowVcsToolbar", + self.vcsToolbarCheckBox.isChecked()) self.saveColours(Preferences.setProjectBrowserColour)
--- a/eric6/Preferences/ConfigurationPages/VcsPage.ui Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Preferences/ConfigurationPages/VcsPage.ui Wed Sep 02 18:06:20 2020 +0200 @@ -10,7 +10,7 @@ <height>572</height> </rect> </property> - <layout class="QVBoxLayout" name="verticalLayout"> + <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <widget class="QLabel" name="headerLabel"> <property name="text"> @@ -283,6 +283,25 @@ </widget> </item> <item> + <widget class="QGroupBox" name="groupBox_4"> + <property name="title"> + <string>Toolbars</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QCheckBox" name="vcsToolbarCheckBox"> + <property name="toolTip"> + <string>Select to show VCS specific toolbars</string> + </property> + <property name="text"> + <string>Show VCS Toolbar</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> <spacer> <property name="orientation"> <enum>Qt::Vertical</enum>
--- a/eric6/Preferences/__init__.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Preferences/__init__.py Wed Sep 02 18:06:20 2020 +0200 @@ -979,7 +979,7 @@ "FlashCookiesWhitelist": [], "FlashCookiesBlacklist": [], "FlashCookiesDataPath": flashDataPathForOS(), - # PIM: identical to helpDefaults + # PIM: "PimFullName": "", "PimFirstName": "", "PimLastName": "", @@ -1237,6 +1237,7 @@ "AutoUpdate": False, "StatusMonitorInterval": 30, "MonitorLocalStatus": False, + "ShowVcsToolbar": True, } # defaults for tasks related stuff @@ -1245,11 +1246,15 @@ "TasksWarningMarkers": "WARN" + "ING:", "TasksTodoMarkers": "TO" + "DO:", "TasksNoteMarkers": "NO" + "TE:", + "TasksTestMarkers": "TE" + "ST:", + "TasksDocuMarkers": "DO" + "CU:", # needed to keep it from being recognized as a task "TasksFixmeColor": QColor("#FFA0A0"), "TasksWarningColor": QColor("#FFFFA0"), "TasksTodoColor": QColor("#A0FFA0"), "TasksNoteColor": QColor("#A0A0FF"), + "TasksTestColor": QColor("#FFD000"), + "TasksDocuColor": QColor("#FFA0FF"), "ClearOnFileClose": True, } @@ -2737,7 +2742,7 @@ value = int(prefClass.settings.value( "WebBrowser/" + key, prefClass.webBrowserDefaults[key])) if QWebEngineSettings is None: - value = prefClass.helpDefaults[key] + value = prefClass.webBrowserDefaults[key] return value elif key in ["StartupBehavior", "HistoryLimit", "DownloadManagerRemovePolicy", "SyncType", "SyncFtpPort", @@ -3100,7 +3105,8 @@ @return the requested user setting """ if key in ["TasksFixmeColor", "TasksWarningColor", - "TasksTodoColor", "TasksNoteColor"]: + "TasksTodoColor", "TasksNoteColor", + "TasksTestColor", "TasksDocuColor"]: col = prefClass.settings.value("Tasks/" + key) if col is not None: return QColor(col) @@ -3710,16 +3716,6 @@ ) for key in ["SyncFtpPassword", "SyncEncryptionKey"]: prefClass.settings.setValue( - "Help/" + key, - pwRecode( - prefClass.settings.value("Help/" + key, - prefClass.helpDefaults[key]), - oldPassword, - newPassword - ) - ) - for key in ["SyncFtpPassword", "SyncEncryptionKey"]: - prefClass.settings.setValue( "WebBrowser/" + key, pwRecode( prefClass.settings.value("WebBrowser/" + key,
--- a/eric6/QScintilla/Editor.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/QScintilla/Editor.py Wed Sep 02 18:06:20 2020 +0200 @@ -2769,14 +2769,8 @@ """ from Tasks.Task import Task markers = { - Task.TypeWarning: - Preferences.getTasks("TasksWarningMarkers").split(), - Task.TypeNote: - Preferences.getTasks("TasksNoteMarkers").split(), - Task.TypeTodo: - Preferences.getTasks("TasksTodoMarkers").split(), - Task.TypeFixme: - Preferences.getTasks("TasksFixmeMarkers").split(), + taskType: Preferences.getTasks(markersName).split() + for taskType, markersName in Task.TaskType2MarkersName.items() } txtList = self.text().split(self.getLineSeparator())
--- a/eric6/QScintilla/Lexers/LexerPython.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/QScintilla/Lexers/LexerPython.py Wed Sep 02 18:06:20 2020 +0200 @@ -234,6 +234,9 @@ """ if kwSet == 1: if self.language() == "Python3": + import keyword + keywords = " ".join(keyword.kwlist) + elif self.language() == "MicroPython": keywords = ("False None True and as assert break class " "continue def del elif else except finally for " "from global if import in is lambda nonlocal not "
--- a/eric6/Tasks/Task.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Tasks/Task.py Wed Sep 02 18:06:20 2020 +0200 @@ -27,6 +27,33 @@ TypeTodo = 1 TypeWarning = 2 TypeNote = 3 + TypeTest = 4 + TypeDocu = 5 + + TaskType2IconName = { + TypeFixme: "taskFixme", + TypeTodo: "taskTodo", + TypeWarning: "taskWarning", + TypeNote: "taskNote", + TypeTest: "taskTest", + TypeDocu: "taskDocu", + } + TaskType2ColorName = { + TypeFixme: "TasksFixmeColor", + TypeTodo: "TasksTodoColor", + TypeWarning: "TasksWarningColor", + TypeNote: "TasksNoteColor", + TypeTest: "TasksTestColor", + TypeDocu: "TasksDocuColor", + } + TaskType2MarkersName = { + TypeFixme: "TasksFixmeMarkers", + TypeTodo: "TasksTodoMarkers", + TypeWarning: "TasksWarningMarkers", + TypeNote: "TasksNoteMarkers", + TypeTest: "TasksTestMarkers", + TypeDocu: "TasksDocuMarkers", + } def __init__(self, summary, priority=1, filename="", lineno=0, completed=False, _time=0, isProjectTask=False, @@ -44,7 +71,7 @@ @param isProjectTask flag indicating a task related to the current project (boolean) @param taskType type of the task (one of TypeFixme, TypeTodo, - TypeWarning, TypeNote) + TypeWarning, TypeNote, TypeTest, TypeDocu) @param project reference to the project object (Project) @param description explanatory text of the task (string) @param uid unique id of the task (string) @@ -100,14 +127,11 @@ else: self.setIcon(1, UI.PixmapCache.getIcon("empty")) - if self.taskType == Task.TypeFixme: - self.setIcon(2, UI.PixmapCache.getIcon("taskFixme")) - elif self.taskType == Task.TypeWarning: - self.setIcon(2, UI.PixmapCache.getIcon("taskWarning")) - elif self.taskType == Task.TypeTodo: - self.setIcon(2, UI.PixmapCache.getIcon("taskTodo")) - else: - self.setIcon(2, UI.PixmapCache.getIcon("taskNote")) + try: + self.setIcon(2, UI.PixmapCache.getIcon( + Task.TaskType2IconName[self.taskType])) + except KeyError: + self.setIcon(2, UI.PixmapCache.getIcon("empty")) self.colorizeTask() self.setTextAlignment(4, Qt.AlignRight) @@ -121,18 +145,14 @@ nonBoldFont = self.font(0) nonBoldFont.setBold(False) for col in range(5): - if self.taskType == Task.TypeFixme: - self.setBackground( - col, Preferences.getTasks("TasksFixmeColor")) - elif self.taskType == Task.TypeWarning: + try: self.setBackground( - col, Preferences.getTasks("TasksWarningColor")) - elif self.taskType == Task.TypeTodo: - self.setBackground( - col, Preferences.getTasks("TasksTodoColor")) - else: - self.setBackground( - col, Preferences.getTasks("TasksNoteColor")) + col, Preferences.getTasks( + Task.TaskType2ColorName[self.taskType])) + except KeyError: + # do not set background color if type is not known + pass + if self._isProjectTask: self.setFont(col, boldFont) else:
--- a/eric6/Tasks/TaskViewer.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Tasks/TaskViewer.py Wed Sep 02 18:06:20 2020 +0200 @@ -694,11 +694,8 @@ @type bool """ markers = { - Task.TypeWarning: - Preferences.getTasks("TasksWarningMarkers").split(), - Task.TypeNote: Preferences.getTasks("TasksNoteMarkers").split(), - Task.TypeTodo: Preferences.getTasks("TasksTodoMarkers").split(), - Task.TypeFixme: Preferences.getTasks("TasksFixmeMarkers").split(), + taskType: Preferences.getTasks(markersName).split() + for taskType, markersName in Task.TaskType2MarkersName.items() } files = self.project.pdata["SOURCES"]
--- a/eric6/UI/Browser.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/UI/Browser.py Wed Sep 02 18:06:20 2020 +0200 @@ -218,6 +218,10 @@ self.__showMimeType) self.sourceMenu.addSeparator() self.sourceMenu.addAction( + QCoreApplication.translate('Browser', 'Refresh Source File'), + self.__refreshSource) + self.sourceMenu.addSeparator() + self.sourceMenu.addAction( QCoreApplication.translate('Browser', 'Copy Path to Clipboard'), self._copyToClipboard) @@ -510,7 +514,15 @@ if ok: textMimeTypesList.append(mimetype) Preferences.setUI("TextMimeTypes", textMimeTypesList) - + + def __refreshSource(self): + """ + Private slot to refresh the structure of a source file. + """ + itmList = self.getSelectedItems([BrowserFileItem]) + if itmList: + self.__model.repopulateFileItem(itmList[0]) + def _editPixmap(self): """ Protected slot to handle the open in icon editor popup menu entry.
--- a/eric6/UI/BrowserModel.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/UI/BrowserModel.py Wed Sep 02 18:06:20 2020 +0200 @@ -57,8 +57,10 @@ if not nopopulate: self.watchedItems = {} + self.watchedFileItems = {} self.watcher = QFileSystemWatcher(self) self.watcher.directoryChanged.connect(self.directoryChanged) + self.watcher.fileChanged.connect(self.fileChanged) rootData = QCoreApplication.translate("BrowserModel", "Name") self.rootItem = BrowserItem(None, rootData) @@ -691,6 +693,47 @@ if repopulate: self.endInsertRows() parentItem._populated = True + if (parentItem.type_ == BrowserItemFile and + fileName not in self.watchedFileItems + ): + # watch the file only in the file browser not the project viewer + self.watcher.addPath(fileName) + self.watchedFileItems[fileName] = parentItem + + def repopulateFileItem(self, itm): + """ + Public method to repopulate a file item. + + @param itm reference to the item to be repopulated + @type BrowserFileItem + """ + if isinstance(itm, BrowserFileItem) and itm.isLazyPopulated(): + if not itm.isPopulated(): + # item is not populated yet, nothing to do + return + + if itm.childCount(): + index = self.createIndex(itm.row(), 0, itm) + self.beginRemoveRows(index, 0, itm.childCount() - 1) + itm.removeChildren() + self.endRemoveRows() + + self.populateFileItem(itm, True) + + def fileChanged(self, fileName): + """ + Public method to react upon file changes. + + @param fileName path of the changed file + @type str + """ + if fileName in self.watchedFileItems: + if os.path.exists(fileName): + # the file was changed + self.repopulateFileItem(self.watchedFileItems[fileName]) + else: + # the file does not exist anymore + del self.watchedFileItems[fileName] def populateClassItem(self, parentItem, repopulate=False): """
--- a/eric6/UI/Previewers/PreviewerHTML.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/UI/Previewers/PreviewerHTML.py Wed Sep 02 18:06:20 2020 +0200 @@ -580,10 +580,12 @@ """<p>Alternatively you may disable Sphinx usage""" """ on the Editor, Filehandling configuration page.</p>""") - tempDir = tempfile.mkdtemp(prefix='eric-rest-') + srcTempDir = tempfile.mkdtemp(prefix="eric-rest-src-") + outTempDir = tempfile.mkdtemp(prefix="eric-rest-out-") + doctreeTempDir = tempfile.mkdtemp(prefix="eric-rest-doctree-") try: filename = 'sphinx_preview' - basePath = os.path.join(tempDir, filename) + basePath = os.path.join(srcTempDir, filename) fh = open(basePath + '.rst', 'w', encoding='utf-8') fh.write(text) fh.close() @@ -595,17 +597,20 @@ 'html_use_modindex': False, 'html_use_smartypants': True, 'master_doc': filename} - app = Sphinx(srcdir=tempDir, confdir=None, outdir=tempDir, - doctreedir=tempDir, buildername='html', + app = Sphinx(srcdir=srcTempDir, confdir=None, outdir=outTempDir, + doctreedir=doctreeTempDir, buildername='html', confoverrides=overrides, status=None, warning=io.StringIO()) app.build(force_all=True, filenames=None) + basePath = os.path.join(outTempDir, filename) fh = open(basePath + '.html', 'r', encoding='utf-8') html = fh.read() fh.close() finally: - shutil.rmtree(tempDir) + shutil.rmtree(srcTempDir) + shutil.rmtree(outTempDir) + shutil.rmtree(doctreeTempDir) return html
--- a/eric6/UI/UserInterface.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/UI/UserInterface.py Wed Sep 02 18:06:20 2020 +0200 @@ -687,6 +687,15 @@ splash.showMessage(self.tr("Setting View Profile...")) self.__setEditProfile() + # special treatment for the VCS toolbars + for tb in self.getToolbarsByCategory("vcs"): + tb.setVisible(False) + tb.setEnabled(False) + tb = self.getToolbar("vcs")[1] + tb.setEnabled(True) + if Preferences.getVCS("ShowVcsToolbar"): + tb.setVisible(True) + # now read the saved tasks splash.showMessage(self.tr("Reading Tasks...")) self.__readTasks() @@ -3298,27 +3307,31 @@ # just add new toolbars to the end of the list self.__toolbars = {} - self.__toolbars["file"] = [filetb.windowTitle(), filetb] - self.__toolbars["edit"] = [edittb.windowTitle(), edittb] - self.__toolbars["search"] = [searchtb.windowTitle(), searchtb] - self.__toolbars["view"] = [viewtb.windowTitle(), viewtb] - self.__toolbars["start"] = [starttb.windowTitle(), starttb] - self.__toolbars["debug"] = [debugtb.windowTitle(), debugtb] - self.__toolbars["project"] = [projecttb.windowTitle(), projecttb] - self.__toolbars["tools"] = [toolstb.windowTitle(), toolstb] - self.__toolbars["help"] = [helptb.windowTitle(), helptb] - self.__toolbars["settings"] = [settingstb.windowTitle(), settingstb] - self.__toolbars["bookmarks"] = [bookmarktb.windowTitle(), bookmarktb] - self.__toolbars["unittest"] = [unittesttb.windowTitle(), unittesttb] + self.__toolbars["file"] = [filetb.windowTitle(), filetb, ""] + self.__toolbars["edit"] = [edittb.windowTitle(), edittb, ""] + self.__toolbars["search"] = [searchtb.windowTitle(), searchtb, ""] + self.__toolbars["view"] = [viewtb.windowTitle(), viewtb, ""] + self.__toolbars["start"] = [starttb.windowTitle(), starttb, ""] + self.__toolbars["debug"] = [debugtb.windowTitle(), debugtb, ""] + self.__toolbars["project"] = [projecttb.windowTitle(), projecttb, ""] + self.__toolbars["tools"] = [toolstb.windowTitle(), toolstb, ""] + self.__toolbars["help"] = [helptb.windowTitle(), helptb, ""] + self.__toolbars["settings"] = [settingstb.windowTitle(), settingstb, + ""] + self.__toolbars["bookmarks"] = [bookmarktb.windowTitle(), bookmarktb, + ""] + self.__toolbars["unittest"] = [unittesttb.windowTitle(), unittesttb, + ""] self.__toolbars["view_profiles"] = [profilestb.windowTitle(), - profilestb] - self.__toolbars["plugins"] = [pluginstb.windowTitle(), pluginstb] + profilestb, ""] + self.__toolbars["plugins"] = [pluginstb.windowTitle(), pluginstb, ""] self.__toolbars["quicksearch"] = [quicksearchtb.windowTitle(), - quicksearchtb] + quicksearchtb, ""] self.__toolbars["multiproject"] = [multiprojecttb.windowTitle(), - multiprojecttb] - self.__toolbars["spelling"] = [spellingtb.windowTitle(), spellingtb] - self.__toolbars["vcs"] = [vcstb.windowTitle(), vcstb] + multiprojecttb, ""] + self.__toolbars["spelling"] = [spellingtb.windowTitle(), spellingtb, + ""] + self.__toolbars["vcs"] = [vcstb.windowTitle(), vcstb, "vcs"] def __initDebugToolbarsLayout(self): """ @@ -3842,34 +3855,44 @@ except KeyError: return None - def registerToolbar(self, name, text, toolbar): + def registerToolbar(self, name, text, toolbar, category=""): """ Public method to register a toolbar. This method must be called in order to make a toolbar manageable by the UserInterface object. - @param name name of the toolbar (string). This is used as the key into + @param name name of the toolbar. This is used as the key into the dictionary of toolbar references. - @param text user visible text for the toolbar entry (string) - @param toolbar reference to the toolbar to be registered (QToolBar) + @type str + @param text user visible text for the toolbar entry + @type str + @param toolbar reference to the toolbar to be registered + @type QToolBar + @param category toolbar category + @type str @exception KeyError raised, if a toolbar with the given name was already registered """ if name in self.__toolbars: raise KeyError("Toolbar '{0}' already registered.".format(name)) - self.__toolbars[name] = [text, toolbar] - - def reregisterToolbar(self, name, text): + self.__toolbars[name] = [text, toolbar, category] + + def reregisterToolbar(self, name, text, category=""): """ Public method to change the visible text for the named toolbar. - @param name name of the toolbar to be changed (string) - @param text new user visible text for the toolbar entry (string) + @param name name of the toolbar to be changed + @type str + @param text new user visible text for the toolbar entry + @type str + @param category new toolbar category for the toolbar entry + @type str """ if name in self.__toolbars: self.__toolbars[name][0] = text + self.__toolbars[name][2] = category def unregisterToolbar(self, name): """ @@ -3891,7 +3914,28 @@ return self.__toolbars[name] except KeyError: return None - + + def getToolbarsByCategory(self, category): + """ + Public method to get a list of toolbars belonging to a given toolbar + category. + + @param category toolbar category + @type str + @return list of toolbars + @rtype list of QToolBar + """ + toolbars = [] + for tbName in self.__toolbars: + try: + if self.__toolbars[tbName][2] == category: + toolbars.append(self.__toolbars[tbName][1]) + except IndexError: + # backward compatibility; category is not yet supported + pass + + return toolbars + def getLocale(self): """ Public method to get the locale of the IDE. @@ -4110,8 +4154,9 @@ """ menu.clear() - for name, (text, tb) in sorted(self.__toolbars.items(), - key=lambda t: t[1][0]): + for name, (text, tb, category) in sorted( + self.__toolbars.items(), key=lambda t: t[1][0] + ): act = menu.addAction(text) act.setCheckable(True) act.setChecked(not tb.isHidden()) @@ -4151,12 +4196,12 @@ name = act.data() if name: if name == "__SHOW__": - for _text, tb in self.__toolbars.values(): + for _text, tb, category in self.__toolbars.values(): tb.show() if self.__menus["toolbars"].isTearOffMenuVisible(): self.__menus["toolbars"].hideTearOffMenu() elif name == "__HIDE__": - for _text, tb in self.__toolbars.values(): + for _text, tb, category in self.__toolbars.values(): tb.hide() if self.__menus["toolbars"].isTearOffMenuVisible(): self.__menus["toolbars"].hideTearOffMenu() @@ -4164,6 +4209,7 @@ tb = self.__toolbars[name][1] if act.isChecked(): tb.show() + tb.setEnabled(True) else: tb.hide() @@ -4177,15 +4223,16 @@ name = act.data() if name: if name == "__SHOW__": - for _text, tb in self.__toolbars.values(): + for _text, tb, category in self.__toolbars.values(): tb.show() elif name == "__HIDE__": - for _text, tb in self.__toolbars.values(): + for _text, tb, category in self.__toolbars.values(): tb.hide() else: tb = self.__toolbars[name][1] if act.isChecked(): tb.show() + tb.setEnabled(True) else: tb.hide() if self.__menus["toolbars"].isTearOffMenuVisible():
--- a/eric6/Utilities/BackgroundClient.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Utilities/BackgroundClient.py Wed Sep 02 18:06:20 2020 +0200 @@ -181,6 +181,9 @@ else: ret = 'Unknown service.' + if isinstance(ret, Exception): + ret = str(ret) + self.__send(fx, fn, ret) except socket.error: pass
--- a/eric6/Utilities/ClassBrowsers/idlclbr.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Utilities/ClassBrowsers/idlclbr.py Wed Sep 02 18:06:20 2020 +0200 @@ -240,6 +240,8 @@ # can't do anything with this module _modules[module] = dictionary return dictionary + # convert eol markers the Python style + src = src.replace("\r\n", "\n").replace("\r", "\n") lineno, last_lineno_pos = 1, 0 lastGlobalEntry = None
--- a/eric6/Utilities/ClassBrowsers/jsclbr.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Utilities/ClassBrowsers/jsclbr.py Wed Sep 02 18:06:20 2020 +0200 @@ -313,6 +313,8 @@ # can't do anything with this module _modules[module] = dictionary return dictionary + # convert eol markers the Python style + src = src.replace("\r\n", "\n").replace("\r", "\n") visitor = Visitor(src, module, file) dictionary = visitor.parse()
--- a/eric6/Utilities/ClassBrowsers/protoclbr.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Utilities/ClassBrowsers/protoclbr.py Wed Sep 02 18:06:20 2020 +0200 @@ -230,6 +230,8 @@ # can't do anything with this module _modules[module] = dictionary return dictionary + # convert eol markers the Python style + src = src.replace("\r\n", "\n").replace("\r", "\n") lineno, last_lineno_pos = 1, 0 lastGlobalEntry = None
--- a/eric6/Utilities/ClassBrowsers/pyclbr.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Utilities/ClassBrowsers/pyclbr.py Wed Sep 02 18:06:20 2020 +0200 @@ -386,6 +386,8 @@ # can't do anything with this module _modules[module] = dictionary return dictionary + # convert eol markers the Python style + src = src.replace("\r\n", "\n").replace("\r", "\n") lineno, last_lineno_pos = 1, 0 lastGlobalEntry = None
--- a/eric6/Utilities/ClassBrowsers/rbclbr.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Utilities/ClassBrowsers/rbclbr.py Wed Sep 02 18:06:20 2020 +0200 @@ -288,6 +288,8 @@ # can't do anything with this module _modules[module] = dictionary return dictionary + # convert eol markers the Python style + src = src.replace("\r\n", "\n").replace("\r", "\n") lineno, last_lineno_pos = 1, 0 cur_obj = None
--- a/eric6/Utilities/ModuleParser.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/Utilities/ModuleParser.py Wed Sep 02 18:06:20 2020 +0200 @@ -497,6 +497,8 @@ @param src the source text to be scanned (string) """ + # convert eol markers the Python style + src = src.replace("\r\n", "\n").replace("\r", "\n") if self.type in [PY_SOURCE, PTL_SOURCE]: self.__py_scan(src) elif self.type == RB_SOURCE:
--- a/eric6/Utilities/binplistlib.py Sat Aug 01 10:39:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1078 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2012 - 2020 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing a library for reading and writing binary property list -files. - -Binary Property List (plist) files provide a faster and smaller serialization -format for property lists on OS X. This is a library for generating binary -plists which can be read by OS X, iOS, or other clients. - -The API models the plistlib API, and will call through to plistlib when -XML serialization or deserialization is required. - -To generate plists with UID values, wrap the values with the Uid object. The -value must be an int. - -To generate plists with NSData/CFData values, wrap the values with the -Data object. The value must be a bytes object. - -Date values can only be datetime.datetime objects. - -The exceptions InvalidPlistException and NotBinaryPlistException may be -thrown to indicate that the data cannot be serialized or deserialized as -a binary plist. - -Plist generation example: -<pre> - from binplistlib import * - from datetime import datetime - plist = {'aKey':'aValue', - '0':1.322, - 'now':datetime.now(), - 'list':[1,2,3], - 'tuple':('a','b','c') - } - try: - writePlist(plist, "example.plist") - except (InvalidPlistException, NotBinaryPlistException) as e: - print("Something bad happened:", e) -</pre> -Plist parsing example: -<pre> - from binplistlib import * - try: - plist = readPlist("example.plist") - print(plist) - except (InvalidPlistException, NotBinaryPlistException) as e: - print("Not a plist:", e) -</pre> -""" - - -# -# Ported from the biplist.py script. -# -# Original License: -# -# Copyright (c) 2010, Andrew Wooster -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of biplist nor the names of its contributors may be -# used to endorse or promote products derived from this software without -# specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# - -from collections import namedtuple -from io import BytesIO -import calendar -import datetime -import math -import plistlib -from struct import pack, unpack - -__all__ = [ - 'Uid', 'Data', 'readPlist', 'writePlist', 'readPlistFromBytes', - 'writePlistToBytes', 'InvalidPlistException', 'NotBinaryPlistException' -] - -apple_reference_date_offset = 978307200 - - -class Uid(int): - """ - Class implementing a wrapper around integers for representing UID values. - - This is used in keyed archiving. - """ - def __repr__(self): - """ - Special method to return an object representation. - - @return object representation (string) - """ - return "Uid({0:d})".format(self) - - -class Data(bytes): - """ - Class implementing a wrapper around bytes types for representing Data - values. - """ - pass - - -class InvalidPlistException(Exception): - """ - Exception raised when the plist is incorrectly formatted. - """ - pass - - -class NotBinaryPlistException(Exception): - """ - Exception raised when a binary plist was expected but not encountered. - """ - pass - - -def readPlist(pathOrFile): - """ - Module function to read a plist file. - - @param pathOrFile name of the plist file (string) or an open file - (file object) - @return reference to the read object - @exception InvalidPlistException raised to signal an invalid plist file - """ - didOpen = False - result = None - if isinstance(pathOrFile, str): - pathOrFile = open(pathOrFile, 'rb') - didOpen = True - try: - reader = PlistReader(pathOrFile) - result = reader.parse() - except NotBinaryPlistException: - try: - pathOrFile.seek(0) - result = plistlib.readPlist(pathOrFile) - except Exception as e: - raise InvalidPlistException(e) - if didOpen: - pathOrFile.close() - return result - - -def writePlist(rootObject, pathOrFile, binary=True): - """ - Module function to write a plist file. - - @param rootObject reference to the object to be written - @param pathOrFile name of the plist file (string) or an open file - (file object) - @param binary flag indicating the generation of a binary plist file - (boolean) - """ - if not binary: - plistlib.writePlist(rootObject, pathOrFile) - return - else: - didOpen = False - if isinstance(pathOrFile, str): - pathOrFile = open(pathOrFile, 'wb') - didOpen = True - writer = PlistWriter(pathOrFile) - writer.writeRoot(rootObject) - if didOpen: - pathOrFile.close() - return - - -def readPlistFromBytes(data): - """ - Module function to read from a plist bytes object. - - @param data plist data (bytes) - @return reference to the read object - """ - return readPlist(BytesIO(data)) - - -def writePlistToBytes(rootObject, binary=True): - """ - Module function to write a plist bytes object. - - @param rootObject reference to the object to be written - @param binary flag indicating the generation of a binary plist bytes - object (boolean) - @return bytes object containing the plist data - """ - if not binary: - return plistlib.writePlistToBytes(rootObject) - else: - io = BytesIO() - writer = PlistWriter(io) - writer.writeRoot(rootObject) - return io.getvalue() - - -def is_stream_binary_plist(stream): - """ - Module function to check, if the stream is a binary plist. - - @param stream plist stream (file object) - @return flag indicating a binary plist (boolean) - """ - stream.seek(0) - header = stream.read(7) - if header == b'bplist0': - return True - else: - return False - -PlistTrailer = namedtuple( - 'PlistTrailer', - 'offsetSize, objectRefSize, offsetCount, topLevelObjectNumber,' - ' offsetTableOffset') -PlistByteCounts = namedtuple( - 'PlistByteCounts', - 'nullBytes, boolBytes, intBytes, realBytes, dateBytes, dataBytes,' - ' stringBytes, uidBytes, arrayBytes, setBytes, dictBytes') - - -class PlistReader(object): - """ - Class implementing the plist reader. - """ - file = None - contents = b'' - offsets = None - trailer = None - currentOffset = 0 - - def __init__(self, fileOrStream): - """ - Constructor - - @param fileOrStream open file containing the plist data (file object) - """ - self.reset() - self.file = fileOrStream - - def parse(self): - """ - Public method to parse the plist data. - - @return unpickled object - """ - return self.readRoot() - - def reset(self): - """ - Public method to reset the instance object. - """ - self.trailer = None - self.contents = b'' - self.offsets = [] - self.currentOffset = 0 - - def readRoot(self): - """ - Public method to read the root object. - - @return unpickled object - @exception InvalidPlistException raised to indicate an invalid - plist file - @exception NotBinaryPlistException raised to indicate, that the - plist file is not a binary file - """ - result = None - self.reset() - # Get the header, make sure it's a valid file. - if not is_stream_binary_plist(self.file): - raise NotBinaryPlistException() - self.file.seek(0) - self.contents = self.file.read() - if len(self.contents) < 32: - raise InvalidPlistException("File is too short.") - trailerContents = self.contents[-32:] - try: - self.trailer = PlistTrailer._make( - unpack("!xxxxxxBBQQQ", trailerContents)) - offset_size = self.trailer.offsetSize * self.trailer.offsetCount - offset = self.trailer.offsetTableOffset - offset_contents = self.contents[offset:offset + offset_size] - offset_i = 0 - while offset_i < self.trailer.offsetCount: - begin = self.trailer.offsetSize * offset_i - tmp_contents = offset_contents[ - begin:begin + self.trailer.offsetSize] - tmp_sized = self.getSizedInteger( - tmp_contents, self.trailer.offsetSize) - self.offsets.append(tmp_sized) - offset_i += 1 - self.setCurrentOffsetToObjectNumber( - self.trailer.topLevelObjectNumber) - result = self.readObject() - except TypeError as e: - raise InvalidPlistException(e) - return result - - def setCurrentOffsetToObjectNumber(self, objectNumber): - """ - Public method to set the current offset. - - @param objectNumber number of the object (integer) - """ - self.currentOffset = self.offsets[objectNumber] - - def readObject(self): - """ - Public method to read the object data. - - @return unpickled object - @exception InvalidPlistException raised to indicate an invalid - plist file - """ - result = None - tmp_byte = self.contents[self.currentOffset:self.currentOffset + 1] - marker_byte = unpack("!B", tmp_byte)[0] - formatNibble = (marker_byte >> 4) & 0x0f - extra = marker_byte & 0x0f - self.currentOffset += 1 - - def proc_extra(extra): - if extra == 0b1111: - extra = self.readObject() - return extra - - # bool, null, or fill byte - if formatNibble == 0b0000: - if extra == 0b0000: - result = None - elif extra == 0b1000: - result = False - elif extra == 0b1001: - result = True - elif extra == 0b1111: - pass # fill byte - else: - raise InvalidPlistException( - "Invalid object found at offset: {0}".format( - self.currentOffset - 1)) - # int - elif formatNibble == 0b0001: - extra = proc_extra(extra) - result = self.readInteger(pow(2, extra)) - # real - elif formatNibble == 0b0010: - extra = proc_extra(extra) - result = self.readReal(extra) - # date - elif formatNibble == 0b0011 and extra == 0b0011: - result = self.readDate() - # data - elif formatNibble == 0b0100: - extra = proc_extra(extra) - result = self.readData(extra) - # ascii string - elif formatNibble == 0b0101: - extra = proc_extra(extra) - result = self.readAsciiString(extra) - # Unicode string - elif formatNibble == 0b0110: - extra = proc_extra(extra) - result = self.readUnicode(extra) - # uid - elif formatNibble == 0b1000: - result = self.readUid(extra) - # array - elif formatNibble == 0b1010: - extra = proc_extra(extra) - result = self.readArray(extra) - # set - elif formatNibble == 0b1100: - extra = proc_extra(extra) - result = set(self.readArray(extra)) - # dict - elif formatNibble == 0b1101: - extra = proc_extra(extra) - result = self.readDict(extra) - else: - raise InvalidPlistException( - "Invalid object found: {{format: {0}, extra: {1}}}".format( - bin(formatNibble), bin(extra))) - return result - - def readInteger(self, length): - """ - Public method to read an Integer object. - - @param length length of the object (integer) - @return integer object - """ - result = 0 - original_offset = self.currentOffset - data = self.contents[self.currentOffset:self.currentOffset + length] - result = self.getSizedInteger(data, length) - self.currentOffset = original_offset + length - return result - - def readReal(self, length): - """ - Public method to read a Real object. - - @param length length of the object (integer) - @return float object - @exception InvalidPlistException raised to indicate an invalid - plist file - """ - result = 0.0 - to_read = pow(2, length) - data = self.contents[self.currentOffset:self.currentOffset + to_read] - if length == 2: # 4 bytes - result = unpack('>f', data)[0] - elif length == 3: # 8 bytes - result = unpack('>d', data)[0] - else: - raise InvalidPlistException( - "Unknown real of length {0} bytes".format(to_read)) - return result - - def readRefs(self, count): - """ - Public method to read References. - - @param count amount of the references (integer) - @return list of references (list of integers) - """ - refs = [] - i = 0 - while i < count: - fragment = self.contents[ - self.currentOffset: - self.currentOffset + self.trailer.objectRefSize] - ref = self.getSizedInteger(fragment, len(fragment)) - refs.append(ref) - self.currentOffset += self.trailer.objectRefSize - i += 1 - return refs - - def readArray(self, count): - """ - Public method to read an Array object. - - @param count number of array elements (integer) - @return list of unpickled objects - """ - result = [] - values = self.readRefs(count) - i = 0 - while i < len(values): - self.setCurrentOffsetToObjectNumber(values[i]) - value = self.readObject() - result.append(value) - i += 1 - return result - - def readDict(self, count): - """ - Public method to read a Dictionary object. - - @param count number of dictionary elements (integer) - @return dictionary of unpickled objects - """ - result = {} - keys = self.readRefs(count) - values = self.readRefs(count) - i = 0 - while i < len(keys): - self.setCurrentOffsetToObjectNumber(keys[i]) - key = self.readObject() - self.setCurrentOffsetToObjectNumber(values[i]) - value = self.readObject() - result[key] = value - i += 1 - return result - - def readAsciiString(self, length): - """ - Public method to read an ASCII encoded string. - - @param length length of the string (integer) - @return ASCII encoded string - """ - result = str(unpack( - "!{0}s".format(length), - self.contents[self.currentOffset:self.currentOffset + length])[0], - encoding="ascii") - self.currentOffset += length - return result - - def readUnicode(self, length): - """ - Public method to read an Unicode encoded string. - - @param length length of the string (integer) - @return unicode encoded string - """ - actual_length = length * 2 - data = self.contents[ - self.currentOffset:self.currentOffset + actual_length] - self.currentOffset += actual_length - return data.decode('utf_16_be') - - def readDate(self): - """ - Public method to read a date. - - @return date object (datetime.datetime) - """ - global apple_reference_date_offset - result = unpack( - ">d", - self.contents[self.currentOffset:self.currentOffset + 8])[0] - result = datetime.datetime.utcfromtimestamp( - result + apple_reference_date_offset) - self.currentOffset += 8 - return result - - def readData(self, length): - """ - Public method to read some bytes. - - @param length number of bytes to read (integer) - @return Data object - """ - result = self.contents[self.currentOffset:self.currentOffset + length] - self.currentOffset += length - return Data(result) - - def readUid(self, length): - """ - Public method to read a UID. - - @param length length of the UID (integer) - @return Uid object - """ - return Uid(self.readInteger(length + 1)) - - def getSizedInteger(self, data, length): - """ - Public method to read an integer of a specific size. - - @param data data to extract the integer from (bytes) - @param length length of the integer (integer) - @return read integer (integer) - @exception InvalidPlistException raised to indicate an invalid - plist file - """ - result = 0 - # 1, 2, and 4 byte integers are unsigned - if length == 1: - result = unpack('>B', data)[0] - elif length == 2: - result = unpack('>H', data)[0] - elif length == 4: - result = unpack('>L', data)[0] - elif length == 8: - result = unpack('>q', data)[0] - else: - raise InvalidPlistException( - "Encountered integer longer than 8 bytes.") - return result - - -class HashableWrapper(object): - """ - Class wrapping a hashable value. - """ - def __init__(self, value): - """ - Constructor - - @param value object value - """ - self.value = value - - def __repr__(self): - """ - Special method to generate a representation of the object. - - @return object representation (string) - """ - return "<HashableWrapper: {0}>".format([self.value]) - - -class BoolWrapper(object): - """ - Class wrapping a boolean value. - """ - def __init__(self, value): - """ - Constructor - - @param value object value (boolean) - """ - self.value = value - - def __repr__(self): - """ - Special method to generate a representation of the object. - - @return object representation (string) - """ - return "<BoolWrapper: {0}>".format(self.value) - - -class PlistWriter(object): - """ - Class implementing the plist writer. - """ - header = b'bplist00bybiplist1.0' - file = None - byteCounts = None - trailer = None - computedUniques = None - writtenReferences = None - referencePositions = None - wrappedTrue = None - wrappedFalse = None - - def __init__(self, file): - """ - Constructor - - @param file file to write the plist data to (file object) - """ - self.reset() - self.file = file - self.wrappedTrue = BoolWrapper(True) - self.wrappedFalse = BoolWrapper(False) - - def reset(self): - """ - Public method to reset the instance object. - """ - self.byteCounts = PlistByteCounts(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) - self.trailer = PlistTrailer(0, 0, 0, 0, 0) - - # A set of all the uniques which have been computed. - self.computedUniques = set() - # A list of all the uniques which have been written. - self.writtenReferences = {} - # A dict of the positions of the written uniques. - self.referencePositions = {} - - def positionOfObjectReference(self, obj): - """ - Public method to get the position of an object. - - If the given object has been written already, return its - position in the offset table. Otherwise, return None. - - @param obj object - @return position of the object (integer) - """ - return self.writtenReferences.get(obj) - - def writeRoot(self, root): - """ - Public method to write an object to a plist file. - - Strategy is: - <ul> - <li>write header</li> - <li>wrap root object so everything is hashable</li> - <li>compute size of objects which will be written - <ul> - <li>need to do this in order to know how large the object refs - will be in the list/dict/set reference lists</li> - </ul></li> - <li>write objects - <ul> - <li>keep objects in writtenReferences</li> - <li>keep positions of object references in referencePositions</li> - <li>write object references with the length computed previously</li> - </ul></li> - <li>computer object reference length</li> - <li>write object reference positions</li> - <li>write trailer</li> - </ul> - - @param root reference to the object to be written - """ - output = self.header - wrapped_root = self.wrapRoot(root) - should_reference_root = True - self.computeOffsets( - wrapped_root, asReference=should_reference_root, isRoot=True) - self.trailer = self.trailer._replace( - **{'objectRefSize': self.intSize(len(self.computedUniques))}) - (_, output) = self.writeObjectReference(wrapped_root, output) - output = self.writeObject( - wrapped_root, output, setReferencePosition=True) - - # output size at this point is an upper bound on how big the - # object reference offsets need to be. - self.trailer = self.trailer._replace(**{ - 'offsetSize': self.intSize(len(output)), - 'offsetCount': len(self.computedUniques), - 'offsetTableOffset': len(output), - 'topLevelObjectNumber': 0 - }) - - output = self.writeOffsetTable(output) - output += pack('!xxxxxxBBQQQ', *self.trailer) - self.file.write(output) - - def wrapRoot(self, root): - """ - Public method to generate object wrappers. - - @param root object to be wrapped - @return wrapped object - """ - if isinstance(root, bool): - if root is True: - return self.wrappedTrue - else: - return self.wrappedFalse - elif isinstance(root, set): - n = set() - for value in root: - n.add(self.wrapRoot(value)) - return HashableWrapper(n) - elif isinstance(root, dict): - n = {} - for key, value in root.items(): - n[self.wrapRoot(key)] = self.wrapRoot(value) - return HashableWrapper(n) - elif isinstance(root, list): - n = [] - for value in root: - n.append(self.wrapRoot(value)) - return HashableWrapper(n) - elif isinstance(root, tuple): - n = tuple(self.wrapRoot(value) for value in root) - return HashableWrapper(n) - else: - return root - - def incrementByteCount(self, field, incr=1): - """ - Public method to increment the byte count. - - @param field field to evaluate - @param incr byte count increment (integer) - """ - self.byteCounts = self.byteCounts._replace( - **{field: self.byteCounts.__getattribute__(field) + incr}) - - def __checkKey(self, key): - """ - Private method to check the validity of a key. - - @param key key to be checked - @exception InvalidPlistException raised to indicate an invalid - plist file - """ - if key is None: - raise InvalidPlistException( - 'Dictionary keys cannot be null in plists.') - elif isinstance(key, Data): - raise InvalidPlistException( - 'Data cannot be dictionary keys in plists.') - elif not isinstance(key, str): - raise InvalidPlistException('Keys must be strings.') - - def __processSize(self, size): - """ - Private method to process a size. - - @param size size value to be processed (int) - @return processed size (int) - """ - if size > 0b1110: - size += self.intSize(size) - return size - - def computeOffsets(self, obj, asReference=False, isRoot=False): - """ - Public method to compute offsets of an object. - - @param obj plist object - @param asReference flag indicating offsets as references (boolean) - @param isRoot flag indicating a root object (boolean) - @exception InvalidPlistException raised to indicate an invalid - plist file - """ - # If this should be a reference, then we keep a record of it in the - # uniques table. - if asReference: - if obj in self.computedUniques: - return - else: - self.computedUniques.add(obj) - - if obj is None: - self.incrementByteCount('nullBytes') - elif isinstance(obj, BoolWrapper): - self.incrementByteCount('boolBytes') - elif isinstance(obj, Uid): - size = self.intSize(obj) - self.incrementByteCount('uidBytes', incr=1 + size) - elif isinstance(obj, int): - size = self.intSize(obj) - self.incrementByteCount('intBytes', incr=1 + size) - elif isinstance(obj, (float)): - size = self.realSize(obj) - self.incrementByteCount('realBytes', incr=1 + size) - elif isinstance(obj, datetime.datetime): - self.incrementByteCount('dateBytes', incr=2) - elif isinstance(obj, Data): - size = self.__processSize(len(obj)) - self.incrementByteCount('dataBytes', incr=1 + size) - elif isinstance(obj, str): - size = self.__processSize(len(obj)) - self.incrementByteCount('stringBytes', incr=1 + size) - elif isinstance(obj, HashableWrapper): - obj = obj.value - if isinstance(obj, set): - size = self.__processSize(len(obj)) - self.incrementByteCount('setBytes', incr=1 + size) - for value in obj: - self.computeOffsets(value, asReference=True) - elif isinstance(obj, (list, tuple)): - size = self.__processSize(len(obj)) - self.incrementByteCount('arrayBytes', incr=1 + size) - for value in obj: - self.computeOffsets(value, asReference=True) - elif isinstance(obj, dict): - size = self.__processSize(len(obj)) - self.incrementByteCount('dictBytes', incr=1 + size) - for key, value in obj.items(): - self.__checkKey(key) - self.computeOffsets(key, asReference=True) - self.computeOffsets(value, asReference=True) - else: - raise InvalidPlistException("Unknown object type.") - - def writeObjectReference(self, obj, output): - """ - Public method to write an object reference. - - Tries to write an object reference, adding it to the references - table. Does not write the actual object bytes or set the reference - position. Returns a tuple of whether the object was a new reference - (True if it was, False if it already was in the reference table) - and the new output. - - @param obj object to be written - @param output output stream to append the object to - @return flag indicating a new reference and the new output - """ - position = self.positionOfObjectReference(obj) - if position is None: - self.writtenReferences[obj] = len(self.writtenReferences) - output += self.binaryInt(len(self.writtenReferences) - 1, - bytes=self.trailer.objectRefSize) - return (True, output) - else: - output += self.binaryInt( - position, bytes=self.trailer.objectRefSize) - return (False, output) - - def writeObject(self, obj, output, setReferencePosition=False): - """ - Public method to serialize the given object to the output. - - @param obj object to be serialized - @param output output to be serialized to (bytes) - @param setReferencePosition flag indicating, that the reference - position the object was written to shall be recorded (boolean) - @return new output - """ - def proc_variable_length(formatNibble, length): - result = '' - if length > 0b1110: - result += pack('!B', (formatNibble << 4) | 0b1111) - result = self.writeObject(length, result) - else: - result += pack('!B', (formatNibble << 4) | length) - return result - - if setReferencePosition: - self.referencePositions[obj] = len(output) - - if obj is None: - output += pack('!B', 0b00000000) - elif isinstance(obj, BoolWrapper): - if obj.value is False: - output += pack('!B', 0b00001000) - else: - output += pack('!B', 0b00001001) - elif isinstance(obj, Uid): - size = self.intSize(obj) - output += pack('!B', (0b1000 << 4) | size - 1) - output += self.binaryInt(obj) - elif isinstance(obj, int): - length = self.intSize(obj) - root = math.log(length, 2) - output += pack('!B', (0b0001 << 4) | int(root)) - output += self.binaryInt(obj) - elif isinstance(obj, float): - # just use doubles - output += pack('!B', (0b0010 << 4) | 3) - output += self.binaryReal(obj) - elif isinstance(obj, datetime.datetime): - timestamp = calendar.timegm(obj.utctimetuple()) - timestamp -= apple_reference_date_offset - output += pack('!B', 0b00110011) - output += pack('!d', float(timestamp)) - elif isinstance(obj, Data): - output += proc_variable_length(0b0100, len(obj)) - output += obj - elif isinstance(obj, str): - length = obj.encode('utf_16_be') - output += proc_variable_length(0b0110, len(length) / 2) - output += length - elif isinstance(obj, HashableWrapper): - obj = obj.value - if isinstance(obj, (set, list, tuple)): - if isinstance(obj, set): - output += proc_variable_length(0b1100, len(obj)) - else: - output += proc_variable_length(0b1010, len(obj)) - - objectsToWrite = [] - for objRef in obj: - (isNew, output) = self.writeObjectReference(objRef, output) - if isNew: - objectsToWrite.append(objRef) - for objRef in objectsToWrite: - output = self.writeObject( - objRef, output, setReferencePosition=True) - elif isinstance(obj, dict): - output += proc_variable_length(0b1101, len(obj)) - keys = [] - values = [] - objectsToWrite = [] - for key, value in obj.items(): - keys.append(key) - values.append(value) - for key in keys: - (isNew, output) = self.writeObjectReference(key, output) - if isNew: - objectsToWrite.append(key) - for value in values: - (isNew, output) = self.writeObjectReference(value, output) - if isNew: - objectsToWrite.append(value) - for objRef in objectsToWrite: - output = self.writeObject( - objRef, output, setReferencePosition=True) - return output - - def writeOffsetTable(self, output): - """ - Public method to write all of the object reference offsets. - - @param output current output (bytes) - @return new output (bytes) - @exception InvalidPlistException raised to indicate an invalid - plist file - """ - all_positions = [] - writtenReferences = list(self.writtenReferences.items()) - writtenReferences.sort(key=lambda x: x[1]) - for obj, _order in writtenReferences: - position = self.referencePositions.get(obj) - if position is None: - raise InvalidPlistException( - "Error while writing offsets table. Object not found. {0}" - .format(obj)) - output += self.binaryInt(position, self.trailer.offsetSize) - all_positions.append(position) - return output - - def binaryReal(self, obj): - """ - Public method to pack a real object. - - @param obj real to be packed - @return serialized object (bytes) - """ - # just use doubles - result = pack('>d', obj) - return result - - def binaryInt(self, obj, length=None): - """ - Public method to pack an integer object. - - @param obj integer to be packed - @param length length the integer should be packed into (integer) - @return serialized object (bytes) - @exception InvalidPlistException raised to indicate an invalid - plist file - """ - result = '' - if length is None: - length = self.intSize(obj) - if length == 1: - result += pack('>B', obj) - elif length == 2: - result += pack('>H', obj) - elif length == 4: - result += pack('>L', obj) - elif length == 8: - result += pack('>q', obj) - else: - raise InvalidPlistException( - "Core Foundation can't handle integers with size greater" - " than 8 bytes.") - return result - - def intSize(self, obj): - """ - Public method to determine the number of bytes necessary to store the - given integer. - - @param obj integer object - @return number of bytes required (integer) - @exception InvalidPlistException raised to indicate an invalid - plist file - """ - # SIGNED - if obj < 0: # Signed integer, always 8 bytes - return 8 - # UNSIGNED - elif obj <= 0xFF: # 1 byte - return 1 - elif obj <= 0xFFFF: # 2 bytes - return 2 - elif obj <= 0xFFFFFFFF: # 4 bytes - return 4 - # SIGNED - # 0x7FFFFFFFFFFFFFFF is the max. - elif obj <= 0x7FFFFFFFFFFFFFFF: # 8 bytes - return 8 - else: - raise InvalidPlistException( - "Core Foundation can't handle integers with size greater" - " than 8 bytes.") - - def realSize(self, obj): - """ - Public method to determine the number of bytes necessary to store the - given real. - - @param obj real object - @return number of bytes required (integer) - """ - return 8
--- a/eric6/VirtualEnv/VirtualenvInterpreterSelectionDialog.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/VirtualEnv/VirtualenvInterpreterSelectionDialog.py Wed Sep 02 18:06:20 2020 +0200 @@ -76,4 +76,4 @@ @return path of the selected Python interpreter @rtype str """ - return self.pythonExecPicker.text(), + return self.pythonExecPicker.text()
--- a/eric6/VirtualEnv/VirtualenvManagerDialog.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/VirtualEnv/VirtualenvManagerDialog.py Wed Sep 02 18:06:20 2020 +0200 @@ -20,7 +20,6 @@ Class implementing a dialog to manage the list of defined virtual environments. """ - PythonVariantRole = Qt.UserRole IsGlobalRole = Qt.UserRole + 1 IsCondaRole = Qt.UserRole + 2 IsRemoteRole = Qt.UserRole + 3 @@ -124,7 +123,6 @@ dlg = VirtualenvAddEditDialog( self.__manager, selectedItem.text(0), selectedItem.text(1), selectedItem.text(2), - selectedItem.data(0, VirtualenvManagerDialog.PythonVariantRole), selectedItem.data(0, VirtualenvManagerDialog.IsGlobalRole), selectedItem.data(0, VirtualenvManagerDialog.IsCondaRole), selectedItem.data(0, VirtualenvManagerDialog.IsRemoteRole), @@ -234,8 +232,6 @@ environments[venvName]["path"], environments[venvName]["interpreter"], ]) - itm.setData(0, VirtualenvManagerDialog.PythonVariantRole, - environments[venvName]["variant"]) itm.setData(0, VirtualenvManagerDialog.IsGlobalRole, environments[venvName]["is_global"]) itm.setData(0, VirtualenvManagerDialog.IsCondaRole,
--- a/eric6/VirtualEnv/VirtualenvManagerDialog.ui Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/VirtualEnv/VirtualenvManagerDialog.ui Wed Sep 02 18:06:20 2020 +0200 @@ -77,6 +77,9 @@ <property name="text"> <string>New...</string> </property> + <property name="autoDefault"> + <bool>false</bool> + </property> </widget> </item> <item> @@ -94,9 +97,6 @@ <property name="text"> <string>Edit...</string> </property> - <property name="autoDefault"> - <bool>false</bool> - </property> </widget> </item> <item>
--- a/eric6/WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py Wed Sep 02 18:06:20 2020 +0200 @@ -7,8 +7,8 @@ Module implementing an importer for Apple Safari bookmarks. """ - import os +import plistlib from PyQt5.QtCore import QCoreApplication, QDate, Qt @@ -17,8 +17,6 @@ import UI.PixmapCache import Globals -from Utilities import binplistlib - def getImporterInfo(sourceId): """ @@ -102,8 +100,10 @@ @return imported bookmarks (BookmarkNode) """ try: - bookmarksDict = binplistlib.readPlist(self.__fileName) - except binplistlib.InvalidPlistException as err: + f = open(self.__fileName, "rb") + bookmarksDict = plistlib.load(f) + f.close() + except (plistlib.InvalidFileException, EnvironmentError) as err: self._error = True self._errorString = self.tr( "Bookmarks file cannot be read.\nReason: {0}".format(str(err)))
--- a/eric6/i18n/eric6_cs.ts Sat Aug 01 10:39:12 2020 +0200 +++ b/eric6/i18n/eric6_cs.ts Wed Sep 02 18:06:20 2020 +0200 @@ -1117,72 +1117,72 @@ <context> <name>AnnotationsChecker</name> <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="808"/> + <source>missing type annotation for function argument '{0}'</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="811"/> - <source>missing type annotation for function argument '{0}'</source> + <source>missing type annotation for '*{0}'</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="814"/> - <source>missing type annotation for '*{0}'</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="817"/> <source>missing type annotation for '**{0}'</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="823"/> + <source>missing return type annotation for public function</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="826"/> - <source>missing return type annotation for public function</source> + <source>missing return type annotation for protected function</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="829"/> - <source>missing return type annotation for protected function</source> + <source>missing return type annotation for private function</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="832"/> - <source>missing return type annotation for private function</source> + <source>missing return type annotation for special method</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="835"/> - <source>missing return type annotation for special method</source> + <source>missing return type annotation for staticmethod</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="838"/> - <source>missing return type annotation for staticmethod</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="841"/> <source>missing return type annotation for classmethod</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="853"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="850"/> <source>{0}: {1}</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="817"/> + <source>missing type annotation for 'self' in method</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="820"/> - <source>missing type annotation for 'self' in method</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="823"/> <source>missing type annotation for 'cls' in classmethod</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="845"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="842"/> <source>type annotation coverage of {0}% is too low</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="849"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="846"/> <source>type annotation is too complex ({0} > {1})</source> <translation type="unfinished"></translation> </message> @@ -1195,37 +1195,37 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Graphics/ApplicationDiagramBuilder.py" line="68"/> + <location filename="../Graphics/ApplicationDiagramBuilder.py" line="67"/> <source>Parsing modules...</source> <translation type="unfinished">Parsování modulů...</translation> </message> <message> - <location filename="../Graphics/ApplicationDiagramBuilder.py" line="203"/> + <location filename="../Graphics/ApplicationDiagramBuilder.py" line="202"/> <source><<Application>></source> <translation type="unfinished"><<Aplikace>></translation> </message> <message> - <location filename="../Graphics/ApplicationDiagramBuilder.py" line="205"/> + <location filename="../Graphics/ApplicationDiagramBuilder.py" line="204"/> <source><<Others>></source> <translation type="unfinished"><<Ostatní>></translation> </message> <message> - <location filename="../Graphics/ApplicationDiagramBuilder.py" line="294"/> + <location filename="../Graphics/ApplicationDiagramBuilder.py" line="293"/> <source>Load Diagram</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Graphics/ApplicationDiagramBuilder.py" line="294"/> + <location filename="../Graphics/ApplicationDiagramBuilder.py" line="293"/> <source><p>The diagram belongs to the project <b>{0}</b>. Shall this project be opened?</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Graphics/ApplicationDiagramBuilder.py" line="68"/> + <location filename="../Graphics/ApplicationDiagramBuilder.py" line="67"/> <source>%v/%m Modules</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Graphics/ApplicationDiagramBuilder.py" line="71"/> + <location filename="../Graphics/ApplicationDiagramBuilder.py" line="70"/> <source>Application Diagram</source> <translation type="unfinished">Diagram aplikace</translation> </message> @@ -2297,7 +2297,7 @@ <translation>Prohlížeč souborů</translation> </message> <message> - <location filename="../UI/Browser.py" line="245"/> + <location filename="../UI/Browser.py" line="249"/> <source>Open</source> <translation>Otevřít</translation> </message> @@ -2307,27 +2307,27 @@ <translation>Spustit unittest...</translation> </message> <message> - <location filename="../UI/Browser.py" line="290"/> + <location filename="../UI/Browser.py" line="294"/> <source>New toplevel directory...</source> <translation>Nový adresář toplevel...</translation> </message> <message> - <location filename="../UI/Browser.py" line="253"/> + <location filename="../UI/Browser.py" line="257"/> <source>Add as toplevel directory</source> <translation>Přidat jako toplevel adresář</translation> </message> <message> - <location filename="../UI/Browser.py" line="256"/> + <location filename="../UI/Browser.py" line="260"/> <source>Remove from toplevel</source> <translation>Odebrat z toplevelu</translation> </message> <message> - <location filename="../UI/Browser.py" line="264"/> + <location filename="../UI/Browser.py" line="268"/> <source>Find in this directory</source> <translation>Hledat v tomto adresáři</translation> </message> <message> - <location filename="../UI/Browser.py" line="570"/> + <location filename="../UI/Browser.py" line="582"/> <source>New toplevel directory</source> <translation>Nový toplevel adresář</translation> </message> @@ -2342,27 +2342,27 @@ <translation type="obsolete">Konfigurovat...</translation> </message> <message> - <location filename="../UI/Browser.py" line="231"/> + <location filename="../UI/Browser.py" line="235"/> <source>Open in Icon Editor</source> <translation>Otevřit v editoru ikon</translation> </message> <message> - <location filename="../UI/Browser.py" line="271"/> + <location filename="../UI/Browser.py" line="275"/> <source>Copy Path to Clipboard</source> <translation>Kopírovat cestu do schránky</translation> </message> <message> - <location filename="../UI/Browser.py" line="260"/> + <location filename="../UI/Browser.py" line="264"/> <source>Refresh directory</source> <translation>Obnovit složku</translation> </message> <message> - <location filename="../UI/Browser.py" line="276"/> + <location filename="../UI/Browser.py" line="280"/> <source>Goto</source> <translation type="unfinished">Jít na</translation> </message> <message> - <location filename="../UI/Browser.py" line="381"/> + <location filename="../UI/Browser.py" line="385"/> <source>Line {0}</source> <translation type="unfinished"></translation> </message> @@ -2372,65 +2372,70 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Browser.py" line="501"/> + <location filename="../UI/Browser.py" line="505"/> <source>Show Mime-Type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Browser.py" line="474"/> + <location filename="../UI/Browser.py" line="478"/> <source>The mime type of the file could not be determined.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Browser.py" line="492"/> + <location filename="../UI/Browser.py" line="496"/> <source>The file has the mime type <b>{0}</b>.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Browser.py" line="501"/> + <location filename="../UI/Browser.py" line="505"/> <source>The file has the mime type <b>{0}</b>.<br/> Shall it be added to the list of text mime types?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Browser.py" line="228"/> + <location filename="../UI/Browser.py" line="232"/> <source>Open in Hex Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/Browser.py" line="267"/> + <location filename="../UI/Browser.py" line="271"/> <source>Find && Replace in this directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../UI/Browser.py" line="220"/> + <source>Refresh Source File</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>BrowserModel</name> <message> - <location filename="../UI/BrowserModel.py" line="63"/> + <location filename="../UI/BrowserModel.py" line="65"/> <source>Name</source> <translation>Jméno</translation> </message> <message> - <location filename="../UI/BrowserModel.py" line="731"/> + <location filename="../UI/BrowserModel.py" line="774"/> <source>Attributes</source> <translation>Atributy</translation> </message> <message> - <location filename="../UI/BrowserModel.py" line="661"/> + <location filename="../UI/BrowserModel.py" line="663"/> <source>Globals</source> <translation>Globální</translation> </message> <message> - <location filename="../UI/BrowserModel.py" line="655"/> + <location filename="../UI/BrowserModel.py" line="657"/> <source>Coding: {0}</source> <translation>Kódování: {0}</translation> </message> <message> - <location filename="../UI/BrowserModel.py" line="741"/> + <location filename="../UI/BrowserModel.py" line="784"/> <source>Class Attributes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/BrowserModel.py" line="667"/> + <location filename="../UI/BrowserModel.py" line="669"/> <source>Imports</source> <translation type="unfinished"></translation> </message> @@ -3393,7 +3398,7 @@ <context> <name>CodeStyleChecker</name> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1133"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1130"/> <source>No message defined for code '{0}'.</source> <translation type="unfinished"></translation> </message> @@ -3596,7 +3601,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1016"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1015"/> <source>No issues found.</source> <translation type="unfinished">Žádné problémy nenalezeny.</translation> </message> @@ -3621,12 +3626,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="942"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="941"/> <source>{0} (ignored)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="835"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="834"/> <source>Preparing files...</source> <translation type="unfinished"></translation> </message> @@ -3641,7 +3646,7 @@ <translation type="unfinished">Chyby</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="874"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="873"/> <source>Transferring data...</source> <translation type="unfinished"></translation> </message> @@ -3746,7 +3751,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1019"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1018"/> <source>No files found (check your ignore list).</source> <translation type="unfinished"></translation> </message> @@ -4105,142 +4110,142 @@ <context> <name>CodeStyleFixer</name> <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="858"/> + <source>Triple single quotes converted to triple double quotes.</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="861"/> - <source>Triple single quotes converted to triple double quotes.</source> + <source>Introductory quotes corrected to be {0}"""</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="864"/> - <source>Introductory quotes corrected to be {0}"""</source> + <source>Single line docstring put on one line.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="867"/> - <source>Single line docstring put on one line.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="870"/> <source>Period added to summary line.</source> <translation type="un