Sat, 06 May 2017 13:43:21 +0200
Merged with default branch in order to prepare the 17.05 release.
--- a/APIs/Python3/eric6.api Sun Apr 09 16:52:55 2017 +0200 +++ b/APIs/Python3/eric6.api Sat May 06 13:43:21 2017 +0200 @@ -490,7 +490,7 @@ eric6.Debugger.DebugServer.DebugServer.utTestFailedExpected?7 eric6.Debugger.DebugServer.DebugServer.utTestSkipped?7 eric6.Debugger.DebugServer.DebugServer.utTestSucceededUnexpected?7 -eric6.Debugger.DebugServer.DebugServer?1() +eric6.Debugger.DebugServer.DebugServer?1(preventPassiveDebugging=False) eric6.Debugger.DebugServer.DebuggerInterfaces?7 eric6.Debugger.DebugUI.DebugUI.appendStdout?7 eric6.Debugger.DebugUI.DebugUI.clearHistories?4() @@ -1657,6 +1657,7 @@ eric6.Globals.findPythonInterpreters?4(pyVersion) eric6.Globals.getConfigDir?4() eric6.Globals.getPyQt5ModulesDirectory?4() +eric6.Globals.getPyQtToolsPath?4(version=5) eric6.Globals.getPythonModulesDirectory?4() eric6.Globals.getQtBinariesPath?4() eric6.Globals.isLinuxPlatform?4() @@ -3916,6 +3917,7 @@ eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.codeStyleBatchCheck?4(argumentsList, send, fx, cancelled) eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.codeStyleCheck?4(filename, source, args) eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.extractLineFlags?4(line, startComment=") +eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.ignoreCode?4(code, lineFlags) eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.initBatchService?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.initService?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.worker?4(inputQueue, outputQueue) @@ -8112,6 +8114,7 @@ eric6.QScintilla.SearchReplaceWidget.SearchReplaceWidget?1(replace, vm, parent=None, sliding=False) eric6.QScintilla.Shell.Shell.clear?4() eric6.QScintilla.Shell.Shell.clearAllHistories?4() +eric6.QScintilla.Shell.Shell.clearHistory?4() eric6.QScintilla.Shell.Shell.closeShell?4() eric6.QScintilla.Shell.Shell.contextMenuEvent?4(ev) eric6.QScintilla.Shell.Shell.dragEnterEvent?4(event) @@ -8138,9 +8141,11 @@ eric6.QScintilla.Shell.Shell.searchNext?4(txt, caseSensitive, wholeWord) eric6.QScintilla.Shell.Shell.searchPrev?4(txt, caseSensitive, wholeWord) eric6.QScintilla.Shell.Shell.searchStringFound?7 +eric6.QScintilla.Shell.Shell.selectHistory?4() eric6.QScintilla.Shell.Shell.setDebuggerUI?4(ui) +eric6.QScintilla.Shell.Shell.showHistory?4() eric6.QScintilla.Shell.Shell.wheelEvent?4(evt) -eric6.QScintilla.Shell.Shell?1(dbs, vm, parent=None) +eric6.QScintilla.Shell.Shell?1(dbs, vm, windowedVariant, parent=None) eric6.QScintilla.Shell.ShellAssembly.shell?4() eric6.QScintilla.Shell.ShellAssembly.showFind?4(txt="") eric6.QScintilla.Shell.ShellAssembly?1(dbs, vm, horizontal=True, parent=None) @@ -8152,6 +8157,11 @@ eric6.QScintilla.ShellHistoryDialog.ShellHistoryDialog.on_historyList_itemSelectionChanged?4() eric6.QScintilla.ShellHistoryDialog.ShellHistoryDialog.on_reloadButton_clicked?4() eric6.QScintilla.ShellHistoryDialog.ShellHistoryDialog?1(history, vm, shell) +eric6.QScintilla.ShellWindow.ShellWindow.activeWindow?4() +eric6.QScintilla.ShellWindow.ShellWindow.closeEvent?4(event) +eric6.QScintilla.ShellWindow.ShellWindow.getAPIsManager?4() +eric6.QScintilla.ShellWindow.ShellWindow.quit?4() +eric6.QScintilla.ShellWindow.ShellWindow?1(parent=None, name=None) eric6.QScintilla.SortOptionsDialog.SortOptionsDialog.getData?4() eric6.QScintilla.SortOptionsDialog.SortOptionsDialog?1(parent=None) eric6.QScintilla.SpellChecker.SpellChecker._getDict?5(lang, pwl="", pel="") @@ -8796,7 +8806,7 @@ eric6.UI.SearchWidget.SearchWidget.searchPrevious?7 eric6.UI.SearchWidget.SearchWidget.searchStringFound?4(found) eric6.UI.SearchWidget.SearchWidget.showFind?4(txt="") -eric6.UI.SearchWidget.SearchWidget?1(mainWindow, parent=None, spacer=True) +eric6.UI.SearchWidget.SearchWidget?1(mainWindow, parent=None, spacer=True, showLine=False) eric6.UI.SplashScreen.NoneSplashScreen.clearMessage?4() eric6.UI.SplashScreen.NoneSplashScreen.finish?4(widget) eric6.UI.SplashScreen.NoneSplashScreen.showMessage?4(msg) @@ -9182,6 +9192,7 @@ eric6.Utilities.fromNativeSeparators?4(path) eric6.Utilities.generateDistroInfo?4(linesep='\n') eric6.Utilities.generatePluginsVersionInfo?4(linesep='\n') +eric6.Utilities.generatePyQtToolPath?4(toolname) eric6.Utilities.generatePySideToolPath?4(toolname) eric6.Utilities.generateQtToolName?4(toolname) eric6.Utilities.generateVersionInfo?4(linesep='\n') @@ -9205,6 +9216,7 @@ eric6.Utilities.html_encode?4(text, pattern=_escape) eric6.Utilities.html_udecode?4(text, pattern=_uunescape) eric6.Utilities.html_uencode?4(text, pattern=_uescape) +eric6.Utilities.isDrive?4(path) eric6.Utilities.isExecutable?4(exe) eric6.Utilities.isinpath?4(file) eric6.Utilities.joinext?4(prefix, ext) @@ -10064,8 +10076,12 @@ eric6.WebBrowser.GreaseMonkey.GreaseMonkeyConfiguration.GreaseMonkeyConfigurationListWidget.GreaseMonkeyConfigurationListWidget?1(parent=None) eric6.WebBrowser.GreaseMonkey.GreaseMonkeyConfiguration.GreaseMonkeyConfigurationScriptInfoDialog.GreaseMonkeyConfigurationScriptInfoDialog.on_showScriptSourceButton_clicked?4() eric6.WebBrowser.GreaseMonkey.GreaseMonkeyConfiguration.GreaseMonkeyConfigurationScriptInfoDialog.GreaseMonkeyConfigurationScriptInfoDialog?1(script, parent=None) +eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.GreaseMonkeyDownloader.DownloadMainScript?7 +eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.GreaseMonkeyDownloader.DownloadRequireScript?7 +eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.GreaseMonkeyDownloader.error?7 eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.GreaseMonkeyDownloader.finished?7 -eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.GreaseMonkeyDownloader?1(url, manager) +eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.GreaseMonkeyDownloader.updateScript?4(fileName) +eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.GreaseMonkeyDownloader?1(url, manager, mode) eric6.WebBrowser.GreaseMonkey.GreaseMonkeyJavaScript.bootstrap_js?7 eric6.WebBrowser.GreaseMonkey.GreaseMonkeyJavaScript.values_js?7 eric6.WebBrowser.GreaseMonkey.GreaseMonkeyManager.GreaseMonkeyManager.addScript?4(script) @@ -10094,20 +10110,21 @@ eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.fullName?4() eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.include?4() eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.isEnabled?4() +eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.isUpdating?4() eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.isValid?4() eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.name?4() eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.nameSpace?4() eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.noFrames?4() -eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.script?4() +eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.require?4() eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.scriptChanged?7 eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.setEnabled?4(enable) eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.startAt?4() +eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.updateScript?4() eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.updateUrl?4() +eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.updatingChanged?7 eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.version?4() eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript.webScript?4() eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.GreaseMonkeyScript?1(manager, path) -eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor.GreaseMonkeyUrlInterceptor.interceptRequest?4(info) -eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor.GreaseMonkeyUrlInterceptor?1(manager) eric6.WebBrowser.History.HistoryCompleter.HistoryCompleter.pathFromIndex?4(idx) eric6.WebBrowser.History.HistoryCompleter.HistoryCompleter.splitPath?4(path) eric6.WebBrowser.History.HistoryCompleter.HistoryCompleter?1(model, parent=None) @@ -10146,9 +10163,12 @@ eric6.WebBrowser.History.HistoryFilterModel.HistoryFilterModel.rowCount?4(parent=None) eric6.WebBrowser.History.HistoryFilterModel.HistoryFilterModel.setSourceModel?4(sourceModel) eric6.WebBrowser.History.HistoryFilterModel.HistoryFilterModel?1(sourceModel, parent=None) -eric6.WebBrowser.History.HistoryManager.HISTORY_VERSION?7 +eric6.WebBrowser.History.HistoryManager.HISTORY_VERSIONS?7 +eric6.WebBrowser.History.HistoryManager.HISTORY_VERSION_42?7 +eric6.WebBrowser.History.HistoryManager.HISTORY_VERSION_60?7 +eric6.WebBrowser.History.HistoryManager.HistoryEntry.isValid?4() eric6.WebBrowser.History.HistoryManager.HistoryEntry.userTitle?4() -eric6.WebBrowser.History.HistoryManager.HistoryEntry?1(url=None, dateTime=None, title=None) +eric6.WebBrowser.History.HistoryManager.HistoryEntry?1(url=None, dateTime=None, title=None, visitCount=None) eric6.WebBrowser.History.HistoryManager.HistoryManager.addHistoryEntry?4(view) eric6.WebBrowser.History.HistoryManager.HistoryManager.clear?4(period=0) eric6.WebBrowser.History.HistoryManager.HistoryManager.close?4() @@ -10206,6 +10226,7 @@ eric6.WebBrowser.History.HistoryModel.HistoryModel.TitleRole?7 eric6.WebBrowser.History.HistoryModel.HistoryModel.UrlRole?7 eric6.WebBrowser.History.HistoryModel.HistoryModel.UrlStringRole?7 +eric6.WebBrowser.History.HistoryModel.HistoryModel.VisitCountRole?7 eric6.WebBrowser.History.HistoryModel.HistoryModel.columnCount?4(parent=None) eric6.WebBrowser.History.HistoryModel.HistoryModel.data?4(index, role=Qt.DisplayRole) eric6.WebBrowser.History.HistoryModel.HistoryModel.entryAdded?4() @@ -10243,6 +10264,15 @@ eric6.WebBrowser.JavaScript.StartPageJsObject.StartPageJsObject.providerString?4() eric6.WebBrowser.JavaScript.StartPageJsObject.StartPageJsObject.searchUrl?4(searchStr) eric6.WebBrowser.JavaScript.StartPageJsObject.StartPageJsObject?1(parent=None) +eric6.WebBrowser.Navigation.NavigationBar.NavigationBar.backButton?4() +eric6.WebBrowser.Navigation.NavigationBar.NavigationBar.exitFullScreenButton?4() +eric6.WebBrowser.Navigation.NavigationBar.NavigationBar.forwardButton?4() +eric6.WebBrowser.Navigation.NavigationBar.NavigationBar.reloadButton?4() +eric6.WebBrowser.Navigation.NavigationBar.NavigationBar.searchEdit?4() +eric6.WebBrowser.Navigation.NavigationBar.NavigationBar.stopButton?4() +eric6.WebBrowser.Navigation.NavigationBar.NavigationBar?1(mainWindow, parent=None) +eric6.WebBrowser.Navigation.NavigationContainer.NavigationContainer.addWidget?4(widget) +eric6.WebBrowser.Navigation.NavigationContainer.NavigationContainer?1(parent=None) eric6.WebBrowser.Network.EricSchemeHandler.EricSchemeHandler.SupportedPages?7 eric6.WebBrowser.Network.EricSchemeHandler.EricSchemeHandler.requestStarted?4(job) eric6.WebBrowser.Network.EricSchemeHandler.EricSchemeHandler?1(parent=None) @@ -10928,7 +10958,6 @@ eric6.WebBrowser.WebBrowserView.WebBrowserView.eventFilter?4(obj, evt) eric6.WebBrowser.WebBrowserView.WebBrowserView.faviconChanged?7 eric6.WebBrowser.WebBrowserView.WebBrowserView.findNextPrev?4(txt, case, backwards, callback) -eric6.WebBrowser.WebBrowserView.WebBrowserView.focusOutEvent?4(evt) eric6.WebBrowser.WebBrowserView.WebBrowserView.forward?4() eric6.WebBrowser.WebBrowserView.WebBrowserView.forwardAvailable?7 eric6.WebBrowser.WebBrowserView.WebBrowserView.getPreview?4() @@ -10974,7 +11003,7 @@ eric6.WebBrowser.WebBrowserWebSearchWidget.WebBrowserWebSearchWidget.preferencesChanged?4() eric6.WebBrowser.WebBrowserWebSearchWidget.WebBrowserWebSearchWidget.saveSearches?4() eric6.WebBrowser.WebBrowserWebSearchWidget.WebBrowserWebSearchWidget.search?7 -eric6.WebBrowser.WebBrowserWebSearchWidget.WebBrowserWebSearchWidget?1(parent=None) +eric6.WebBrowser.WebBrowserWebSearchWidget.WebBrowserWebSearchWidget?1(mainWindow, parent=None) eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.BrowserWindows?7 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._adblockManager?8 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow._autoScroller?8 @@ -11026,9 +11055,11 @@ eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.getWindow?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.greaseMonkeyManager?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.helpEngine?4() +eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.hideFullScreenNavigation?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.historyManager?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.icon?4(url) eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.imageSearchEngine?4() +eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.isFullScreenNavigationVisible?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.isPrivate?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.javascriptConsole?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.keyPressEvent?4(evt) @@ -11060,12 +11091,14 @@ eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.setForwardAvailable?4(b) eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.setLoadingActions?4(b) eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.setUseQtHelp?4(use) +eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.showFullScreenNavigation?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.showNotification?4(icon, heading, text) eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.shutdown?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.speedDial?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.syncManager?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.tabManager?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.tabWidget?4() +eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.toggleFullScreen?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.userAgentsManager?4() eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.webBrowserClosed?7 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.webBrowserOpened?7 @@ -11152,6 +11185,8 @@ eric6.eric6_qregularexpression.main?4() eric6.eric6_re.createMainWidget?4(argv) eric6.eric6_re.main?4() +eric6.eric6_shell.createMainWidget?4(argv) +eric6.eric6_shell.main?4() eric6.eric6_snap.createMainWidget?4(argv) eric6.eric6_snap.main?4() eric6.eric6_sqlbrowser.createMainWidget?4(argv)
--- a/APIs/Python3/eric6.bas Sun Apr 09 16:52:55 2017 +0200 +++ b/APIs/Python3/eric6.bas Sat May 06 13:43:21 2017 +0200 @@ -306,7 +306,6 @@ GreaseMonkeyDownloader QObject GreaseMonkeyManager QObject GreaseMonkeyScript QObject -GreaseMonkeyUrlInterceptor UrlInterceptor HelpAppearancePage ConfigurationPageBase Ui_HelpAppearancePage HelpBrowser QWebView HelpClearPrivateDataDialog QDialog Ui_HelpClearPrivateDataDialog @@ -531,6 +530,8 @@ MultiProjectWriter XMLStreamWriterBase MultiValueDictResolver DictResolver NannyNag Exception +NavigationBar QWidget +NavigationContainer QWidget NdArrayResolver BaseResolver NetworkAccessManager QNetworkAccessManager NetworkAccessManagerProxy QNetworkAccessManager @@ -691,6 +692,7 @@ ShellAssembly QWidget ShellHistoryDialog QDialog Ui_ShellHistoryDialog ShellPage ConfigurationPageBase Ui_ShellPage +ShellWindow E5MainWindow Shelve HgExtension ShelveProjectBrowserHelper HgExtensionProjectBrowserHelper ShelveProjectHelper HgExtensionProjectHelper
--- a/Cooperation/Connection.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Cooperation/Connection.py Sat May 06 13:43:21 2017 +0200 @@ -39,6 +39,10 @@ arrived @signal participants(participants) emitted after the list of participants has arrived (list of strings of "host:port") + @signal editorCommand(hash, fn, message) emitted after an editor command + has arrived (string, string, string) + @signal rejected(message) emitted after a connection has been rejected + (string) """ WaitingForGreeting = 0 ReadingGreeting = 1
--- a/DebugClients/Python/DebugBase.py Sun Apr 09 16:52:55 2017 +0200 +++ b/DebugClients/Python/DebugBase.py Sat May 06 13:43:21 2017 +0200 @@ -312,7 +312,7 @@ if event == 'line': if self.stop_here(frame) or self.break_here(frame): - if (self.stop_everywhere and + if (self.stop_everywhere and frame.f_back and frame.f_back.f_code.co_name == "prepareJsonCommand"): # Just stepped into print statement, so skip these frames self._set_stopinfo(None, frame.f_back) @@ -578,22 +578,22 @@ """ # get module name from __file__ fn = frame.f_globals.get('__file__') - if fn is not None: - try: - return self._fnCache[fn] - except KeyError: - absFilename = os.path.abspath(fn) - if absFilename.endswith(('.pyc', '.pyo')): - fixedName = absFilename[:-1] - if not os.path.exists(fixedName): - fixedName = absFilename - else: + try: + return self._fnCache[fn] + except KeyError: + if fn is None: + return frame.f_code.co_filename + + absFilename = os.path.abspath(fn) + if absFilename.endswith(('.pyc', '.pyo')): + fixedName = absFilename[:-1] + if not os.path.exists(fixedName): fixedName = absFilename - # update cache - self._fnCache[fn] = fixedName - return fixedName - else: - return frame.f_code.co_filename + else: + fixedName = absFilename + # update cache + self._fnCache[fn] = fixedName + return fixedName def __checkBreakInFrame(self, frame): """
--- a/Debugger/BreakPointModel.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Debugger/BreakPointModel.py Sat May 06 13:43:21 2017 +0200 @@ -15,6 +15,9 @@ class BreakPointModel(QAbstractItemModel): """ Class implementing a custom model for breakpoints. + + @signal dataAboutToBeChanged(QModelIndex, QModelIndex) emitted to indicate + a change of the data """ dataAboutToBeChanged = pyqtSignal(QModelIndex, QModelIndex)
--- a/Debugger/DebugServer.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Debugger/DebugServer.py Sat May 06 13:43:21 2017 +0200 @@ -154,9 +154,12 @@ callTraceInfo = pyqtSignal(bool, str, str, str, str, str, str) appendStdout = pyqtSignal(str) - def __init__(self): + def __init__(self, preventPassiveDebugging=False): """ Constructor + + @param preventPassiveDebugging flag overriding the PassiveDbgEnabled + setting (boolean) """ super(DebugServer, self).__init__() @@ -185,7 +188,8 @@ self.networkInterfaceName, self.networkInterfaceIndex = \ self.__getNetworkInterfaceAndIndex(self.networkInterface) - if Preferences.getDebugger("PassiveDbgEnabled"): + if not preventPassiveDebugging and \ + Preferences.getDebugger("PassiveDbgEnabled"): sock = Preferences.getDebugger("PassiveDbgPort") # default: 42424 self.listen(hostAddress, sock) self.passive = True
--- a/Debugger/WatchPointModel.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Debugger/WatchPointModel.py Sat May 06 13:43:21 2017 +0200 @@ -15,6 +15,9 @@ class WatchPointModel(QAbstractItemModel): """ Class implementing a custom model for watch expressions. + + @signal dataAboutToBeChanged(QModelIndex, QModelIndex) emitted to indicate + a change of the data """ dataAboutToBeChanged = pyqtSignal(QModelIndex, QModelIndex)
--- a/Documentation/Help/source.qhp Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Help/source.qhp Sat May 06 13:43:21 2017 +0200 @@ -952,6 +952,7 @@ <section title="eric6.QScintilla.SearchReplaceWidget" ref="eric6.QScintilla.SearchReplaceWidget.html" /> <section title="eric6.QScintilla.Shell" ref="eric6.QScintilla.Shell.html" /> <section title="eric6.QScintilla.ShellHistoryDialog" ref="eric6.QScintilla.ShellHistoryDialog.html" /> + <section title="eric6.QScintilla.ShellWindow" ref="eric6.QScintilla.ShellWindow.html" /> <section title="eric6.QScintilla.SortOptionsDialog" ref="eric6.QScintilla.SortOptionsDialog.html" /> <section title="eric6.QScintilla.SpellChecker" ref="eric6.QScintilla.SpellChecker.html" /> <section title="eric6.QScintilla.SpellCheckingDialog" ref="eric6.QScintilla.SpellCheckingDialog.html" /> @@ -1154,7 +1155,6 @@ <section title="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyJavaScript" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyJavaScript.html" /> <section title="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyManager" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyManager.html" /> <section title="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html" /> - <section title="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor.html" /> </section> <section title="eric6.WebBrowser.History" ref="index-eric6.WebBrowser.History.html"> <section title="eric6.WebBrowser.History.HistoryCompleter" ref="eric6.WebBrowser.History.HistoryCompleter.html" /> @@ -1173,6 +1173,10 @@ <section title="eric6.WebBrowser.JavaScript.PasswordManagerJsObject" ref="eric6.WebBrowser.JavaScript.PasswordManagerJsObject.html" /> <section title="eric6.WebBrowser.JavaScript.StartPageJsObject" ref="eric6.WebBrowser.JavaScript.StartPageJsObject.html" /> </section> + <section title="eric6.WebBrowser.Navigation" ref="index-eric6.WebBrowser.Navigation.html"> + <section title="eric6.WebBrowser.Navigation.NavigationBar" ref="eric6.WebBrowser.Navigation.NavigationBar.html" /> + <section title="eric6.WebBrowser.Navigation.NavigationContainer" ref="eric6.WebBrowser.Navigation.NavigationContainer.html" /> + </section> <section title="eric6.WebBrowser.Network" ref="index-eric6.WebBrowser.Network.html"> <section title="eric6.WebBrowser.Network.EricSchemeHandler" ref="eric6.WebBrowser.Network.EricSchemeHandler.html" /> <section title="eric6.WebBrowser.Network.NetworkManager" ref="eric6.WebBrowser.Network.NetworkManager.html" /> @@ -1321,6 +1325,7 @@ <section title="eric6.eric6_qregexp" ref="eric6.eric6_qregexp.html" /> <section title="eric6.eric6_qregularexpression" ref="eric6.eric6_qregularexpression.html" /> <section title="eric6.eric6_re" ref="eric6.eric6_re.html" /> + <section title="eric6.eric6_shell" ref="eric6.eric6_shell.html" /> <section title="eric6.eric6_snap" ref="eric6.eric6_snap.html" /> <section title="eric6.eric6_sqlbrowser" ref="eric6.eric6_sqlbrowser.html" /> <section title="eric6.eric6_tray" ref="eric6.eric6_tray.html" /> @@ -4975,7 +4980,6 @@ <keyword name="Editor.__setAutoCompletion" id="Editor.__setAutoCompletion" ref="eric6.QScintilla.Editor.html#Editor.__setAutoCompletion" /> <keyword name="Editor.__setCallTips" id="Editor.__setCallTips" ref="eric6.QScintilla.Editor.html#Editor.__setCallTips" /> <keyword name="Editor.__setEolMode" id="Editor.__setEolMode" ref="eric6.QScintilla.Editor.html#Editor.__setEolMode" /> - <keyword name="Editor.__setLineMarkerColours" id="Editor.__setLineMarkerColours" ref="eric6.QScintilla.Editor.html#Editor.__setLineMarkerColours" /> <keyword name="Editor.__setMarginsDisplay" id="Editor.__setMarginsDisplay" ref="eric6.QScintilla.Editor.html#Editor.__setMarginsDisplay" /> <keyword name="Editor.__setSpelling" id="Editor.__setSpelling" ref="eric6.QScintilla.Editor.html#Editor.__setSpelling" /> <keyword name="Editor.__setSpellingLanguage" id="Editor.__setSpellingLanguage" ref="eric6.QScintilla.Editor.html#Editor.__setSpellingLanguage" /> @@ -6233,11 +6237,11 @@ <keyword name="GreaseMonkeyDownloader (Module)" id="GreaseMonkeyDownloader (Module)" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyDownloader.html" /> <keyword name="GreaseMonkeyDownloader (Module)" id="GreaseMonkeyDownloader (Module)" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.html" /> <keyword name="GreaseMonkeyDownloader.__downloadRequires" id="GreaseMonkeyDownloader.__downloadRequires" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyDownloader.html#GreaseMonkeyDownloader.__downloadRequires" /> - <keyword name="GreaseMonkeyDownloader.__downloadRequires" id="GreaseMonkeyDownloader.__downloadRequires" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.html#GreaseMonkeyDownloader.__downloadRequires" /> <keyword name="GreaseMonkeyDownloader.__requireDownloaded" id="GreaseMonkeyDownloader.__requireDownloaded" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyDownloader.html#GreaseMonkeyDownloader.__requireDownloaded" /> <keyword name="GreaseMonkeyDownloader.__requireDownloaded" id="GreaseMonkeyDownloader.__requireDownloaded" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.html#GreaseMonkeyDownloader.__requireDownloaded" /> <keyword name="GreaseMonkeyDownloader.__scriptDownloaded" id="GreaseMonkeyDownloader.__scriptDownloaded" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyDownloader.html#GreaseMonkeyDownloader.__scriptDownloaded" /> <keyword name="GreaseMonkeyDownloader.__scriptDownloaded" id="GreaseMonkeyDownloader.__scriptDownloaded" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.html#GreaseMonkeyDownloader.__scriptDownloaded" /> + <keyword name="GreaseMonkeyDownloader.updateScript" id="GreaseMonkeyDownloader.updateScript" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.html#GreaseMonkeyDownloader.updateScript" /> <keyword name="GreaseMonkeyJavaScript (Module)" id="GreaseMonkeyJavaScript (Module)" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyJavaScript.html" /> <keyword name="GreaseMonkeyJavaScript (Module)" id="GreaseMonkeyJavaScript (Module)" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyJavaScript.html" /> <keyword name="GreaseMonkeyManager" id="GreaseMonkeyManager" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyManager.html#GreaseMonkeyManager" /> @@ -6246,7 +6250,6 @@ <keyword name="GreaseMonkeyManager (Constructor)" id="GreaseMonkeyManager (Constructor)" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyManager.html#GreaseMonkeyManager.__init__" /> <keyword name="GreaseMonkeyManager (Module)" id="GreaseMonkeyManager (Module)" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyManager.html" /> <keyword name="GreaseMonkeyManager (Module)" id="GreaseMonkeyManager (Module)" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyManager.html" /> - <keyword name="GreaseMonkeyManager.__del__" id="GreaseMonkeyManager.__del__" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyManager.html#GreaseMonkeyManager.__del__" /> <keyword name="GreaseMonkeyManager.__downloaderFinished" id="GreaseMonkeyManager.__downloaderFinished" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyManager.html#GreaseMonkeyManager.__downloaderFinished" /> <keyword name="GreaseMonkeyManager.__downloaderFinished" id="GreaseMonkeyManager.__downloaderFinished" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyManager.html#GreaseMonkeyManager.__downloaderFinished" /> <keyword name="GreaseMonkeyManager.__load" id="GreaseMonkeyManager.__load" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyManager.html#GreaseMonkeyManager.__load" /> @@ -6288,8 +6291,14 @@ <keyword name="GreaseMonkeyScript (Constructor)" id="GreaseMonkeyScript (Constructor)" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.__init__" /> <keyword name="GreaseMonkeyScript (Module)" id="GreaseMonkeyScript (Module)" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyScript.html" /> <keyword name="GreaseMonkeyScript (Module)" id="GreaseMonkeyScript (Module)" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html" /> + <keyword name="GreaseMonkeyScript.__downloadRequires" id="GreaseMonkeyScript.__downloadRequires" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.__downloadRequires" /> + <keyword name="GreaseMonkeyScript.__downloaderError" id="GreaseMonkeyScript.__downloaderError" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.__downloaderError" /> + <keyword name="GreaseMonkeyScript.__downloaderFinished" id="GreaseMonkeyScript.__downloaderFinished" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.__downloaderFinished" /> <keyword name="GreaseMonkeyScript.__parseScript" id="GreaseMonkeyScript.__parseScript" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.__parseScript" /> <keyword name="GreaseMonkeyScript.__parseScript" id="GreaseMonkeyScript.__parseScript" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.__parseScript" /> + <keyword name="GreaseMonkeyScript.__reloadScript" id="GreaseMonkeyScript.__reloadScript" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.__reloadScript" /> + <keyword name="GreaseMonkeyScript.__requireDownloadError" id="GreaseMonkeyScript.__requireDownloadError" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.__requireDownloadError" /> + <keyword name="GreaseMonkeyScript.__requireDownloaded" id="GreaseMonkeyScript.__requireDownloaded" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.__requireDownloaded" /> <keyword name="GreaseMonkeyScript.__toJavaScriptList" id="GreaseMonkeyScript.__toJavaScriptList" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.__toJavaScriptList" /> <keyword name="GreaseMonkeyScript.__watchedFileChanged" id="GreaseMonkeyScript.__watchedFileChanged" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.__watchedFileChanged" /> <keyword name="GreaseMonkeyScript.description" id="GreaseMonkeyScript.description" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.description" /> @@ -6306,6 +6315,7 @@ <keyword name="GreaseMonkeyScript.include" id="GreaseMonkeyScript.include" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.include" /> <keyword name="GreaseMonkeyScript.isEnabled" id="GreaseMonkeyScript.isEnabled" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.isEnabled" /> <keyword name="GreaseMonkeyScript.isEnabled" id="GreaseMonkeyScript.isEnabled" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.isEnabled" /> + <keyword name="GreaseMonkeyScript.isUpdating" id="GreaseMonkeyScript.isUpdating" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.isUpdating" /> <keyword name="GreaseMonkeyScript.isValid" id="GreaseMonkeyScript.isValid" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.isValid" /> <keyword name="GreaseMonkeyScript.isValid" id="GreaseMonkeyScript.isValid" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.isValid" /> <keyword name="GreaseMonkeyScript.match" id="GreaseMonkeyScript.match" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.match" /> @@ -6314,20 +6324,17 @@ <keyword name="GreaseMonkeyScript.nameSpace" id="GreaseMonkeyScript.nameSpace" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.nameSpace" /> <keyword name="GreaseMonkeyScript.nameSpace" id="GreaseMonkeyScript.nameSpace" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.nameSpace" /> <keyword name="GreaseMonkeyScript.noFrames" id="GreaseMonkeyScript.noFrames" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.noFrames" /> + <keyword name="GreaseMonkeyScript.require" id="GreaseMonkeyScript.require" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.require" /> <keyword name="GreaseMonkeyScript.script" id="GreaseMonkeyScript.script" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.script" /> - <keyword name="GreaseMonkeyScript.script" id="GreaseMonkeyScript.script" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.script" /> <keyword name="GreaseMonkeyScript.setEnabled" id="GreaseMonkeyScript.setEnabled" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.setEnabled" /> <keyword name="GreaseMonkeyScript.setEnabled" id="GreaseMonkeyScript.setEnabled" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.setEnabled" /> <keyword name="GreaseMonkeyScript.startAt" id="GreaseMonkeyScript.startAt" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.startAt" /> <keyword name="GreaseMonkeyScript.startAt" id="GreaseMonkeyScript.startAt" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.startAt" /> + <keyword name="GreaseMonkeyScript.updateScript" id="GreaseMonkeyScript.updateScript" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.updateScript" /> <keyword name="GreaseMonkeyScript.updateUrl" id="GreaseMonkeyScript.updateUrl" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.updateUrl" /> <keyword name="GreaseMonkeyScript.version" id="GreaseMonkeyScript.version" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.version" /> <keyword name="GreaseMonkeyScript.version" id="GreaseMonkeyScript.version" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.version" /> <keyword name="GreaseMonkeyScript.webScript" id="GreaseMonkeyScript.webScript" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.webScript" /> - <keyword name="GreaseMonkeyUrlInterceptor" id="GreaseMonkeyUrlInterceptor" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor.html#GreaseMonkeyUrlInterceptor" /> - <keyword name="GreaseMonkeyUrlInterceptor (Constructor)" id="GreaseMonkeyUrlInterceptor (Constructor)" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor.html#GreaseMonkeyUrlInterceptor.__init__" /> - <keyword name="GreaseMonkeyUrlInterceptor (Module)" id="GreaseMonkeyUrlInterceptor (Module)" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor.html" /> - <keyword name="GreaseMonkeyUrlInterceptor.interceptRequest" id="GreaseMonkeyUrlInterceptor.interceptRequest" ref="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor.html#GreaseMonkeyUrlInterceptor.interceptRequest" /> <keyword name="GreaseMonkeyUrlMatcher" id="GreaseMonkeyUrlMatcher" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyUrlMatcher.html#GreaseMonkeyUrlMatcher" /> <keyword name="GreaseMonkeyUrlMatcher (Constructor)" id="GreaseMonkeyUrlMatcher (Constructor)" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyUrlMatcher.html#GreaseMonkeyUrlMatcher.__init__" /> <keyword name="GreaseMonkeyUrlMatcher (Module)" id="GreaseMonkeyUrlMatcher (Module)" ref="eric6.Helpviewer.GreaseMonkey.GreaseMonkeyUrlMatcher.html" /> @@ -8279,6 +8286,7 @@ <keyword name="HistoryEntry.__eq__" id="HistoryEntry.__eq__" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryEntry.__eq__" /> <keyword name="HistoryEntry.__lt__" id="HistoryEntry.__lt__" ref="eric6.Helpviewer.History.HistoryManager.html#HistoryEntry.__lt__" /> <keyword name="HistoryEntry.__lt__" id="HistoryEntry.__lt__" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryEntry.__lt__" /> + <keyword name="HistoryEntry.isValid" id="HistoryEntry.isValid" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryEntry.isValid" /> <keyword name="HistoryEntry.userTitle" id="HistoryEntry.userTitle" ref="eric6.Helpviewer.History.HistoryManager.html#HistoryEntry.userTitle" /> <keyword name="HistoryEntry.userTitle" id="HistoryEntry.userTitle" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryEntry.userTitle" /> <keyword name="HistoryFilterModel" id="HistoryFilterModel" ref="eric6.Helpviewer.History.HistoryFilterModel.html#HistoryFilterModel" /> @@ -8333,12 +8341,16 @@ <keyword name="HistoryManager (Module)" id="HistoryManager (Module)" ref="eric6.WebBrowser.History.HistoryManager.html" /> <keyword name="HistoryManager.__checkForExpired" id="HistoryManager.__checkForExpired" ref="eric6.Helpviewer.History.HistoryManager.html#HistoryManager.__checkForExpired" /> <keyword name="HistoryManager.__checkForExpired" id="HistoryManager.__checkForExpired" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryManager.__checkForExpired" /> + <keyword name="HistoryManager.__cleanUrl" id="HistoryManager.__cleanUrl" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryManager.__cleanUrl" /> + <keyword name="HistoryManager.__cleanUrlStr" id="HistoryManager.__cleanUrlStr" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryManager.__cleanUrlStr" /> + <keyword name="HistoryManager.__findFirstHistoryEntry" id="HistoryManager.__findFirstHistoryEntry" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryManager.__findFirstHistoryEntry" /> <keyword name="HistoryManager.__load" id="HistoryManager.__load" ref="eric6.Helpviewer.History.HistoryManager.html#HistoryManager.__load" /> <keyword name="HistoryManager.__load" id="HistoryManager.__load" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryManager.__load" /> <keyword name="HistoryManager.__refreshFrequencies" id="HistoryManager.__refreshFrequencies" ref="eric6.Helpviewer.History.HistoryManager.html#HistoryManager.__refreshFrequencies" /> <keyword name="HistoryManager.__refreshFrequencies" id="HistoryManager.__refreshFrequencies" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryManager.__refreshFrequencies" /> <keyword name="HistoryManager.__startFrequencyTimer" id="HistoryManager.__startFrequencyTimer" ref="eric6.Helpviewer.History.HistoryManager.html#HistoryManager.__startFrequencyTimer" /> <keyword name="HistoryManager.__startFrequencyTimer" id="HistoryManager.__startFrequencyTimer" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryManager.__startFrequencyTimer" /> + <keyword name="HistoryManager.__updateVisitCount" id="HistoryManager.__updateVisitCount" ref="eric6.WebBrowser.History.HistoryManager.html#HistoryManager.__updateVisitCount" /> <keyword name="HistoryManager._addHistoryEntry" id="HistoryManager._addHistoryEntry" ref="eric6.Helpviewer.History.HistoryManager.html#HistoryManager._addHistoryEntry" /> <keyword name="HistoryManager._removeHistoryEntry" id="HistoryManager._removeHistoryEntry" ref="eric6.Helpviewer.History.HistoryManager.html#HistoryManager._removeHistoryEntry" /> <keyword name="HistoryManager.addHistoryEntry" id="HistoryManager.addHistoryEntry" ref="eric6.Helpviewer.History.HistoryManager.html#HistoryManager.addHistoryEntry" /> @@ -9964,6 +9976,29 @@ <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__" /> + <keyword name="NavigationBar (Module)" id="NavigationBar (Module)" ref="eric6.WebBrowser.Navigation.NavigationBar.html" /> + <keyword name="NavigationBar.__clearHistory" id="NavigationBar.__clearHistory" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.__clearHistory" /> + <keyword name="NavigationBar.__goBack" id="NavigationBar.__goBack" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.__goBack" /> + <keyword name="NavigationBar.__goForward" id="NavigationBar.__goForward" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.__goForward" /> + <keyword name="NavigationBar.__goHome" id="NavigationBar.__goHome" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.__goHome" /> + <keyword name="NavigationBar.__navigationMenuActionTriggered" id="NavigationBar.__navigationMenuActionTriggered" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.__navigationMenuActionTriggered" /> + <keyword name="NavigationBar.__reload" id="NavigationBar.__reload" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.__reload" /> + <keyword name="NavigationBar.__showBackMenu" id="NavigationBar.__showBackMenu" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.__showBackMenu" /> + <keyword name="NavigationBar.__showForwardMenu" id="NavigationBar.__showForwardMenu" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.__showForwardMenu" /> + <keyword name="NavigationBar.__stopLoad" id="NavigationBar.__stopLoad" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.__stopLoad" /> + <keyword name="NavigationBar.backButton" id="NavigationBar.backButton" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.backButton" /> + <keyword name="NavigationBar.exitFullScreenButton" id="NavigationBar.exitFullScreenButton" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.exitFullScreenButton" /> + <keyword name="NavigationBar.forwardButton" id="NavigationBar.forwardButton" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.forwardButton" /> + <keyword name="NavigationBar.reloadButton" id="NavigationBar.reloadButton" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.reloadButton" /> + <keyword name="NavigationBar.searchEdit" id="NavigationBar.searchEdit" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.searchEdit" /> + <keyword name="NavigationBar.stopButton" id="NavigationBar.stopButton" ref="eric6.WebBrowser.Navigation.NavigationBar.html#NavigationBar.stopButton" /> + <keyword name="NavigationContainer" id="NavigationContainer" ref="eric6.WebBrowser.Navigation.NavigationContainer.html#NavigationContainer" /> + <keyword name="NavigationContainer (Constructor)" id="NavigationContainer (Constructor)" ref="eric6.WebBrowser.Navigation.NavigationContainer.html#NavigationContainer.__init__" /> + <keyword name="NavigationContainer (Module)" id="NavigationContainer (Module)" ref="eric6.WebBrowser.Navigation.NavigationContainer.html" /> + <keyword name="NavigationContainer.addWidget" id="NavigationContainer.addWidget" ref="eric6.WebBrowser.Navigation.NavigationContainer.html#NavigationContainer.addWidget" /> <keyword name="NdArrayItemsContainer" id="NdArrayItemsContainer" ref="eric6.DebugClients.Python.DebugVariables.html#NdArrayItemsContainer" /> <keyword name="NdArrayResolver" id="NdArrayResolver" ref="eric6.DebugClients.Python.DebugVariables.html#NdArrayResolver" /> <keyword name="NdArrayResolver.__isNumeric" id="NdArrayResolver.__isNumeric" ref="eric6.DebugClients.Python.DebugVariables.html#NdArrayResolver.__isNumeric" /> @@ -12331,17 +12366,18 @@ <keyword name="Shell.__QScintillaCharLeft" id="Shell.__QScintillaCharLeft" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaCharLeft" /> <keyword name="Shell.__QScintillaCharLeftExtend" id="Shell.__QScintillaCharLeftExtend" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaCharLeftExtend" /> <keyword name="Shell.__QScintillaCharRight" id="Shell.__QScintillaCharRight" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaCharRight" /> + <keyword name="Shell.__QScintillaCommand" id="Shell.__QScintillaCommand" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaCommand" /> <keyword name="Shell.__QScintillaDelete" id="Shell.__QScintillaDelete" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaDelete" /> <keyword name="Shell.__QScintillaDeleteBack" id="Shell.__QScintillaDeleteBack" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaDeleteBack" /> <keyword name="Shell.__QScintillaDeleteLineLeft" id="Shell.__QScintillaDeleteLineLeft" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaDeleteLineLeft" /> <keyword name="Shell.__QScintillaDeleteLineRight" id="Shell.__QScintillaDeleteLineRight" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaDeleteLineRight" /> <keyword name="Shell.__QScintillaDeleteWordLeft" id="Shell.__QScintillaDeleteWordLeft" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaDeleteWordLeft" /> <keyword name="Shell.__QScintillaDeleteWordRight" id="Shell.__QScintillaDeleteWordRight" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaDeleteWordRight" /> + <keyword name="Shell.__QScintillaHistoryDown" id="Shell.__QScintillaHistoryDown" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaHistoryDown" /> + <keyword name="Shell.__QScintillaHistoryUp" id="Shell.__QScintillaHistoryUp" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaHistoryUp" /> <keyword name="Shell.__QScintillaLeftCommand" id="Shell.__QScintillaLeftCommand" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaLeftCommand" /> <keyword name="Shell.__QScintillaLeftDeleteCommand" id="Shell.__QScintillaLeftDeleteCommand" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaLeftDeleteCommand" /> - <keyword name="Shell.__QScintillaLineDown" id="Shell.__QScintillaLineDown" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaLineDown" /> <keyword name="Shell.__QScintillaLineEnd" id="Shell.__QScintillaLineEnd" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaLineEnd" /> - <keyword name="Shell.__QScintillaLineUp" id="Shell.__QScintillaLineUp" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaLineUp" /> <keyword name="Shell.__QScintillaNewline" id="Shell.__QScintillaNewline" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaNewline" /> <keyword name="Shell.__QScintillaRightCommand" id="Shell.__QScintillaRightCommand" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaRightCommand" /> <keyword name="Shell.__QScintillaTab" id="Shell.__QScintillaTab" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaTab" /> @@ -12352,7 +12388,6 @@ <keyword name="Shell.__QScintillaWordRight" id="Shell.__QScintillaWordRight" ref="eric6.QScintilla.Shell.html#Shell.__QScintillaWordRight" /> <keyword name="Shell.__bindLexer" id="Shell.__bindLexer" ref="eric6.QScintilla.Shell.html#Shell.__bindLexer" /> <keyword name="Shell.__clearCurrentLine" id="Shell.__clearCurrentLine" ref="eric6.QScintilla.Shell.html#Shell.__clearCurrentLine" /> - <keyword name="Shell.__clearHistory" id="Shell.__clearHistory" ref="eric6.QScintilla.Shell.html#Shell.__clearHistory" /> <keyword name="Shell.__clientCapabilities" id="Shell.__clientCapabilities" ref="eric6.QScintilla.Shell.html#Shell.__clientCapabilities" /> <keyword name="Shell.__clientError" id="Shell.__clientError" ref="eric6.QScintilla.Shell.html#Shell.__clientError" /> <keyword name="Shell.__clientException" id="Shell.__clientException" ref="eric6.QScintilla.Shell.html#Shell.__clientException" /> @@ -12380,14 +12415,12 @@ <keyword name="Shell.__searchHistory" id="Shell.__searchHistory" ref="eric6.QScintilla.Shell.html#Shell.__searchHistory" /> <keyword name="Shell.__searchNext" id="Shell.__searchNext" ref="eric6.QScintilla.Shell.html#Shell.__searchNext" /> <keyword name="Shell.__searchPrev" id="Shell.__searchPrev" ref="eric6.QScintilla.Shell.html#Shell.__searchPrev" /> - <keyword name="Shell.__selectHistory" id="Shell.__selectHistory" ref="eric6.QScintilla.Shell.html#Shell.__selectHistory" /> <keyword name="Shell.__setAutoCompletion" id="Shell.__setAutoCompletion" ref="eric6.QScintilla.Shell.html#Shell.__setAutoCompletion" /> <keyword name="Shell.__setCallTips" id="Shell.__setCallTips" ref="eric6.QScintilla.Shell.html#Shell.__setCallTips" /> <keyword name="Shell.__setMargin0" id="Shell.__setMargin0" ref="eric6.QScintilla.Shell.html#Shell.__setMargin0" /> <keyword name="Shell.__setMonospaced" id="Shell.__setMonospaced" ref="eric6.QScintilla.Shell.html#Shell.__setMonospaced" /> <keyword name="Shell.__setTextDisplay" id="Shell.__setTextDisplay" ref="eric6.QScintilla.Shell.html#Shell.__setTextDisplay" /> <keyword name="Shell.__showCompletions" id="Shell.__showCompletions" ref="eric6.QScintilla.Shell.html#Shell.__showCompletions" /> - <keyword name="Shell.__showHistory" id="Shell.__showHistory" ref="eric6.QScintilla.Shell.html#Shell.__showHistory" /> <keyword name="Shell.__showLanguageMenu" id="Shell.__showLanguageMenu" ref="eric6.QScintilla.Shell.html#Shell.__showLanguageMenu" /> <keyword name="Shell.__startDebugClient" id="Shell.__startDebugClient" ref="eric6.QScintilla.Shell.html#Shell.__startDebugClient" /> <keyword name="Shell.__useHistory" id="Shell.__useHistory" ref="eric6.QScintilla.Shell.html#Shell.__useHistory" /> @@ -12398,6 +12431,7 @@ <keyword name="Shell.__writeStdOut" id="Shell.__writeStdOut" ref="eric6.QScintilla.Shell.html#Shell.__writeStdOut" /> <keyword name="Shell.clear" id="Shell.clear" ref="eric6.QScintilla.Shell.html#Shell.clear" /> <keyword name="Shell.clearAllHistories" id="Shell.clearAllHistories" ref="eric6.QScintilla.Shell.html#Shell.clearAllHistories" /> + <keyword name="Shell.clearHistory" id="Shell.clearHistory" ref="eric6.QScintilla.Shell.html#Shell.clearHistory" /> <keyword name="Shell.closeShell" id="Shell.closeShell" ref="eric6.QScintilla.Shell.html#Shell.closeShell" /> <keyword name="Shell.contextMenuEvent" id="Shell.contextMenuEvent" ref="eric6.QScintilla.Shell.html#Shell.contextMenuEvent" /> <keyword name="Shell.dragEnterEvent" id="Shell.dragEnterEvent" ref="eric6.QScintilla.Shell.html#Shell.dragEnterEvent" /> @@ -12423,7 +12457,9 @@ <keyword name="Shell.saveHistory" id="Shell.saveHistory" ref="eric6.QScintilla.Shell.html#Shell.saveHistory" /> <keyword name="Shell.searchNext" id="Shell.searchNext" ref="eric6.QScintilla.Shell.html#Shell.searchNext" /> <keyword name="Shell.searchPrev" id="Shell.searchPrev" ref="eric6.QScintilla.Shell.html#Shell.searchPrev" /> + <keyword name="Shell.selectHistory" id="Shell.selectHistory" ref="eric6.QScintilla.Shell.html#Shell.selectHistory" /> <keyword name="Shell.setDebuggerUI" id="Shell.setDebuggerUI" ref="eric6.QScintilla.Shell.html#Shell.setDebuggerUI" /> + <keyword name="Shell.showHistory" id="Shell.showHistory" ref="eric6.QScintilla.Shell.html#Shell.showHistory" /> <keyword name="Shell.wheelEvent" id="Shell.wheelEvent" ref="eric6.QScintilla.Shell.html#Shell.wheelEvent" /> <keyword name="ShellAssembly" id="ShellAssembly" ref="eric6.QScintilla.Shell.html#ShellAssembly" /> <keyword name="ShellAssembly (Constructor)" id="ShellAssembly (Constructor)" ref="eric6.QScintilla.Shell.html#ShellAssembly.__init__" /> @@ -12446,6 +12482,41 @@ <keyword name="ShellPage.on_monospacedFontButton_clicked" id="ShellPage.on_monospacedFontButton_clicked" ref="eric6.Preferences.ConfigurationPages.ShellPage.html#ShellPage.on_monospacedFontButton_clicked" /> <keyword name="ShellPage.polishPage" id="ShellPage.polishPage" ref="eric6.Preferences.ConfigurationPages.ShellPage.html#ShellPage.polishPage" /> <keyword name="ShellPage.save" id="ShellPage.save" ref="eric6.Preferences.ConfigurationPages.ShellPage.html#ShellPage.save" /> + <keyword name="ShellWindow" id="ShellWindow" ref="eric6.QScintilla.ShellWindow.html#ShellWindow" /> + <keyword name="ShellWindow (Constructor)" id="ShellWindow (Constructor)" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__init__" /> + <keyword name="ShellWindow (Module)" id="ShellWindow (Module)" ref="eric6.QScintilla.ShellWindow.html" /> + <keyword name="ShellWindow.__about" id="ShellWindow.__about" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__about" /> + <keyword name="ShellWindow.__aboutQt" id="ShellWindow.__aboutQt" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__aboutQt" /> + <keyword name="ShellWindow.__createActions" id="ShellWindow.__createActions" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createActions" /> + <keyword name="ShellWindow.__createEditActions" id="ShellWindow.__createEditActions" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createEditActions" /> + <keyword name="ShellWindow.__createFileActions" id="ShellWindow.__createFileActions" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createFileActions" /> + <keyword name="ShellWindow.__createHelpActions" id="ShellWindow.__createHelpActions" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createHelpActions" /> + <keyword name="ShellWindow.__createHistoryActions" id="ShellWindow.__createHistoryActions" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createHistoryActions" /> + <keyword name="ShellWindow.__createMenus" id="ShellWindow.__createMenus" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createMenus" /> + <keyword name="ShellWindow.__createSearchActions" id="ShellWindow.__createSearchActions" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createSearchActions" /> + <keyword name="ShellWindow.__createStatusBar" id="ShellWindow.__createStatusBar" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createStatusBar" /> + <keyword name="ShellWindow.__createToolBars" id="ShellWindow.__createToolBars" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createToolBars" /> + <keyword name="ShellWindow.__createViewActions" id="ShellWindow.__createViewActions" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createViewActions" /> + <keyword name="ShellWindow.__doClearRestart" id="ShellWindow.__doClearRestart" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__doClearRestart" /> + <keyword name="ShellWindow.__doRestart" id="ShellWindow.__doRestart" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__doRestart" /> + <keyword name="ShellWindow.__newWindow" id="ShellWindow.__newWindow" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__newWindow" /> + <keyword name="ShellWindow.__readSettings" id="ShellWindow.__readSettings" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__readSettings" /> + <keyword name="ShellWindow.__readShortcut" id="ShellWindow.__readShortcut" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__readShortcut" /> + <keyword name="ShellWindow.__showFind" id="ShellWindow.__showFind" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__showFind" /> + <keyword name="ShellWindow.__showLanguageMenu" id="ShellWindow.__showLanguageMenu" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__showLanguageMenu" /> + <keyword name="ShellWindow.__startShell" id="ShellWindow.__startShell" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__startShell" /> + <keyword name="ShellWindow.__whatsThis" id="ShellWindow.__whatsThis" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__whatsThis" /> + <keyword name="ShellWindow.__writeSettings" id="ShellWindow.__writeSettings" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__writeSettings" /> + <keyword name="ShellWindow.__zoom" id="ShellWindow.__zoom" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__zoom" /> + <keyword name="ShellWindow.__zoomIn" id="ShellWindow.__zoomIn" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__zoomIn" /> + <keyword name="ShellWindow.__zoomOut" id="ShellWindow.__zoomOut" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__zoomOut" /> + <keyword name="ShellWindow.__zoomReset" id="ShellWindow.__zoomReset" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__zoomReset" /> + <keyword name="ShellWindow.__zoomTo" id="ShellWindow.__zoomTo" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__zoomTo" /> + <keyword name="ShellWindow.__zoomValueChanged" id="ShellWindow.__zoomValueChanged" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__zoomValueChanged" /> + <keyword name="ShellWindow.activeWindow" id="ShellWindow.activeWindow" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.activeWindow" /> + <keyword name="ShellWindow.closeEvent" id="ShellWindow.closeEvent" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.closeEvent" /> + <keyword name="ShellWindow.getAPIsManager" id="ShellWindow.getAPIsManager" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.getAPIsManager" /> + <keyword name="ShellWindow.quit" id="ShellWindow.quit" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.quit" /> <keyword name="Shelve" id="Shelve" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve" /> <keyword name="Shelve (Constructor)" id="Shelve (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.__init__" /> <keyword name="Shelve.__hgGetShelveNamesList" id="Shelve.__hgGetShelveNamesList" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve.__hgGetShelveNamesList" /> @@ -14442,6 +14513,7 @@ <keyword name="TrayStarter.__startProc" id="TrayStarter.__startProc" ref="eric6.Tools.TrayStarter.html#TrayStarter.__startProc" /> <keyword name="TrayStarter.__startPyRe" id="TrayStarter.__startPyRe" ref="eric6.Tools.TrayStarter.html#TrayStarter.__startPyRe" /> <keyword name="TrayStarter.__startQRegExp" id="TrayStarter.__startQRegExp" ref="eric6.Tools.TrayStarter.html#TrayStarter.__startQRegExp" /> + <keyword name="TrayStarter.__startShell" id="TrayStarter.__startShell" ref="eric6.Tools.TrayStarter.html#TrayStarter.__startShell" /> <keyword name="TrayStarter.__startSnapshot" id="TrayStarter.__startSnapshot" ref="eric6.Tools.TrayStarter.html#TrayStarter.__startSnapshot" /> <keyword name="TrayStarter.__startSqlBrowser" id="TrayStarter.__startSqlBrowser" ref="eric6.Tools.TrayStarter.html#TrayStarter.__startSqlBrowser" /> <keyword name="TrayStarter.__startTRPreviewer" id="TrayStarter.__startTRPreviewer" ref="eric6.Tools.TrayStarter.html#TrayStarter.__startTRPreviewer" /> @@ -15807,7 +15879,6 @@ <keyword name="WebBrowserView.event" id="WebBrowserView.event" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.event" /> <keyword name="WebBrowserView.eventFilter" id="WebBrowserView.eventFilter" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.eventFilter" /> <keyword name="WebBrowserView.findNextPrev" id="WebBrowserView.findNextPrev" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.findNextPrev" /> - <keyword name="WebBrowserView.focusOutEvent" id="WebBrowserView.focusOutEvent" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.focusOutEvent" /> <keyword name="WebBrowserView.forward" id="WebBrowserView.forward" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.forward" /> <keyword name="WebBrowserView.getPreview" id="WebBrowserView.getPreview" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.getPreview" /> <keyword name="WebBrowserView.getRSS" id="WebBrowserView.getRSS" ref="eric6.WebBrowser.WebBrowserView.html#WebBrowserView.getRSS" /> @@ -15891,6 +15962,7 @@ <keyword name="WebBrowserWindow.__filterQtHelpDocumentation" id="WebBrowserWindow.__filterQtHelpDocumentation" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__filterQtHelpDocumentation" /> <keyword name="WebBrowserWindow.__find" id="WebBrowserWindow.__find" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__find" /> <keyword name="WebBrowserWindow.__forward" id="WebBrowserWindow.__forward" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__forward" /> + <keyword name="WebBrowserWindow.__hideNavigation" id="WebBrowserWindow.__hideNavigation" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__hideNavigation" /> <keyword name="WebBrowserWindow.__home" id="WebBrowserWindow.__home" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__home" /> <keyword name="WebBrowserWindow.__indexingFinished" id="WebBrowserWindow.__indexingFinished" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__indexingFinished" /> <keyword name="WebBrowserWindow.__indexingStarted" id="WebBrowserWindow.__indexingStarted" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__indexingStarted" /> @@ -15903,7 +15975,6 @@ <keyword name="WebBrowserWindow.__lookForNewDocumentation" id="WebBrowserWindow.__lookForNewDocumentation" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__lookForNewDocumentation" /> <keyword name="WebBrowserWindow.__manageQtHelpDocumentation" id="WebBrowserWindow.__manageQtHelpDocumentation" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__manageQtHelpDocumentation" /> <keyword name="WebBrowserWindow.__manageQtHelpFilters" id="WebBrowserWindow.__manageQtHelpFilters" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__manageQtHelpFilters" /> - <keyword name="WebBrowserWindow.__navigationMenuActionTriggered" id="WebBrowserWindow.__navigationMenuActionTriggered" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__navigationMenuActionTriggered" /> <keyword name="WebBrowserWindow.__nextTab" id="WebBrowserWindow.__nextTab" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__nextTab" /> <keyword name="WebBrowserWindow.__openFile" id="WebBrowserWindow.__openFile" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__openFile" /> <keyword name="WebBrowserWindow.__openFileNewTab" id="WebBrowserWindow.__openFileNewTab" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__openFileNewTab" /> @@ -15923,7 +15994,6 @@ <keyword name="WebBrowserWindow.__setupFilterCombo" id="WebBrowserWindow.__setupFilterCombo" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__setupFilterCombo" /> <keyword name="WebBrowserWindow.__showAcceptedLanguages" id="WebBrowserWindow.__showAcceptedLanguages" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showAcceptedLanguages" /> <keyword name="WebBrowserWindow.__showAdBlockDialog" id="WebBrowserWindow.__showAdBlockDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showAdBlockDialog" /> - <keyword name="WebBrowserWindow.__showBackMenu" id="WebBrowserWindow.__showBackMenu" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showBackMenu" /> <keyword name="WebBrowserWindow.__showBookmarksDialog" id="WebBrowserWindow.__showBookmarksDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showBookmarksDialog" /> <keyword name="WebBrowserWindow.__showCertificateErrorsDialog" id="WebBrowserWindow.__showCertificateErrorsDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showCertificateErrorsDialog" /> <keyword name="WebBrowserWindow.__showCookiesConfiguration" id="WebBrowserWindow.__showCookiesConfiguration" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showCookiesConfiguration" /> @@ -15932,7 +16002,6 @@ <keyword name="WebBrowserWindow.__showFeaturePermissionDialog" id="WebBrowserWindow.__showFeaturePermissionDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showFeaturePermissionDialog" /> <keyword name="WebBrowserWindow.__showFeedsManager" id="WebBrowserWindow.__showFeedsManager" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showFeedsManager" /> <keyword name="WebBrowserWindow.__showFlashCookiesManagement" id="WebBrowserWindow.__showFlashCookiesManagement" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showFlashCookiesManagement" /> - <keyword name="WebBrowserWindow.__showForwardMenu" id="WebBrowserWindow.__showForwardMenu" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showForwardMenu" /> <keyword name="WebBrowserWindow.__showGreaseMonkeyConfigDialog" id="WebBrowserWindow.__showGreaseMonkeyConfigDialog" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showGreaseMonkeyConfigDialog" /> <keyword name="WebBrowserWindow.__showIndexWindow" id="WebBrowserWindow.__showIndexWindow" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showIndexWindow" /> <keyword name="WebBrowserWindow.__showInstallationError" id="WebBrowserWindow.__showInstallationError" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__showInstallationError" /> @@ -15956,7 +16025,6 @@ <keyword name="WebBrowserWindow.__toggleJavaScriptConsole" id="WebBrowserWindow.__toggleJavaScriptConsole" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__toggleJavaScriptConsole" /> <keyword name="WebBrowserWindow.__undo" id="WebBrowserWindow.__undo" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__undo" /> <keyword name="WebBrowserWindow.__unselect" id="WebBrowserWindow.__unselect" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__unselect" /> - <keyword name="WebBrowserWindow.__viewFullScreen" id="WebBrowserWindow.__viewFullScreen" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__viewFullScreen" /> <keyword name="WebBrowserWindow.__virusTotalDomainReport" id="WebBrowserWindow.__virusTotalDomainReport" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__virusTotalDomainReport" /> <keyword name="WebBrowserWindow.__virusTotalFileScanReport" id="WebBrowserWindow.__virusTotalFileScanReport" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__virusTotalFileScanReport" /> <keyword name="WebBrowserWindow.__virusTotalIpAddressReport" id="WebBrowserWindow.__virusTotalIpAddressReport" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.__virusTotalIpAddressReport" /> @@ -15995,9 +16063,11 @@ <keyword name="WebBrowserWindow.getWindow" id="WebBrowserWindow.getWindow" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.getWindow" /> <keyword name="WebBrowserWindow.greaseMonkeyManager" id="WebBrowserWindow.greaseMonkeyManager" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.greaseMonkeyManager" /> <keyword name="WebBrowserWindow.helpEngine" id="WebBrowserWindow.helpEngine" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.helpEngine" /> + <keyword name="WebBrowserWindow.hideFullScreenNavigation" id="WebBrowserWindow.hideFullScreenNavigation" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.hideFullScreenNavigation" /> <keyword name="WebBrowserWindow.historyManager" id="WebBrowserWindow.historyManager" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.historyManager" /> <keyword name="WebBrowserWindow.icon" id="WebBrowserWindow.icon" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.icon" /> <keyword name="WebBrowserWindow.imageSearchEngine" id="WebBrowserWindow.imageSearchEngine" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.imageSearchEngine" /> + <keyword name="WebBrowserWindow.isFullScreenNavigationVisible" id="WebBrowserWindow.isFullScreenNavigationVisible" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.isFullScreenNavigationVisible" /> <keyword name="WebBrowserWindow.isPrivate" id="WebBrowserWindow.isPrivate" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.isPrivate" /> <keyword name="WebBrowserWindow.javascriptConsole" id="WebBrowserWindow.javascriptConsole" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.javascriptConsole" /> <keyword name="WebBrowserWindow.keyPressEvent" id="WebBrowserWindow.keyPressEvent" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.keyPressEvent" /> @@ -16029,12 +16099,14 @@ <keyword name="WebBrowserWindow.setForwardAvailable" id="WebBrowserWindow.setForwardAvailable" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.setForwardAvailable" /> <keyword name="WebBrowserWindow.setLoadingActions" id="WebBrowserWindow.setLoadingActions" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.setLoadingActions" /> <keyword name="WebBrowserWindow.setUseQtHelp" id="WebBrowserWindow.setUseQtHelp" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.setUseQtHelp" /> + <keyword name="WebBrowserWindow.showFullScreenNavigation" id="WebBrowserWindow.showFullScreenNavigation" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.showFullScreenNavigation" /> <keyword name="WebBrowserWindow.showNotification" id="WebBrowserWindow.showNotification" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.showNotification" /> <keyword name="WebBrowserWindow.shutdown" id="WebBrowserWindow.shutdown" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.shutdown" /> <keyword name="WebBrowserWindow.speedDial" id="WebBrowserWindow.speedDial" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.speedDial" /> <keyword name="WebBrowserWindow.syncManager" id="WebBrowserWindow.syncManager" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.syncManager" /> <keyword name="WebBrowserWindow.tabManager" id="WebBrowserWindow.tabManager" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.tabManager" /> <keyword name="WebBrowserWindow.tabWidget" id="WebBrowserWindow.tabWidget" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.tabWidget" /> + <keyword name="WebBrowserWindow.toggleFullScreen" id="WebBrowserWindow.toggleFullScreen" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.toggleFullScreen" /> <keyword name="WebBrowserWindow.userAgentsManager" id="WebBrowserWindow.userAgentsManager" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.userAgentsManager" /> <keyword name="WebBrowserWindow.webProfile" id="WebBrowserWindow.webProfile" ref="eric6.WebBrowser.WebBrowserWindow.html#WebBrowserWindow.webProfile" /> <keyword name="WebDatabasesDialog" id="WebDatabasesDialog" ref="eric6.Helpviewer.OfflineStorage.WebDatabasesDialog.html#WebDatabasesDialog" /> @@ -16468,6 +16540,7 @@ <keyword name="createMainWidget" id="createMainWidget" ref="eric6.eric6_qregexp.html#createMainWidget" /> <keyword name="createMainWidget" id="createMainWidget" ref="eric6.eric6_qregularexpression.html#createMainWidget" /> <keyword name="createMainWidget" id="createMainWidget" ref="eric6.eric6_re.html#createMainWidget" /> + <keyword name="createMainWidget" id="createMainWidget" ref="eric6.eric6_shell.html#createMainWidget" /> <keyword name="createMainWidget" id="createMainWidget" ref="eric6.eric6_snap.html#createMainWidget" /> <keyword name="createMainWidget" id="createMainWidget" ref="eric6.eric6_sqlbrowser.html#createMainWidget" /> <keyword name="createMainWidget" id="createMainWidget" ref="eric6.eric6_tray.html#createMainWidget" /> @@ -16522,6 +16595,7 @@ <keyword name="eric6_qregexp (Module)" id="eric6_qregexp (Module)" ref="eric6.eric6_qregexp.html" /> <keyword name="eric6_qregularexpression (Module)" id="eric6_qregularexpression (Module)" ref="eric6.eric6_qregularexpression.html" /> <keyword name="eric6_re (Module)" id="eric6_re (Module)" ref="eric6.eric6_re.html" /> + <keyword name="eric6_shell (Module)" id="eric6_shell (Module)" ref="eric6.eric6_shell.html" /> <keyword name="eric6_snap (Module)" id="eric6_snap (Module)" ref="eric6.eric6_snap.html" /> <keyword name="eric6_sqlbrowser (Module)" id="eric6_sqlbrowser (Module)" ref="eric6.eric6_sqlbrowser.html" /> <keyword name="eric6_tray (Module)" id="eric6_tray (Module)" ref="eric6.eric6_tray.html" /> @@ -16572,6 +16646,7 @@ <keyword name="fromNativeSeparators" id="fromNativeSeparators" ref="eric6.Utilities.__init__.html#fromNativeSeparators" /> <keyword name="generateDistroInfo" id="generateDistroInfo" ref="eric6.Utilities.__init__.html#generateDistroInfo" /> <keyword name="generatePluginsVersionInfo" id="generatePluginsVersionInfo" ref="eric6.Utilities.__init__.html#generatePluginsVersionInfo" /> + <keyword name="generatePyQtToolPath" id="generatePyQtToolPath" ref="eric6.Utilities.__init__.html#generatePyQtToolPath" /> <keyword name="generatePySideToolPath" id="generatePySideToolPath" ref="eric6.Utilities.__init__.html#generatePySideToolPath" /> <keyword name="generateQtToolName" id="generateQtToolName" ref="eric6.Utilities.__init__.html#generateQtToolName" /> <keyword name="generateVersionInfo" id="generateVersionInfo" ref="eric6.Utilities.__init__.html#generateVersionInfo" /> @@ -16664,6 +16739,7 @@ <keyword name="getProjectBrowserColour" id="getProjectBrowserColour" ref="eric6.Preferences.__init__.html#getProjectBrowserColour" /> <keyword name="getProjectBrowserFlags" id="getProjectBrowserFlags" ref="eric6.Preferences.__init__.html#getProjectBrowserFlags" /> <keyword name="getPyQt5ModulesDirectory" id="getPyQt5ModulesDirectory" ref="eric6.Globals.__init__.html#getPyQt5ModulesDirectory" /> + <keyword name="getPyQtToolsPath" id="getPyQtToolsPath" ref="eric6.Globals.__init__.html#getPyQtToolsPath" /> <keyword name="getPython" id="getPython" ref="eric6.Preferences.__init__.html#getPython" /> <keyword name="getPythonLibPath" id="getPythonLibPath" ref="eric6.Utilities.__init__.html#getPythonLibPath" /> <keyword name="getPythonModulesDirectory" id="getPythonModulesDirectory" ref="eric6.Globals.__init__.html#getPythonModulesDirectory" /> @@ -16731,6 +16807,7 @@ <keyword name="html_udecode" id="html_udecode" ref="eric6.Utilities.__init__.html#html_udecode" /> <keyword name="html_uencode" id="html_uencode" ref="eric6.Utilities.__init__.html#html_uencode" /> <keyword name="idlclbr (Module)" id="idlclbr (Module)" ref="eric6.Utilities.ClassBrowsers.idlclbr.html" /> + <keyword name="ignoreCode" id="ignoreCode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html#ignoreCode" /> <keyword name="importPreferences" id="importPreferences" ref="eric6.Preferences.__init__.html#importPreferences" /> <keyword name="importShortcuts" id="importShortcuts" ref="eric6.Preferences.Shortcuts.html#importShortcuts" /> <keyword name="imports_on_separate_lines" id="imports_on_separate_lines" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html#imports_on_separate_lines" /> @@ -16768,6 +16845,7 @@ <keyword name="ircTimestamp" id="ircTimestamp" ref="eric6.Network.IRC.IrcUtilities.html#ircTimestamp" /> <keyword name="isConfigured" id="isConfigured" ref="eric6.Preferences.__init__.html#isConfigured" /> <keyword name="isCupsAvailable" id="isCupsAvailable" ref="eric6.WebBrowser.Tools.FilePrinter.html#isCupsAvailable" /> + <keyword name="isDrive" id="isDrive" ref="eric6.Utilities.__init__.html#isDrive" /> <keyword name="isExecutable" id="isExecutable" ref="eric6.Utilities.__init__.html#isExecutable" /> <keyword name="isLinuxPlatform" id="isLinuxPlatform" ref="eric6.Globals.__init__.html#isLinuxPlatform" /> <keyword name="isMacPlatform" id="isMacPlatform" ref="eric6.Globals.__init__.html#isMacPlatform" /> @@ -16811,6 +16889,7 @@ <keyword name="main" id="main" ref="eric6.eric6_qregexp.html#main" /> <keyword name="main" id="main" ref="eric6.eric6_qregularexpression.html#main" /> <keyword name="main" id="main" ref="eric6.eric6_re.html#main" /> + <keyword name="main" id="main" ref="eric6.eric6_shell.html#main" /> <keyword name="main" id="main" ref="eric6.eric6_snap.html#main" /> <keyword name="main" id="main" ref="eric6.eric6_sqlbrowser.html#main" /> <keyword name="main" id="main" ref="eric6.eric6_tray.html#main" /> @@ -17831,6 +17910,7 @@ <file>eric6.QScintilla.SearchReplaceWidget.html</file> <file>eric6.QScintilla.Shell.html</file> <file>eric6.QScintilla.ShellHistoryDialog.html</file> + <file>eric6.QScintilla.ShellWindow.html</file> <file>eric6.QScintilla.SortOptionsDialog.html</file> <file>eric6.QScintilla.SpellChecker.html</file> <file>eric6.QScintilla.SpellCheckingDialog.html</file> @@ -17989,7 +18069,6 @@ <file>eric6.WebBrowser.GreaseMonkey.GreaseMonkeyJavaScript.html</file> <file>eric6.WebBrowser.GreaseMonkey.GreaseMonkeyManager.html</file> <file>eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html</file> - <file>eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor.html</file> <file>eric6.WebBrowser.History.HistoryCompleter.html</file> <file>eric6.WebBrowser.History.HistoryDialog.html</file> <file>eric6.WebBrowser.History.HistoryFilterModel.html</file> @@ -18001,6 +18080,8 @@ <file>eric6.WebBrowser.JavaScript.ExternalJsObject.html</file> <file>eric6.WebBrowser.JavaScript.PasswordManagerJsObject.html</file> <file>eric6.WebBrowser.JavaScript.StartPageJsObject.html</file> + <file>eric6.WebBrowser.Navigation.NavigationBar.html</file> + <file>eric6.WebBrowser.Navigation.NavigationContainer.html</file> <file>eric6.WebBrowser.Network.EricSchemeHandler.html</file> <file>eric6.WebBrowser.Network.NetworkManager.html</file> <file>eric6.WebBrowser.Network.NetworkUrlInterceptor.html</file> @@ -18113,6 +18194,7 @@ <file>eric6.eric6_qregexp.html</file> <file>eric6.eric6_qregularexpression.html</file> <file>eric6.eric6_re.html</file> + <file>eric6.eric6_shell.html</file> <file>eric6.eric6_snap.html</file> <file>eric6.eric6_sqlbrowser.html</file> <file>eric6.eric6_tray.html</file> @@ -18249,6 +18331,7 @@ <file>index-eric6.WebBrowser.History.html</file> <file>index-eric6.WebBrowser.ImageSearch.html</file> <file>index-eric6.WebBrowser.JavaScript.html</file> + <file>index-eric6.WebBrowser.Navigation.html</file> <file>index-eric6.WebBrowser.Network.html</file> <file>index-eric6.WebBrowser.OpenSearch.DefaultSearchEngines.html</file> <file>index-eric6.WebBrowser.OpenSearch.html</file>
--- a/Documentation/Source/eric6.Cooperation.Connection.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Cooperation.Connection.html Sat May 06 13:43:21 2017 +0200 @@ -45,7 +45,11 @@ Class representing a peer connection. </p><h3>Signals</h3> <dl> -<dt>getParticipants()</dt> +<dt>editorCommand(hash, fn, message)</dt> +<dd> +emitted after an editor command + has arrived (string, string, string) +</dd><dt>getParticipants()</dt> <dd> emitted after a get participants message has arrived @@ -60,6 +64,10 @@ </dd><dt>readyForUse()</dt> <dd> emitted when the connection is ready for use +</dd><dt>rejected(message)</dt> +<dd> +emitted after a connection has been rejected + (string) </dd> </dl> <h3>Derived from</h3>
--- a/Documentation/Source/eric6.Debugger.BreakPointModel.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Debugger.BreakPointModel.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,14 @@ <h2>BreakPointModel</h2> <p> Class implementing a custom model for breakpoints. -</p> +</p><h3>Signals</h3> +<dl> +<dt>dataAboutToBeChanged(QModelIndex, QModelIndex)</dt> +<dd> +emitted to indicate + a change of the data +</dd> +</dl> <h3>Derived from</h3> QAbstractItemModel <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.Debugger.DebugServer.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Debugger.DebugServer.html Sat May 06 13:43:21 2017 +0200 @@ -512,10 +512,16 @@ </table> <a NAME="DebugServer.__init__" ID="DebugServer.__init__"></a> <h4>DebugServer (Constructor)</h4> -<b>DebugServer</b>(<i></i>) +<b>DebugServer</b>(<i>preventPassiveDebugging=False</i>) <p> Constructor -</p><a NAME="DebugServer.__addBreakPoints" ID="DebugServer.__addBreakPoints"></a> +</p><dl> +<dt><i>preventPassiveDebugging</i></dt> +<dd> +flag overriding the PassiveDbgEnabled + setting (boolean) +</dd> +</dl><a NAME="DebugServer.__addBreakPoints" ID="DebugServer.__addBreakPoints"></a> <h4>DebugServer.__addBreakPoints</h4> <b>__addBreakPoints</b>(<i>parentIndex, start, end</i>) <p>
--- a/Documentation/Source/eric6.Debugger.WatchPointModel.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Debugger.WatchPointModel.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,14 @@ <h2>WatchPointModel</h2> <p> Class implementing a custom model for watch expressions. -</p> +</p><h3>Signals</h3> +<dl> +<dt>dataAboutToBeChanged(QModelIndex, QModelIndex)</dt> +<dd> +emitted to indicate + a change of the data +</dd> +</dl> <h3>Derived from</h3> QAbstractItemModel <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.E5Gui.E5LineEdit.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.E5Gui.E5LineEdit.html Sat May 06 13:43:21 2017 +0200 @@ -317,7 +317,13 @@ <h2>E5LineEditSideWidget</h2> <p> Class implementing the side widgets for the line edit class. -</p> +</p><h3>Signals</h3> +<dl> +<dt>sizeHintChanged()</dt> +<dd> +emitted to indicate a change of the size hint +</dd> +</dl> <h3>Derived from</h3> QWidget <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.E5Gui.E5PassivePopup.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.E5Gui.E5PassivePopup.html Sat May 06 13:43:21 2017 +0200 @@ -45,7 +45,13 @@ <p> Class implementing dialog-like popup that displays messages without interrupting the user. -</p> +</p><h3>Signals</h3> +<dl> +<dt>clicked</dt> +<dd> +emitted to indicate a mouse button click +</dd> +</dl> <h3>Derived from</h3> QFrame <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.E5Gui.E5PathPicker.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.E5Gui.E5PathPicker.html Sat May 06 13:43:21 2017 +0200 @@ -53,24 +53,7 @@ <p> Class implementing a path picker widget consisting of a combobox and a tool button to open a file dialog. -</p><h3>Signals</h3> -<dl> -<dt>aboutToShowPathPickerDialog</dt> -<dd> -emitted before the file dialog is shown -</dd><dt>editTextChanged(path)</dt> -<dd> -emitted when the entered path has changed -</dd><dt>pathSelected(path)</dt> -<dd> -emitted after a path has been selected via the - file dialog -</dd><dt>pickerButtonClicked</dt> -<dd> -emitted when the picker button was pressed and - the widget mode is custom -</dd> -</dl> +</p> <h3>Derived from</h3> E5PathPickerBase <h3>Class Attributes</h3> @@ -128,24 +111,7 @@ <p> Class implementing a path picker widget consisting of a line edit and a tool button to open a file dialog. -</p><h3>Signals</h3> -<dl> -<dt>aboutToShowPathPickerDialog</dt> -<dd> -emitted before the file dialog is shown -</dd><dt>pathSelected(path)</dt> -<dd> -emitted after a path has been selected via the - file dialog -</dd><dt>pickerButtonClicked</dt> -<dd> -emitted when the picker button was pressed and - the widget mode is custom -</dd><dt>textChanged(path)</dt> -<dd> -emitted when the entered path has changed -</dd> -</dl> +</p> <h3>Derived from</h3> E5PathPickerBase <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.E5Gui.E5ZoomWidget.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.E5Gui.E5ZoomWidget.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,13 @@ <h2>E5ZoomWidget</h2> <p> Class implementing a zoom widget for the status bar. -</p> +</p><h3>Signals</h3> +<dl> +<dt>valueChanged(value)</dt> +<dd> +emitted to indicate the new zoom value (int) +</dd> +</dl> <h3>Derived from</h3> QWidget, Ui_E5ZoomWidget <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.E5Network.E5Ftp.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.E5Network.E5Ftp.html Sat May 06 13:43:21 2017 +0200 @@ -255,6 +255,9 @@ <dt>Raises <b>E5FtpProxyError</b>:</dt> <dd> raised to indicate a proxy related issue +</dd><dt>Raises <b>ftplib.error_reply</b>:</dt> +<dd> +raised to indicate an FTP error reply </dd> </dl><a NAME="E5Ftp.setProxy" ID="E5Ftp.setProxy"></a> <h4>E5Ftp.setProxy</h4>
--- a/Documentation/Source/eric6.Globals.__init__.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Globals.__init__.html Sat May 06 13:43:21 2017 +0200 @@ -46,6 +46,9 @@ <td><a href="#getPyQt5ModulesDirectory">getPyQt5ModulesDirectory</a></td> <td>Function to determine the path to PyQt5's (or PyQt4's) modules directory.</td> </tr><tr> +<td><a href="#getPyQtToolsPath">getPyQtToolsPath</a></td> +<td>Module function to get the path of the PyQt tools.</td> +</tr><tr> <td><a href="#getPythonModulesDirectory">getPythonModulesDirectory</a></td> <td>Function to determine the path to Python's modules directory.</td> </tr><tr> @@ -141,6 +144,29 @@ </dl> <div align="right"><a href="#top">Up</a></div> <hr /><hr /> +<a NAME="getPyQtToolsPath" ID="getPyQtToolsPath"></a> +<h2>getPyQtToolsPath</h2> +<b>getPyQtToolsPath</b>(<i>version=5</i>) +<p> + Module function to get the path of the PyQt tools. +</p><dl> +<dt><i>version</i> (int)</dt> +<dd> +PyQt major version +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +path to the PyQt tools +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> <a NAME="getPythonModulesDirectory" ID="getPythonModulesDirectory"></a> <h2>getPythonModulesDirectory</h2> <b>getPythonModulesDirectory</b>(<i></i>)
--- a/Documentation/Source/eric6.Helpviewer.AdBlock.AdBlockManager.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Helpviewer.AdBlock.AdBlockManager.html Sat May 06 13:43:21 2017 +0200 @@ -45,7 +45,11 @@ Class implementing the AdBlock manager. </p><h3>Signals</h3> <dl> -<dt>rulesChanged()</dt> +<dt>requiredSubscriptionLoaded(subscription)</dt> +<dd> +emitted to indicate + loading of a required subscription is finished (AdBlockSubscription) +</dd><dt>rulesChanged()</dt> <dd> emitted after some rule has changed </dd>
--- a/Documentation/Source/eric6.Helpviewer.GreaseMonkey.GreaseMonkeyConfiguration.GreaseMonkeyConfigurationListWidget.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Helpviewer.GreaseMonkey.GreaseMonkeyConfiguration.GreaseMonkeyConfigurationListWidget.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,14 @@ <h2>GreaseMonkeyConfigurationListWidget</h2> <p> Class implementing a special list widget for GreaseMonkey scripts. -</p> +</p><h3>Signals</h3> +<dl> +<dt>removeItemRequested(item)</dt> +<dd> +emitted to indicate an item removal + request (QListWidgetItem) +</dd> +</dl> <h3>Derived from</h3> QListWidget <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.Helpviewer.GreaseMonkey.GreaseMonkeyDownloader.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Helpviewer.GreaseMonkey.GreaseMonkeyDownloader.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,13 @@ <h2>GreaseMonkeyDownloader</h2> <p> Class implementing the downloader for GreaseMonkey scripts. -</p> +</p><h3>Signals</h3> +<dl> +<dt>finished()</dt> +<dd> +emitted to indicate the end of a script download +</dd> +</dl> <h3>Derived from</h3> QObject <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.Helpviewer.GreaseMonkey.GreaseMonkeyManager.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Helpviewer.GreaseMonkey.GreaseMonkeyManager.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,13 @@ <h2>GreaseMonkeyManager</h2> <p> Class implementing the manager for GreaseMonkey scripts. -</p> +</p><h3>Signals</h3> +<dl> +<dt>scriptsChanged()</dt> +<dd> +emitted to indicate a change of scripts +</dd> +</dl> <h3>Derived from</h3> QObject <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.Helpviewer.HelpWindow.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Helpviewer.HelpWindow.html Sat May 06 13:43:21 2017 +0200 @@ -48,6 +48,9 @@ <dt>helpClosed()</dt> <dd> emitted after the window was requested to close down +</dd><dt>privacyChanged(bool)</dt> +<dd> +emitted to indicate a new privacy mode </dd><dt>zoomTextOnlyChanged(bool)</dt> <dd> emitted after the zoom text only setting
--- a/Documentation/Source/eric6.Helpviewer.Network.FollowRedirectReply.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Helpviewer.Network.FollowRedirectReply.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,13 @@ <h2>FollowRedirectReply</h2> <p> Class implementing a network reply delegate allowing to check redirects. -</p> +</p><h3>Signals</h3> +<dl> +<dt>finished()</dt> +<dd> +emitted to indicate the end of the redirect +</dd> +</dl> <h3>Derived from</h3> QObject <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.Helpviewer.UrlBar.SslLabel.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Helpviewer.UrlBar.SslLabel.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,13 @@ <h2>SslLabel</h2> <p> Class implementing the label to show some SSL info. -</p> +</p><h3>Signals</h3> +<dl> +<dt>clicked(pos)</dt> +<dd> +emitted to indicate a click of the label (QPoint) +</dd> +</dl> <h3>Derived from</h3> QLabel <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.Helpviewer.ZoomManager.ZoomManager.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Helpviewer.ZoomManager.ZoomManager.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,13 @@ <h2>ZoomManager</h2> <p> Class implementing a manager for site specific zoom level settings. -</p> +</p><h3>Signals</h3> +<dl> +<dt>changed()</dt> +<dd> +emitted to indicate a change of the zoom level +</dd> +</dl> <h3>Derived from</h3> QObject <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.PluginManager.PluginManager.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.PluginManager.PluginManager.html Sat May 06 13:43:21 2017 +0200 @@ -243,7 +243,11 @@ development (string) </dd> </dl><dl> -<dt>Raises <b>PluginPathError</b>:</dt> +<dt>Raises <b>PluginModulesError</b>:</dt> +<dd> +raised to indicate the absence of + plug-in modules +</dd><dt>Raises <b>PluginPathError</b>:</dt> <dd> raised to indicate an invalid plug-in path </dd> @@ -829,6 +833,10 @@ <dd> raised to indicate an issue loading the plug-in +</dd><dt>Raises <b>PluginPy2IncompatibleError</b>:</dt> +<dd> +raised to indicate the Python 2 + incompatibility of a plug-in </dd> </dl><a NAME="PluginManager.preferencesChanged" ID="PluginManager.preferencesChanged"></a> <h4>PluginManager.preferencesChanged</h4>
--- a/Documentation/Source/eric6.PluginManager.PluginUninstallDialog.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.PluginManager.PluginUninstallDialog.html Sat May 06 13:43:21 2017 +0200 @@ -91,7 +91,13 @@ <h2>PluginUninstallWidget</h2> <p> Class implementing a dialog for plugin deinstallation. -</p> +</p><h3>Signals</h3> +<dl> +<dt>accepted()</dt> +<dd> +emitted to indicate the removal of a plug-in +</dd> +</dl> <h3>Derived from</h3> QWidget, Ui_PluginUninstallDialog <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html Sat May 06 13:43:21 2017 +0200 @@ -49,6 +49,9 @@ <td><a href="#extractLineFlags">extractLineFlags</a></td> <td>Function to extract flags starting and ending with '__' from a line comment.</td> </tr><tr> +<td><a href="#ignoreCode">ignoreCode</a></td> +<td>Function to check, if the given code should be ignored as per line flags.</td> +</tr><tr> <td><a href="#initBatchService">initBatchService</a></td> <td>Initialize the batch service and return the entry point.</td> </tr><tr> @@ -243,6 +246,22 @@ </dl> <div align="right"><a href="#top">Up</a></div> <hr /><hr /> +<a NAME="ignoreCode" ID="ignoreCode"></a> +<h2>ignoreCode</h2> +<b>ignoreCode</b>(<i>code, lineFlags</i>) +<p> + Function to check, if the given code should be ignored as per line flags. +</p><dl> +<dt><i>code</i> (str)</dt> +<dd> +error code to be checked +</dd><dt><i>lineFlags</i> (list of str)</dt> +<dd> +list of line flags to check against +</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>)
--- a/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.HgDialog.html Sat May 06 13:43:21 2017 +0200 @@ -104,7 +104,7 @@ <td>Private slot to handle the password checkbox toggled.</td> </tr><tr> <td><a href="#HgDialog.on_sendButton_clicked">on_sendButton_clicked</a></td> -<td>Private slot to send the input to the subversion process.</td> +<td>Private slot to send the input to the Mercurial process.</td> </tr><tr> <td><a href="#HgDialog.startProcess">startProcess</a></td> <td>Public slot used to start the process.</td> @@ -259,7 +259,7 @@ <h4>HgDialog.on_sendButton_clicked</h4> <b>on_sendButton_clicked</b>(<i></i>) <p> - Private slot to send the input to the subversion process. + Private slot to send the input to the Mercurial process. </p><a NAME="HgDialog.startProcess" ID="HgDialog.startProcess"></a> <h4>HgDialog.startProcess</h4> <b>startProcess</b>(<i>args, workingDir=None, showArgs=True, environment=None</i>)
--- a/Documentation/Source/eric6.Project.ProjectFormsBrowser.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Project.ProjectFormsBrowser.html Sat May 06 13:43:21 2017 +0200 @@ -49,10 +49,6 @@ <dd> emitted after something was received from a QProcess on stderr -</dd><dt>closeSourceWindow(str)</dt> -<dd> -emitted after a file has been - removed/deleted from the project </dd><dt>menusAboutToBeCreated()</dt> <dd> emitted when the context menus are about to @@ -61,13 +57,6 @@ <dd> emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given. -</dd><dt>sourceFile(str)</dt> -<dd> -emitted to open a forms file in an editor -</dd><dt>trpreview(list of str)</dt> -<dd> -emitted to preview form files in the - translations previewer </dd><dt>uipreview(str)</dt> <dd> emitted to preview a forms file @@ -135,10 +124,10 @@ <td>Private slot to handle the Open in Editor menu action.</td> </tr><tr> <td><a href="#ProjectFormsBrowser.__readStderr">__readStderr</a></td> -<td>Private slot to handle the readyReadStandardError signal of the pyuic/rbuic process.</td> +<td>Private slot to handle the readyReadStandardError signal of the pyuic4/pyuic5/pyside-uic/rbuic4 process.</td> </tr><tr> <td><a href="#ProjectFormsBrowser.__readStdout">__readStdout</a></td> -<td>Private slot to handle the readyReadStandardOutput signal of the pyuic/rbuic process.</td> +<td>Private slot to handle the readyReadStandardOutput signal of the pyuic4/pyuic5/pyside-uic/rbuic4 process.</td> </tr><tr> <td><a href="#ProjectFormsBrowser.__showContextMenu">__showContextMenu</a></td> <td>Private slot called by the menu aboutToShow signal.</td> @@ -301,13 +290,13 @@ <b>__readStderr</b>(<i></i>) <p> Private slot to handle the readyReadStandardError signal of the - pyuic/rbuic process. + pyuic4/pyuic5/pyside-uic/rbuic4 process. </p><a NAME="ProjectFormsBrowser.__readStdout" ID="ProjectFormsBrowser.__readStdout"></a> <h4>ProjectFormsBrowser.__readStdout</h4> <b>__readStdout</b>(<i></i>) <p> Private slot to handle the readyReadStandardOutput signal of the - pyuic/rbuic process. + pyuic4/pyuic5/pyside-uic/rbuic4 process. </p><a NAME="ProjectFormsBrowser.__showContextMenu" ID="ProjectFormsBrowser.__showContextMenu"></a> <h4>ProjectFormsBrowser.__showContextMenu</h4> <b>__showContextMenu</b>(<i></i>)
--- a/Documentation/Source/eric6.Project.ProjectInterfacesBrowser.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Project.ProjectInterfacesBrowser.html Sat May 06 13:43:21 2017 +0200 @@ -54,17 +54,10 @@ <dd> emitted after something was received from a QProcess on stdout -</dd><dt>closeSourceWindow(str)</dt> -<dd> -emitted after a file has been - removed/deleted from the project </dd><dt>showMenu(str, QMenu)</dt> <dd> emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given. -</dd><dt>sourceFile(str, int = 0)</dt> -<dd> -emitted to open a file </dd> </dl> <h3>Derived from</h3>
--- a/Documentation/Source/eric6.Project.ProjectOthersBrowser.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Project.ProjectOthersBrowser.html Sat May 06 13:43:21 2017 +0200 @@ -47,29 +47,10 @@ other categories. </p><h3>Signals</h3> <dl> -<dt>binaryFile(str)</dt> -<dd> -emitted to open a file as binary -</dd><dt>closeSourceWindow(str)</dt> -<dd> -emitted after a file has been - removed/deleted from the project -</dd><dt>pixmapEditFile(str)</dt> -<dd> -emitted to edit a pixmap file -</dd><dt>pixmapFile(str)</dt> -<dd> -emitted to open a pixmap file -</dd><dt>showMenu(str, QMenu)</dt> +<dt>showMenu(str, QMenu)</dt> <dd> emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given. -</dd><dt>sourceFile(str)</dt> -<dd> -emitted to open a file -</dd><dt>svgFile(str)</dt> -<dd> -emitted to open a SVG file </dd> </dl> <h3>Derived from</h3>
--- a/Documentation/Source/eric6.Project.ProjectResourcesBrowser.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Project.ProjectResourcesBrowser.html Sat May 06 13:43:21 2017 +0200 @@ -49,17 +49,10 @@ <dd> emitted after something was received from a QProcess on stderr -</dd><dt>closeSourceWindow(str)</dt> -<dd> -emitted after a file has been - removed/deleted from the project </dd><dt>showMenu(str, QMenu)</dt> <dd> emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given. -</dd><dt>sourceFile(str)</dt> -<dd> -emitted to open a resources file in an editor </dd> </dl> <h3>Derived from</h3> @@ -112,10 +105,10 @@ <td>Private slot to handle the Open menu action.</td> </tr><tr> <td><a href="#ProjectResourcesBrowser.__readStderr">__readStderr</a></td> -<td>Private slot to handle the readyReadStandardError signal of the pyrcc4/rbrcc process.</td> +<td>Private slot to handle the readyReadStandardError signal of the pyrcc4/pyrcc5/pyside-rcc/rbrcc process.</td> </tr><tr> <td><a href="#ProjectResourcesBrowser.__readStdout">__readStdout</a></td> -<td>Private slot to handle the readyReadStandardOutput signal of the pyrcc4/rbrcc process.</td> +<td>Private slot to handle the readyReadStandardOutput signal of the pyrcc4/pyrcc5/pyside-rcc/rbrcc process.</td> </tr><tr> <td><a href="#ProjectResourcesBrowser.__showContextMenu">__showContextMenu</a></td> <td>Private slot called by the menu aboutToShow signal.</td> @@ -266,13 +259,13 @@ <b>__readStderr</b>(<i></i>) <p> Private slot to handle the readyReadStandardError signal of the - pyrcc4/rbrcc process. + pyrcc4/pyrcc5/pyside-rcc/rbrcc process. </p><a NAME="ProjectResourcesBrowser.__readStdout" ID="ProjectResourcesBrowser.__readStdout"></a> <h4>ProjectResourcesBrowser.__readStdout</h4> <b>__readStdout</b>(<i></i>) <p> Private slot to handle the readyReadStandardOutput signal of the - pyrcc4/rbrcc process. + pyrcc4/pyrcc5/pyside-rcc/rbrcc process. </p><a NAME="ProjectResourcesBrowser.__showContextMenu" ID="ProjectResourcesBrowser.__showContextMenu"></a> <h4>ProjectResourcesBrowser.__showContextMenu</h4> <b>__showContextMenu</b>(<i></i>)
--- a/Documentation/Source/eric6.Project.ProjectSourcesBrowser.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Project.ProjectSourcesBrowser.html Sat May 06 13:43:21 2017 +0200 @@ -45,29 +45,10 @@ A class used to display the Sources part of the project. </p><h3>Signals</h3> <dl> -<dt>closeSourceWindow(str)</dt> -<dd> -emitted after a file has been - removed/deleted from the project -</dd><dt>showMenu(str, QMenu)</dt> +<dt>showMenu(str, QMenu)</dt> <dd> emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given. -</dd><dt>sourceFile(str)</dt> -<dd> -emitted to open the given file. -</dd><dt>sourceFile(str, int)</dt> -<dd> -emitted to open the given file at the given - line. -</dd><dt>sourceFile(str, int, str)</dt> -<dd> -emitted to open the given file as the - given type at the given line. -</dd><dt>sourceFile(str, list)</dt> -<dd> -emitted to open a Python file giving a list - of lines </dd> </dl> <h3>Derived from</h3>
--- a/Documentation/Source/eric6.Project.ProjectTranslationsBrowser.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Project.ProjectTranslationsBrowser.html Sat May 06 13:43:21 2017 +0200 @@ -54,25 +54,10 @@ <dd> emitted after something was received from a QProcess on stdout -</dd><dt>closeSourceWindow(str)</dt> -<dd> -emitted after a file has been - removed/deleted from the project -</dd><dt>linguistFile(str)</dt> -<dd> -emitted to open a translation file with - Qt-Linguist </dd><dt>showMenu(str, QMenu)</dt> <dd> emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given. -</dd><dt>sourceFile(str)</dt> -<dd> -emitted to open a translation file in an editor -</dd><dt>trpreview(list of str, bool = False)</dt> -<dd> -emitted to preview - translations in the translations previewer </dd> </dl> <h3>Derived from</h3> @@ -119,7 +104,7 @@ <td>Private method to generate selected translation files (.ts) for Qt Linguist.</td> </tr><tr> <td><a href="#ProjectTranslationsBrowser.__generateTSFile">__generateTSFile</a></td> -<td>Private method used to run pylupdate/pylupdate4 to generate the .ts files.</td> +<td>Private method used to run pylupdate4/pylupdate5/pyside-lupdate to generate the .ts files.</td> </tr><tr> <td><a href="#ProjectTranslationsBrowser.__generateTSFileDone">__generateTSFileDone</a></td> <td>Private slot to handle the finished signal of the pylupdate process.</td> @@ -134,7 +119,7 @@ <td>Private slot to handle the readyReadStandardError signal of the lrelease process.</td> </tr><tr> <td><a href="#ProjectTranslationsBrowser.__readStderrLupdate">__readStderrLupdate</a></td> -<td>Private slot to handle the readyReadStandardError signal of the pylupdate process.</td> +<td>Private slot to handle the readyReadStandardError signal of the pylupdate4/pylupdate5/pyside-lupdate process.</td> </tr><tr> <td><a href="#ProjectTranslationsBrowser.__readStdout">__readStdout</a></td> <td>Private method to read from a process' stdout channel.</td> @@ -270,8 +255,8 @@ <h4>ProjectTranslationsBrowser.__generateTSFile</h4> <b>__generateTSFile</b>(<i>noobsolete=False, generateAll=True</i>) <p> - Private method used to run pylupdate/pylupdate4 to generate the .ts - files. + Private method used to run pylupdate4/pylupdate5/pyside-lupdate to + generate the .ts files. </p><dl> <dt><i>noobsolete</i></dt> <dd> @@ -324,7 +309,7 @@ <b>__readStderrLupdate</b>(<i></i>) <p> Private slot to handle the readyReadStandardError signal of the - pylupdate process. + pylupdate4/pylupdate5/pyside-lupdate process. </p><a NAME="ProjectTranslationsBrowser.__readStdout" ID="ProjectTranslationsBrowser.__readStdout"></a> <h4>ProjectTranslationsBrowser.__readStdout</h4> <b>__readStdout</b>(<i>proc, ps</i>)
--- a/Documentation/Source/eric6.QScintilla.Editor.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.QScintilla.Editor.html Sat May 06 13:43:21 2017 +0200 @@ -513,9 +513,6 @@ <td><a href="#Editor.__setEolMode">__setEolMode</a></td> <td>Private method to configure the eol mode of the editor.</td> </tr><tr> -<td><a href="#Editor.__setLineMarkerColours">__setLineMarkerColours</a></td> -<td>Private method to set the line marker colours.</td> -</tr><tr> <td><a href="#Editor.__setMarginsDisplay">__setMarginsDisplay</a></td> <td>Private method to configure margins 0 and 2.</td> </tr><tr> @@ -2353,11 +2350,6 @@ <b>__setEolMode</b>(<i></i>) <p> Private method to configure the eol mode of the editor. -</p><a NAME="Editor.__setLineMarkerColours" ID="Editor.__setLineMarkerColours"></a> -<h4>Editor.__setLineMarkerColours</h4> -<b>__setLineMarkerColours</b>(<i></i>) -<p> - Private method to set the line marker colours. </p><a NAME="Editor.__setMarginsDisplay" ID="Editor.__setMarginsDisplay"></a> <h4>Editor.__setMarginsDisplay</h4> <b>__setMarginsDisplay</b>(<i></i>)
--- a/Documentation/Source/eric6.QScintilla.Shell.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.QScintilla.Shell.html Sat May 06 13:43:21 2017 +0200 @@ -85,6 +85,9 @@ <td><a href="#Shell.__QScintillaCharRight">__QScintillaCharRight</a></td> <td>Private method to handle the Cursor Right command.</td> </tr><tr> +<td><a href="#Shell.__QScintillaCommand">__QScintillaCommand</a></td> +<td>Private method to send the command to QScintilla.</td> +</tr><tr> <td><a href="#Shell.__QScintillaDelete">__QScintillaDelete</a></td> <td>Private method to handle the delete command.</td> </tr><tr> @@ -103,21 +106,21 @@ <td><a href="#Shell.__QScintillaDeleteWordRight">__QScintillaDeleteWordRight</a></td> <td>Private method to handle the Delete Word Right command.</td> </tr><tr> +<td><a href="#Shell.__QScintillaHistoryDown">__QScintillaHistoryDown</a></td> +<td>Private method to handle the Ctrl+Down key.</td> +</tr><tr> +<td><a href="#Shell.__QScintillaHistoryUp">__QScintillaHistoryUp</a></td> +<td>Private method to handle the Ctrl+Up key.</td> +</tr><tr> <td><a href="#Shell.__QScintillaLeftCommand">__QScintillaLeftCommand</a></td> <td>Private method to handle a QScintilla command working to the left.</td> </tr><tr> <td><a href="#Shell.__QScintillaLeftDeleteCommand">__QScintillaLeftDeleteCommand</a></td> <td>Private method to handle a QScintilla delete command working to the left.</td> </tr><tr> -<td><a href="#Shell.__QScintillaLineDown">__QScintillaLineDown</a></td> -<td>Private method to handle the Down key.</td> -</tr><tr> <td><a href="#Shell.__QScintillaLineEnd">__QScintillaLineEnd</a></td> <td>Private method to handle the End key.</td> </tr><tr> -<td><a href="#Shell.__QScintillaLineUp">__QScintillaLineUp</a></td> -<td>Private method to handle the Up key.</td> -</tr><tr> <td><a href="#Shell.__QScintillaNewline">__QScintillaNewline</a></td> <td>Private method to handle the Return key.</td> </tr><tr> @@ -148,9 +151,6 @@ <td><a href="#Shell.__clearCurrentLine">__clearCurrentLine</a></td> <td>Private method to clear the line containing the cursor.</td> </tr><tr> -<td><a href="#Shell.__clearHistory">__clearHistory</a></td> -<td>Private slot to clear the current history.</td> -</tr><tr> <td><a href="#Shell.__clientCapabilities">__clientCapabilities</a></td> <td>Private slot to handle the reporting of the clients capabilities.</td> </tr><tr> @@ -232,9 +232,6 @@ <td><a href="#Shell.__searchPrev">__searchPrev</a></td> <td>Private method to search for the next occurrence.</td> </tr><tr> -<td><a href="#Shell.__selectHistory">__selectHistory</a></td> -<td>Private slot to select a history entry to execute.</td> -</tr><tr> <td><a href="#Shell.__setAutoCompletion">__setAutoCompletion</a></td> <td>Private method to configure the autocompletion function.</td> </tr><tr> @@ -253,9 +250,6 @@ <td><a href="#Shell.__showCompletions">__showCompletions</a></td> <td>Private method to display the possible completions.</td> </tr><tr> -<td><a href="#Shell.__showHistory">__showHistory</a></td> -<td>Private slot to show the shell history dialog.</td> -</tr><tr> <td><a href="#Shell.__showLanguageMenu">__showLanguageMenu</a></td> <td>Private slot to prepare the language submenu.</td> </tr><tr> @@ -286,6 +280,9 @@ <td><a href="#Shell.clearAllHistories">clearAllHistories</a></td> <td>Public method to clear all available histories and sync them.</td> </tr><tr> +<td><a href="#Shell.clearHistory">clearHistory</a></td> +<td>Public slot to clear the current history.</td> +</tr><tr> <td><a href="#Shell.closeShell">closeShell</a></td> <td>Public method to shutdown the shell.</td> </tr><tr> @@ -361,9 +358,15 @@ <td><a href="#Shell.searchPrev">searchPrev</a></td> <td>Public method to search the previous occurrence of the given text.</td> </tr><tr> +<td><a href="#Shell.selectHistory">selectHistory</a></td> +<td>Public slot to select a history entry to execute.</td> +</tr><tr> <td><a href="#Shell.setDebuggerUI">setDebuggerUI</a></td> <td>Public method to set the debugger UI.</td> </tr><tr> +<td><a href="#Shell.showHistory">showHistory</a></td> +<td>Public slot to show the shell history dialog.</td> +</tr><tr> <td><a href="#Shell.wheelEvent">wheelEvent</a></td> <td>Protected method to handle wheel events.</td> </tr> @@ -374,7 +377,7 @@ </table> <a NAME="Shell.__init__" ID="Shell.__init__"></a> <h4>Shell (Constructor)</h4> -<b>Shell</b>(<i>dbs, vm, parent=None</i>) +<b>Shell</b>(<i>dbs, vm, windowedVariant, parent=None</i>) <p> Constructor </p><dl> @@ -384,6 +387,10 @@ </dd><dt><i>vm</i></dt> <dd> reference to the viewmanager object +</dd><dt><i>windowedVariant</i></dt> +<dd> +flag indicating the shell window variant + (boolean) </dd><dt><i>parent</i></dt> <dd> parent widget (QWidget) @@ -413,7 +420,17 @@ <b>__QScintillaCharRight</b>(<i></i>) <p> Private method to handle the Cursor Right command. -</p><a NAME="Shell.__QScintillaDelete" ID="Shell.__QScintillaDelete"></a> +</p><a NAME="Shell.__QScintillaCommand" ID="Shell.__QScintillaCommand"></a> +<h4>Shell.__QScintillaCommand</h4> +<b>__QScintillaCommand</b>(<i>cmd</i>) +<p> + Private method to send the command to QScintilla. +</p><dl> +<dt><i>cmd</i></dt> +<dd> +QScintilla command +</dd> +</dl><a NAME="Shell.__QScintillaDelete" ID="Shell.__QScintillaDelete"></a> <h4>Shell.__QScintillaDelete</h4> <b>__QScintillaDelete</b>(<i></i>) <p> @@ -443,7 +460,27 @@ <b>__QScintillaDeleteWordRight</b>(<i></i>) <p> Private method to handle the Delete Word Right command. -</p><a NAME="Shell.__QScintillaLeftCommand" ID="Shell.__QScintillaLeftCommand"></a> +</p><a NAME="Shell.__QScintillaHistoryDown" ID="Shell.__QScintillaHistoryDown"></a> +<h4>Shell.__QScintillaHistoryDown</h4> +<b>__QScintillaHistoryDown</b>(<i>cmd</i>) +<p> + Private method to handle the Ctrl+Down key. +</p><dl> +<dt><i>cmd</i></dt> +<dd> +QScintilla command +</dd> +</dl><a NAME="Shell.__QScintillaHistoryUp" ID="Shell.__QScintillaHistoryUp"></a> +<h4>Shell.__QScintillaHistoryUp</h4> +<b>__QScintillaHistoryUp</b>(<i>cmd</i>) +<p> + Private method to handle the Ctrl+Up key. +</p><dl> +<dt><i>cmd</i></dt> +<dd> +QScintilla command +</dd> +</dl><a NAME="Shell.__QScintillaLeftCommand" ID="Shell.__QScintillaLeftCommand"></a> <h4>Shell.__QScintillaLeftCommand</h4> <b>__QScintillaLeftCommand</b>(<i>method, allLinesAllowed=False</i>) <p> @@ -468,16 +505,6 @@ <dd> shell method to execute </dd> -</dl><a NAME="Shell.__QScintillaLineDown" ID="Shell.__QScintillaLineDown"></a> -<h4>Shell.__QScintillaLineDown</h4> -<b>__QScintillaLineDown</b>(<i>cmd</i>) -<p> - Private method to handle the Down key. -</p><dl> -<dt><i>cmd</i></dt> -<dd> -QScintilla command -</dd> </dl><a NAME="Shell.__QScintillaLineEnd" ID="Shell.__QScintillaLineEnd"></a> <h4>Shell.__QScintillaLineEnd</h4> <b>__QScintillaLineEnd</b>(<i>cmd</i>) @@ -488,16 +515,6 @@ <dd> QScintilla command </dd> -</dl><a NAME="Shell.__QScintillaLineUp" ID="Shell.__QScintillaLineUp"></a> -<h4>Shell.__QScintillaLineUp</h4> -<b>__QScintillaLineUp</b>(<i>cmd</i>) -<p> - Private method to handle the Up key. -</p><dl> -<dt><i>cmd</i></dt> -<dd> -QScintilla command -</dd> </dl><a NAME="Shell.__QScintillaNewline" ID="Shell.__QScintillaNewline"></a> <h4>Shell.__QScintillaNewline</h4> <b>__QScintillaNewline</b>(<i>cmd</i>) @@ -573,11 +590,6 @@ <b>__clearCurrentLine</b>(<i></i>) <p> Private method to clear the line containing the cursor. -</p><a NAME="Shell.__clearHistory" ID="Shell.__clearHistory"></a> -<h4>Shell.__clearHistory</h4> -<b>__clearHistory</b>(<i></i>) -<p> - Private slot to clear the current history. </p><a NAME="Shell.__clientCapabilities" ID="Shell.__clientCapabilities"></a> <h4>Shell.__clientCapabilities</h4> <b>__clientCapabilities</b>(<i>cap, clType</i>) @@ -851,11 +863,6 @@ <b>__searchPrev</b>(<i></i>) <p> Private method to search for the next occurrence. -</p><a NAME="Shell.__selectHistory" ID="Shell.__selectHistory"></a> -<h4>Shell.__selectHistory</h4> -<b>__selectHistory</b>(<i></i>) -<p> - Private slot to select a history entry to execute. </p><a NAME="Shell.__setAutoCompletion" ID="Shell.__setAutoCompletion"></a> <h4>Shell.__setAutoCompletion</h4> <b>__setAutoCompletion</b>(<i>language='Python'</i>) @@ -909,12 +916,7 @@ <dd> text that is about to be completed (string) </dd> -</dl><a NAME="Shell.__showHistory" ID="Shell.__showHistory"></a> -<h4>Shell.__showHistory</h4> -<b>__showHistory</b>(<i></i>) -<p> - Private slot to show the shell history dialog. -</p><a NAME="Shell.__showLanguageMenu" ID="Shell.__showLanguageMenu"></a> +</dl><a NAME="Shell.__showLanguageMenu" ID="Shell.__showLanguageMenu"></a> <h4>Shell.__showLanguageMenu</h4> <b>__showLanguageMenu</b>(<i></i>) <p> @@ -996,6 +998,11 @@ <b>clearAllHistories</b>(<i></i>) <p> Public method to clear all available histories and sync them. +</p><a NAME="Shell.clearHistory" ID="Shell.clearHistory"></a> +<h4>Shell.clearHistory</h4> +<b>clearHistory</b>(<i></i>) +<p> + Public slot to clear the current history. </p><a NAME="Shell.closeShell" ID="Shell.closeShell"></a> <h4>Shell.closeShell</h4> <b>closeShell</b>(<i></i>) @@ -1265,7 +1272,12 @@ flag indicating to search for whole words only (boolean) </dd> -</dl><a NAME="Shell.setDebuggerUI" ID="Shell.setDebuggerUI"></a> +</dl><a NAME="Shell.selectHistory" ID="Shell.selectHistory"></a> +<h4>Shell.selectHistory</h4> +<b>selectHistory</b>(<i></i>) +<p> + Public slot to select a history entry to execute. +</p><a NAME="Shell.setDebuggerUI" ID="Shell.setDebuggerUI"></a> <h4>Shell.setDebuggerUI</h4> <b>setDebuggerUI</b>(<i>ui</i>) <p> @@ -1275,7 +1287,12 @@ <dd> reference to the debugger UI object (DebugUI) </dd> -</dl><a NAME="Shell.wheelEvent" ID="Shell.wheelEvent"></a> +</dl><a NAME="Shell.showHistory" ID="Shell.showHistory"></a> +<h4>Shell.showHistory</h4> +<b>showHistory</b>(<i></i>) +<p> + Public slot to show the shell history dialog. +</p><a NAME="Shell.wheelEvent" ID="Shell.wheelEvent"></a> <h4>Shell.wheelEvent</h4> <b>wheelEvent</b>(<i>evt</i>) <p>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.QScintilla.ShellWindow.html Sat May 06 13:43:21 2017 +0200 @@ -0,0 +1,388 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.QScintilla.ShellWindow</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.QScintilla.ShellWindow</h1> +<p> +Module implementing a stand alone shell window. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#ShellWindow">ShellWindow</a></td> +<td>Class implementing a stand alone shell window.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="ShellWindow" ID="ShellWindow"></a> +<h2>ShellWindow</h2> +<p> + Class implementing a stand alone shell window. +</p> +<h3>Derived from</h3> +E5MainWindow +<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="#ShellWindow.__init__">ShellWindow</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#ShellWindow.__about">__about</a></td> +<td>Private slot to show a little About message.</td> +</tr><tr> +<td><a href="#ShellWindow.__aboutQt">__aboutQt</a></td> +<td>Private slot to handle the About Qt dialog.</td> +</tr><tr> +<td><a href="#ShellWindow.__createActions">__createActions</a></td> +<td>Private method to create the actions.</td> +</tr><tr> +<td><a href="#ShellWindow.__createEditActions">__createEditActions</a></td> +<td>Private method defining the user interface actions for the edit commands.</td> +</tr><tr> +<td><a href="#ShellWindow.__createFileActions">__createFileActions</a></td> +<td>Private method defining the user interface actions for the file commands.</td> +</tr><tr> +<td><a href="#ShellWindow.__createHelpActions">__createHelpActions</a></td> +<td>Private method to create the Help actions.</td> +</tr><tr> +<td><a href="#ShellWindow.__createHistoryActions">__createHistoryActions</a></td> +<td>Private method defining the user interface actions for the history commands.</td> +</tr><tr> +<td><a href="#ShellWindow.__createMenus">__createMenus</a></td> +<td>Private method to create the menus of the menu bar.</td> +</tr><tr> +<td><a href="#ShellWindow.__createSearchActions">__createSearchActions</a></td> +<td>Private method defining the user interface actions for the search commands.</td> +</tr><tr> +<td><a href="#ShellWindow.__createStatusBar">__createStatusBar</a></td> +<td>Private slot to set up the status bar.</td> +</tr><tr> +<td><a href="#ShellWindow.__createToolBars">__createToolBars</a></td> +<td>Private method to create the various toolbars.</td> +</tr><tr> +<td><a href="#ShellWindow.__createViewActions">__createViewActions</a></td> +<td>Private method defining the user interface actions for the view commands.</td> +</tr><tr> +<td><a href="#ShellWindow.__doClearRestart">__doClearRestart</a></td> +<td>Private slot to handle the 'restart and clear' menu entry.</td> +</tr><tr> +<td><a href="#ShellWindow.__doRestart">__doRestart</a></td> +<td>Private slot to handle the 'restart' menu entry.</td> +</tr><tr> +<td><a href="#ShellWindow.__newWindow">__newWindow</a></td> +<td>Private slot to start a new instance of eric6.</td> +</tr><tr> +<td><a href="#ShellWindow.__readSettings">__readSettings</a></td> +<td>Private method to read the settings remembered last time.</td> +</tr><tr> +<td><a href="#ShellWindow.__readShortcut">__readShortcut</a></td> +<td>Private function to read a single keyboard shortcut from the settings.</td> +</tr><tr> +<td><a href="#ShellWindow.__showFind">__showFind</a></td> +<td>Private method to display the search widget.</td> +</tr><tr> +<td><a href="#ShellWindow.__showLanguageMenu">__showLanguageMenu</a></td> +<td>Private slot to prepare the language menu.</td> +</tr><tr> +<td><a href="#ShellWindow.__startShell">__startShell</a></td> +<td>Private slot to start a shell according to the action triggered.</td> +</tr><tr> +<td><a href="#ShellWindow.__whatsThis">__whatsThis</a></td> +<td>Private slot called in to enter Whats This mode.</td> +</tr><tr> +<td><a href="#ShellWindow.__writeSettings">__writeSettings</a></td> +<td>Private method to write the settings for reuse.</td> +</tr><tr> +<td><a href="#ShellWindow.__zoom">__zoom</a></td> +<td>Private method to handle the zoom action.</td> +</tr><tr> +<td><a href="#ShellWindow.__zoomIn">__zoomIn</a></td> +<td>Private method to handle the zoom in action.</td> +</tr><tr> +<td><a href="#ShellWindow.__zoomOut">__zoomOut</a></td> +<td>Private method to handle the zoom out action.</td> +</tr><tr> +<td><a href="#ShellWindow.__zoomReset">__zoomReset</a></td> +<td>Private method to reset the zoom factor.</td> +</tr><tr> +<td><a href="#ShellWindow.__zoomTo">__zoomTo</a></td> +<td>Private slot to zoom to a given value.</td> +</tr><tr> +<td><a href="#ShellWindow.__zoomValueChanged">__zoomValueChanged</a></td> +<td>Private slot to handle changes of the zoom value.</td> +</tr><tr> +<td><a href="#ShellWindow.activeWindow">activeWindow</a></td> +<td>Public method to get a reference to the active shell.</td> +</tr><tr> +<td><a href="#ShellWindow.closeEvent">closeEvent</a></td> +<td>Protected method to handle the close event.</td> +</tr><tr> +<td><a href="#ShellWindow.getAPIsManager">getAPIsManager</a></td> +<td>Public method to get a reference to the APIs manager.</td> +</tr><tr> +<td><a href="#ShellWindow.quit">quit</a></td> +<td>Public method to quit the application.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="ShellWindow.__init__" ID="ShellWindow.__init__"></a> +<h4>ShellWindow (Constructor)</h4> +<b>ShellWindow</b>(<i>parent=None, name=None</i>) +<p> + Constructor +</p><dl> +<dt><i>parent</i> (QWidget)</dt> +<dd> +reference to the parent widget +</dd><dt><i>name</i> (str)</dt> +<dd> +object name of the window +</dd> +</dl><a NAME="ShellWindow.__about" ID="ShellWindow.__about"></a> +<h4>ShellWindow.__about</h4> +<b>__about</b>(<i></i>) +<p> + Private slot to show a little About message. +</p><a NAME="ShellWindow.__aboutQt" ID="ShellWindow.__aboutQt"></a> +<h4>ShellWindow.__aboutQt</h4> +<b>__aboutQt</b>(<i></i>) +<p> + Private slot to handle the About Qt dialog. +</p><a NAME="ShellWindow.__createActions" ID="ShellWindow.__createActions"></a> +<h4>ShellWindow.__createActions</h4> +<b>__createActions</b>(<i></i>) +<p> + Private method to create the actions. +</p><a NAME="ShellWindow.__createEditActions" ID="ShellWindow.__createEditActions"></a> +<h4>ShellWindow.__createEditActions</h4> +<b>__createEditActions</b>(<i></i>) +<p> + Private method defining the user interface actions for the edit + commands. +</p><a NAME="ShellWindow.__createFileActions" ID="ShellWindow.__createFileActions"></a> +<h4>ShellWindow.__createFileActions</h4> +<b>__createFileActions</b>(<i></i>) +<p> + Private method defining the user interface actions for the file + commands. +</p><a NAME="ShellWindow.__createHelpActions" ID="ShellWindow.__createHelpActions"></a> +<h4>ShellWindow.__createHelpActions</h4> +<b>__createHelpActions</b>(<i></i>) +<p> + Private method to create the Help actions. +</p><a NAME="ShellWindow.__createHistoryActions" ID="ShellWindow.__createHistoryActions"></a> +<h4>ShellWindow.__createHistoryActions</h4> +<b>__createHistoryActions</b>(<i></i>) +<p> + Private method defining the user interface actions for the history + commands. +</p><a NAME="ShellWindow.__createMenus" ID="ShellWindow.__createMenus"></a> +<h4>ShellWindow.__createMenus</h4> +<b>__createMenus</b>(<i></i>) +<p> + Private method to create the menus of the menu bar. +</p><a NAME="ShellWindow.__createSearchActions" ID="ShellWindow.__createSearchActions"></a> +<h4>ShellWindow.__createSearchActions</h4> +<b>__createSearchActions</b>(<i></i>) +<p> + Private method defining the user interface actions for the search + commands. +</p><a NAME="ShellWindow.__createStatusBar" ID="ShellWindow.__createStatusBar"></a> +<h4>ShellWindow.__createStatusBar</h4> +<b>__createStatusBar</b>(<i></i>) +<p> + Private slot to set up the status bar. +</p><a NAME="ShellWindow.__createToolBars" ID="ShellWindow.__createToolBars"></a> +<h4>ShellWindow.__createToolBars</h4> +<b>__createToolBars</b>(<i></i>) +<p> + Private method to create the various toolbars. +</p><a NAME="ShellWindow.__createViewActions" ID="ShellWindow.__createViewActions"></a> +<h4>ShellWindow.__createViewActions</h4> +<b>__createViewActions</b>(<i></i>) +<p> + Private method defining the user interface actions for the view + commands. +</p><a NAME="ShellWindow.__doClearRestart" ID="ShellWindow.__doClearRestart"></a> +<h4>ShellWindow.__doClearRestart</h4> +<b>__doClearRestart</b>(<i></i>) +<p> + Private slot to handle the 'restart and clear' menu entry. +</p><a NAME="ShellWindow.__doRestart" ID="ShellWindow.__doRestart"></a> +<h4>ShellWindow.__doRestart</h4> +<b>__doRestart</b>(<i></i>) +<p> + Private slot to handle the 'restart' menu entry. +</p><a NAME="ShellWindow.__newWindow" ID="ShellWindow.__newWindow"></a> +<h4>ShellWindow.__newWindow</h4> +<b>__newWindow</b>(<i></i>) +<p> + Private slot to start a new instance of eric6. +</p><a NAME="ShellWindow.__readSettings" ID="ShellWindow.__readSettings"></a> +<h4>ShellWindow.__readSettings</h4> +<b>__readSettings</b>(<i></i>) +<p> + Private method to read the settings remembered last time. +</p><a NAME="ShellWindow.__readShortcut" ID="ShellWindow.__readShortcut"></a> +<h4>ShellWindow.__readShortcut</h4> +<b>__readShortcut</b>(<i>act, category</i>) +<p> + Private function to read a single keyboard shortcut from the settings. +</p><dl> +<dt><i>act</i> (E5Action)</dt> +<dd> +reference to the action object +</dd><dt><i>category</i> (str)</dt> +<dd> +category the action belongs to +</dd> +</dl><a NAME="ShellWindow.__showFind" ID="ShellWindow.__showFind"></a> +<h4>ShellWindow.__showFind</h4> +<b>__showFind</b>(<i></i>) +<p> + Private method to display the search widget. +</p><a NAME="ShellWindow.__showLanguageMenu" ID="ShellWindow.__showLanguageMenu"></a> +<h4>ShellWindow.__showLanguageMenu</h4> +<b>__showLanguageMenu</b>(<i></i>) +<p> + Private slot to prepare the language menu. +</p><a NAME="ShellWindow.__startShell" ID="ShellWindow.__startShell"></a> +<h4>ShellWindow.__startShell</h4> +<b>__startShell</b>(<i>action</i>) +<p> + Private slot to start a shell according to the action triggered. +</p><dl> +<dt><i>action</i></dt> +<dd> +menu action that was triggered (QAction) +</dd> +</dl><a NAME="ShellWindow.__whatsThis" ID="ShellWindow.__whatsThis"></a> +<h4>ShellWindow.__whatsThis</h4> +<b>__whatsThis</b>(<i></i>) +<p> + Private slot called in to enter Whats This mode. +</p><a NAME="ShellWindow.__writeSettings" ID="ShellWindow.__writeSettings"></a> +<h4>ShellWindow.__writeSettings</h4> +<b>__writeSettings</b>(<i></i>) +<p> + Private method to write the settings for reuse. +</p><a NAME="ShellWindow.__zoom" ID="ShellWindow.__zoom"></a> +<h4>ShellWindow.__zoom</h4> +<b>__zoom</b>(<i></i>) +<p> + Private method to handle the zoom action. +</p><a NAME="ShellWindow.__zoomIn" ID="ShellWindow.__zoomIn"></a> +<h4>ShellWindow.__zoomIn</h4> +<b>__zoomIn</b>(<i></i>) +<p> + Private method to handle the zoom in action. +</p><a NAME="ShellWindow.__zoomOut" ID="ShellWindow.__zoomOut"></a> +<h4>ShellWindow.__zoomOut</h4> +<b>__zoomOut</b>(<i></i>) +<p> + Private method to handle the zoom out action. +</p><a NAME="ShellWindow.__zoomReset" ID="ShellWindow.__zoomReset"></a> +<h4>ShellWindow.__zoomReset</h4> +<b>__zoomReset</b>(<i></i>) +<p> + Private method to reset the zoom factor. +</p><a NAME="ShellWindow.__zoomTo" ID="ShellWindow.__zoomTo"></a> +<h4>ShellWindow.__zoomTo</h4> +<b>__zoomTo</b>(<i>value</i>) +<p> + Private slot to zoom to a given value. +</p><dl> +<dt><i>value</i> (int)</dt> +<dd> +zoom value to be set +</dd> +</dl><a NAME="ShellWindow.__zoomValueChanged" ID="ShellWindow.__zoomValueChanged"></a> +<h4>ShellWindow.__zoomValueChanged</h4> +<b>__zoomValueChanged</b>(<i>value</i>) +<p> + Private slot to handle changes of the zoom value. +</p><dl> +<dt><i>value</i> (int)</dt> +<dd> +new zoom value +</dd> +</dl><a NAME="ShellWindow.activeWindow" ID="ShellWindow.activeWindow"></a> +<h4>ShellWindow.activeWindow</h4> +<b>activeWindow</b>(<i></i>) +<p> + Public method to get a reference to the active shell. +</p><dl> +<dt>Returns:</dt> +<dd> +reference to the shell widget +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +Shell +</dd> +</dl><a NAME="ShellWindow.closeEvent" ID="ShellWindow.closeEvent"></a> +<h4>ShellWindow.closeEvent</h4> +<b>closeEvent</b>(<i>event</i>) +<p> + Protected method to handle the close event. +</p><dl> +<dt><i>event</i> (QCloseEvent)</dt> +<dd> +close event +</dd> +</dl><a NAME="ShellWindow.getAPIsManager" ID="ShellWindow.getAPIsManager"></a> +<h4>ShellWindow.getAPIsManager</h4> +<b>getAPIsManager</b>(<i></i>) +<p> + Public method to get a reference to the APIs manager. +</p><dl> +<dt>Returns:</dt> +<dd> +the APIs manager object (eric6.QScintilla.APIsManager) +</dd> +</dl><a NAME="ShellWindow.quit" ID="ShellWindow.quit"></a> +<h4>ShellWindow.quit</h4> +<b>quit</b>(<i></i>) +<p> + Public method to quit the application. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- a/Documentation/Source/eric6.Tools.TRPreviewer.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Tools.TRPreviewer.html Sat May 06 13:43:21 2017 +0200 @@ -489,7 +489,10 @@ <dl> <dt>lastWidgetClosed()</dt> <dd> -emitted after last widget was closed +emitted after the last widget was closed +</dd><dt>rebuildWidgets()</dt> +<dd> +emitted to indicate a change of loaded widgets </dd> </dl> <h3>Derived from</h3>
--- a/Documentation/Source/eric6.Tools.TrayStarter.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Tools.TrayStarter.html Sat May 06 13:43:21 2017 +0200 @@ -138,6 +138,9 @@ <td><a href="#TrayStarter.__startQRegExp">__startQRegExp</a></td> <td>Private slot to start the eric6 QRegExp editor dialog.</td> </tr><tr> +<td><a href="#TrayStarter.__startShell">__startShell</a></td> +<td>Private slot to start the eric6 Shell window.</td> +</tr><tr> <td><a href="#TrayStarter.__startSnapshot">__startSnapshot</a></td> <td>Private slot to start the eric6 snapshot dialog.</td> </tr><tr> @@ -327,6 +330,11 @@ <b>__startQRegExp</b>(<i></i>) <p> Private slot to start the eric6 QRegExp editor dialog. +</p><a NAME="TrayStarter.__startShell" ID="TrayStarter.__startShell"></a> +<h4>TrayStarter.__startShell</h4> +<b>__startShell</b>(<i></i>) +<p> + Private slot to start the eric6 Shell window. </p><a NAME="TrayStarter.__startSnapshot" ID="TrayStarter.__startSnapshot"></a> <h4>TrayStarter.__startSnapshot</h4> <b>__startSnapshot</b>(<i></i>)
--- a/Documentation/Source/eric6.UI.Browser.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.UI.Browser.html Sat May 06 13:43:21 2017 +0200 @@ -49,45 +49,60 @@ the selected file. </p><h3>Signals</h3> <dl> -<dt>binaryFile(str)</dt> +<dt>binaryFile(filename)</dt> <dd> -emitted to open a file as binary -</dd><dt>designerFile(str)</dt> +emitted to open a file as binary (str) +</dd><dt>designerFile(filename)</dt> +<dd> +emitted to open a Qt-Designer file (str) +</dd><dt>linguistFile(filename)</dt> <dd> -emitted to open a Qt-Designer file -</dd><dt>linguistFile(str)</dt> +emitted to open a Qt-Linguist (*.ts) + file (str) +</dd><dt>multiProjectFile(filename)</dt> <dd> -emitted to open a Qt-Linguist (*.ts) file -</dd><dt>multiProjectFile(str)</dt> +emitted to open an eric multi project + file (str) +</dd><dt>pixmapEditFile(filename)</dt> <dd> -emitted to open an eric4/5 multi project file -</dd><dt>pixmapEditFile(str)</dt> +emitted to edit a pixmap file (str) +</dd><dt>pixmapFile(filename)</dt> <dd> -emitted to edit a pixmap file -</dd><dt>pixmapFile(str)</dt> +emitted to open a pixmap file (str) +</dd><dt>projectFile(filename)</dt> <dd> -emitted to open a pixmap file -</dd><dt>projectFile(str)</dt> +emitted to open an eric project file (str) +</dd><dt>sourceFile(filename)</dt> <dd> -emitted to open an eric4/5 project file -</dd><dt>sourceFile(str, int = 0, str = "")</dt> +emitted to open a Python file at a line (str) +</dd><dt>sourceFile(filename, lineno)</dt> +<dd> +emitted to open a Python file at a + line (str, int) +</dd><dt>sourceFile(filename, lineno, type)</dt> <dd> emitted to open a Python file - at a line -</dd><dt>sourceFile(str, list)</dt> + at a line giving an explicit file type (str, int, str) +</dd><dt>sourceFile(filename, linenos)</dt> <dd> -emitted to open a Python file giving a list - of lines -</dd><dt>svgFile(str)</dt> +emitted to open a Python file giving + a list of lines(str, list) +</dd><dt>svgFile(filename)</dt> +<dd> +emitted to open a SVG file (str) +</dd><dt>trpreview(filenames)</dt> <dd> -emitted to open a SVG file -</dd><dt>trpreview(list of str, bool = False)</dt> +emitted to preview Qt-Linguist (*.qm) + files (list of str) +</dd><dt>trpreview(filenames, ignore)</dt> <dd> -emitted to preview a - Qt-Linguist (*.qm) file -</dd><dt>unittestOpen(str)</dt> +emitted to preview Qt-Linguist (*.qm) + files indicating whether non-existent files shall be ignored + (list of str, bool) +</dd><dt>unittestOpen(filename)</dt> <dd> -emitted to open a Python file for a unittest +emitted to open a Python file for a + unit test (str) </dd> </dl> <h3>Derived from</h3>
--- a/Documentation/Source/eric6.UI.SearchWidget.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.UI.SearchWidget.html Sat May 06 13:43:21 2017 +0200 @@ -56,7 +56,7 @@ </dd> </dl> <h3>Derived from</h3> -QWidget, Ui_SearchWidget +QWidget <h3>Class Attributes</h3> <table> <tr><td>None</td></tr> @@ -105,7 +105,7 @@ </table> <a NAME="SearchWidget.__init__" ID="SearchWidget.__init__"></a> <h4>SearchWidget (Constructor)</h4> -<b>SearchWidget</b>(<i>mainWindow, parent=None, spacer=True</i>) +<b>SearchWidget</b>(<i>mainWindow, parent=None, spacer=True, showLine=False</i>) <p> Constructor </p><dl> @@ -119,6 +119,9 @@ <dd> flag indicating to add a vertical spacer to the main layout (boolean) +</dd><dt><i>showLine</i></dt> +<dd> +flag indicating to show all widget in one row (boolean) </dd> </dl><a NAME="SearchWidget.__findByReturnPressed" ID="SearchWidget.__findByReturnPressed"></a> <h4>SearchWidget.__findByReturnPressed</h4>
--- a/Documentation/Source/eric6.Utilities.BackgroundService.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Utilities.BackgroundService.html Sat May 06 13:43:21 2017 +0200 @@ -44,7 +44,18 @@ <h2>BackgroundService</h2> <p> Class implementing the main part of the background service. -</p> +</p><h3>Signals</h3> +<dl> +<dt>batchJobDone(function, language)</dt> +<dd> +emitted to indicate the end of + a batch job (str, str) +</dd><dt>serviceNotAvailable(function, language, filename, message)</dt> +<dd> + emitted to indicate the non-availability of a service function + (str, str, str, str) +</dd> +</dl> <h3>Derived from</h3> QTcpServer <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.Utilities.__init__.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Utilities.__init__.html Sat May 06 13:43:21 2017 +0200 @@ -103,6 +103,9 @@ <td><a href="#generatePluginsVersionInfo">generatePluginsVersionInfo</a></td> <td>Module function to generate a string with plugins version infos.</td> </tr><tr> +<td><a href="#generatePyQtToolPath">generatePyQtToolPath</a></td> +<td>Module function to generate the executable path for a PyQt tool.</td> +</tr><tr> <td><a href="#generatePySideToolPath">generatePySideToolPath</a></td> <td>Module function to generate the executable path for a PySide tool.</td> </tr><tr> @@ -172,6 +175,9 @@ <td><a href="#html_uencode">html_uencode</a></td> <td>Function to correctly encode a unicode text for html.</td> </tr><tr> +<td><a href="#isDrive">isDrive</a></td> +<td>Function to check, if a path is a Windows drive.</td> +</tr><tr> <td><a href="#isExecutable">isExecutable</a></td> <td>Function to check, if a file is executable.</td> </tr><tr> @@ -816,6 +822,29 @@ </dl> <div align="right"><a href="#top">Up</a></div> <hr /><hr /> +<a NAME="generatePyQtToolPath" ID="generatePyQtToolPath"></a> +<h2>generatePyQtToolPath</h2> +<b>generatePyQtToolPath</b>(<i>toolname</i>) +<p> + Module function to generate the executable path for a PyQt tool. +</p><dl> +<dt><i>toolname</i> (str)</dt> +<dd> +base name of the tool +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +executable path name of the tool +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> <a NAME="generatePySideToolPath" ID="generatePySideToolPath"></a> <h2>generatePySideToolPath</h2> <b>generatePySideToolPath</b>(<i>toolname</i>) @@ -824,7 +853,7 @@ </p><dl> <dt><i>toolname</i></dt> <dd> -base name of the tool (string or QString) +base name of the tool (string) </dd> </dl><dl> <dt>Returns:</dt> @@ -1232,6 +1261,29 @@ </dl> <div align="right"><a href="#top">Up</a></div> <hr /><hr /> +<a NAME="isDrive" ID="isDrive"></a> +<h2>isDrive</h2> +<b>isDrive</b>(<i>path</i>) +<p> + Function to check, if a path is a Windows drive. +</p><dl> +<dt><i>path</i> (str)</dt> +<dd> +path name to be checked +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +flag indicating a Windows drive +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> <a NAME="isExecutable" ID="isExecutable"></a> <h2>isExecutable</h2> <b>isExecutable</b>(<i>exe</i>)
--- a/Documentation/Source/eric6.Utilities.binplistlib.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.Utilities.binplistlib.html Sat May 06 13:43:21 2017 +0200 @@ -579,6 +579,10 @@ <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>
--- a/Documentation/Source/eric6.ViewManager.ViewManager.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.ViewManager.ViewManager.html Sat May 06 13:43:21 2017 +0200 @@ -54,9 +54,6 @@ </dd><dt>gotFocus()</dt> <dd> emitted when the focus is changed to this widget -</dd><dt>returnPressed()</dt> -<dd> -emitted after a newline command was activated </dd> </dl> <h3>Derived from</h3>
--- a/Documentation/Source/eric6.WebBrowser.AdBlock.AdBlockManager.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.AdBlock.AdBlockManager.html Sat May 06 13:43:21 2017 +0200 @@ -45,7 +45,11 @@ Class implementing the AdBlock manager. </p><h3>Signals</h3> <dl> -<dt>rulesChanged()</dt> +<dt>requiredSubscriptionLoaded(subscription)</dt> +<dd> +emitted to indicate + loading of a required subscription is finished (AdBlockSubscription) +</dd><dt>rulesChanged()</dt> <dd> emitted after some rule has changed </dd>
--- a/Documentation/Source/eric6.WebBrowser.GreaseMonkey.GreaseMonkeyConfiguration.GreaseMonkeyConfigurationListWidget.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.GreaseMonkey.GreaseMonkeyConfiguration.GreaseMonkeyConfigurationListWidget.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,14 @@ <h2>GreaseMonkeyConfigurationListWidget</h2> <p> Class implementing a special list widget for GreaseMonkey scripts. -</p> +</p><h3>Signals</h3> +<dl> +<dt>removeItemRequested(item)</dt> +<dd> +emitted to indicate an item removal + request (QListWidgetItem) +</dd> +</dl> <h3>Derived from</h3> QListWidget <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.GreaseMonkey.GreaseMonkeyDownloader.html Sat May 06 13:43:21 2017 +0200 @@ -43,12 +43,22 @@ <h2>GreaseMonkeyDownloader</h2> <p> Class implementing the downloader for GreaseMonkey scripts. -</p> +</p><h3>Signals</h3> +<dl> +<dt>error()</dt> +<dd> +emitted to indicate a script download error +</dd><dt>finished(fileName)</dt> +<dd> +emitted to indicate the end of a script download + (str) +</dd> +</dl> <h3>Derived from</h3> QObject <h3>Class Attributes</h3> <table> -<tr><td>None</td></tr> +<tr><td>DownloadMainScript</td></tr><tr><td>DownloadRequireScript</td></tr> </table> <h3>Class Methods</h3> <table> @@ -60,14 +70,14 @@ <td><a href="#GreaseMonkeyDownloader.__init__">GreaseMonkeyDownloader</a></td> <td>Constructor</td> </tr><tr> -<td><a href="#GreaseMonkeyDownloader.__downloadRequires">__downloadRequires</a></td> -<td>Private slot to initiate the download of required scripts.</td> -</tr><tr> <td><a href="#GreaseMonkeyDownloader.__requireDownloaded">__requireDownloaded</a></td> <td>Private slot to handle the finished download of a required script.</td> </tr><tr> <td><a href="#GreaseMonkeyDownloader.__scriptDownloaded">__scriptDownloaded</a></td> <td>Private slot to handle the finished download of a script.</td> +</tr><tr> +<td><a href="#GreaseMonkeyDownloader.updateScript">updateScript</a></td> +<td>Public method to set the file name for the script to be downloaded.</td> </tr> </table> <h3>Static Methods</h3> @@ -76,7 +86,7 @@ </table> <a NAME="GreaseMonkeyDownloader.__init__" ID="GreaseMonkeyDownloader.__init__"></a> <h4>GreaseMonkeyDownloader (Constructor)</h4> -<b>GreaseMonkeyDownloader</b>(<i>url, manager</i>) +<b>GreaseMonkeyDownloader</b>(<i>url, manager, mode</i>) <p> Constructor </p><dl> @@ -86,13 +96,11 @@ </dd><dt><i>manager</i> (GreaseMonkeyManager)</dt> <dd> reference to the GreaseMonkey manager +</dd><dt><i>mode</i> (int (one of DownloadMainScript, DownloadRequireScript))</dt> +<dd> +download mode </dd> -</dl><a NAME="GreaseMonkeyDownloader.__downloadRequires" ID="GreaseMonkeyDownloader.__downloadRequires"></a> -<h4>GreaseMonkeyDownloader.__downloadRequires</h4> -<b>__downloadRequires</b>(<i></i>) -<p> - Private slot to initiate the download of required scripts. -</p><a NAME="GreaseMonkeyDownloader.__requireDownloaded" ID="GreaseMonkeyDownloader.__requireDownloaded"></a> +</dl><a NAME="GreaseMonkeyDownloader.__requireDownloaded" ID="GreaseMonkeyDownloader.__requireDownloaded"></a> <h4>GreaseMonkeyDownloader.__requireDownloaded</h4> <b>__requireDownloaded</b>(<i></i>) <p> @@ -102,7 +110,17 @@ <b>__scriptDownloaded</b>(<i></i>) <p> Private slot to handle the finished download of a script. -</p> +</p><a NAME="GreaseMonkeyDownloader.updateScript" ID="GreaseMonkeyDownloader.updateScript"></a> +<h4>GreaseMonkeyDownloader.updateScript</h4> +<b>updateScript</b>(<i>fileName</i>) +<p> + Public method to set the file name for the script to be downloaded. +</p><dl> +<dt><i>fileName</i> (str)</dt> +<dd> +file name for the script +</dd> +</dl> <div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/Documentation/Source/eric6.WebBrowser.GreaseMonkey.GreaseMonkeyManager.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.GreaseMonkey.GreaseMonkeyManager.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,13 @@ <h2>GreaseMonkeyManager</h2> <p> Class implementing the manager for GreaseMonkey scripts. -</p> +</p><h3>Signals</h3> +<dl> +<dt>scriptsChanged()</dt> +<dd> +emitted to indicate a change of scripts +</dd> +</dl> <h3>Derived from</h3> QObject <h3>Class Attributes</h3> @@ -60,9 +66,6 @@ <td><a href="#GreaseMonkeyManager.__init__">GreaseMonkeyManager</a></td> <td>Constructor</td> </tr><tr> -<td><a href="#GreaseMonkeyManager.__del__">__del__</a></td> -<td>Special method called during object destruction.</td> -</tr><tr> <td><a href="#GreaseMonkeyManager.__downloaderFinished">__downloaderFinished</a></td> <td>Private slot to handle the completion of a script download.</td> </tr><tr> @@ -129,17 +132,17 @@ <dd> reference to the parent object (QObject) </dd> -</dl><a NAME="GreaseMonkeyManager.__del__" ID="GreaseMonkeyManager.__del__"></a> -<h4>GreaseMonkeyManager.__del__</h4> -<b>__del__</b>(<i></i>) -<p> - Special method called during object destruction. -</p><a NAME="GreaseMonkeyManager.__downloaderFinished" ID="GreaseMonkeyManager.__downloaderFinished"></a> +</dl><a NAME="GreaseMonkeyManager.__downloaderFinished" ID="GreaseMonkeyManager.__downloaderFinished"></a> <h4>GreaseMonkeyManager.__downloaderFinished</h4> -<b>__downloaderFinished</b>(<i></i>) +<b>__downloaderFinished</b>(<i>fileName</i>) <p> Private slot to handle the completion of a script download. -</p><a NAME="GreaseMonkeyManager.__load" ID="GreaseMonkeyManager.__load"></a> +</p><dl> +<dt><i>fileName</i> (str)</dt> +<dd> +name of the downloaded script +</dd> +</dl><a NAME="GreaseMonkeyManager.__load" ID="GreaseMonkeyManager.__load"></a> <h4>GreaseMonkeyManager.__load</h4> <b>__load</b>(<i></i>) <p>
--- a/Documentation/Source/eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html Sat May 06 13:43:21 2017 +0200 @@ -43,7 +43,17 @@ <h2>GreaseMonkeyScript</h2> <p> Class implementing the GreaseMonkey script. -</p> +</p><h3>Signals</h3> +<dl> +<dt>scriptChanged()</dt> +<dd> +emitted to indicate a script change +</dd><dt>updatingChanged(bool)</dt> +<dd> +emitted to indicate a change of the + updating state +</dd> +</dl> <h3>Derived from</h3> QObject <h3>Class Attributes</h3> @@ -60,9 +70,27 @@ <td><a href="#GreaseMonkeyScript.__init__">GreaseMonkeyScript</a></td> <td>Constructor</td> </tr><tr> +<td><a href="#GreaseMonkeyScript.__downloadRequires">__downloadRequires</a></td> +<td>Private method to download the required scripts.</td> +</tr><tr> +<td><a href="#GreaseMonkeyScript.__downloaderError">__downloaderError</a></td> +<td>Private slot to handle a downloader error.</td> +</tr><tr> +<td><a href="#GreaseMonkeyScript.__downloaderFinished">__downloaderFinished</a></td> +<td>Private slot to handle a finished download.</td> +</tr><tr> <td><a href="#GreaseMonkeyScript.__parseScript">__parseScript</a></td> <td>Private method to parse the given script and populate the data structure.</td> </tr><tr> +<td><a href="#GreaseMonkeyScript.__reloadScript">__reloadScript</a></td> +<td>Private method to reload the script.</td> +</tr><tr> +<td><a href="#GreaseMonkeyScript.__requireDownloadError">__requireDownloadError</a></td> +<td>Private slot to handle a downloader error.</td> +</tr><tr> +<td><a href="#GreaseMonkeyScript.__requireDownloaded">__requireDownloaded</a></td> +<td>Private slot to handle a finished download of a required script.</td> +</tr><tr> <td><a href="#GreaseMonkeyScript.__toJavaScriptList">__toJavaScriptList</a></td> <td>Private method to convert a list of str to a string containing a valid JavaScript list definition.</td> </tr><tr> @@ -90,6 +118,9 @@ <td><a href="#GreaseMonkeyScript.isEnabled">isEnabled</a></td> <td>Public method to check, if the script is enabled.</td> </tr><tr> +<td><a href="#GreaseMonkeyScript.isUpdating">isUpdating</a></td> +<td>Public method to get the updating flag.</td> +</tr><tr> <td><a href="#GreaseMonkeyScript.isValid">isValid</a></td> <td>Public method to check the validity of the script.</td> </tr><tr> @@ -102,8 +133,8 @@ <td><a href="#GreaseMonkeyScript.noFrames">noFrames</a></td> <td>Public method to get the noFrames flag.</td> </tr><tr> -<td><a href="#GreaseMonkeyScript.script">script</a></td> -<td>Public method to get the Javascript source.</td> +<td><a href="#GreaseMonkeyScript.require">require</a></td> +<td>Public method to get the list of required scripts.</td> </tr><tr> <td><a href="#GreaseMonkeyScript.setEnabled">setEnabled</a></td> <td>Public method to enable a script.</td> @@ -111,6 +142,9 @@ <td><a href="#GreaseMonkeyScript.startAt">startAt</a></td> <td>Public method to get the start point of the script.</td> </tr><tr> +<td><a href="#GreaseMonkeyScript.updateScript">updateScript</a></td> +<td>Public method to updated the script.</td> +</tr><tr> <td><a href="#GreaseMonkeyScript.updateUrl">updateUrl</a></td> <td>Public method to get the update URL of the script.</td> </tr><tr> @@ -138,12 +172,42 @@ <dd> path of the Javascript file (string) </dd> -</dl><a NAME="GreaseMonkeyScript.__parseScript" ID="GreaseMonkeyScript.__parseScript"></a> +</dl><a NAME="GreaseMonkeyScript.__downloadRequires" ID="GreaseMonkeyScript.__downloadRequires"></a> +<h4>GreaseMonkeyScript.__downloadRequires</h4> +<b>__downloadRequires</b>(<i></i>) +<p> + Private method to download the required scripts. +</p><a NAME="GreaseMonkeyScript.__downloaderError" ID="GreaseMonkeyScript.__downloaderError"></a> +<h4>GreaseMonkeyScript.__downloaderError</h4> +<b>__downloaderError</b>(<i></i>) +<p> + Private slot to handle a downloader error. +</p><a NAME="GreaseMonkeyScript.__downloaderFinished" ID="GreaseMonkeyScript.__downloaderFinished"></a> +<h4>GreaseMonkeyScript.__downloaderFinished</h4> +<b>__downloaderFinished</b>(<i></i>) +<p> + Private slot to handle a finished download. +</p><a NAME="GreaseMonkeyScript.__parseScript" ID="GreaseMonkeyScript.__parseScript"></a> <h4>GreaseMonkeyScript.__parseScript</h4> <b>__parseScript</b>(<i></i>) <p> Private method to parse the given script and populate the data structure. +</p><a NAME="GreaseMonkeyScript.__reloadScript" ID="GreaseMonkeyScript.__reloadScript"></a> +<h4>GreaseMonkeyScript.__reloadScript</h4> +<b>__reloadScript</b>(<i></i>) +<p> + Private method to reload the script. +</p><a NAME="GreaseMonkeyScript.__requireDownloadError" ID="GreaseMonkeyScript.__requireDownloadError"></a> +<h4>GreaseMonkeyScript.__requireDownloadError</h4> +<b>__requireDownloadError</b>(<i></i>) +<p> + Private slot to handle a downloader error. +</p><a NAME="GreaseMonkeyScript.__requireDownloaded" ID="GreaseMonkeyScript.__requireDownloaded"></a> +<h4>GreaseMonkeyScript.__requireDownloaded</h4> +<b>__requireDownloaded</b>(<i></i>) +<p> + Private slot to handle a finished download of a required script. </p><a NAME="GreaseMonkeyScript.__toJavaScriptList" ID="GreaseMonkeyScript.__toJavaScriptList"></a> <h4>GreaseMonkeyScript.__toJavaScriptList</h4> <b>__toJavaScriptList</b>(<i>patterns</i>) @@ -213,7 +277,7 @@ </p><dl> <dt>Returns:</dt> <dd> -path path of the Javascript file (string) +path of the Javascript file (string) </dd> </dl><a NAME="GreaseMonkeyScript.fullName" ID="GreaseMonkeyScript.fullName"></a> <h4>GreaseMonkeyScript.fullName</h4> @@ -245,6 +309,21 @@ <dd> flag indicating an enabled state (boolean) </dd> +</dl><a NAME="GreaseMonkeyScript.isUpdating" ID="GreaseMonkeyScript.isUpdating"></a> +<h4>GreaseMonkeyScript.isUpdating</h4> +<b>isUpdating</b>(<i></i>) +<p> + Public method to get the updating flag. +</p><dl> +<dt>Returns:</dt> +<dd> +updating flag +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> </dl><a NAME="GreaseMonkeyScript.isValid" ID="GreaseMonkeyScript.isValid"></a> <h4>GreaseMonkeyScript.isValid</h4> <b>isValid</b>(<i></i>) @@ -290,15 +369,15 @@ <dd> bool </dd> -</dl><a NAME="GreaseMonkeyScript.script" ID="GreaseMonkeyScript.script"></a> -<h4>GreaseMonkeyScript.script</h4> -<b>script</b>(<i></i>) +</dl><a NAME="GreaseMonkeyScript.require" ID="GreaseMonkeyScript.require"></a> +<h4>GreaseMonkeyScript.require</h4> +<b>require</b>(<i></i>) <p> - Public method to get the Javascript source. + Public method to get the list of required scripts. </p><dl> <dt>Returns:</dt> <dd> -Javascript source (string) +list of required scripts (list of strings) </dd> </dl><a NAME="GreaseMonkeyScript.setEnabled" ID="GreaseMonkeyScript.setEnabled"></a> <h4>GreaseMonkeyScript.setEnabled</h4> @@ -320,7 +399,12 @@ <dd> start point of the script (DocumentStart or DocumentEnd) </dd> -</dl><a NAME="GreaseMonkeyScript.updateUrl" ID="GreaseMonkeyScript.updateUrl"></a> +</dl><a NAME="GreaseMonkeyScript.updateScript" ID="GreaseMonkeyScript.updateScript"></a> +<h4>GreaseMonkeyScript.updateScript</h4> +<b>updateScript</b>(<i></i>) +<p> + Public method to updated the script. +</p><a NAME="GreaseMonkeyScript.updateUrl" ID="GreaseMonkeyScript.updateUrl"></a> <h4>GreaseMonkeyScript.updateUrl</h4> <b>updateUrl</b>(<i></i>) <p>
--- a/Documentation/Source/eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor.html Sun Apr 09 16:52:55 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor</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.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor</h1> -<p> -Module implementing a handler for GreaseMonkey related URLs. -</p> -<h3>Global Attributes</h3> -<table> -<tr><td>None</td></tr> -</table> -<h3>Classes</h3> -<table> -<tr> -<td><a href="#GreaseMonkeyUrlInterceptor">GreaseMonkeyUrlInterceptor</a></td> -<td>Class implementing a handler for GreaseMonkey related URLs.</td> -</tr> -</table> -<h3>Functions</h3> -<table> -<tr><td>None</td></tr> -</table> -<hr /><hr /> -<a NAME="GreaseMonkeyUrlInterceptor" ID="GreaseMonkeyUrlInterceptor"></a> -<h2>GreaseMonkeyUrlInterceptor</h2> -<p> - Class implementing a handler for GreaseMonkey related URLs. -</p> -<h3>Derived from</h3> -UrlInterceptor -<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="#GreaseMonkeyUrlInterceptor.__init__">GreaseMonkeyUrlInterceptor</a></td> -<td>Constructor</td> -</tr><tr> -<td><a href="#GreaseMonkeyUrlInterceptor.interceptRequest">interceptRequest</a></td> -<td>Public method to handle a GreaseMonkey request.</td> -</tr> -</table> -<h3>Static Methods</h3> -<table> -<tr><td>None</td></tr> -</table> -<a NAME="GreaseMonkeyUrlInterceptor.__init__" ID="GreaseMonkeyUrlInterceptor.__init__"></a> -<h4>GreaseMonkeyUrlInterceptor (Constructor)</h4> -<b>GreaseMonkeyUrlInterceptor</b>(<i>manager</i>) -<p> - Constructor -</p><dl> -<dt><i>manager</i> (GreaseMonkeyManager)</dt> -<dd> -reference to the GreaseMonkey manager -</dd> -</dl><a NAME="GreaseMonkeyUrlInterceptor.interceptRequest" ID="GreaseMonkeyUrlInterceptor.interceptRequest"></a> -<h4>GreaseMonkeyUrlInterceptor.interceptRequest</h4> -<b>interceptRequest</b>(<i>info</i>) -<p> - Public method to handle a GreaseMonkey request. -</p><dl> -<dt><i>info</i> (QWebEngineUrlRequestInfo)</dt> -<dd> -request info object -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- a/Documentation/Source/eric6.WebBrowser.History.HistoryManager.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.History.HistoryManager.html Sat May 06 13:43:21 2017 +0200 @@ -25,7 +25,7 @@ </p> <h3>Global Attributes</h3> <table> -<tr><td>HISTORY_VERSION</td></tr> +<tr><td>HISTORY_VERSIONS</td></tr><tr><td>HISTORY_VERSION_42</td></tr><tr><td>HISTORY_VERSION_60</td></tr> </table> <h3>Classes</h3> <table> @@ -69,6 +69,9 @@ <td><a href="#HistoryEntry.__lt__">__lt__</a></td> <td>Special method determining less relation.</td> </tr><tr> +<td><a href="#HistoryEntry.isValid">isValid</a></td> +<td>Public method to determine validity.</td> +</tr><tr> <td><a href="#HistoryEntry.userTitle">userTitle</a></td> <td>Public method to get the title of the history entry.</td> </tr> @@ -79,7 +82,7 @@ </table> <a NAME="HistoryEntry.__init__" ID="HistoryEntry.__init__"></a> <h4>HistoryEntry (Constructor)</h4> -<b>HistoryEntry</b>(<i>url=None, dateTime=None, title=None</i>) +<b>HistoryEntry</b>(<i>url=None, dateTime=None, title=None, visitCount=None</i>) <p> Constructor </p><dl> @@ -92,6 +95,9 @@ </dd><dt><i>title</i></dt> <dd> title string for the history entry (string) +</dd><dt><i>visitCount</i></dt> +<dd> +number of visits of this URL (int) </dd> </dl><a NAME="HistoryEntry.__eq__" ID="HistoryEntry.__eq__"></a> <h4>HistoryEntry.__eq__</h4> @@ -127,6 +133,21 @@ <dd> flag indicating less (boolean) </dd> +</dl><a NAME="HistoryEntry.isValid" ID="HistoryEntry.isValid"></a> +<h4>HistoryEntry.isValid</h4> +<b>isValid</b>(<i></i>) +<p> + Public method to determine validity. +</p><dl> +<dt>Returns:</dt> +<dd> +flag indicating validity +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> </dl><a NAME="HistoryEntry.userTitle" ID="HistoryEntry.userTitle"></a> <h4>HistoryEntry.userTitle</h4> <b>userTitle</b>(<i></i>) @@ -187,6 +208,15 @@ <td><a href="#HistoryManager.__checkForExpired">__checkForExpired</a></td> <td>Private slot to check entries for expiration.</td> </tr><tr> +<td><a href="#HistoryManager.__cleanUrl">__cleanUrl</a></td> +<td>Private method to generate a clean URL usable for the history entry.</td> +</tr><tr> +<td><a href="#HistoryManager.__cleanUrlStr">__cleanUrlStr</a></td> +<td>Private method to generate a clean URL usable for the history entry.</td> +</tr><tr> +<td><a href="#HistoryManager.__findFirstHistoryEntry">__findFirstHistoryEntry</a></td> +<td>Private method to find the first entry for the given URL.</td> +</tr><tr> <td><a href="#HistoryManager.__load">__load</a></td> <td>Private method to load the saved history entries from disk.</td> </tr><tr> @@ -196,6 +226,9 @@ <td><a href="#HistoryManager.__startFrequencyTimer">__startFrequencyTimer</a></td> <td>Private method to start the timer to recalculate the frequencies.</td> </tr><tr> +<td><a href="#HistoryManager.__updateVisitCount">__updateVisitCount</a></td> +<td>Private method to update the visit count for all entries of the given URL.</td> +</tr><tr> <td><a href="#HistoryManager.addHistoryEntry">addHistoryEntry</a></td> <td>Public method to add a history entry.</td> </tr><tr> @@ -264,7 +297,67 @@ <b>__checkForExpired</b>(<i></i>) <p> Private slot to check entries for expiration. -</p><a NAME="HistoryManager.__load" ID="HistoryManager.__load"></a> +</p><a NAME="HistoryManager.__cleanUrl" ID="HistoryManager.__cleanUrl"></a> +<h4>HistoryManager.__cleanUrl</h4> +<b>__cleanUrl</b>(<i>url</i>) +<p> + Private method to generate a clean URL usable for the history entry. +</p><dl> +<dt><i>url</i> (QUrl)</dt> +<dd> +original URL +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +cleaned URL +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QUrl +</dd> +</dl><a NAME="HistoryManager.__cleanUrlStr" ID="HistoryManager.__cleanUrlStr"></a> +<h4>HistoryManager.__cleanUrlStr</h4> +<b>__cleanUrlStr</b>(<i>url</i>) +<p> + Private method to generate a clean URL usable for the history entry. +</p><dl> +<dt><i>url</i> (QUrl)</dt> +<dd> +original URL +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +cleaned URL +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl><a NAME="HistoryManager.__findFirstHistoryEntry" ID="HistoryManager.__findFirstHistoryEntry"></a> +<h4>HistoryManager.__findFirstHistoryEntry</h4> +<b>__findFirstHistoryEntry</b>(<i>url</i>) +<p> + Private method to find the first entry for the given URL. +</p><dl> +<dt><i>url</i> (str)</dt> +<dd> +URL to search for +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +first entry for the given URL +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +HistoryEntry +</dd> +</dl><a NAME="HistoryManager.__load" ID="HistoryManager.__load"></a> <h4>HistoryManager.__load</h4> <b>__load</b>(<i></i>) <p> @@ -279,7 +372,21 @@ <b>__startFrequencyTimer</b>(<i></i>) <p> Private method to start the timer to recalculate the frequencies. -</p><a NAME="HistoryManager.addHistoryEntry" ID="HistoryManager.addHistoryEntry"></a> +</p><a NAME="HistoryManager.__updateVisitCount" ID="HistoryManager.__updateVisitCount"></a> +<h4>HistoryManager.__updateVisitCount</h4> +<b>__updateVisitCount</b>(<i>url, count</i>) +<p> + Private method to update the visit count for all entries of the + given URL. +</p><dl> +<dt><i>url</i> (str)</dt> +<dd> +URL to be updated +</dd><dt><i>count</i> (int)</dt> +<dd> +new visit count +</dd> +</dl><a NAME="HistoryManager.addHistoryEntry" ID="HistoryManager.addHistoryEntry"></a> <h4>HistoryManager.addHistoryEntry</h4> <b>addHistoryEntry</b>(<i>view</i>) <p>
--- a/Documentation/Source/eric6.WebBrowser.History.HistoryModel.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.History.HistoryModel.html Sat May 06 13:43:21 2017 +0200 @@ -48,7 +48,7 @@ QAbstractTableModel <h3>Class Attributes</h3> <table> -<tr><td>DateRole</td></tr><tr><td>DateTimeRole</td></tr><tr><td>MaxRole</td></tr><tr><td>TitleRole</td></tr><tr><td>UrlRole</td></tr><tr><td>UrlStringRole</td></tr> +<tr><td>DateRole</td></tr><tr><td>DateTimeRole</td></tr><tr><td>MaxRole</td></tr><tr><td>TitleRole</td></tr><tr><td>UrlRole</td></tr><tr><td>UrlStringRole</td></tr><tr><td>VisitCountRole</td></tr> </table> <h3>Class Methods</h3> <table>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.WebBrowser.Navigation.NavigationBar.html Sat May 06 13:43:21 2017 +0200 @@ -0,0 +1,270 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.WebBrowser.Navigation.NavigationBar</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.WebBrowser.Navigation.NavigationBar</h1> +<p> +Module implementing the navigation bar widget. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#NavigationBar">NavigationBar</a></td> +<td>Class implementing the navigation bar.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="NavigationBar" ID="NavigationBar"></a> +<h2>NavigationBar</h2> +<p> + Class implementing the navigation bar. +</p> +<h3>Derived from</h3> +QWidget +<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="#NavigationBar.__init__">NavigationBar</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#NavigationBar.__clearHistory">__clearHistory</a></td> +<td>Private slot to clear the history of the current web browser tab.</td> +</tr><tr> +<td><a href="#NavigationBar.__goBack">__goBack</a></td> +<td>Private slot called to handle the backward button.</td> +</tr><tr> +<td><a href="#NavigationBar.__goForward">__goForward</a></td> +<td>Private slot called to handle the forward button.</td> +</tr><tr> +<td><a href="#NavigationBar.__goHome">__goHome</a></td> +<td>Private slot called to handle the home button.</td> +</tr><tr> +<td><a href="#NavigationBar.__navigationMenuActionTriggered">__navigationMenuActionTriggered</a></td> +<td>Private slot to go to the selected page.</td> +</tr><tr> +<td><a href="#NavigationBar.__reload">__reload</a></td> +<td>Private slot called to handle the reload button.</td> +</tr><tr> +<td><a href="#NavigationBar.__showBackMenu">__showBackMenu</a></td> +<td>Private slot showing the backwards navigation menu.</td> +</tr><tr> +<td><a href="#NavigationBar.__showForwardMenu">__showForwardMenu</a></td> +<td>Private slot showing the forwards navigation menu.</td> +</tr><tr> +<td><a href="#NavigationBar.__stopLoad">__stopLoad</a></td> +<td>Private slot called to handle loading of the current page.</td> +</tr><tr> +<td><a href="#NavigationBar.backButton">backButton</a></td> +<td>Public method to get a reference to the back button.</td> +</tr><tr> +<td><a href="#NavigationBar.exitFullScreenButton">exitFullScreenButton</a></td> +<td>Public method to get a reference to the exit full screen button.</td> +</tr><tr> +<td><a href="#NavigationBar.forwardButton">forwardButton</a></td> +<td>Public method to get a reference to the forward button.</td> +</tr><tr> +<td><a href="#NavigationBar.reloadButton">reloadButton</a></td> +<td>Public method to get a reference to the reload button.</td> +</tr><tr> +<td><a href="#NavigationBar.searchEdit">searchEdit</a></td> +<td>Public method to get a reference to the web search edit.</td> +</tr><tr> +<td><a href="#NavigationBar.stopButton">stopButton</a></td> +<td>Public method to get a reference to the stop button.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="NavigationBar.__init__" ID="NavigationBar.__init__"></a> +<h4>NavigationBar (Constructor)</h4> +<b>NavigationBar</b>(<i>mainWindow, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>mainWindow</i> (WebBrowserWindow)</dt> +<dd> +reference to the browser main window +</dd><dt><i>parent</i> (QWidget)</dt> +<dd> +reference to the parent widget +</dd> +</dl><a NAME="NavigationBar.__clearHistory" ID="NavigationBar.__clearHistory"></a> +<h4>NavigationBar.__clearHistory</h4> +<b>__clearHistory</b>(<i></i>) +<p> + Private slot to clear the history of the current web browser tab. +</p><a NAME="NavigationBar.__goBack" ID="NavigationBar.__goBack"></a> +<h4>NavigationBar.__goBack</h4> +<b>__goBack</b>(<i></i>) +<p> + Private slot called to handle the backward button. +</p><a NAME="NavigationBar.__goForward" ID="NavigationBar.__goForward"></a> +<h4>NavigationBar.__goForward</h4> +<b>__goForward</b>(<i></i>) +<p> + Private slot called to handle the forward button. +</p><a NAME="NavigationBar.__goHome" ID="NavigationBar.__goHome"></a> +<h4>NavigationBar.__goHome</h4> +<b>__goHome</b>(<i></i>) +<p> + Private slot called to handle the home button. +</p><a NAME="NavigationBar.__navigationMenuActionTriggered" ID="NavigationBar.__navigationMenuActionTriggered"></a> +<h4>NavigationBar.__navigationMenuActionTriggered</h4> +<b>__navigationMenuActionTriggered</b>(<i>act</i>) +<p> + Private slot to go to the selected page. +</p><dl> +<dt><i>act</i></dt> +<dd> +reference to the action selected in the navigation menu + (QAction) +</dd> +</dl><a NAME="NavigationBar.__reload" ID="NavigationBar.__reload"></a> +<h4>NavigationBar.__reload</h4> +<b>__reload</b>(<i></i>) +<p> + Private slot called to handle the reload button. +</p><a NAME="NavigationBar.__showBackMenu" ID="NavigationBar.__showBackMenu"></a> +<h4>NavigationBar.__showBackMenu</h4> +<b>__showBackMenu</b>(<i></i>) +<p> + Private slot showing the backwards navigation menu. +</p><a NAME="NavigationBar.__showForwardMenu" ID="NavigationBar.__showForwardMenu"></a> +<h4>NavigationBar.__showForwardMenu</h4> +<b>__showForwardMenu</b>(<i></i>) +<p> + Private slot showing the forwards navigation menu. +</p><a NAME="NavigationBar.__stopLoad" ID="NavigationBar.__stopLoad"></a> +<h4>NavigationBar.__stopLoad</h4> +<b>__stopLoad</b>(<i></i>) +<p> + Private slot called to handle loading of the current page. +</p><a NAME="NavigationBar.backButton" ID="NavigationBar.backButton"></a> +<h4>NavigationBar.backButton</h4> +<b>backButton</b>(<i></i>) +<p> + Public method to get a reference to the back button. +</p><dl> +<dt>Returns:</dt> +<dd> +reference to the back button +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QToolButton +</dd> +</dl><a NAME="NavigationBar.exitFullScreenButton" ID="NavigationBar.exitFullScreenButton"></a> +<h4>NavigationBar.exitFullScreenButton</h4> +<b>exitFullScreenButton</b>(<i></i>) +<p> + Public method to get a reference to the exit full screen button. +</p><dl> +<dt>Returns:</dt> +<dd> +reference to the exit full screen button +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QToolButton +</dd> +</dl><a NAME="NavigationBar.forwardButton" ID="NavigationBar.forwardButton"></a> +<h4>NavigationBar.forwardButton</h4> +<b>forwardButton</b>(<i></i>) +<p> + Public method to get a reference to the forward button. +</p><dl> +<dt>Returns:</dt> +<dd> +reference to the forward button +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QToolButton +</dd> +</dl><a NAME="NavigationBar.reloadButton" ID="NavigationBar.reloadButton"></a> +<h4>NavigationBar.reloadButton</h4> +<b>reloadButton</b>(<i></i>) +<p> + Public method to get a reference to the reload button. +</p><dl> +<dt>Returns:</dt> +<dd> +reference to the reload button +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QToolButton +</dd> +</dl><a NAME="NavigationBar.searchEdit" ID="NavigationBar.searchEdit"></a> +<h4>NavigationBar.searchEdit</h4> +<b>searchEdit</b>(<i></i>) +<p> + Public method to get a reference to the web search edit. +</p><dl> +<dt>Returns:</dt> +<dd> +reference to the web search edit +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +WebBrowserWebSearchWidget +</dd> +</dl><a NAME="NavigationBar.stopButton" ID="NavigationBar.stopButton"></a> +<h4>NavigationBar.stopButton</h4> +<b>stopButton</b>(<i></i>) +<p> + Public method to get a reference to the stop button. +</p><dl> +<dt>Returns:</dt> +<dd> +reference to the stop button +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QToolButton +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.WebBrowser.Navigation.NavigationContainer.html Sat May 06 13:43:21 2017 +0200 @@ -0,0 +1,94 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.WebBrowser.Navigation.NavigationContainer</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.WebBrowser.Navigation.NavigationContainer</h1> +<p> +Module implementing the navigation container widget. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#NavigationContainer">NavigationContainer</a></td> +<td>Class implementing the navigation container widget.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="NavigationContainer" ID="NavigationContainer"></a> +<h2>NavigationContainer</h2> +<p> + Class implementing the navigation container widget. +</p> +<h3>Derived from</h3> +QWidget +<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="#NavigationContainer.__init__">NavigationContainer</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#NavigationContainer.addWidget">addWidget</a></td> +<td>Public method to add a widget to the container.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="NavigationContainer.__init__" ID="NavigationContainer.__init__"></a> +<h4>NavigationContainer (Constructor)</h4> +<b>NavigationContainer</b>(<i>parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>parent</i> (QWidget)</dt> +<dd> +reference to the parent widget +</dd> +</dl><a NAME="NavigationContainer.addWidget" ID="NavigationContainer.addWidget"></a> +<h4>NavigationContainer.addWidget</h4> +<b>addWidget</b>(<i>widget</i>) +<p> + Public method to add a widget to the container. +</p><dl> +<dt><i>widget</i> (QWidget)</dt> +<dd> +reference to the widget to be added +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- a/Documentation/Source/eric6.WebBrowser.SpeedDial.SpeedDial.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.SpeedDial.SpeedDial.html Sat May 06 13:43:21 2017 +0200 @@ -45,7 +45,10 @@ Class implementing the speed dial. </p><h3>Signals</h3> <dl> -<dt>pagesChanged()</dt> +<dt>pageTitleLoaded(url, title)</dt> +<dd> +emitted after a title was loaded +</dd><dt>pagesChanged()</dt> <dd> emitted after the list of pages changed </dd><dt>speedDialSaved()</dt> @@ -54,9 +57,6 @@ </dd><dt>thumbnailLoaded(url, src)</dt> <dd> emitted after a thumbnail was loaded -</dd><dt>titleLoaded(url, title)</dt> -<dd> -emitted after a title was loaded </dd> </dl> <h3>Derived from</h3>
--- a/Documentation/Source/eric6.WebBrowser.Tools.WebIconProvider.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.Tools.WebIconProvider.html Sat May 06 13:43:21 2017 +0200 @@ -46,7 +46,13 @@ <h2>WebIconProvider</h2> <p> Class implementing a web site icon storage. -</p> +</p><h3>Signals</h3> +<dl> +<dt>changed()</dt> +<dd> +emitted to indicate a change of the icons database +</dd> +</dl> <h3>Derived from</h3> QObject <h3>Class Attributes</h3>
--- a/Documentation/Source/eric6.WebBrowser.WebBrowserView.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.WebBrowserView.html Sat May 06 13:43:21 2017 +0200 @@ -303,9 +303,6 @@ <td><a href="#WebBrowserView.findNextPrev">findNextPrev</a></td> <td>Public slot to find the next occurrence of a text.</td> </tr><tr> -<td><a href="#WebBrowserView.focusOutEvent">focusOutEvent</a></td> -<td>Protected method called by a focus out event.</td> -</tr><tr> <td><a href="#WebBrowserView.forward">forward</a></td> <td>Public slot to move forward in history.</td> </tr><tr> @@ -1074,16 +1071,6 @@ <dd> reference to a function with a bool parameter </dd> -</dl><a NAME="WebBrowserView.focusOutEvent" ID="WebBrowserView.focusOutEvent"></a> -<h4>WebBrowserView.focusOutEvent</h4> -<b>focusOutEvent</b>(<i>evt</i>) -<p> - Protected method called by a focus out event. -</p><dl> -<dt><i>evt</i></dt> -<dd> -reference to the focus event (QFocusEvent) -</dd> </dl><a NAME="WebBrowserView.forward" ID="WebBrowserView.forward"></a> <h4>WebBrowserView.forward</h4> <b>forward</b>(<i></i>)
--- a/Documentation/Source/eric6.WebBrowser.WebBrowserWebSearchWidget.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.WebBrowserWebSearchWidget.html Sat May 06 13:43:21 2017 +0200 @@ -133,13 +133,16 @@ </table> <a NAME="WebBrowserWebSearchWidget.__init__" ID="WebBrowserWebSearchWidget.__init__"></a> <h4>WebBrowserWebSearchWidget (Constructor)</h4> -<b>WebBrowserWebSearchWidget</b>(<i>parent=None</i>) +<b>WebBrowserWebSearchWidget</b>(<i>mainWindow, parent=None</i>) <p> Constructor </p><dl> -<dt><i>parent</i></dt> +<dt><i>mainWindow</i> (WebBrowserWindow)</dt> <dd> -reference to the parent widget (QWidget) +reference to the browser main window +</dd><dt><i>parent</i> (QWidget)</dt> +<dd> +reference to the parent widget </dd> </dl><a NAME="WebBrowserWebSearchWidget.__addEngineFromUrl" ID="WebBrowserWebSearchWidget.__addEngineFromUrl"></a> <h4>WebBrowserWebSearchWidget.__addEngineFromUrl</h4>
--- a/Documentation/Source/eric6.WebBrowser.WebBrowserWindow.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.WebBrowserWindow.html Sat May 06 13:43:21 2017 +0200 @@ -238,6 +238,9 @@ <td><a href="#WebBrowserWindow.__forward">__forward</a></td> <td>Private slot called to handle the forward action.</td> </tr><tr> +<td><a href="#WebBrowserWindow.__hideNavigation">__hideNavigation</a></td> +<td>Private slot to hide full screen navigation by timer.</td> +</tr><tr> <td><a href="#WebBrowserWindow.__home">__home</a></td> <td>Private slot called to handle the home action.</td> </tr><tr> @@ -274,9 +277,6 @@ <td><a href="#WebBrowserWindow.__manageQtHelpFilters">__manageQtHelpFilters</a></td> <td>Private slot to manage the QtHelp filters.</td> </tr><tr> -<td><a href="#WebBrowserWindow.__navigationMenuActionTriggered">__navigationMenuActionTriggered</a></td> -<td>Private slot to go to the selected page.</td> -</tr><tr> <td><a href="#WebBrowserWindow.__nextTab">__nextTab</a></td> <td>Private slot used to show the next tab.</td> </tr><tr> @@ -334,9 +334,6 @@ <td><a href="#WebBrowserWindow.__showAdBlockDialog">__showAdBlockDialog</a></td> <td>Private slot to show the AdBlock configuration dialog.</td> </tr><tr> -<td><a href="#WebBrowserWindow.__showBackMenu">__showBackMenu</a></td> -<td>Private slot showing the backwards navigation menu.</td> -</tr><tr> <td><a href="#WebBrowserWindow.__showBookmarksDialog">__showBookmarksDialog</a></td> <td>Private slot to show the bookmarks dialog.</td> </tr><tr> @@ -361,9 +358,6 @@ <td><a href="#WebBrowserWindow.__showFlashCookiesManagement">__showFlashCookiesManagement</a></td> <td>Private slot to show the flash cookies management dialog.</td> </tr><tr> -<td><a href="#WebBrowserWindow.__showForwardMenu">__showForwardMenu</a></td> -<td>Private slot showing the forwards navigation menu.</td> -</tr><tr> <td><a href="#WebBrowserWindow.__showGreaseMonkeyConfigDialog">__showGreaseMonkeyConfigDialog</a></td> <td>Private slot to show the GreaseMonkey scripts configuration dialog.</td> </tr><tr> @@ -433,9 +427,6 @@ <td><a href="#WebBrowserWindow.__unselect">__unselect</a></td> <td>Private slot to clear the selection of the current browser.</td> </tr><tr> -<td><a href="#WebBrowserWindow.__viewFullScreen">__viewFullScreen</a></td> -<td>Private slot called to toggle fullscreen mode.</td> -</tr><tr> <td><a href="#WebBrowserWindow.__virusTotalDomainReport">__virusTotalDomainReport</a></td> <td>Private slot to retrieve a domain report.</td> </tr><tr> @@ -514,6 +505,12 @@ <td><a href="#WebBrowserWindow.getWindow">getWindow</a></td> <td>Public method to get a reference to the most recent active web browser window.</td> </tr><tr> +<td><a href="#WebBrowserWindow.hideFullScreenNavigation">hideFullScreenNavigation</a></td> +<td>Public slot to hide full screen navigation.</td> +</tr><tr> +<td><a href="#WebBrowserWindow.isFullScreenNavigationVisible">isFullScreenNavigationVisible</a></td> +<td>Public method to check, if full screen navigation is active.</td> +</tr><tr> <td><a href="#WebBrowserWindow.javascriptConsole">javascriptConsole</a></td> <td>Public method to get a reference to the JavaScript console widget.</td> </tr><tr> @@ -583,11 +580,17 @@ <td><a href="#WebBrowserWindow.setLoadingActions">setLoadingActions</a></td> <td>Public slot to set the loading dependent actions.</td> </tr><tr> +<td><a href="#WebBrowserWindow.showFullScreenNavigation">showFullScreenNavigation</a></td> +<td>Public slot to show full screen navigation.</td> +</tr><tr> <td><a href="#WebBrowserWindow.shutdown">shutdown</a></td> <td>Public method to shut down the web browser.</td> </tr><tr> <td><a href="#WebBrowserWindow.tabWidget">tabWidget</a></td> <td>Public method to get a reference to the tab widget.</td> +</tr><tr> +<td><a href="#WebBrowserWindow.toggleFullScreen">toggleFullScreen</a></td> +<td>Public slot called to toggle the full screen mode.</td> </tr> </table> <h3>Static Methods</h3> @@ -1161,6 +1164,11 @@ <b>__forward</b>(<i></i>) <p> Private slot called to handle the forward action. +</p><a NAME="WebBrowserWindow.__hideNavigation" ID="WebBrowserWindow.__hideNavigation"></a> +<h4>WebBrowserWindow.__hideNavigation</h4> +<b>__hideNavigation</b>(<i></i>) +<p> + Private slot to hide full screen navigation by timer. </p><a NAME="WebBrowserWindow.__home" ID="WebBrowserWindow.__home"></a> <h4>WebBrowserWindow.__home</h4> <b>__home</b>(<i></i>) @@ -1227,18 +1235,7 @@ <b>__manageQtHelpFilters</b>(<i></i>) <p> Private slot to manage the QtHelp filters. -</p><a NAME="WebBrowserWindow.__navigationMenuActionTriggered" ID="WebBrowserWindow.__navigationMenuActionTriggered"></a> -<h4>WebBrowserWindow.__navigationMenuActionTriggered</h4> -<b>__navigationMenuActionTriggered</b>(<i>act</i>) -<p> - Private slot to go to the selected page. -</p><dl> -<dt><i>act</i></dt> -<dd> -reference to the action selected in the navigation menu - (QAction) -</dd> -</dl><a NAME="WebBrowserWindow.__nextTab" ID="WebBrowserWindow.__nextTab"></a> +</p><a NAME="WebBrowserWindow.__nextTab" ID="WebBrowserWindow.__nextTab"></a> <h4>WebBrowserWindow.__nextTab</h4> <b>__nextTab</b>(<i></i>) <p> @@ -1356,11 +1353,6 @@ <b>__showAdBlockDialog</b>(<i></i>) <p> Private slot to show the AdBlock configuration dialog. -</p><a NAME="WebBrowserWindow.__showBackMenu" ID="WebBrowserWindow.__showBackMenu"></a> -<h4>WebBrowserWindow.__showBackMenu</h4> -<b>__showBackMenu</b>(<i></i>) -<p> - Private slot showing the backwards navigation menu. </p><a NAME="WebBrowserWindow.__showBookmarksDialog" ID="WebBrowserWindow.__showBookmarksDialog"></a> <h4>WebBrowserWindow.__showBookmarksDialog</h4> <b>__showBookmarksDialog</b>(<i></i>) @@ -1401,11 +1393,6 @@ <b>__showFlashCookiesManagement</b>(<i></i>) <p> Private slot to show the flash cookies management dialog. -</p><a NAME="WebBrowserWindow.__showForwardMenu" ID="WebBrowserWindow.__showForwardMenu"></a> -<h4>WebBrowserWindow.__showForwardMenu</h4> -<b>__showForwardMenu</b>(<i></i>) -<p> - Private slot showing the forwards navigation menu. </p><a NAME="WebBrowserWindow.__showGreaseMonkeyConfigDialog" ID="WebBrowserWindow.__showGreaseMonkeyConfigDialog"></a> <h4>WebBrowserWindow.__showGreaseMonkeyConfigDialog</h4> <b>__showGreaseMonkeyConfigDialog</b>(<i></i>) @@ -1540,11 +1527,6 @@ <b>__unselect</b>(<i></i>) <p> Private slot to clear the selection of the current browser. -</p><a NAME="WebBrowserWindow.__viewFullScreen" ID="WebBrowserWindow.__viewFullScreen"></a> -<h4>WebBrowserWindow.__viewFullScreen</h4> -<b>__viewFullScreen</b>(<i></i>) -<p> - Private slot called to toggle fullscreen mode. </p><a NAME="WebBrowserWindow.__virusTotalDomainReport" ID="WebBrowserWindow.__virusTotalDomainReport"></a> <h4>WebBrowserWindow.__virusTotalDomainReport</h4> <b>__virusTotalDomainReport</b>(<i></i>) @@ -1792,6 +1774,27 @@ <dd> WebBrowserWindow </dd> +</dl><a NAME="WebBrowserWindow.hideFullScreenNavigation" ID="WebBrowserWindow.hideFullScreenNavigation"></a> +<h4>WebBrowserWindow.hideFullScreenNavigation</h4> +<b>hideFullScreenNavigation</b>(<i></i>) +<p> + Public slot to hide full screen navigation. +</p><a NAME="WebBrowserWindow.isFullScreenNavigationVisible" ID="WebBrowserWindow.isFullScreenNavigationVisible"></a> +<h4>WebBrowserWindow.isFullScreenNavigationVisible</h4> +<b>isFullScreenNavigationVisible</b>(<i></i>) +<p> + Public method to check, if full screen navigation is active. +</p><dl> +<dt>Returns:</dt> +<dd> +flag indicating visibility of the navigation container in full + screen mode +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> </dl><a NAME="WebBrowserWindow.javascriptConsole" ID="WebBrowserWindow.javascriptConsole"></a> <h4>WebBrowserWindow.javascriptConsole</h4> <b>javascriptConsole</b>(<i></i>) @@ -2065,7 +2068,12 @@ <dd> flag indicating the loading state to consider (boolean) </dd> -</dl><a NAME="WebBrowserWindow.shutdown" ID="WebBrowserWindow.shutdown"></a> +</dl><a NAME="WebBrowserWindow.showFullScreenNavigation" ID="WebBrowserWindow.showFullScreenNavigation"></a> +<h4>WebBrowserWindow.showFullScreenNavigation</h4> +<b>showFullScreenNavigation</b>(<i></i>) +<p> + Public slot to show full screen navigation. +</p><a NAME="WebBrowserWindow.shutdown" ID="WebBrowserWindow.shutdown"></a> <h4>WebBrowserWindow.shutdown</h4> <b>shutdown</b>(<i></i>) <p> @@ -2090,7 +2098,12 @@ <dd> WebBrowserTabWidget </dd> -</dl> +</dl><a NAME="WebBrowserWindow.toggleFullScreen" ID="WebBrowserWindow.toggleFullScreen"></a> +<h4>WebBrowserWindow.toggleFullScreen</h4> +<b>toggleFullScreen</b>(<i></i>) +<p> + Public slot called to toggle the full screen mode. +</p> <div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/Documentation/Source/eric6.WebBrowser.ZoomManager.ZoomManager.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/eric6.WebBrowser.ZoomManager.ZoomManager.html Sat May 06 13:43:21 2017 +0200 @@ -46,7 +46,13 @@ <h2>ZoomManager</h2> <p> Class implementing a manager for site specific zoom level settings. -</p> +</p><h3>Signals</h3> +<dl> +<dt>changed()</dt> +<dd> +emitted to indicate a change of the zoom level +</dd> +</dl> <h3>Derived from</h3> QObject <h3>Class Attributes</h3>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.eric6_shell.html Sat May 06 13:43:21 2017 +0200 @@ -0,0 +1,74 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.eric6_shell</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.eric6_shell</h1> +<p> +Eric6 Shell. +</p><p> +This is the main Python script that performs the necessary initialization +of the ShellWindow module and starts the Qt event loop. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Functions</h3> +<table> +<tr> +<td><a href="#createMainWidget">createMainWidget</a></td> +<td>Function to create the main widget.</td> +</tr><tr> +<td><a href="#main">main</a></td> +<td>Main entry point into the application.</td> +</tr> +</table> +<hr /><hr /> +<a NAME="createMainWidget" ID="createMainWidget"></a> +<h2>createMainWidget</h2> +<b>createMainWidget</b>(<i>argv</i>) +<p> + Function to create the main widget. +</p><dl> +<dt><i>argv</i></dt> +<dd> +list of commandline parameters (list of strings) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +reference to the main widget (QWidget) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="main" ID="main"></a> +<h2>main</h2> +<b>main</b>(<i></i>) +<p> + Main entry point into the application. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- a/Documentation/Source/index-eric6.QScintilla.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/index-eric6.QScintilla.html Sat May 06 13:43:21 2017 +0200 @@ -92,6 +92,9 @@ <td><a href="eric6.QScintilla.ShellHistoryDialog.html">ShellHistoryDialog</a></td> <td>Module implementing the shell history dialog.</td> </tr><tr> +<td><a href="eric6.QScintilla.ShellWindow.html">ShellWindow</a></td> +<td>Module implementing a stand alone shell window.</td> +</tr><tr> <td><a href="eric6.QScintilla.SortOptionsDialog.html">SortOptionsDialog</a></td> <td>Module implementing a dialog to enter the sort options for a line sort.</td> </tr><tr>
--- a/Documentation/Source/index-eric6.WebBrowser.GreaseMonkey.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/index-eric6.WebBrowser.GreaseMonkey.html Sat May 06 13:43:21 2017 +0200 @@ -49,9 +49,6 @@ </tr><tr> <td><a href="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html">GreaseMonkeyScript</a></td> <td>Module implementing the GreaseMonkey script.</td> -</tr><tr> -<td><a href="eric6.WebBrowser.GreaseMonkey.GreaseMonkeyUrlInterceptor.html">GreaseMonkeyUrlInterceptor</a></td> -<td>Module implementing a handler for GreaseMonkey related URLs.</td> </tr> </table> </body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/index-eric6.WebBrowser.Navigation.html Sat May 06 13:43:21 2017 +0200 @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.WebBrowser.Navigation</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.WebBrowser.Navigation</h1> +<p> +Package containing navigation related widgets. +</p> + + +<h3>Modules</h3> +<table> +<tr> +<td><a href="eric6.WebBrowser.Navigation.NavigationBar.html">NavigationBar</a></td> +<td>Module implementing the navigation bar widget.</td> +</tr><tr> +<td><a href="eric6.WebBrowser.Navigation.NavigationContainer.html">NavigationContainer</a></td> +<td>Module implementing the navigation container widget.</td> +</tr> +</table> +</body></html> \ No newline at end of file
--- a/Documentation/Source/index-eric6.WebBrowser.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/index-eric6.WebBrowser.html Sat May 06 13:43:21 2017 +0200 @@ -70,6 +70,9 @@ <td><a href="index-eric6.WebBrowser.JavaScript.html">JavaScript</a></td> <td>Package implementing the external JavaScript objects.</td> </tr><tr> +<td><a href="index-eric6.WebBrowser.Navigation.html">Navigation</a></td> +<td>Package containing navigation related widgets.</td> +</tr><tr> <td><a href="index-eric6.WebBrowser.Network.html">Network</a></td> <td>Package containing network related modules.</td> </tr><tr>
--- a/Documentation/Source/index-eric6.html Sun Apr 09 16:52:55 2017 +0200 +++ b/Documentation/Source/index-eric6.html Sat May 06 13:43:21 2017 +0200 @@ -188,6 +188,9 @@ <td><a href="eric6.eric6_re.html">eric6_re</a></td> <td>Eric6 Re.</td> </tr><tr> +<td><a href="eric6.eric6_shell.html">eric6_shell</a></td> +<td>Eric6 Shell.</td> +</tr><tr> <td><a href="eric6.eric6_snap.html">eric6_snap</a></td> <td>Eric6 Snap.</td> </tr><tr>
--- a/E5Gui/E5LineEdit.py Sun Apr 09 16:52:55 2017 +0200 +++ b/E5Gui/E5LineEdit.py Sat May 06 13:43:21 2017 +0200 @@ -24,6 +24,8 @@ class E5LineEditSideWidget(QWidget): """ Class implementing the side widgets for the line edit class. + + @signal sizeHintChanged() emitted to indicate a change of the size hint """ sizeHintChanged = pyqtSignal()
--- a/E5Gui/E5PassivePopup.py Sun Apr 09 16:52:55 2017 +0200 +++ b/E5Gui/E5PassivePopup.py Sat May 06 13:43:21 2017 +0200 @@ -18,6 +18,8 @@ """ Class implementing dialog-like popup that displays messages without interrupting the user. + + @signal clicked emitted to indicate a mouse button click """ Boxed = 0 Custom = 128
--- a/E5Gui/E5PathPicker.py Sun Apr 09 16:52:55 2017 +0200 +++ b/E5Gui/E5PathPicker.py Sat May 06 13:43:21 2017 +0200 @@ -679,13 +679,6 @@ """ Class implementing a path picker widget consisting of a line edit and a tool button to open a file dialog. - - @signal textChanged(path) emitted when the entered path has changed - @signal pathSelected(path) emitted after a path has been selected via the - file dialog - @signal aboutToShowPathPickerDialog emitted before the file dialog is shown - @signal pickerButtonClicked emitted when the picker button was pressed and - the widget mode is custom """ def __init__(self, parent=None): """ @@ -701,13 +694,6 @@ """ Class implementing a path picker widget consisting of a combobox and a tool button to open a file dialog. - - @signal editTextChanged(path) emitted when the entered path has changed - @signal pathSelected(path) emitted after a path has been selected via the - file dialog - @signal aboutToShowPathPickerDialog emitted before the file dialog is shown - @signal pickerButtonClicked emitted when the picker button was pressed and - the widget mode is custom """ def __init__(self, parent=None): """
--- a/E5Gui/E5ZoomWidget.py Sun Apr 09 16:52:55 2017 +0200 +++ b/E5Gui/E5ZoomWidget.py Sat May 06 13:43:21 2017 +0200 @@ -18,6 +18,8 @@ class E5ZoomWidget(QWidget, Ui_E5ZoomWidget): """ Class implementing a zoom widget for the status bar. + + @signal valueChanged(value) emitted to indicate the new zoom value (int) """ valueChanged = pyqtSignal(int)
--- a/E5Network/E5Ftp.py Sun Apr 09 16:52:55 2017 +0200 +++ b/E5Network/E5Ftp.py Sat May 06 13:43:21 2017 +0200 @@ -252,6 +252,7 @@ @param acct accounting information for the remote host (string) @return response sent by the remote host (string) @exception E5FtpProxyError raised to indicate a proxy related issue + @exception ftplib.error_reply raised to indicate an FTP error reply """ if not user: user = "anonymous"
--- a/Globals/__init__.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Globals/__init__.py Sat May 06 13:43:21 2017 +0200 @@ -182,6 +182,40 @@ return "" +def getPyQtToolsPath(version=5): + """ + Module function to get the path of the PyQt tools. + + @param version PyQt major version + @type int + @return path to the PyQt tools + @rtype str + """ + import Preferences + + path = "" + + # step 1: check, if the user has configured a tools path + path = Preferences.getQt("PyQtToolsDir") + + # step 2: determine from used Python interpreter (pyrcc is test object) + if not path: + program = "pyrcc{0}".format(version) + if isWindowsPlatform(): + program += ".exe" + dirName = os.path.dirname(sys.executable) + if os.path.exists(os.path.join(dirName, program)): + path = dirName + elif os.path.exists(os.path.join(dirName, "Scripts", program)): + path = os.path.join(dirName, "Scripts") + else: + dirName = os.path.dirname(sys.executable) + if os.path.exists(os.path.join(dirName, program)): + path = dirName + + return path + + def getQtBinariesPath(): """ Module function to get the path of the Qt binaries. @@ -244,8 +278,8 @@ "C:\\Python27", "C:\\Python28"] posixVersionsList = ["2.5", "2.6", "2.7", "2.8"] else: - winPathList = ["C:\\Python3{0}".format(x) for x in range(5)] - posixVersionsList = ["3.{0}".format(x) for x in range(5)] + winPathList = ["C:\\Python3{0}".format(x) for x in range(11)] + posixVersionsList = ["3.{0}".format(x) for x in range(11)] posixPathList = ["/usr/bin", "/usr/local/bin"] interpreters = []
--- a/Helpviewer/AdBlock/AdBlockManager.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Helpviewer/AdBlock/AdBlockManager.py Sat May 06 13:43:21 2017 +0200 @@ -25,6 +25,8 @@ Class implementing the AdBlock manager. @signal rulesChanged() emitted after some rule has changed + @signal requiredSubscriptionLoaded(subscription) emitted to indicate + loading of a required subscription is finished (AdBlockSubscription) """ rulesChanged = pyqtSignal() requiredSubscriptionLoaded = pyqtSignal(AdBlockSubscription)
--- a/Helpviewer/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListWidget.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Helpviewer/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListWidget.py Sat May 06 13:43:21 2017 +0200 @@ -19,6 +19,9 @@ class GreaseMonkeyConfigurationListWidget(QListWidget): """ Class implementing a special list widget for GreaseMonkey scripts. + + @signal removeItemRequested(item) emitted to indicate an item removal + request (QListWidgetItem) """ removeItemRequested = pyqtSignal(QListWidgetItem)
--- a/Helpviewer/GreaseMonkey/GreaseMonkeyDownloader.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Helpviewer/GreaseMonkey/GreaseMonkeyDownloader.py Sat May 06 13:43:21 2017 +0200 @@ -24,6 +24,8 @@ class GreaseMonkeyDownloader(QObject): """ Class implementing the downloader for GreaseMonkey scripts. + + @signal finished() emitted to indicate the end of a script download """ finished = pyqtSignal()
--- a/Helpviewer/GreaseMonkey/GreaseMonkeyManager.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Helpviewer/GreaseMonkey/GreaseMonkeyManager.py Sat May 06 13:43:21 2017 +0200 @@ -22,6 +22,8 @@ class GreaseMonkeyManager(QObject): """ Class implementing the manager for GreaseMonkey scripts. + + @signal scriptsChanged() emitted to indicate a change of scripts """ scriptsChanged = pyqtSignal()
--- a/Helpviewer/HelpWindow.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Helpviewer/HelpWindow.py Sat May 06 13:43:21 2017 +0200 @@ -64,6 +64,7 @@ @signal helpClosed() emitted after the window was requested to close down @signal zoomTextOnlyChanged(bool) emitted after the zoom text only setting was changed + @signal privacyChanged(bool) emitted to indicate a new privacy mode """ zoomTextOnlyChanged = pyqtSignal(bool) helpClosed = pyqtSignal()
--- a/Helpviewer/Network/FollowRedirectReply.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Helpviewer/Network/FollowRedirectReply.py Sat May 06 13:43:21 2017 +0200 @@ -16,6 +16,8 @@ class FollowRedirectReply(QObject): """ Class implementing a network reply delegate allowing to check redirects. + + @signal finished() emitted to indicate the end of the redirect """ finished = pyqtSignal()
--- a/Helpviewer/UrlBar/SslLabel.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Helpviewer/UrlBar/SslLabel.py Sat May 06 13:43:21 2017 +0200 @@ -16,6 +16,8 @@ class SslLabel(QLabel): """ Class implementing the label to show some SSL info. + + @signal clicked(pos) emitted to indicate a click of the label (QPoint) """ clicked = pyqtSignal(QPoint)
--- a/Helpviewer/ZoomManager/ZoomManager.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Helpviewer/ZoomManager/ZoomManager.py Sat May 06 13:43:21 2017 +0200 @@ -20,6 +20,8 @@ class ZoomManager(QObject): """ Class implementing a manager for site specific zoom level settings. + + @signal changed() emitted to indicate a change of the zoom level """ changed = pyqtSignal()
--- a/PluginManager/PluginManager.py Sun Apr 09 16:52:55 2017 +0200 +++ b/PluginManager/PluginManager.py Sat May 06 13:43:21 2017 +0200 @@ -82,6 +82,8 @@ @keyparam develPlugin filename of a plugin to be loaded for development (string) @exception PluginPathError raised to indicate an invalid plug-in path + @exception PluginModulesError raised to indicate the absence of + plug-in modules """ super(PluginManager, self).__init__(parent) @@ -337,6 +339,8 @@ @param reload_ flag indicating to reload the module (boolean) @exception PluginLoadError raised to indicate an issue loading the plug-in + @exception PluginPy2IncompatibleError raised to indicate the Python 2 + incompatibility of a plug-in """ try: fname = "{0}.py".format(os.path.join(directory, name))
--- a/PluginManager/PluginUninstallDialog.py Sun Apr 09 16:52:55 2017 +0200 +++ b/PluginManager/PluginUninstallDialog.py Sat May 06 13:43:21 2017 +0200 @@ -31,6 +31,8 @@ class PluginUninstallWidget(QWidget, Ui_PluginUninstallDialog): """ Class implementing a dialog for plugin deinstallation. + + @signal accepted() emitted to indicate the removal of a plug-in """ accepted = pyqtSignal()
--- a/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py Sat May 06 13:43:21 2017 +0200 @@ -106,6 +106,31 @@ return flags +def ignoreCode(code, lineFlags): + """ + Function to check, if the given code should be ignored as per line flags. + + @param code error code to be checked + @type str + @param lineFlags list of line flags to check against + @type list of str + """ + if lineFlags: + + if "__IGNORE_WARNING__" in lineFlags: + # ignore all warning codes + return True + + for flag in lineFlags: + # check individual warning code + if flag.startswith("__IGNORE_WARNING_"): + ignoredCode = flag[2:-2].rsplit("_", 1)[-1] + if code.startswith(ignoredCode): + return True + + return False + + def codeStyleCheck(filename, source, args): """ Do the code style check and/ or fix found errors. @@ -305,8 +330,7 @@ flagsLine=True) except IndexError: pass - if "__IGNORE_WARNING__" not in lineFlags and \ - "__IGNORE_WARNING_{0}__".format(code) not in lineFlags: + if not ignoreCode(code, lineFlags): if fixer: res, msg, id_ = fixer.fixIssue(lineno, position, text) if res == -1:
--- a/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py Sat May 06 13:43:21 2017 +0200 @@ -605,10 +605,7 @@ for default in node.args.defaults: if any(isinstance(default, mutableType) for mutableType in mutableTypes): - if sys.version_info[0] == 2: - typeName = default.__name__ - else: - typeName = type(default).__name__ + typeName = type(default).__name__ if isinstance(default, ast.Call): errorCode = "M822" else:
--- a/Plugins/VcsPlugins/vcsMercurial/HgDialog.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Plugins/VcsPlugins/vcsMercurial/HgDialog.py Sat May 06 13:43:21 2017 +0200 @@ -282,7 +282,7 @@ @pyqtSlot() def on_sendButton_clicked(self): """ - Private slot to send the input to the subversion process. + Private slot to send the input to the Mercurial process. """ inputTxt = self.input.text() inputTxt += os.linesep
--- a/Preferences/ConfigurationPages/EditorStylesPage.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Preferences/ConfigurationPages/EditorStylesPage.py Sat May 06 13:43:21 2017 +0200 @@ -117,10 +117,6 @@ Preferences.getEditorColour) self.initColour("SelectionBackground", self.selectionBackgroundButton, Preferences.getEditorColour, hasAlpha=True) - self.initColour("CurrentMarker", self.currentLineMarkerButton, - Preferences.getEditorColour, hasAlpha=True) - self.initColour("ErrorMarker", self.errorMarkerButton, - Preferences.getEditorColour, hasAlpha=True) self.initColour("MarginsForeground", self.marginsForegroundButton, Preferences.getEditorColour) self.initColour("MarginsBackground", self.marginsBackgroundButton,
--- a/Preferences/ConfigurationPages/EditorStylesPage.ui Sun Apr 09 16:52:55 2017 +0200 +++ b/Preferences/ConfigurationPages/EditorStylesPage.ui Sat May 06 13:43:21 2017 +0200 @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>625</width> - <height>2312</height> + <width>655</width> + <height>2500</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout_8"> @@ -705,61 +705,6 @@ </widget> </item> <item> - <widget class="QGroupBox" name="groupBox_2"> - <property name="title"> - <string>Debugging Line Markers</string> - </property> - <layout class="QHBoxLayout" name="_8"> - <item> - <widget class="QLabel" name="TextLabel3_2_2"> - <property name="text"> - <string>Current line marker:</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="currentLineMarkerButton"> - <property name="minimumSize"> - <size> - <width>100</width> - <height>0</height> - </size> - </property> - <property name="toolTip"> - <string>Select the colour for the current line marker.</string> - </property> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="TextLabel4_2_2"> - <property name="text"> - <string>Error line marker:</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="errorMarkerButton"> - <property name="minimumSize"> - <size> - <width>100</width> - <height>0</height> - </size> - </property> - <property name="toolTip"> - <string>Select the colour for the error line marker.</string> - </property> - <property name="text"> - <string/> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> <widget class="QGroupBox" name="groupBox_6"> <property name="title"> <string>Braces</string> @@ -1915,8 +1860,6 @@ <tabstop>caretWidthSpinBox</tabstop> <tabstop>caretForegroundButton</tabstop> <tabstop>caretlineBackgroundButton</tabstop> - <tabstop>currentLineMarkerButton</tabstop> - <tabstop>errorMarkerButton</tabstop> <tabstop>bracehighlightingCheckBox</tabstop> <tabstop>matchingBracesButton</tabstop> <tabstop>matchingBracesBackButton</tabstop>
--- a/Preferences/ConfigurationPages/QtPage.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Preferences/ConfigurationPages/QtPage.py Sat May 06 13:43:21 2017 +0200 @@ -33,6 +33,8 @@ self.qt4TransPicker.setMode(E5PathPickerModes.DirectoryMode) self.qtToolsDirPicker.setMode(E5PathPickerModes.DirectoryShowFilesMode) + self.pyqtToolsDirPicker.setMode( + E5PathPickerModes.DirectoryShowFilesMode) # set initial values if qVersion() < "5.0.0": @@ -45,6 +47,7 @@ self.qt4PrefixEdit.setText(Preferences.getQt("QtToolsPrefix4")) self.qt4PostfixEdit.setText(Preferences.getQt("QtToolsPostfix4")) self.__updateQt4Sample() + self.pyqtToolsDirPicker.setText(Preferences.getQt("PyQtToolsDir")) self.pyuicIndentSpinBox.setValue(Preferences.getQt("PyuicIndent")) self.pyuicImportsCheckBox.setChecked( Preferences.getQt("PyuicFromImports")) @@ -60,6 +63,7 @@ Preferences.setQt("QtToolsDir", self.qtToolsDirPicker.text()) Preferences.setQt("QtToolsPrefix4", self.qt4PrefixEdit.text()) Preferences.setQt("QtToolsPostfix4", self.qt4PostfixEdit.text()) + Preferences.setQt("PyQtToolsDir", self.pyqtToolsDirPicker.text()) Preferences.setQt("PyuicIndent", self.pyuicIndentSpinBox.value()) Preferences.setQt("PyuicFromImports", self.pyuicImportsCheckBox.isChecked()) @@ -69,8 +73,8 @@ Private slot to update the Qt4 tools sample label. """ self.qt4SampleLabel.setText( - "Sample: {0}designer{1}".format(self.qt4PrefixEdit.text(), - self.qt4PostfixEdit.text())) + self.tr("Sample: {0}designer{1}").format( + self.qt4PrefixEdit.text(), self.qt4PostfixEdit.text())) @pyqtSlot(str) def on_qt4PrefixEdit_textChanged(self, txt):
--- a/Preferences/ConfigurationPages/QtPage.ui Sun Apr 09 16:52:55 2017 +0200 +++ b/Preferences/ConfigurationPages/QtPage.ui Sat May 06 13:43:21 2017 +0200 @@ -173,6 +173,38 @@ </widget> </item> <item> + <widget class="QGroupBox" name="groupBox_2"> + <property name="title"> + <string>PyQt Tools</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QLabel" name="label_6"> + <property name="text"> + <string>Tools Directory:</string> + </property> + </widget> + </item> + <item> + <widget class="E5PathPicker" name="pyqtToolsDirPicker" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> + <property name="toolTip"> + <string>Enter the path of the PyQt tools directory, if they are not found.</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> <widget class="QGroupBox" name="groupBox"> <property name="title"> <string>pyuic / pyside-uic Options</string> @@ -255,6 +287,7 @@ <tabstop>qtToolsDirPicker</tabstop> <tabstop>qt4PrefixEdit</tabstop> <tabstop>qt4PostfixEdit</tabstop> + <tabstop>pyqtToolsDirPicker</tabstop> <tabstop>pyuicIndentSpinBox</tabstop> <tabstop>pyuicImportsCheckBox</tabstop> </tabstops>
--- a/Preferences/ProgramsDialog.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Preferences/ProgramsDialog.py Sat May 06 13:43:21 2017 +0200 @@ -134,41 +134,38 @@ self.tr("Qt Assistant"), exe, version=version) # 2. do the PyQt programs - # 2a. Translation Extractor PyQt4 + # 2.1 do the PyQt4 programs + # 2.1a. Translation Extractor PyQt4 self.__createProgramEntry( self.tr("Translation Extractor (Python, PyQt4)"), - Utilities.isWindowsPlatform() and - Utilities.getWindowsExecutablePath("pylupdate4") or "pylupdate4", + Utilities.generatePyQtToolPath("pylupdate4"), '-version', 'pylupdate', -1) - # 2b. Forms Compiler PyQt4 + # 2.1b. Forms Compiler PyQt4 self.__createProgramEntry( self.tr("Forms Compiler (Python, PyQt4)"), - Utilities.isWindowsPlatform() and - Utilities.getWindowsExecutablePath("pyuic4") or "pyuic4", + Utilities.generatePyQtToolPath("pyuic4"), '--version', 'Python User', 4) - # 2c. Resource Compiler PyQt4 + # 2.1c. Resource Compiler PyQt4 self.__createProgramEntry( self.tr("Resource Compiler (Python, PyQt4)"), - Utilities.isWindowsPlatform() and - Utilities.getWindowsExecutablePath("pyrcc4") or "pyrcc4", + Utilities.generatePyQtToolPath("pyrcc4"), '-version', 'Resource Compiler', -1) - # 2d. Translation Extractor PyQt5 + + # 2.2 do the PyQt5 programs + # 2.2a. Translation Extractor PyQt5 self.__createProgramEntry( self.tr("Translation Extractor (Python, PyQt5)"), - Utilities.isWindowsPlatform() and - Utilities.getWindowsExecutablePath("pylupdate5") or "pylupdate5", + Utilities.generatePyQtToolPath("pylupdate5"), '-version', 'pylupdate', -1) - # 2e. Forms Compiler PyQt5 + # 2.2b. Forms Compiler PyQt5 self.__createProgramEntry( self.tr("Forms Compiler (Python, PyQt5)"), - Utilities.isWindowsPlatform() and - Utilities.getWindowsExecutablePath("pyuic5") or "pyuic5", + Utilities.generatePyQtToolPath("pyuic5"), '--version', 'Python User', 4) - # 2f. Resource Compiler PyQt5 + # 2.2c. Resource Compiler PyQt5 self.__createProgramEntry( self.tr("Resource Compiler (Python, PyQt5)"), - Utilities.isWindowsPlatform() and - Utilities.getWindowsExecutablePath("pyrcc5") or "pyrcc5", + Utilities.generatePyQtToolPath("pyrcc5"), '-version', '', -1, versionRe='Resource Compiler|pyrcc5') # 3. do the PySide programs
--- a/Preferences/__init__.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Preferences/__init__.py Sat May 06 13:43:21 2017 +0200 @@ -607,8 +607,6 @@ editorDefaults["CallTipsPosition"] = 0 editorColourDefaults = { - "CurrentMarker": QColor(Qt.yellow), - "ErrorMarker": QColor(Qt.red), "MatchingBrace": QColor(Qt.green), "MatchingBraceBack": QColor(Qt.white), "NonmatchingBrace": QColor(Qt.red), @@ -1221,6 +1219,7 @@ "QtToolsPostfix4": "", "PyuicIndent": 4, "PyuicFromImports": False, + "PyQtToolsDir": "", } # defaults for corba related stuff
--- a/Project/ProjectFormsBrowser.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Project/ProjectFormsBrowser.py Sat May 06 13:43:21 2017 +0200 @@ -43,12 +43,7 @@ @signal appendStderr(str) emitted after something was received from a QProcess on stderr - @signal sourceFile(str) emitted to open a forms file in an editor @signal uipreview(str) emitted to preview a forms file - @signal trpreview(list of str) emitted to preview form files in the - translations previewer - @signal closeSourceWindow(str) emitted after a file has been - removed/deleted from the project @signal showMenu(str, QMenu) emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given. @signal menusAboutToBeCreated() emitted when the context menus are about to @@ -642,7 +637,7 @@ def __readStdout(self): """ Private slot to handle the readyReadStandardOutput signal of the - pyuic/rbuic process. + pyuic4/pyuic5/pyside-uic/rbuic4 process. """ if self.compileProc is None: return @@ -655,7 +650,7 @@ def __readStderr(self): """ Private slot to handle the readyReadStandardError signal of the - pyuic/rbuic process. + pyuic4/pyuic5/pyside-uic/rbuic4 process. """ if self.compileProc is None: return @@ -750,38 +745,25 @@ if self.project.getProjectLanguage() in \ ["Python", "Python2", "Python3"]: if self.project.getProjectType() in ["Qt4", ]: - self.uicompiler = 'pyuic4' - if Utilities.isWindowsPlatform(): - uic = Utilities.getWindowsExecutablePath(self.uicompiler) - else: - uic = self.uicompiler + self.uicompiler = Utilities.generatePyQtToolPath('pyuic4') elif self.project.getProjectType() in ["PyQt5"]: - self.uicompiler = 'pyuic5' - if Utilities.isWindowsPlatform(): - uic = Utilities.getWindowsExecutablePath(self.uicompiler) - else: - uic = self.uicompiler + self.uicompiler = Utilities.generatePyQtToolPath('pyuic5') elif self.project.getProjectType() in ["E6Plugin"]: if PYQT_VERSION < 0x050000: - self.uicompiler = 'pyuic4' + self.uicompiler = Utilities.generatePyQtToolPath('pyuic4') else: - self.uicompiler = 'pyuic5' - if Utilities.isWindowsPlatform(): - uic = Utilities.getWindowsExecutablePath(self.uicompiler) - else: - uic = self.uicompiler + self.uicompiler = Utilities.generatePyQtToolPath('pyuic5') elif self.project.getProjectType() == "PySide": - self.uicompiler = 'pyside-uic' - uic = Utilities.generatePySideToolPath(self.uicompiler) + self.uicompiler = \ + Utilities.generatePySideToolPath('pyside-uic') else: return None elif self.project.getProjectLanguage() == "Ruby": if self.project.getProjectType() == "Qt4": self.uicompiler = 'rbuic4' if Utilities.isWindowsPlatform(): - uic = Utilities.getWindowsExecutablePath(self.uicompiler) - else: - uic = self.uicompiler + self.uicompiler = \ + Utilities.getWindowsExecutablePath(self.uicompiler) else: return None else: @@ -810,7 +792,7 @@ self.compileProc.readyReadStandardError.connect(self.__readStderr) self.noDialog = noDialog - self.compileProc.start(uic, args) + self.compileProc.start(self.uicompiler, args) procStarted = self.compileProc.waitForStarted(5000) if procStarted: self.compileRunning = True
--- a/Project/ProjectInterfacesBrowser.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Project/ProjectInterfacesBrowser.py Sat May 06 13:43:21 2017 +0200 @@ -41,9 +41,6 @@ """ A class used to display the interfaces (IDL) part of the project. - @signal sourceFile(str, int = 0) emitted to open a file - @signal closeSourceWindow(str) emitted after a file has been - removed/deleted from the project @signal appendStdout(str) emitted after something was received from a QProcess on stdout @signal appendStderr(str) emitted after something was received from
--- a/Project/ProjectOthersBrowser.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Project/ProjectOthersBrowser.py Sat May 06 13:43:21 2017 +0200 @@ -30,13 +30,6 @@ A class used to display the parts of the project, that don't fit the other categories. - @signal sourceFile(str) emitted to open a file - @signal pixmapFile(str) emitted to open a pixmap file - @signal pixmapEditFile(str) emitted to edit a pixmap file - @signal svgFile(str) emitted to open a SVG file - @signal binaryFile(str) emitted to open a file as binary - @signal closeSourceWindow(str) emitted after a file has been - removed/deleted from the project @signal showMenu(str, QMenu) emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given. """
--- a/Project/ProjectResourcesBrowser.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Project/ProjectResourcesBrowser.py Sat May 06 13:43:21 2017 +0200 @@ -39,9 +39,6 @@ @signal appendStderr(str) emitted after something was received from a QProcess on stderr - @signal sourceFile(str) emitted to open a resources file in an editor - @signal closeSourceWindow(str) emitted after a file has been - removed/deleted from the project @signal showMenu(str, QMenu) emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given. """ @@ -530,7 +527,7 @@ def __readStdout(self): """ Private slot to handle the readyReadStandardOutput signal of the - pyrcc4/rbrcc process. + pyrcc4/pyrcc5/pyside-rcc/rbrcc process. """ if self.compileProc is None: return @@ -544,7 +541,7 @@ def __readStderr(self): """ Private slot to handle the readyReadStandardError signal of the - pyrcc4/rbrcc process. + pyrcc4/pyrcc5/pyside-rcc/rbrcc process. """ if self.compileProc is None: return @@ -633,10 +630,7 @@ if self.project.getProjectLanguage() in \ ["Python", "Python2", "Python3"]: if self.project.getProjectType() in ["Qt4", "Qt4C"]: - self.rccCompiler = 'pyrcc4' - if Utilities.isWindowsPlatform(): - self.rccCompiler = \ - Utilities.getWindowsExecutablePath(self.rccCompiler) + self.rccCompiler = Utilities.generatePyQtToolPath('pyrcc4') if PYQT_VERSION >= 0x040500: if self.project.getProjectLanguage() in \ ["Python", "Python2"]: @@ -644,23 +638,17 @@ else: args.append("-py3") elif self.project.getProjectType() in ["PyQt5", "PyQt5C"]: - self.rccCompiler = 'pyrcc5' - if Utilities.isWindowsPlatform(): - self.rccCompiler = \ - Utilities.getWindowsExecutablePath(self.rccCompiler) + self.rccCompiler = Utilities.generatePyQtToolPath('pyrcc5') elif self.project.getProjectType() in ["E6Plugin"]: if PYQT_VERSION < 0x050000: - self.rccCompiler = 'pyrcc4' + self.rccCompiler = Utilities.generatePyQtToolPath('pyrcc4') if self.project.getProjectLanguage() in \ ["Python", "Python2"]: args.append("-py2") else: args.append("-py3") else: - self.rccCompiler = 'pyrcc5' - if Utilities.isWindowsPlatform(): - self.rccCompiler = \ - Utilities.getWindowsExecutablePath(self.rccCompiler) + self.rccCompiler = Utilities.generatePyQtToolPath('pyrcc5') elif self.project.getProjectType() in ["PySide", "PySideC"]: self.rccCompiler = Utilities.generatePySideToolPath( 'pyside-rcc')
--- a/Project/ProjectSourcesBrowser.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Project/ProjectSourcesBrowser.py Sat May 06 13:43:21 2017 +0200 @@ -32,17 +32,8 @@ """ A class used to display the Sources part of the project. - @signal closeSourceWindow(str) emitted after a file has been - removed/deleted from the project @signal showMenu(str, QMenu) emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given. - @signal sourceFile(str) emitted to open the given file. - @signal sourceFile(str, int) emitted to open the given file at the given - line. - @signal sourceFile(str, int, str) emitted to open the given file as the - given type at the given line. - @signal sourceFile(str, list) emitted to open a Python file giving a list - of lines """ showMenu = pyqtSignal(str, QMenu)
--- a/Project/ProjectTranslationsBrowser.py Sun Apr 09 16:52:55 2017 +0200 +++ b/Project/ProjectTranslationsBrowser.py Sat May 06 13:43:21 2017 +0200 @@ -39,17 +39,10 @@ """ A class used to display the translations part of the project. - @signal linguistFile(str) emitted to open a translation file with - Qt-Linguist @signal appendStdout(str) emitted after something was received from a QProcess on stdout @signal appendStderr(str) emitted after something was received from a QProcess on stderr - @signal sourceFile(str) emitted to open a translation file in an editor - @signal closeSourceWindow(str) emitted after a file has been - removed/deleted from the project - @signal trpreview(list of str, bool = False) emitted to preview - translations in the translations previewer @signal showMenu(str, QMenu) emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given. """ @@ -888,7 +881,7 @@ def __readStderrLupdate(self): """ Private slot to handle the readyReadStandardError signal of the - pylupdate process. + pylupdate4/pylupdate5/pyside-lupdate process. """ proc = self.sender() if proc is not None: @@ -986,8 +979,8 @@ def __generateTSFile(self, noobsolete=False, generateAll=True): """ - Private method used to run pylupdate/pylupdate4 to generate the .ts - files. + Private method used to run pylupdate4/pylupdate5/pyside-lupdate to + generate the .ts files. @param noobsolete flag indicating whether obsolete entries should be kept (boolean) @@ -1036,23 +1029,14 @@ return if self.project.getProjectType() in ["Qt4", "Qt4C"]: - self.pylupdate = 'pylupdate4' - if Utilities.isWindowsPlatform(): - self.pylupdate = \ - Utilities.getWindowsExecutablePath(self.pylupdate) + self.pylupdate = Utilities.generatePyQtToolPath('pylupdate4') elif self.project.getProjectType() in ["PyQt5", "PyQt5C"]: - self.pylupdate = 'pylupdate5' - if Utilities.isWindowsPlatform(): - self.pylupdate = \ - Utilities.getWindowsExecutablePath(self.pylupdate) + self.pylupdate = Utilities.generatePyQtToolPath('pylupdate5') elif self.project.getProjectType() in ["E6Plugin"]: if PYQT_VERSION < 0x050000: - self.pylupdate = 'pylupdate4' + self.pylupdate = Utilities.generatePyQtToolPath('pylupdate4') else: - self.pylupdate = 'pylupdate5' - if Utilities.isWindowsPlatform(): - self.pylupdate = \ - Utilities.getWindowsExecutablePath(self.pylupdate) + self.pylupdate = Utilities.generatePyQtToolPath('pylupdate5') elif self.project.getProjectType() in ["PySide", "PySideC"]: self.pylupdate = Utilities.generatePySideToolPath('pyside-lupdate') else:
--- a/QScintilla/Editor.py Sun Apr 09 16:52:55 2017 +0200 +++ b/QScintilla/Editor.py Sat May 06 13:43:21 2017 +0200 @@ -271,31 +271,32 @@ self.__changeMarkerUnsaved = self.markerDefine( self.__createChangeMarkerPixmap( "OnlineChangeTraceMarkerUnsaved")) - self.breakpoint = \ - self.markerDefine(UI.PixmapCache.getPixmap("break.png")) - self.cbreakpoint = \ - self.markerDefine(UI.PixmapCache.getPixmap("cBreak.png")) - self.tbreakpoint = \ - self.markerDefine(UI.PixmapCache.getPixmap("tBreak.png")) - self.tcbreakpoint = \ - self.markerDefine(UI.PixmapCache.getPixmap("tCBreak.png")) - self.dbreakpoint = \ - self.markerDefine(UI.PixmapCache.getPixmap("breakDisabled.png")) - self.bookmark = \ - self.markerDefine(UI.PixmapCache.getPixmap("bookmark16.png")) - self.syntaxerror = \ - self.markerDefine(UI.PixmapCache.getPixmap("syntaxError.png")) - self.notcovered = \ - self.markerDefine(UI.PixmapCache.getPixmap("notcovered.png")) - self.taskmarker = \ - self.markerDefine(UI.PixmapCache.getPixmap("task.png")) - self.warning = \ - self.markerDefine(UI.PixmapCache.getPixmap("warning.png")) + self.breakpoint = self.markerDefine( + UI.PixmapCache.getPixmap("break.png")) + self.cbreakpoint = self.markerDefine( + UI.PixmapCache.getPixmap("cBreak.png")) + self.tbreakpoint = self.markerDefine( + UI.PixmapCache.getPixmap("tBreak.png")) + self.tcbreakpoint = self.markerDefine( + UI.PixmapCache.getPixmap("tCBreak.png")) + self.dbreakpoint = self.markerDefine( + UI.PixmapCache.getPixmap("breakDisabled.png")) + self.bookmark = self.markerDefine( + UI.PixmapCache.getPixmap("bookmark16.png")) + self.syntaxerror = self.markerDefine( + UI.PixmapCache.getPixmap("syntaxError.png")) + self.notcovered = self.markerDefine( + UI.PixmapCache.getPixmap("notcovered.png")) + self.taskmarker = self.markerDefine( + UI.PixmapCache.getPixmap("task.png")) + self.warning = self.markerDefine( + UI.PixmapCache.getPixmap("warning.png")) # define the line markers - self.currentline = self.markerDefine(QsciScintilla.Background) - self.errorline = self.markerDefine(QsciScintilla.Background) - self.__setLineMarkerColours() + self.currentline = self.markerDefine( + UI.PixmapCache.getPixmap("currentLineMarker.png")) + self.errorline = self.markerDefine( + UI.PixmapCache.getPixmap("errorLineMarker.png")) self.breakpointMask = (1 << self.breakpoint) | \ (1 << self.cbreakpoint) | \ @@ -4007,9 +4008,6 @@ if QSCINTILLA_VERSION() >= 0x020301: self.__unifiedMargins = Preferences.getEditor("UnifiedMargins") - # set the line marker colours - self.__setLineMarkerColours() - # set the text display self.__setTextDisplay() @@ -4069,19 +4067,6 @@ self.settingsRead.emit() - def __setLineMarkerColours(self): - """ - Private method to set the line marker colours. - """ - self.setMarkerForegroundColor( - Preferences.getEditorColour("CurrentMarker"), self.currentline) - self.setMarkerBackgroundColor( - Preferences.getEditorColour("CurrentMarker"), self.currentline) - self.setMarkerForegroundColor( - Preferences.getEditorColour("ErrorMarker"), self.errorline) - self.setMarkerBackgroundColor( - Preferences.getEditorColour("ErrorMarker"), self.errorline) - def __setMarginsDisplay(self): """ Private method to configure margins 0 and 2. @@ -4139,9 +4124,7 @@ (1 << self.cbreakpoint) | \ (1 << self.tbreakpoint) | \ (1 << self.tcbreakpoint) | \ - (1 << self.dbreakpoint) | \ - (1 << self.currentline) | \ - (1 << self.errorline) + (1 << self.dbreakpoint) self.setMarginWidth(self.__bpMargin, 16) self.setMarginSensitivity(self.__bpMargin, True) self.setMarginMarkerMask(self.__bpMargin, marginBpMask) @@ -4151,7 +4134,9 @@ (1 << self.taskmarker) | \ (1 << self.warning) | \ (1 << self.__changeMarkerUnsaved) | \ - (1 << self.__changeMarkerSaved) + (1 << self.__changeMarkerSaved) | \ + (1 << self.currentline) | \ + (1 << self.errorline) self.setMarginWidth(self.__indicMargin, 16) self.setMarginSensitivity(self.__indicMargin, True) self.setMarginMarkerMask(self.__indicMargin, marginIndicMask)
--- a/QScintilla/Shell.py Sun Apr 09 16:52:55 2017 +0200 +++ b/QScintilla/Shell.py Sat May 06 13:43:21 2017 +0200 @@ -47,7 +47,7 @@ """ super(ShellAssembly, self).__init__(parent) - self.__shell = Shell(dbs, vm, self) + self.__shell = Shell(dbs, vm, False, self) from UI.SearchWidget import SearchWidget self.__searchWidget = SearchWidget(self.__shell, self, horizontal) @@ -95,12 +95,14 @@ """ searchStringFound = pyqtSignal(bool) - def __init__(self, dbs, vm, parent=None): + def __init__(self, dbs, vm, windowedVariant, parent=None): """ Constructor @param dbs reference to the debug server object @param vm reference to the viewmanager object + @param windowedVariant flag indicating the shell window variant + (boolean) @param parent parent widget (QWidget) """ super(Shell, self).__init__(parent) @@ -109,47 +111,75 @@ self.vm = vm self.__mainWindow = parent self.__lastSearch = () + self.__windowed = windowedVariant self.linesepRegExp = r"\r\n|\n|\r" - self.passive = Preferences.getDebugger("PassiveDbgEnabled") + self.passive = ((not self.__windowed) and + Preferences.getDebugger("PassiveDbgEnabled")) if self.passive: self.setWindowTitle(self.tr('Shell - Passive')) else: self.setWindowTitle(self.tr('Shell')) - self.setWhatsThis(self.tr( - """<b>The Shell Window</b>""" - """<p>This is simply an interpreter running in a window. The""" - """ interpreter is the one that is used to run the program""" - """ being debugged. This means that you can execute any command""" - """ while the program being debugged is running.</p>""" - """<p>You can use the cursor keys while entering commands. There""" - """ is also a history of commands that can be recalled using the""" - """ up and down cursor keys. Pressing the up or down key after""" - """ some text has been entered will start an incremental search.""" - """</p>""" - """<p>The shell has some special commands. 'reset' kills the""" - """ shell and starts a new one. 'clear' clears the display of""" - """ the shell window. 'start' is used to switch the shell""" - """ language and must be followed by a supported language.""" - """ Supported languages are listed by the 'languages' command.""" - """ These commands (except 'languages') are available through""" - """ the context menu as well.</p>""" - """<p>Pressing the Tab key after some text has been entered will""" - """ show a list of possible commandline completions. The""" - """ relevant entry may be selected from this list. If only one""" - """ entry is available, this will inserted automatically.</p>""" - """<p>In passive debugging mode the shell is only available""" - """ after the program to be debugged has connected to the IDE""" - """ until it has finished. This is indicated by a different""" - """ prompt and by an indication in the window caption.</p>""" - )) + if self.__windowed: + self.setWhatsThis(self.tr( + """<b>The Shell Window</b>""" + """<p>You can use the cursor keys while entering commands.""" + """ There is also a history of commands that can be recalled""" + """ using the up and down cursor keys. Pressing the up or""" + """ down key after some text has been entered will start an""" + """ incremental search.</p>""" + """<p>The shell has some special commands. 'reset' kills the""" + """ shell and starts a new one. 'clear' clears the display""" + """ of the shell window. 'start' is used to switch the shell""" + """ language and must be followed by a supported language.""" + """ Supported languages are listed by the 'languages'""" + """ command. 'quit' is used to exit the application.These""" + """ commands (except 'languages') are available through the""" + """ window menus as well.</p>""" + """<p>Pressing the Tab key after some text has been entered""" + """ will show a list of possible completions. The relevant""" + """ entry may be selected from this list. If only one entry""" + """ is available, this will be inserted automatically.</p>""" + )) + else: + self.setWhatsThis(self.tr( + """<b>The Shell Window</b>""" + """<p>This is simply an interpreter running in a window. The""" + """ interpreter is the one that is used to run the program""" + """ being debugged. This means that you can execute any""" + """ command while the program being debugged is running.</p>""" + """<p>You can use the cursor keys while entering commands.""" + """ There is also a history of commands that can be recalled""" + """ using the up and down cursor keys. Pressing the up or""" + """ down key after some text has been entered will start an""" + """ incremental search.</p>""" + """<p>The shell has some special commands. 'reset' kills the""" + """ shell and starts a new one. 'clear' clears the display""" + """ of the shell window. 'start' is used to switch the shell""" + """ language and must be followed by a supported language.""" + """ Supported languages are listed by the 'languages'""" + """ command. These commands (except 'languages') are""" + """ available through the context menu as well.</p>""" + """<p>Pressing the Tab key after some text has been entered""" + """ will show a list of possible completions. The relevant""" + """ entry may be selected from this list. If only one entry""" + """ is available, this will be inserted automatically.</p>""" + """<p>In passive debugging mode the shell is only available""" + """ after the program to be debugged has connected to the""" + """ IDE until it has finished. This is indicated by a""" + """ different prompt and by an indication in the window""" + """ caption.</p>""" + )) self.userListActivated.connect(self.__completionListSelected) self.linesChanged.connect(self.__resizeLinenoMargin) - self.__showStdOutErr = Preferences.getShell("ShowStdOutErr") + if self.__windowed: + self.__showStdOutErr = True + else: + self.__showStdOutErr = Preferences.getShell("ShowStdOutErr") if self.__showStdOutErr: dbs.clientProcessStdout.connect(self.__writeStdOut) dbs.clientProcessStderr.connect(self.__writeStdErr) @@ -206,34 +236,35 @@ if self.passive: self.__getBanner() - # Create a little language context menu - self.lmenu = QMenu(self.tr('Start')) - self.lmenu.aboutToShow.connect(self.__showLanguageMenu) - self.lmenu.triggered.connect(self.__startDebugClient) - - # Create the history context menu - self.hmenu = QMenu(self.tr('History')) - self.hmenu.addAction(self.tr('Select entry'), self.__selectHistory) - self.hmenu.addAction(self.tr('Show'), self.__showHistory) - self.hmenu.addAction(self.tr('Clear'), self.__clearHistory) - - # Create a little context menu - self.menu = QMenu(self) - self.menu.addAction(self.tr('Cut'), self.cut) - self.menu.addAction(self.tr('Copy'), self.copy) - self.menu.addAction(self.tr('Paste'), self.paste) - self.menu.addMenu(self.hmenu) - self.menu.addSeparator() - self.menu.addAction(self.tr('Find'), self.__find) - self.menu.addSeparator() - self.menu.addAction(self.tr('Clear'), self.clear) - self.menu.addAction(self.tr('Reset'), self.__reset) - self.menu.addAction( - self.tr('Reset and Clear'), self.__resetAndClear) - self.menu.addSeparator() - self.menu.addMenu(self.lmenu) - self.menu.addSeparator() - self.menu.addAction(self.tr("Configure..."), self.__configure) + if not self.__windowed: + # Create a little language context menu + self.lmenu = QMenu(self.tr('Start')) + self.lmenu.aboutToShow.connect(self.__showLanguageMenu) + self.lmenu.triggered.connect(self.__startDebugClient) + + # Create the history context menu + self.hmenu = QMenu(self.tr('History')) + self.hmenu.addAction(self.tr('Select entry'), self.selectHistory) + self.hmenu.addAction(self.tr('Show'), self.showHistory) + self.hmenu.addAction(self.tr('Clear'), self.clearHistory) + + # Create a little context menu + self.menu = QMenu(self) + self.menu.addAction(self.tr('Cut'), self.cut) + self.menu.addAction(self.tr('Copy'), self.copy) + self.menu.addAction(self.tr('Paste'), self.paste) + self.menu.addMenu(self.hmenu) + self.menu.addSeparator() + self.menu.addAction(self.tr('Find'), self.__find) + self.menu.addSeparator() + self.menu.addAction(self.tr('Clear'), self.clear) + self.menu.addAction(self.tr('Reset'), self.__reset) + self.menu.addAction( + self.tr('Reset and Clear'), self.__resetAndClear) + self.menu.addSeparator() + self.menu.addMenu(self.lmenu) + self.menu.addSeparator() + self.menu.addAction(self.tr("Configure..."), self.__configure) self.__bindLexer() self.__setTextDisplay() @@ -266,8 +297,10 @@ QsciScintilla.SCI_WORDRIGHT: self.__QScintillaWordRight, QsciScintilla.SCI_VCHOME: self.__QScintillaVCHome, QsciScintilla.SCI_LINEEND: self.__QScintillaLineEnd, - QsciScintilla.SCI_LINEUP: self.__QScintillaLineUp, - QsciScintilla.SCI_LINEDOWN: self.__QScintillaLineDown, + QsciScintilla.SCI_LINEUP: self.__QScintillaCommand, + QsciScintilla.SCI_LINEDOWN: self.__QScintillaCommand, + QsciScintilla.SCI_LINESCROLLUP: self.__QScintillaHistoryUp, + QsciScintilla.SCI_LINESCROLLDOWN: self.__QScintillaHistoryDown, QsciScintilla.SCI_PAGEUP: self.__QScintillaAutoCompletionCommand, QsciScintilla.SCI_PAGEDOWN: self.__QScintillaAutoCompletionCommand, @@ -577,9 +610,9 @@ else: return [] - def __clearHistory(self): + def clearHistory(self): """ - Private slot to clear the current history. + Public slot to clear the current history. """ if self.clientType: self.historyLists[self.clientType] = [] @@ -588,9 +621,9 @@ self.history = [] self.histidx = -1 - def __selectHistory(self): + def selectHistory(self): """ - Private slot to select a history entry to execute. + Public slot to select a history entry to execute. """ cmd, ok = QInputDialog.getItem( self, @@ -602,9 +635,9 @@ if ok: self.__insertHistory(cmd) - def __showHistory(self): + def showHistory(self): """ - Private slot to show the shell history dialog. + Public slot to show the shell history dialog. """ from .ShellHistoryDialog import ShellHistoryDialog dlg = ShellHistoryDialog(self.history, self.vm, self) @@ -623,7 +656,7 @@ self.saveHistory(clientType) Preferences.Prefs.settings.endGroup() - self.__clearHistory() + self.clearHistory() def getClientType(self): """ @@ -674,6 +707,9 @@ Private method to write the prompt. """ self.__write(self.inContinue and sys.ps2 or sys.ps1) + # little trick to get the cursor position registered within QScintilla + self.SendScintilla(QsciScintilla.SCI_CHARLEFT) + self.SendScintilla(QsciScintilla.SCI_CHARRIGHT) def __clientStatement(self, more): """ @@ -696,7 +732,8 @@ """ self .__clientError() - if Preferences.getDebugger("ShowExceptionInShell"): + if not self.__windowed and \ + Preferences.getDebugger("ShowExceptionInShell"): if exceptionType: if stackTrace: self.__write( @@ -729,7 +766,8 @@ """ self .__clientError() - if Preferences.getDebugger("ShowExceptionInShell"): + if not self.__windowed and \ + Preferences.getDebugger("ShowExceptionInShell"): if message is None: self.__write(self.tr("Unspecified syntax error.\n")) else: @@ -1058,6 +1096,14 @@ else: ev.ignore() + def __QScintillaCommand(self, cmd): + """ + Private method to send the command to QScintilla. + + @param cmd QScintilla command + """ + self.SendScintilla(cmd) + def __QScintillaTab(self, cmd): """ Private method to handle the Tab key. @@ -1177,6 +1223,22 @@ buf = buf.replace(sys.ps2, "") self.insert('\n') self.__executeCommand(buf) + else: + txt = "" + line, col = self.getCursorPosition() + if self.hasSelectedText(): + lineFrom, indexFrom, lineTo, indexTo = self.getSelection() + if line == lineFrom: + txt = self.text(line)[indexFrom:].rstrip() + elif line == lineTo: + txt = self.text(line)[:indexTo] + else: + txt = self.text(line)[col:].rstrip() + + if txt: + line, col = self.__getEndPos() + self.setCursorPosition(line, col) + self.insert(txt) def __QScintillaLeftCommand(self, method, allLinesAllowed=False): """ @@ -1196,6 +1258,8 @@ method() elif col > 0: method() + else: + method() def __QScintillaCharLeft(self): """ @@ -1217,6 +1281,8 @@ """ if self.__isCursorOnLastLine(): method() + else: + method() def __QScintillaCharRight(self): """ @@ -1271,73 +1337,67 @@ elif self.__isCursorOnLastLine(): self.moveCursorToEOL() - def __QScintillaLineUp(self, cmd): + def __QScintillaHistoryUp(self, cmd): """ - Private method to handle the Up key. + Private method to handle the Ctrl+Up key. @param cmd QScintilla command """ - if self.isListActive(): - self.SendScintilla(cmd) + line, col = self.__getEndPos() + buf = self.text(line) + if buf.startswith(sys.ps1): + buf = buf.replace(sys.ps1, "") + if buf.startswith(sys.ps2): + buf = buf.replace(sys.ps2, "") + if buf and self.incrementalSearchActive: + if self.incrementalSearchString: + idx = self.__rsearchHistory(self.incrementalSearchString, + self.histidx) + if idx >= 0: + self.histidx = idx + self.__useHistory() + else: + idx = self.__rsearchHistory(buf) + if idx >= 0: + self.histidx = idx + self.incrementalSearchString = buf + self.__useHistory() else: - line, col = self.__getEndPos() - buf = self.text(line) - if buf.startswith(sys.ps1): - buf = buf.replace(sys.ps1, "") - if buf.startswith(sys.ps2): - buf = buf.replace(sys.ps2, "") - if buf and self.incrementalSearchActive: - if self.incrementalSearchString: - idx = self.__rsearchHistory(self.incrementalSearchString, - self.histidx) - if idx >= 0: - self.histidx = idx - self.__useHistory() - else: - idx = self.__rsearchHistory(buf) - if idx >= 0: - self.histidx = idx - self.incrementalSearchString = buf - self.__useHistory() - else: - if self.histidx < 0: - self.histidx = len(self.history) - if self.histidx > 0: - self.histidx = self.histidx - 1 - self.__useHistory() + if self.histidx < 0: + self.histidx = len(self.history) + if self.histidx > 0: + self.histidx = self.histidx - 1 + self.__useHistory() - def __QScintillaLineDown(self, cmd): + def __QScintillaHistoryDown(self, cmd): """ - Private method to handle the Down key. + Private method to handle the Ctrl+Down key. @param cmd QScintilla command """ - if self.isListActive(): - self.SendScintilla(cmd) + line, col = self.__getEndPos() + buf = self.text(line) + if buf.startswith(sys.ps1): + buf = buf.replace(sys.ps1, "") + if buf.startswith(sys.ps2): + buf = buf.replace(sys.ps2, "") + if buf and self.incrementalSearchActive: + if self.incrementalSearchString: + idx = self.__searchHistory( + self.incrementalSearchString, self.histidx) + if idx >= 0: + self.histidx = idx + self.__useHistory() + else: + idx = self.__searchHistory(buf) + if idx >= 0: + self.histidx = idx + self.incrementalSearchString = buf + self.__useHistory() else: - line, col = self.__getEndPos() - buf = self.text(line) - if buf.startswith(sys.ps1): - buf = buf.replace(sys.ps1, "") - if buf.startswith(sys.ps2): - buf = buf.replace(sys.ps2, "") - if buf and self.incrementalSearchActive: - if self.incrementalSearchString: - idx = self.__searchHistory( - self.incrementalSearchString, self.histidx) - if idx >= 0: - self.histidx = idx - self.__useHistory() - else: - idx = self.__searchHistory(buf) - if idx >= 0: - self.histidx = idx - self.incrementalSearchString = buf - self.__useHistory() - else: - if self.histidx >= 0 and self.histidx < len(self.history): - self.histidx += 1 - self.__useHistory() + if self.histidx >= 0 and self.histidx < len(self.history): + self.histidx += 1 + self.__useHistory() def __QScintillaCharLeftExtend(self): """ @@ -1436,6 +1496,10 @@ return else: cmd = '' + elif cmd in ["quit", "quit()"] and self.__windowed: + # call main window quit() + self.vm.quit() + return self.dbs.remoteStatement(cmd) while self.inCommandExecution: @@ -1534,8 +1598,9 @@ @param ev context menu event (QContextMenuEvent) """ - self.menu.popup(ev.globalPos()) - ev.accept() + if not self.__windowed: + self.menu.popup(ev.globalPos()) + ev.accept() def clear(self): """ @@ -1680,7 +1745,7 @@ @param event the drop event (QDropEvent) """ - if event.mimeData().hasUrls(): + if event.mimeData().hasUrls() and not self.__windowed: for url in event.mimeData().urls(): fname = url.toLocalFile() if fname:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QScintilla/ShellWindow.py Sat May 06 13:43:21 2017 +0200 @@ -0,0 +1,1237 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a stand alone shell window. +""" + +from __future__ import unicode_literals + +import sys +import os + +from PyQt5.QtCore import Qt, QCoreApplication, QPoint, QSize, QSignalMapper, \ + QProcess +from PyQt5.QtGui import QKeySequence +from PyQt5.QtWidgets import QWidget, QVBoxLayout, QApplication, QAction, \ + QWhatsThis, QDialog +from PyQt5.Qsci import QsciScintilla + +from E5Gui.E5MainWindow import E5MainWindow +from E5Gui.E5Action import E5Action, createActionGroup +from E5Gui.E5Application import e5App +from E5Gui.E5ZoomWidget import E5ZoomWidget +from E5Gui import E5MessageBox + +import UI.Config +import UI.PixmapCache +import Preferences + +from Globals import isMacPlatform + +from .Shell import Shell +from .APIsManager import APIsManager + +from Debugger.DebugServer import DebugServer +from UI.SearchWidget import SearchWidget + +from eric6config import getConfig + + +class ShellWindow(E5MainWindow): + """ + Class implementing a stand alone shell window. + """ + def __init__(self, parent=None, name=None): + """ + Constructor + + @param parent reference to the parent widget + @type QWidget + @param name object name of the window + @type str + """ + super(ShellWindow, self).__init__(parent) + if name is not None: + self.setObjectName(name) + self.setWindowIcon(UI.PixmapCache.getIcon("shell.png")) + + self.setStyle(Preferences.getUI("Style"), + Preferences.getUI("StyleSheet")) + + # initialize the APIs manager + self.__apisManager = APIsManager(parent=self) + + # initialize the debug server and shell widgets + self.__debugServer = DebugServer(preventPassiveDebugging=True) + self.__shell = Shell(self.__debugServer, self, True, self) + self.__searchWidget = SearchWidget(self.__shell, self, showLine=True) + + centralWidget = QWidget() + layout = QVBoxLayout() + layout.setContentsMargins(1, 1, 1, 1) + layout.addWidget(self.__shell) + layout.addWidget(self.__searchWidget) + centralWidget.setLayout(layout) + self.setCentralWidget(centralWidget) + self.__searchWidget.hide() + + self.__searchWidget.searchNext.connect(self.__shell.searchNext) + self.__searchWidget.searchPrevious.connect(self.__shell.searchPrev) + self.__shell.searchStringFound.connect( + self.__searchWidget.searchStringFound) + + self.__shell.zoomValueChanged.connect(self.__zoomValueChanged) + + self.__createActions() + self.__createMenus() + self.__createToolBars() + self.__createStatusBar() + + self.__readSettings() + + # now start the debug client + self.__debugServer.startClient(False) + + # set the keyboard input interval + interval = Preferences.getUI("KeyboardInputInterval") + if interval > 0: + QApplication.setKeyboardInputInterval(interval) + + def closeEvent(self, event): + """ + Protected method to handle the close event. + + @param event close event + @type QCloseEvent + """ + self.__writeSettings() + self.__debugServer.shutdownServer() + self.__shell.closeShell() + Preferences.syncPreferences() + + event.accept() + + ################################################################## + ## Below are API handling methods + ################################################################## + + def getAPIsManager(self): + """ + Public method to get a reference to the APIs manager. + + @return the APIs manager object (eric6.QScintilla.APIsManager) + """ + return self.__apisManager + + ################################################################## + ## Below are action related methods + ################################################################## + + def __readShortcut(self, act, category): + """ + Private function to read a single keyboard shortcut from the settings. + + @param act reference to the action object + @type E5Action + @param category category the action belongs to + @type str + """ + if act.objectName(): + accel = Preferences.Prefs.settings.value( + "Shortcuts/{0}/{1}/Accel".format(category, act.objectName())) + if accel is not None: + act.setShortcut(QKeySequence(accel)) + accel = Preferences.Prefs.settings.value( + "Shortcuts/{0}/{1}/AltAccel".format( + category, act.objectName())) + if accel is not None: + act.setAlternateShortcut(QKeySequence(accel), removeEmpty=True) + + def __createActions(self): + """ + Private method to create the actions. + """ + self.fileActions = [] + self.editActions = [] + self.searchActions = [] + self.viewActions = [] + self.helpActions = [] + + self.viewActGrp = createActionGroup(self) + + self.__createFileActions() + self.__createEditActions() + self.__createSearchActions() + self.__createViewActions() + self.__createHelpActions() + self.__createHistoryActions() + + # read the keyboard shortcuts and make them identical to the main + # eric6 shortcuts + for act in self.helpActions: + self.__readShortcut(act, "General") + for act in self.editActions: + self.__readShortcut(act, "Edit") + for act in self.fileActions: + self.__readShortcut(act, "View") + for act in self.searchActions: + self.__readShortcut(act, "Search") + + def __createFileActions(self): + """ + Private method defining the user interface actions for the file + commands. + """ + self.exitAct = E5Action( + self.tr('Quit'), + UI.PixmapCache.getIcon("exit.png"), + self.tr('&Quit'), + QKeySequence(self.tr("Ctrl+Q", "File|Quit")), + 0, self, 'quit') + self.exitAct.setStatusTip(self.tr('Quit the Shell')) + self.exitAct.setWhatsThis(self.tr( + """<b>Quit the Shell</b>""" + """<p>This quits the Shell window.</p>""" + )) + self.exitAct.triggered.connect(self.quit) + self.exitAct.setMenuRole(QAction.QuitRole) + self.fileActions.append(self.exitAct) + + self.newWindowAct = E5Action( + self.tr('New Window'), + UI.PixmapCache.getIcon("newWindow.png"), + self.tr('New &Window'), + QKeySequence(self.tr("Ctrl+Shift+N", "File|New Window")), + 0, self, 'new_window') + self.newWindowAct.setStatusTip(self.tr( + 'Open a new Shell window')) + self.newWindowAct.setWhatsThis(self.tr( + """<b>New Window</b>""" + """<p>This opens a new instance of the Shell window.</p>""" + )) + self.newWindowAct.triggered.connect(self.__newWindow) + self.fileActions.append(self.newWindowAct) + + self.restartAct = E5Action( + self.tr('Restart'), + UI.PixmapCache.getIcon("restart.png"), + self.tr('Restart'), + 0, 0, self, 'shell_restart') + self.restartAct.setStatusTip(self.tr( + 'Restart the shell')) + self.restartAct.setWhatsThis(self.tr( + """<b>Restart</b>""" + """<p>Restart the shell for the currently selected language.</p>""" + )) + self.restartAct.triggered.connect(self.__doRestart) + self.fileActions.append(self.restartAct) + + self.clearRestartAct = E5Action( + self.tr('Restart and Clear'), + UI.PixmapCache.getIcon("restartDelete.png"), + self.tr('Restart and Clear'), + Qt.Key_F4, 0, self, 'shell_clear_restart') + self.clearRestartAct.setStatusTip(self.tr( + 'Clear the window and restart the shell')) + self.clearRestartAct.setWhatsThis(self.tr( + """<b>Restart and Clear</b>""" + """<p>Clear the shell window and restart the shell for the""" + """ currently selected language.</p>""" + )) + self.clearRestartAct.triggered.connect(self.__doClearRestart) + self.fileActions.append(self.clearRestartAct) + + def __createEditActions(self): + """ + Private method defining the user interface actions for the edit + commands. + """ + self.editActGrp = createActionGroup(self) + self.copyActGrp = createActionGroup(self.editActGrp) + + self.cutAct = E5Action( + QCoreApplication.translate('ViewManager', 'Cut'), + UI.PixmapCache.getIcon("editCut.png"), + QCoreApplication.translate('ViewManager', 'Cu&t'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Ctrl+X", "Edit|Cut")), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Shift+Del", "Edit|Cut")), + self.copyActGrp, 'vm_edit_cut') + self.cutAct.setStatusTip(QCoreApplication.translate( + 'ViewManager', 'Cut the selection')) + self.cutAct.setWhatsThis(QCoreApplication.translate( + 'ViewManager', + """<b>Cut</b>""" + """<p>Cut the selected text of the current editor to the""" + """ clipboard.</p>""" + )) + self.cutAct.triggered.connect(self.__shell.cut) + self.editActions.append(self.cutAct) + + self.copyAct = E5Action( + QCoreApplication.translate('ViewManager', 'Copy'), + UI.PixmapCache.getIcon("editCopy.png"), + QCoreApplication.translate('ViewManager', '&Copy'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Ctrl+C", "Edit|Copy")), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Ctrl+Ins", "Edit|Copy")), + self.copyActGrp, 'vm_edit_copy') + self.copyAct.setStatusTip(QCoreApplication.translate( + 'ViewManager', 'Copy the selection')) + self.copyAct.setWhatsThis(QCoreApplication.translate( + 'ViewManager', + """<b>Copy</b>""" + """<p>Copy the selected text of the current editor to the""" + """ clipboard.</p>""" + )) + self.copyAct.triggered.connect(self.__shell.copy) + self.editActions.append(self.copyAct) + + self.pasteAct = E5Action( + QCoreApplication.translate('ViewManager', 'Paste'), + UI.PixmapCache.getIcon("editPaste.png"), + QCoreApplication.translate('ViewManager', '&Paste'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Ctrl+V", "Edit|Paste")), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Shift+Ins", "Edit|Paste")), + self.copyActGrp, 'vm_edit_paste') + self.pasteAct.setStatusTip(QCoreApplication.translate( + 'ViewManager', 'Paste the last cut/copied text')) + self.pasteAct.setWhatsThis(QCoreApplication.translate( + 'ViewManager', + """<b>Paste</b>""" + """<p>Paste the last cut/copied text from the clipboard to""" + """ the current editor.</p>""" + )) + self.pasteAct.triggered.connect(self.__shell.paste) + self.editActions.append(self.pasteAct) + + self.clearAct = E5Action( + QCoreApplication.translate('ViewManager', 'Clear'), + UI.PixmapCache.getIcon("editDelete.png"), + QCoreApplication.translate('ViewManager', 'Clear'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Alt+Shift+C", "Edit|Clear")), + 0, + self.copyActGrp, 'vm_edit_clear') + self.clearAct.setStatusTip(QCoreApplication.translate( + 'ViewManager', 'Clear all text')) + self.clearAct.setWhatsThis(QCoreApplication.translate( + 'ViewManager', + """<b>Clear</b>""" + """<p>Delete all text of the current editor.</p>""" + )) + self.clearAct.triggered.connect(self.__shell.clear) + self.editActions.append(self.clearAct) + + self.cutAct.setEnabled(False) + self.copyAct.setEnabled(False) + self.__shell.copyAvailable.connect(self.cutAct.setEnabled) + self.__shell.copyAvailable.connect(self.copyAct.setEnabled) + + #################################################################### + ## Below follow the actions for QScintilla standard commands. + #################################################################### + + self.esm = QSignalMapper(self) + self.esm.mapped[int].connect(self.__shell.editorCommand) + + self.editorActGrp = createActionGroup(self) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Delete current line'), + QCoreApplication.translate('ViewManager', 'Delete current line'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', 'Ctrl+Shift+L')), + 0, + self.editorActGrp, 'vm_edit_delete_current_line') + self.esm.setMapping(act, QsciScintilla.SCI_LINEDELETE) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Indent one level'), + QCoreApplication.translate('ViewManager', 'Indent one level'), + QKeySequence(QCoreApplication.translate('ViewManager', 'Tab')), 0, + self.editorActGrp, 'vm_edit_indent_one_level') + self.esm.setMapping(act, QsciScintilla.SCI_TAB) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Insert new line'), + QCoreApplication.translate('ViewManager', 'Insert new line'), + QKeySequence(QCoreApplication.translate('ViewManager', 'Return')), + QKeySequence(QCoreApplication.translate('ViewManager', 'Enter')), + self.editorActGrp, 'vm_edit_insert_line') + self.esm.setMapping(act, QsciScintilla.SCI_NEWLINE) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', + 'Delete previous character'), + QCoreApplication.translate('ViewManager', + 'Delete previous character'), + QKeySequence(QCoreApplication.translate('ViewManager', + 'Backspace')), + 0, self.editorActGrp, 'vm_edit_delete_previous_char') + if isMacPlatform(): + act.setAlternateShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+H'))) + else: + act.setAlternateShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Shift+Backspace'))) + self.esm.setMapping(act, QsciScintilla.SCI_DELETEBACK) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', + 'Delete current character'), + QCoreApplication.translate('ViewManager', + 'Delete current character'), + QKeySequence(QCoreApplication.translate('ViewManager', 'Del')), + 0, self.editorActGrp, 'vm_edit_delete_current_char') + if isMacPlatform(): + act.setAlternateShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+D'))) + self.esm.setMapping(act, QsciScintilla.SCI_CLEAR) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Delete word to left'), + QCoreApplication.translate('ViewManager', 'Delete word to left'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', 'Ctrl+Backspace')), + 0, + self.editorActGrp, 'vm_edit_delete_word_left') + self.esm.setMapping(act, QsciScintilla.SCI_DELWORDLEFT) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Delete word to right'), + QCoreApplication.translate('ViewManager', 'Delete word to right'), + QKeySequence(QCoreApplication.translate('ViewManager', + 'Ctrl+Del')), + 0, self.editorActGrp, 'vm_edit_delete_word_right') + self.esm.setMapping(act, QsciScintilla.SCI_DELWORDRIGHT) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Delete line to left'), + QCoreApplication.translate('ViewManager', 'Delete line to left'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', 'Ctrl+Shift+Backspace')), + 0, + self.editorActGrp, 'vm_edit_delete_line_left') + self.esm.setMapping(act, QsciScintilla.SCI_DELLINELEFT) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Delete line to right'), + QCoreApplication.translate('ViewManager', 'Delete line to right'), + 0, 0, + self.editorActGrp, 'vm_edit_delete_line_right') + if isMacPlatform(): + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+K'))) + else: + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Ctrl+Shift+Del'))) + self.esm.setMapping(act, QsciScintilla.SCI_DELLINERIGHT) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', + 'Move left one character'), + QCoreApplication.translate('ViewManager', + 'Move left one character'), + QKeySequence(QCoreApplication.translate('ViewManager', 'Left')), 0, + self.editorActGrp, 'vm_edit_move_left_char') + self.esm.setMapping(act, QsciScintilla.SCI_CHARLEFT) + if isMacPlatform(): + act.setAlternateShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+B'))) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', + 'Move right one character'), + QCoreApplication.translate('ViewManager', + 'Move right one character'), + QKeySequence(QCoreApplication.translate('ViewManager', 'Right')), + 0, self.editorActGrp, 'vm_edit_move_right_char') + if isMacPlatform(): + act.setAlternateShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+F'))) + self.esm.setMapping(act, QsciScintilla.SCI_CHARRIGHT) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Move left one word'), + QCoreApplication.translate('ViewManager', 'Move left one word'), + 0, 0, + self.editorActGrp, 'vm_edit_move_left_word') + if isMacPlatform(): + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Alt+Left'))) + else: + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Ctrl+Left'))) + self.esm.setMapping(act, QsciScintilla.SCI_WORDLEFT) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Move right one word'), + QCoreApplication.translate('ViewManager', 'Move right one word'), + 0, 0, + self.editorActGrp, 'vm_edit_move_right_word') + if not isMacPlatform(): + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Ctrl+Right'))) + self.esm.setMapping(act, QsciScintilla.SCI_WORDRIGHT) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate( + 'ViewManager', + 'Move to first visible character in document line'), + QCoreApplication.translate( + 'ViewManager', + 'Move to first visible character in document line'), + 0, 0, + self.editorActGrp, 'vm_edit_move_first_visible_char') + if not isMacPlatform(): + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Home'))) + self.esm.setMapping(act, QsciScintilla.SCI_VCHOME) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate( + 'ViewManager', 'Move to end of document line'), + QCoreApplication.translate( + 'ViewManager', 'Move to end of document line'), + 0, 0, + self.editorActGrp, 'vm_edit_move_end_line') + if isMacPlatform(): + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+E'))) + else: + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'End'))) + self.esm.setMapping(act, QsciScintilla.SCI_LINEEND) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Move up one line'), + QCoreApplication.translate('ViewManager', 'Move up one line'), + QKeySequence(QCoreApplication.translate('ViewManager', 'Up')), 0, + self.editorActGrp, 'vm_edit_move_up_line') + if isMacPlatform(): + act.setAlternateShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+P'))) + self.esm.setMapping(act, QsciScintilla.SCI_LINEUP) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Move down one line'), + QCoreApplication.translate('ViewManager', 'Move down one line'), + QKeySequence(QCoreApplication.translate('ViewManager', 'Down')), 0, + self.editorActGrp, 'vm_edit_move_down_line') + if isMacPlatform(): + act.setAlternateShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+N'))) + self.esm.setMapping(act, QsciScintilla.SCI_LINEDOWN) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + self.tr('Move forward one history entry'), + self.tr('Move forward one history entry'), + QKeySequence(QCoreApplication.translate('ViewManager', + 'Ctrl+Down')), + 0, self.editorActGrp, 'vm_edit_scroll_down_line') + self.esm.setMapping(act, QsciScintilla.SCI_LINESCROLLDOWN) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + self.tr('Move back one history entry'), + self.tr('Move back one history entry'), + QKeySequence(QCoreApplication.translate('ViewManager', 'Ctrl+Up')), + 0, self.editorActGrp, 'vm_edit_scroll_up_line') + self.esm.setMapping(act, QsciScintilla.SCI_LINESCROLLUP) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Move up one page'), + QCoreApplication.translate('ViewManager', 'Move up one page'), + QKeySequence(QCoreApplication.translate('ViewManager', 'PgUp')), 0, + self.editorActGrp, 'vm_edit_move_up_page') + self.esm.setMapping(act, QsciScintilla.SCI_PAGEUP) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Move down one page'), + QCoreApplication.translate('ViewManager', 'Move down one page'), + QKeySequence(QCoreApplication.translate('ViewManager', 'PgDown')), + 0, self.editorActGrp, 'vm_edit_move_down_page') + if isMacPlatform(): + act.setAlternateShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+V'))) + self.esm.setMapping(act, QsciScintilla.SCI_PAGEDOWN) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate('ViewManager', 'Escape'), + QCoreApplication.translate('ViewManager', 'Escape'), + QKeySequence(QCoreApplication.translate('ViewManager', 'Esc')), 0, + self.editorActGrp, 'vm_edit_escape') + self.esm.setMapping(act, QsciScintilla.SCI_CANCEL) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate( + 'ViewManager', 'Extend selection left one character'), + QCoreApplication.translate( + 'ViewManager', 'Extend selection left one character'), + QKeySequence(QCoreApplication.translate('ViewManager', + 'Shift+Left')), + 0, self.editorActGrp, 'vm_edit_extend_selection_left_char') + if isMacPlatform(): + act.setAlternateShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+Shift+B'))) + self.esm.setMapping(act, QsciScintilla.SCI_CHARLEFTEXTEND) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate( + 'ViewManager', 'Extend selection right one character'), + QCoreApplication.translate( + 'ViewManager', 'Extend selection right one character'), + QKeySequence(QCoreApplication.translate('ViewManager', + 'Shift+Right')), + 0, self.editorActGrp, 'vm_edit_extend_selection_right_char') + if isMacPlatform(): + act.setAlternateShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+Shift+F'))) + self.esm.setMapping(act, QsciScintilla.SCI_CHARRIGHTEXTEND) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate( + 'ViewManager', 'Extend selection left one word'), + QCoreApplication.translate( + 'ViewManager', 'Extend selection left one word'), + 0, 0, + self.editorActGrp, 'vm_edit_extend_selection_left_word') + if isMacPlatform(): + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Alt+Shift+Left'))) + else: + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Ctrl+Shift+Left'))) + self.esm.setMapping(act, QsciScintilla.SCI_WORDLEFTEXTEND) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate( + 'ViewManager', 'Extend selection right one word'), + QCoreApplication.translate( + 'ViewManager', 'Extend selection right one word'), + 0, 0, + self.editorActGrp, 'vm_edit_extend_selection_right_word') + if isMacPlatform(): + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Alt+Shift+Right'))) + else: + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Ctrl+Shift+Right'))) + self.esm.setMapping(act, QsciScintilla.SCI_WORDRIGHTEXTEND) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate( + 'ViewManager', + 'Extend selection to first visible character in document' + ' line'), + QCoreApplication.translate( + 'ViewManager', + 'Extend selection to first visible character in document' + ' line'), + 0, 0, + self.editorActGrp, 'vm_edit_extend_selection_first_visible_char') + if not isMacPlatform(): + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Shift+Home'))) + self.esm.setMapping(act, QsciScintilla.SCI_VCHOMEEXTEND) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + act = E5Action( + QCoreApplication.translate( + 'ViewManager', 'Extend selection to end of document line'), + QCoreApplication.translate( + 'ViewManager', 'Extend selection to end of document line'), + 0, 0, + self.editorActGrp, 'vm_edit_extend_selection_end_line') + if isMacPlatform(): + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Meta+Shift+E'))) + else: + act.setShortcut(QKeySequence( + QCoreApplication.translate('ViewManager', 'Shift+End'))) + self.esm.setMapping(act, QsciScintilla.SCI_LINEENDEXTEND) + act.triggered.connect(self.esm.map) + self.editActions.append(act) + + def __createSearchActions(self): + """ + Private method defining the user interface actions for the search + commands. + """ + self.searchActGrp = createActionGroup(self) + + self.searchAct = E5Action( + QCoreApplication.translate('ViewManager', 'Search'), + UI.PixmapCache.getIcon("find.png"), + QCoreApplication.translate('ViewManager', '&Search...'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Ctrl+F", "Search|Search")), + 0, + self, 'vm_search') + self.searchAct.setStatusTip(QCoreApplication.translate( + 'ViewManager', 'Search for a text')) + self.searchAct.setWhatsThis(QCoreApplication.translate( + 'ViewManager', + """<b>Search</b>""" + """<p>Search for some text in the current editor. A""" + """ dialog is shown to enter the searchtext and options""" + """ for the search.</p>""" + )) + self.searchAct.triggered.connect(self.__showFind) + self.searchActions.append(self.searchAct) + + self.searchNextAct = E5Action( + QCoreApplication.translate( + 'ViewManager', 'Search next'), + UI.PixmapCache.getIcon("findNext.png"), + QCoreApplication.translate('ViewManager', 'Search &next'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "F3", "Search|Search next")), + 0, + self, 'vm_search_next') + self.searchNextAct.setStatusTip(QCoreApplication.translate( + 'ViewManager', 'Search next occurrence of text')) + self.searchNextAct.setWhatsThis(QCoreApplication.translate( + 'ViewManager', + """<b>Search next</b>""" + """<p>Search the next occurrence of some text in the current""" + """ editor. The previously entered searchtext and options are""" + """ reused.</p>""" + )) + self.searchNextAct.triggered.connect( + self.__searchWidget.on_findNextButton_clicked) + self.searchActions.append(self.searchNextAct) + + self.searchPrevAct = E5Action( + QCoreApplication.translate('ViewManager', 'Search previous'), + UI.PixmapCache.getIcon("findPrev.png"), + QCoreApplication.translate('ViewManager', 'Search &previous'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Shift+F3", "Search|Search previous")), + 0, + self, 'vm_search_previous') + self.searchPrevAct.setStatusTip(QCoreApplication.translate( + 'ViewManager', 'Search previous occurrence of text')) + self.searchPrevAct.setWhatsThis(QCoreApplication.translate( + 'ViewManager', + """<b>Search previous</b>""" + """<p>Search the previous occurrence of some text in the current""" + """ editor. The previously entered searchtext and options are""" + """ reused.</p>""" + )) + self.searchPrevAct.triggered.connect( + self.__searchWidget.on_findPrevButton_clicked) + self.searchActions.append(self.searchPrevAct) + + def __createViewActions(self): + """ + Private method defining the user interface actions for the view + commands. + """ + self.viewActGrp = createActionGroup(self) + + self.zoomInAct = E5Action( + QCoreApplication.translate('ViewManager', 'Zoom in'), + UI.PixmapCache.getIcon("zoomIn.png"), + QCoreApplication.translate('ViewManager', 'Zoom &in'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Ctrl++", "View|Zoom in")), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Zoom In", "View|Zoom in")), + self.viewActGrp, 'vm_view_zoom_in') + self.zoomInAct.setStatusTip(QCoreApplication.translate( + 'ViewManager', 'Zoom in on the text')) + self.zoomInAct.setWhatsThis(QCoreApplication.translate( + 'ViewManager', + """<b>Zoom in</b>""" + """<p>Zoom in on the text. This makes the text bigger.</p>""" + )) + self.zoomInAct.triggered.connect(self.__zoomIn) + self.viewActions.append(self.zoomInAct) + + self.zoomOutAct = E5Action( + QCoreApplication.translate('ViewManager', 'Zoom out'), + UI.PixmapCache.getIcon("zoomOut.png"), + QCoreApplication.translate('ViewManager', 'Zoom &out'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Ctrl+-", "View|Zoom out")), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Zoom Out", "View|Zoom out")), + self.viewActGrp, 'vm_view_zoom_out') + self.zoomOutAct.setStatusTip(QCoreApplication.translate( + 'ViewManager', 'Zoom out on the text')) + self.zoomOutAct.setWhatsThis(QCoreApplication.translate( + 'ViewManager', + """<b>Zoom out</b>""" + """<p>Zoom out on the text. This makes the text smaller.</p>""" + )) + self.zoomOutAct.triggered.connect(self.__zoomOut) + self.viewActions.append(self.zoomOutAct) + + self.zoomResetAct = E5Action( + QCoreApplication.translate('ViewManager', 'Zoom reset'), + UI.PixmapCache.getIcon("zoomReset.png"), + QCoreApplication.translate('ViewManager', 'Zoom &reset'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Ctrl+0", "View|Zoom reset")), + 0, + self.viewActGrp, 'vm_view_zoom_reset') + self.zoomResetAct.setStatusTip(QCoreApplication.translate( + 'ViewManager', 'Reset the zoom of the text')) + self.zoomResetAct.setWhatsThis(QCoreApplication.translate( + 'ViewManager', + """<b>Zoom reset</b>""" + """<p>Reset the zoom of the text. """ + """This sets the zoom factor to 100%.</p>""" + )) + self.zoomResetAct.triggered.connect(self.__zoomReset) + self.viewActions.append(self.zoomResetAct) + + self.zoomToAct = E5Action( + QCoreApplication.translate('ViewManager', 'Zoom'), + UI.PixmapCache.getIcon("zoomTo.png"), + QCoreApplication.translate('ViewManager', '&Zoom'), + QKeySequence(QCoreApplication.translate( + 'ViewManager', "Ctrl+#", "View|Zoom")), + 0, + self.viewActGrp, 'vm_view_zoom') + self.zoomToAct.setStatusTip(QCoreApplication.translate( + 'ViewManager', 'Zoom the text')) + self.zoomToAct.setWhatsThis(QCoreApplication.translate( + 'ViewManager', + """<b>Zoom</b>""" + """<p>Zoom the text. This opens a dialog where the""" + """ desired size can be entered.</p>""" + )) + self.zoomToAct.triggered.connect(self.__zoom) + self.viewActions.append(self.zoomToAct) + + def __createHistoryActions(self): + """ + Private method defining the user interface actions for the history + commands. + """ + self.showHistoryAct = E5Action( + self.tr('Show History'), + UI.PixmapCache.getIcon("history.png"), + self.tr('&Show History...'), + 0, 0, + self, 'shell_show_history') + self.showHistoryAct.setStatusTip(self.tr( + "Show the shell history in a dialog")) + self.showHistoryAct.triggered.connect(self.__shell.showHistory) + + self.clearHistoryAct = E5Action( + self.tr('Clear History'), + UI.PixmapCache.getIcon("historyClear.png"), + self.tr('&Clear History...'), + 0, 0, + self, 'shell_clear_history') + self.clearHistoryAct.setStatusTip(self.tr( + "Clear the shell history")) + self.clearHistoryAct.triggered.connect(self.__shell.clearHistory) + + self.selectHistoryAct = E5Action( + self.tr('Select History Entry'), + self.tr('Select History &Entry'), + 0, 0, + self, 'shell_select_history') + self.selectHistoryAct.setStatusTip(self.tr( + "Select an entry of the shell history")) + self.selectHistoryAct.triggered.connect(self.__shell.selectHistory) + + def __createHelpActions(self): + """ + Private method to create the Help actions. + """ + self.aboutAct = E5Action( + self.tr('About'), + self.tr('&About'), + 0, 0, self, 'about_eric') + self.aboutAct.setStatusTip(self.tr( + 'Display information about this software')) + self.aboutAct.setWhatsThis(self.tr( + """<b>About</b>""" + """<p>Display some information about this software.</p>""")) + self.aboutAct.triggered.connect(self.__about) + self.helpActions.append(self.aboutAct) + + self.aboutQtAct = E5Action( + self.tr('About Qt'), + self.tr('About &Qt'), + 0, 0, self, 'about_qt') + self.aboutQtAct.setStatusTip( + self.tr('Display information about the Qt toolkit')) + self.aboutQtAct.setWhatsThis(self.tr( + """<b>About Qt</b>""" + """<p>Display some information about the Qt toolkit.</p>""" + )) + self.aboutQtAct.triggered.connect(self.__aboutQt) + self.helpActions.append(self.aboutQtAct) + + self.whatsThisAct = E5Action( + self.tr('What\'s This?'), + UI.PixmapCache.getIcon("whatsThis.png"), + self.tr('&What\'s This?'), + QKeySequence(self.tr("Shift+F1", "Help|What's This?'")), + 0, self, 'help_help_whats_this') + self.whatsThisAct.setStatusTip(self.tr('Context sensitive help')) + self.whatsThisAct.setWhatsThis(self.tr( + """<b>Display context sensitive help</b>""" + """<p>In What's This? mode, the mouse cursor shows an arrow""" + """ with a question mark, and you can click on the interface""" + """ elements to get a short description of what they do and""" + """ how to use them. In dialogs, this feature can be""" + """ accessed using the context help button in the titlebar.""" + """</p>""" + )) + self.whatsThisAct.triggered.connect(self.__whatsThis) + self.helpActions.append(self.whatsThisAct) + + def __showFind(self): + """ + Private method to display the search widget. + """ + txt = self.__shell.selectedText() + self.__searchWidget.showFind(txt) + + def activeWindow(self): + """ + Public method to get a reference to the active shell. + + @return reference to the shell widget + @rtype Shell + """ + return self.__shell + + def __readSettings(self): + """ + Private method to read the settings remembered last time. + """ + settings = Preferences.Prefs.settings + pos = settings.value("ShellWindow/Position", QPoint(0, 0)) + size = settings.value("ShellWindow/Size", QSize(800, 600)) + self.resize(size) + self.move(pos) + + def __writeSettings(self): + """ + Private method to write the settings for reuse. + """ + settings = Preferences.Prefs.settings + settings.setValue("ShellWindow/Position", self.pos()) + settings.setValue("ShellWindow/Size", self.size()) + + def quit(self): + """ + Public method to quit the application. + """ + e5App().closeAllWindows() + + def __doRestart(self): + """ + Private slot to handle the 'restart' menu entry. + """ + self.__debugServer.startClient(False) + + def __doClearRestart(self): + """ + Private slot to handle the 'restart and clear' menu entry. + """ + self.__doRestart() + self.__shell.clear() + + def __newWindow(self): + """ + Private slot to start a new instance of eric6. + """ + program = sys.executable + eric6 = os.path.join(getConfig("ericDir"), "eric6_shell.py") + args = [eric6] + QProcess.startDetached(program, args) + + ################################################################## + ## Below are the action methods for the view menu + ################################################################## + + def __zoomIn(self): + """ + Private method to handle the zoom in action. + """ + self.__shell.zoomIn() + self.__sbZoom.setValue(self.__shell.getZoom()) + + def __zoomOut(self): + """ + Private method to handle the zoom out action. + """ + self.__shell.zoomOut() + self.__sbZoom.setValue(self.__shell.getZoom()) + + def __zoomReset(self): + """ + Private method to reset the zoom factor. + """ + self.__shell.zoomTo(0) + self.__sbZoom.setValue(self.__shell.getZoom()) + + def __zoom(self): + """ + Private method to handle the zoom action. + """ + from QScintilla.ZoomDialog import ZoomDialog + dlg = ZoomDialog(self.__shell.getZoom(), self, None, True) + if dlg.exec_() == QDialog.Accepted: + value = dlg.getZoomSize() + self.__zoomTo(value) + + def __zoomTo(self, value): + """ + Private slot to zoom to a given value. + + @param value zoom value to be set + @type int + """ + self.__shell.zoomTo(value) + self.__sbZoom.setValue(self.__shell.getZoom()) + + def __zoomValueChanged(self, value): + """ + Private slot to handle changes of the zoom value. + + @param value new zoom value + @type int + """ + self.__sbZoom.setValue(value) + + ################################################################## + ## Below are the action methods for the help menu + ################################################################## + + def __about(self): + """ + Private slot to show a little About message. + """ + E5MessageBox.about( + self, + self.tr("About eric6 Shell Window"), + self.tr( + "The eric6 Shell is a standalone shell window." + " It uses the same backend as the debugger of" + " the full IDE, but is executed independently.")) + + def __aboutQt(self): + """ + Private slot to handle the About Qt dialog. + """ + E5MessageBox.aboutQt(self, "eric6 Shell Window") + + def __whatsThis(self): + """ + Private slot called in to enter Whats This mode. + """ + QWhatsThis.enterWhatsThisMode() + + ################################################################## + ## Below are the main menu handling methods + ################################################################## + + def __createMenus(self): + """ + Private method to create the menus of the menu bar. + """ + self.__fileMenu = self.menuBar().addMenu(self.tr("&File")) + self.__fileMenu.setTearOffEnabled(True) + self.__fileMenu.addAction(self.newWindowAct) + self.__fileMenu.addSeparator() + self.__fileMenu.addAction(self.restartAct) + self.__fileMenu.addAction(self.clearRestartAct) + self.__fileMenu.addSeparator() + self.__fileMenu.addAction(self.exitAct) + + self.__editMenu = self.menuBar().addMenu(self.tr("&Edit")) + self.__editMenu.setTearOffEnabled(True) + self.__editMenu.addAction(self.cutAct) + self.__editMenu.addAction(self.copyAct) + self.__editMenu.addAction(self.pasteAct) + self.__editMenu.addAction(self.clearAct) + self.__editMenu.addSeparator() + self.__editMenu.addAction(self.searchAct) + self.__editMenu.addAction(self.searchNextAct) + self.__editMenu.addAction(self.searchPrevAct) + + self.__viewMenu = self.menuBar().addMenu(self.tr("&View")) + self.__viewMenu.setTearOffEnabled(True) + self.__viewMenu.addAction(self.zoomInAct) + self.__viewMenu.addAction(self.zoomOutAct) + self.__viewMenu.addAction(self.zoomResetAct) + self.__viewMenu.addAction(self.zoomToAct) + + self.__historyMenu = self.menuBar().addMenu(self.tr("Histor&y")) + self.__historyMenu.setTearOffEnabled(True) + self.__historyMenu.addAction(self.selectHistoryAct) + self.__historyMenu.addAction(self.showHistoryAct) + self.__historyMenu.addAction(self.clearHistoryAct) + + self.__startMenu = self.menuBar().addMenu(self.tr("&Start")) + self.__startMenu.aboutToShow.connect(self.__showLanguageMenu) + self.__startMenu.triggered.connect(self.__startShell) + + self.menuBar().addSeparator() + + self.__helpMenu = self.menuBar().addMenu(self.tr("&Help")) + self.__helpMenu.setTearOffEnabled(True) + self.__helpMenu.addAction(self.aboutAct) + self.__helpMenu.addAction(self.aboutQtAct) + self.__helpMenu.addSeparator() + self.__helpMenu.addAction(self.whatsThisAct) + + def __showLanguageMenu(self): + """ + Private slot to prepare the language menu. + """ + self.__startMenu.clear() + clientLanguages = self.__debugServer.getSupportedLanguages( + shellOnly=True) + for language in sorted(clientLanguages): + act = self.__startMenu.addAction(language) + act.setData(language) + + def __startShell(self, action): + """ + Private slot to start a shell according to the action triggered. + + @param action menu action that was triggered (QAction) + """ + language = action.data() + self.__debugServer.startClient(False, language) + + ################################################################## + ## Below are the toolbar handling methods + ################################################################## + + def __createToolBars(self): + """ + Private method to create the various toolbars. + """ + filetb = self.addToolBar(self.tr("File")) + filetb.setIconSize(UI.Config.ToolBarIconSize) + filetb.addAction(self.newWindowAct) + filetb.addSeparator() + filetb.addAction(self.restartAct) + filetb.addAction(self.clearRestartAct) + filetb.addSeparator() + filetb.addAction(self.exitAct) + + edittb = self.addToolBar(self.tr("Edit")) + edittb.setIconSize(UI.Config.ToolBarIconSize) + edittb.addAction(self.cutAct) + edittb.addAction(self.copyAct) + edittb.addAction(self.pasteAct) + edittb.addAction(self.clearAct) + + findtb = self.addToolBar(self.tr("Find")) + findtb.setIconSize(UI.Config.ToolBarIconSize) + findtb.addAction(self.searchAct) + findtb.addAction(self.searchNextAct) + findtb.addAction(self.searchPrevAct) + + viewtb = self.addToolBar(self.tr("View")) + viewtb.setIconSize(UI.Config.ToolBarIconSize) + viewtb.addAction(self.zoomInAct) + viewtb.addAction(self.zoomOutAct) + viewtb.addAction(self.zoomResetAct) + viewtb.addAction(self.zoomToAct) + + historytb = self.addToolBar(self.tr("History")) + historytb.setIconSize(UI.Config.ToolBarIconSize) + historytb.addAction(self.showHistoryAct) + historytb.addAction(self.clearHistoryAct) + + helptb = self.addToolBar(self.tr("Help")) + helptb.setIconSize(UI.Config.ToolBarIconSize) + helptb.addAction(self.whatsThisAct) + + ################################################################## + ## Below are the status bar handling methods + ################################################################## + + def __createStatusBar(self): + """ + Private slot to set up the status bar. + """ + self.__statusBar = self.statusBar() + self.__statusBar.setSizeGripEnabled(True) + + self.__sbZoom = E5ZoomWidget( + UI.PixmapCache.getPixmap("zoomOut.png"), + UI.PixmapCache.getPixmap("zoomIn.png"), + UI.PixmapCache.getPixmap("zoomReset.png"), + self.__statusBar) + self.__statusBar.addPermanentWidget(self.__sbZoom) + self.__sbZoom.setWhatsThis(self.tr( + """<p>This part of the status bar allows zooming the shell.</p>""" + )) + + self.__sbZoom.valueChanged.connect(self.__zoomTo) + self.__sbZoom.setValue(0)
--- a/ThirdParty/CharDet/README.rst Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/README.rst Sat May 06 13:43:21 2017 +0200 @@ -1,19 +1,41 @@ Chardet: The Universal Character Encoding Detector -------------------------------------------------- +.. image:: https://img.shields.io/travis/chardet/chardet/stable.svg + :alt: Build status + :target: https://travis-ci.org/chardet/chardet + +.. image:: https://img.shields.io/coveralls/chardet/chardet/stable.svg + :target: https://coveralls.io/r/chardet/chardet + +.. image:: https://img.shields.io/pypi/dm/chardet.svg + :target: https://warehouse.python.org/project/chardet/ + :alt: PyPI downloads + +.. image:: https://img.shields.io/pypi/v/chardet.svg + :target: https://warehouse.python.org/project/chardet/ + :alt: Latest version on PyPI + +.. image:: https://img.shields.io/pypi/l/chardet.svg + :alt: License + + Detects - ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants) - Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified Chinese) - EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP (Japanese) - EUC-KR, ISO-2022-KR (Korean) - KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (Cyrillic) - - ISO-8859-2, windows-1250 (Hungarian) - ISO-8859-5, windows-1251 (Bulgarian) - - windows-1252 (English) + - ISO-8859-1, windows-1252 (Western European languages) - ISO-8859-7, windows-1253 (Greek) - ISO-8859-8, windows-1255 (Visual and Logical Hebrew) - TIS-620 (Thai) +.. note:: + Our ISO-8859-2 and windows-1250 (Hungarian) probers have been temporarily + disabled until we can retrain the models. + Requires Python 2.6 or later Installation @@ -23,6 +45,10 @@ pip install chardet +Documentation +------------- + +For users, docs are now available at http://chardet.readthedocs.org. Command-line Tool -----------------
--- a/ThirdParty/CharDet/chardet/__init__.py Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/chardet/__init__.py Sat May 06 13:43:21 2017 +0200 @@ -15,18 +15,25 @@ # 02110-1301 USA ######################### END LICENSE BLOCK ######################### -__version__ = "2.3.0" -from sys import version_info + +from .compat import PY2, PY3 +from .universaldetector import UniversalDetector +from .version import __version__, VERSION -def detect(aBuf): - if ((version_info < (3, 0) and isinstance(aBuf, unicode)) or - (version_info >= (3, 0) and not isinstance(aBuf, bytes))): - raise ValueError('Expected a bytes object, not a unicode object') +def detect(byte_str): + """ + Detect the encoding of the given byte string. - from . import universaldetector - u = universaldetector.UniversalDetector() - u.reset() - u.feed(aBuf) - u.close() - return u.result + :param byte_str: The byte sequence to examine. + :type byte_str: ``bytes`` or ``bytearray`` + """ + if not isinstance(byte_str, bytearray): + if not isinstance(byte_str, bytes): + raise TypeError('Expected object of type bytes or bytearray, got: ' + '{0}'.format(type(byte_str))) + else: + byte_str = bytearray(byte_str) + detector = UniversalDetector() + detector.feed(byte_str) + return detector.close()
--- a/ThirdParty/CharDet/chardet/big5freq.py Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/chardet/big5freq.py Sat May 06 13:43:21 2017 +0200 @@ -45,7 +45,7 @@ #Char to FreqOrder table BIG5_TABLE_SIZE = 5376 -Big5CharToFreqOrder = ( +BIG5_CHAR_TO_FREQ_ORDER = ( 1,1801,1506, 255,1431, 198, 9, 82, 6,5008, 177, 202,3681,1256,2821, 110, # 16 3814, 33,3274, 261, 76, 44,2114, 16,2946,2187,1176, 659,3971, 26,3451,2653, # 32 1198,3972,3350,4202, 410,2215, 302, 590, 361,1964, 8, 204, 58,4510,5009,1932, # 48 @@ -381,545 +381,6 @@ 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, # 5328 3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, # 5344 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, # 5360 -2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, # 5376 #last 512 -#Everything below is of no interest for detection purpose -2522,1613,4812,5799,3345,3945,2523,5800,4162,5801,1637,4163,2471,4813,3946,5802, # 5392 -2500,3034,3800,5803,5804,2195,4814,5805,2163,5806,5807,5808,5809,5810,5811,5812, # 5408 -5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824,5825,5826,5827,5828, # 5424 -5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5842,5843,5844, # 5440 -5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856,5857,5858,5859,5860, # 5456 -5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872,5873,5874,5875,5876, # 5472 -5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888,5889,5890,5891,5892, # 5488 -5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904,5905,5906,5907,5908, # 5504 -5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920,5921,5922,5923,5924, # 5520 -5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936,5937,5938,5939,5940, # 5536 -5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952,5953,5954,5955,5956, # 5552 -5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968,5969,5970,5971,5972, # 5568 -5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984,5985,5986,5987,5988, # 5584 -5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000,6001,6002,6003,6004, # 5600 -6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016,6017,6018,6019,6020, # 5616 -6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032,6033,6034,6035,6036, # 5632 -6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048,6049,6050,6051,6052, # 5648 -6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6068, # 5664 -6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084, # 5680 -6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6100, # 5696 -6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116, # 5712 -6117,6118,6119,6120,6121,6122,6123,6124,6125,6126,6127,6128,6129,6130,6131,6132, # 5728 -6133,6134,6135,6136,6137,6138,6139,6140,6141,6142,6143,6144,6145,6146,6147,6148, # 5744 -6149,6150,6151,6152,6153,6154,6155,6156,6157,6158,6159,6160,6161,6162,6163,6164, # 5760 -6165,6166,6167,6168,6169,6170,6171,6172,6173,6174,6175,6176,6177,6178,6179,6180, # 5776 -6181,6182,6183,6184,6185,6186,6187,6188,6189,6190,6191,6192,6193,6194,6195,6196, # 5792 -6197,6198,6199,6200,6201,6202,6203,6204,6205,6206,6207,6208,6209,6210,6211,6212, # 5808 -6213,6214,6215,6216,6217,6218,6219,6220,6221,6222,6223,3670,6224,6225,6226,6227, # 5824 -6228,6229,6230,6231,6232,6233,6234,6235,6236,6237,6238,6239,6240,6241,6242,6243, # 5840 -6244,6245,6246,6247,6248,6249,6250,6251,6252,6253,6254,6255,6256,6257,6258,6259, # 5856 -6260,6261,6262,6263,6264,6265,6266,6267,6268,6269,6270,6271,6272,6273,6274,6275, # 5872 -6276,6277,6278,6279,6280,6281,6282,6283,6284,6285,4815,6286,6287,6288,6289,6290, # 5888 -6291,6292,4816,6293,6294,6295,6296,6297,6298,6299,6300,6301,6302,6303,6304,6305, # 5904 -6306,6307,6308,6309,6310,6311,4817,4818,6312,6313,6314,6315,6316,6317,6318,4819, # 5920 -6319,6320,6321,6322,6323,6324,6325,6326,6327,6328,6329,6330,6331,6332,6333,6334, # 5936 -6335,6336,6337,4820,6338,6339,6340,6341,6342,6343,6344,6345,6346,6347,6348,6349, # 5952 -6350,6351,6352,6353,6354,6355,6356,6357,6358,6359,6360,6361,6362,6363,6364,6365, # 5968 -6366,6367,6368,6369,6370,6371,6372,6373,6374,6375,6376,6377,6378,6379,6380,6381, # 5984 -6382,6383,6384,6385,6386,6387,6388,6389,6390,6391,6392,6393,6394,6395,6396,6397, # 6000 -6398,6399,6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,6410,3441,6411,6412, # 6016 -6413,6414,6415,6416,6417,6418,6419,6420,6421,6422,6423,6424,6425,4440,6426,6427, # 6032 -6428,6429,6430,6431,6432,6433,6434,6435,6436,6437,6438,6439,6440,6441,6442,6443, # 6048 -6444,6445,6446,6447,6448,6449,6450,6451,6452,6453,6454,4821,6455,6456,6457,6458, # 6064 -6459,6460,6461,6462,6463,6464,6465,6466,6467,6468,6469,6470,6471,6472,6473,6474, # 6080 -6475,6476,6477,3947,3948,6478,6479,6480,6481,3272,4441,6482,6483,6484,6485,4442, # 6096 -6486,6487,6488,6489,6490,6491,6492,6493,6494,6495,6496,4822,6497,6498,6499,6500, # 6112 -6501,6502,6503,6504,6505,6506,6507,6508,6509,6510,6511,6512,6513,6514,6515,6516, # 6128 -6517,6518,6519,6520,6521,6522,6523,6524,6525,6526,6527,6528,6529,6530,6531,6532, # 6144 -6533,6534,6535,6536,6537,6538,6539,6540,6541,6542,6543,6544,6545,6546,6547,6548, # 6160 -6549,6550,6551,6552,6553,6554,6555,6556,2784,6557,4823,6558,6559,6560,6561,6562, # 6176 -6563,6564,6565,6566,6567,6568,6569,3949,6570,6571,6572,4824,6573,6574,6575,6576, # 6192 -6577,6578,6579,6580,6581,6582,6583,4825,6584,6585,6586,3950,2785,6587,6588,6589, # 6208 -6590,6591,6592,6593,6594,6595,6596,6597,6598,6599,6600,6601,6602,6603,6604,6605, # 6224 -6606,6607,6608,6609,6610,6611,6612,4826,6613,6614,6615,4827,6616,6617,6618,6619, # 6240 -6620,6621,6622,6623,6624,6625,4164,6626,6627,6628,6629,6630,6631,6632,6633,6634, # 6256 -3547,6635,4828,6636,6637,6638,6639,6640,6641,6642,3951,2984,6643,6644,6645,6646, # 6272 -6647,6648,6649,4165,6650,4829,6651,6652,4830,6653,6654,6655,6656,6657,6658,6659, # 6288 -6660,6661,6662,4831,6663,6664,6665,6666,6667,6668,6669,6670,6671,4166,6672,4832, # 6304 -3952,6673,6674,6675,6676,4833,6677,6678,6679,4167,6680,6681,6682,3198,6683,6684, # 6320 -6685,6686,6687,6688,6689,6690,6691,6692,6693,6694,6695,6696,6697,4834,6698,6699, # 6336 -6700,6701,6702,6703,6704,6705,6706,6707,6708,6709,6710,6711,6712,6713,6714,6715, # 6352 -6716,6717,6718,6719,6720,6721,6722,6723,6724,6725,6726,6727,6728,6729,6730,6731, # 6368 -6732,6733,6734,4443,6735,6736,6737,6738,6739,6740,6741,6742,6743,6744,6745,4444, # 6384 -6746,6747,6748,6749,6750,6751,6752,6753,6754,6755,6756,6757,6758,6759,6760,6761, # 6400 -6762,6763,6764,6765,6766,6767,6768,6769,6770,6771,6772,6773,6774,6775,6776,6777, # 6416 -6778,6779,6780,6781,4168,6782,6783,3442,6784,6785,6786,6787,6788,6789,6790,6791, # 6432 -4169,6792,6793,6794,6795,6796,6797,6798,6799,6800,6801,6802,6803,6804,6805,6806, # 6448 -6807,6808,6809,6810,6811,4835,6812,6813,6814,4445,6815,6816,4446,6817,6818,6819, # 6464 -6820,6821,6822,6823,6824,6825,6826,6827,6828,6829,6830,6831,6832,6833,6834,6835, # 6480 -3548,6836,6837,6838,6839,6840,6841,6842,6843,6844,6845,6846,4836,6847,6848,6849, # 6496 -6850,6851,6852,6853,6854,3953,6855,6856,6857,6858,6859,6860,6861,6862,6863,6864, # 6512 -6865,6866,6867,6868,6869,6870,6871,6872,6873,6874,6875,6876,6877,3199,6878,6879, # 6528 -6880,6881,6882,4447,6883,6884,6885,6886,6887,6888,6889,6890,6891,6892,6893,6894, # 6544 -6895,6896,6897,6898,6899,6900,6901,6902,6903,6904,4170,6905,6906,6907,6908,6909, # 6560 -6910,6911,6912,6913,6914,6915,6916,6917,6918,6919,6920,6921,6922,6923,6924,6925, # 6576 -6926,6927,4837,6928,6929,6930,6931,6932,6933,6934,6935,6936,3346,6937,6938,4838, # 6592 -6939,6940,6941,4448,6942,6943,6944,6945,6946,4449,6947,6948,6949,6950,6951,6952, # 6608 -6953,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6964,6965,6966,6967,6968, # 6624 -6969,6970,6971,6972,6973,6974,6975,6976,6977,6978,6979,6980,6981,6982,6983,6984, # 6640 -6985,6986,6987,6988,6989,6990,6991,6992,6993,6994,3671,6995,6996,6997,6998,4839, # 6656 -6999,7000,7001,7002,3549,7003,7004,7005,7006,7007,7008,7009,7010,7011,7012,7013, # 6672 -7014,7015,7016,7017,7018,7019,7020,7021,7022,7023,7024,7025,7026,7027,7028,7029, # 6688 -7030,4840,7031,7032,7033,7034,7035,7036,7037,7038,4841,7039,7040,7041,7042,7043, # 6704 -7044,7045,7046,7047,7048,7049,7050,7051,7052,7053,7054,7055,7056,7057,7058,7059, # 6720 -7060,7061,7062,7063,7064,7065,7066,7067,7068,7069,7070,2985,7071,7072,7073,7074, # 6736 -7075,7076,7077,7078,7079,7080,4842,7081,7082,7083,7084,7085,7086,7087,7088,7089, # 6752 -7090,7091,7092,7093,7094,7095,7096,7097,7098,7099,7100,7101,7102,7103,7104,7105, # 6768 -7106,7107,7108,7109,7110,7111,7112,7113,7114,7115,7116,7117,7118,4450,7119,7120, # 6784 -7121,7122,7123,7124,7125,7126,7127,7128,7129,7130,7131,7132,7133,7134,7135,7136, # 6800 -7137,7138,7139,7140,7141,7142,7143,4843,7144,7145,7146,7147,7148,7149,7150,7151, # 6816 -7152,7153,7154,7155,7156,7157,7158,7159,7160,7161,7162,7163,7164,7165,7166,7167, # 6832 -7168,7169,7170,7171,7172,7173,7174,7175,7176,7177,7178,7179,7180,7181,7182,7183, # 6848 -7184,7185,7186,7187,7188,4171,4172,7189,7190,7191,7192,7193,7194,7195,7196,7197, # 6864 -7198,7199,7200,7201,7202,7203,7204,7205,7206,7207,7208,7209,7210,7211,7212,7213, # 6880 -7214,7215,7216,7217,7218,7219,7220,7221,7222,7223,7224,7225,7226,7227,7228,7229, # 6896 -7230,7231,7232,7233,7234,7235,7236,7237,7238,7239,7240,7241,7242,7243,7244,7245, # 6912 -7246,7247,7248,7249,7250,7251,7252,7253,7254,7255,7256,7257,7258,7259,7260,7261, # 6928 -7262,7263,7264,7265,7266,7267,7268,7269,7270,7271,7272,7273,7274,7275,7276,7277, # 6944 -7278,7279,7280,7281,7282,7283,7284,7285,7286,7287,7288,7289,7290,7291,7292,7293, # 6960 -7294,7295,7296,4844,7297,7298,7299,7300,7301,7302,7303,7304,7305,7306,7307,7308, # 6976 -7309,7310,7311,7312,7313,7314,7315,7316,4451,7317,7318,7319,7320,7321,7322,7323, # 6992 -7324,7325,7326,7327,7328,7329,7330,7331,7332,7333,7334,7335,7336,7337,7338,7339, # 7008 -7340,7341,7342,7343,7344,7345,7346,7347,7348,7349,7350,7351,7352,7353,4173,7354, # 7024 -7355,4845,7356,7357,7358,7359,7360,7361,7362,7363,7364,7365,7366,7367,7368,7369, # 7040 -7370,7371,7372,7373,7374,7375,7376,7377,7378,7379,7380,7381,7382,7383,7384,7385, # 7056 -7386,7387,7388,4846,7389,7390,7391,7392,7393,7394,7395,7396,7397,7398,7399,7400, # 7072 -7401,7402,7403,7404,7405,3672,7406,7407,7408,7409,7410,7411,7412,7413,7414,7415, # 7088 -7416,7417,7418,7419,7420,7421,7422,7423,7424,7425,7426,7427,7428,7429,7430,7431, # 7104 -7432,7433,7434,7435,7436,7437,7438,7439,7440,7441,7442,7443,7444,7445,7446,7447, # 7120 -7448,7449,7450,7451,7452,7453,4452,7454,3200,7455,7456,7457,7458,7459,7460,7461, # 7136 -7462,7463,7464,7465,7466,7467,7468,7469,7470,7471,7472,7473,7474,4847,7475,7476, # 7152 -7477,3133,7478,7479,7480,7481,7482,7483,7484,7485,7486,7487,7488,7489,7490,7491, # 7168 -7492,7493,7494,7495,7496,7497,7498,7499,7500,7501,7502,3347,7503,7504,7505,7506, # 7184 -7507,7508,7509,7510,7511,7512,7513,7514,7515,7516,7517,7518,7519,7520,7521,4848, # 7200 -7522,7523,7524,7525,7526,7527,7528,7529,7530,7531,7532,7533,7534,7535,7536,7537, # 7216 -7538,7539,7540,7541,7542,7543,7544,7545,7546,7547,7548,7549,3801,4849,7550,7551, # 7232 -7552,7553,7554,7555,7556,7557,7558,7559,7560,7561,7562,7563,7564,7565,7566,7567, # 7248 -7568,7569,3035,7570,7571,7572,7573,7574,7575,7576,7577,7578,7579,7580,7581,7582, # 7264 -7583,7584,7585,7586,7587,7588,7589,7590,7591,7592,7593,7594,7595,7596,7597,7598, # 7280 -7599,7600,7601,7602,7603,7604,7605,7606,7607,7608,7609,7610,7611,7612,7613,7614, # 7296 -7615,7616,4850,7617,7618,3802,7619,7620,7621,7622,7623,7624,7625,7626,7627,7628, # 7312 -7629,7630,7631,7632,4851,7633,7634,7635,7636,7637,7638,7639,7640,7641,7642,7643, # 7328 -7644,7645,7646,7647,7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659, # 7344 -7660,7661,7662,7663,7664,7665,7666,7667,7668,7669,7670,4453,7671,7672,7673,7674, # 7360 -7675,7676,7677,7678,7679,7680,7681,7682,7683,7684,7685,7686,7687,7688,7689,7690, # 7376 -7691,7692,7693,7694,7695,7696,7697,3443,7698,7699,7700,7701,7702,4454,7703,7704, # 7392 -7705,7706,7707,7708,7709,7710,7711,7712,7713,2472,7714,7715,7716,7717,7718,7719, # 7408 -7720,7721,7722,7723,7724,7725,7726,7727,7728,7729,7730,7731,3954,7732,7733,7734, # 7424 -7735,7736,7737,7738,7739,7740,7741,7742,7743,7744,7745,7746,7747,7748,7749,7750, # 7440 -3134,7751,7752,4852,7753,7754,7755,4853,7756,7757,7758,7759,7760,4174,7761,7762, # 7456 -7763,7764,7765,7766,7767,7768,7769,7770,7771,7772,7773,7774,7775,7776,7777,7778, # 7472 -7779,7780,7781,7782,7783,7784,7785,7786,7787,7788,7789,7790,7791,7792,7793,7794, # 7488 -7795,7796,7797,7798,7799,7800,7801,7802,7803,7804,7805,4854,7806,7807,7808,7809, # 7504 -7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,7824,7825, # 7520 -4855,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839,7840, # 7536 -7841,7842,7843,7844,7845,7846,7847,3955,7848,7849,7850,7851,7852,7853,7854,7855, # 7552 -7856,7857,7858,7859,7860,3444,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870, # 7568 -7871,7872,7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886, # 7584 -7887,7888,7889,7890,7891,4175,7892,7893,7894,7895,7896,4856,4857,7897,7898,7899, # 7600 -7900,2598,7901,7902,7903,7904,7905,7906,7907,7908,4455,7909,7910,7911,7912,7913, # 7616 -7914,3201,7915,7916,7917,7918,7919,7920,7921,4858,7922,7923,7924,7925,7926,7927, # 7632 -7928,7929,7930,7931,7932,7933,7934,7935,7936,7937,7938,7939,7940,7941,7942,7943, # 7648 -7944,7945,7946,7947,7948,7949,7950,7951,7952,7953,7954,7955,7956,7957,7958,7959, # 7664 -7960,7961,7962,7963,7964,7965,7966,7967,7968,7969,7970,7971,7972,7973,7974,7975, # 7680 -7976,7977,7978,7979,7980,7981,4859,7982,7983,7984,7985,7986,7987,7988,7989,7990, # 7696 -7991,7992,7993,7994,7995,7996,4860,7997,7998,7999,8000,8001,8002,8003,8004,8005, # 7712 -8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,8016,4176,8017,8018,8019,8020, # 7728 -8021,8022,8023,4861,8024,8025,8026,8027,8028,8029,8030,8031,8032,8033,8034,8035, # 7744 -8036,4862,4456,8037,8038,8039,8040,4863,8041,8042,8043,8044,8045,8046,8047,8048, # 7760 -8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063,8064, # 7776 -8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079,8080, # 7792 -8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,8096, # 7808 -8097,8098,8099,4864,4177,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110, # 7824 -8111,8112,8113,8114,8115,8116,8117,8118,8119,8120,4178,8121,8122,8123,8124,8125, # 7840 -8126,8127,8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141, # 7856 -8142,8143,8144,8145,4865,4866,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155, # 7872 -8156,8157,8158,8159,8160,8161,8162,8163,8164,8165,4179,8166,8167,8168,8169,8170, # 7888 -8171,8172,8173,8174,8175,8176,8177,8178,8179,8180,8181,4457,8182,8183,8184,8185, # 7904 -8186,8187,8188,8189,8190,8191,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201, # 7920 -8202,8203,8204,8205,8206,8207,8208,8209,8210,8211,8212,8213,8214,8215,8216,8217, # 7936 -8218,8219,8220,8221,8222,8223,8224,8225,8226,8227,8228,8229,8230,8231,8232,8233, # 7952 -8234,8235,8236,8237,8238,8239,8240,8241,8242,8243,8244,8245,8246,8247,8248,8249, # 7968 -8250,8251,8252,8253,8254,8255,8256,3445,8257,8258,8259,8260,8261,8262,4458,8263, # 7984 -8264,8265,8266,8267,8268,8269,8270,8271,8272,4459,8273,8274,8275,8276,3550,8277, # 8000 -8278,8279,8280,8281,8282,8283,8284,8285,8286,8287,8288,8289,4460,8290,8291,8292, # 8016 -8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,8304,8305,8306,8307,4867, # 8032 -8308,8309,8310,8311,8312,3551,8313,8314,8315,8316,8317,8318,8319,8320,8321,8322, # 8048 -8323,8324,8325,8326,4868,8327,8328,8329,8330,8331,8332,8333,8334,8335,8336,8337, # 8064 -8338,8339,8340,8341,8342,8343,8344,8345,8346,8347,8348,8349,8350,8351,8352,8353, # 8080 -8354,8355,8356,8357,8358,8359,8360,8361,8362,8363,4869,4461,8364,8365,8366,8367, # 8096 -8368,8369,8370,4870,8371,8372,8373,8374,8375,8376,8377,8378,8379,8380,8381,8382, # 8112 -8383,8384,8385,8386,8387,8388,8389,8390,8391,8392,8393,8394,8395,8396,8397,8398, # 8128 -8399,8400,8401,8402,8403,8404,8405,8406,8407,8408,8409,8410,4871,8411,8412,8413, # 8144 -8414,8415,8416,8417,8418,8419,8420,8421,8422,4462,8423,8424,8425,8426,8427,8428, # 8160 -8429,8430,8431,8432,8433,2986,8434,8435,8436,8437,8438,8439,8440,8441,8442,8443, # 8176 -8444,8445,8446,8447,8448,8449,8450,8451,8452,8453,8454,8455,8456,8457,8458,8459, # 8192 -8460,8461,8462,8463,8464,8465,8466,8467,8468,8469,8470,8471,8472,8473,8474,8475, # 8208 -8476,8477,8478,4180,8479,8480,8481,8482,8483,8484,8485,8486,8487,8488,8489,8490, # 8224 -8491,8492,8493,8494,8495,8496,8497,8498,8499,8500,8501,8502,8503,8504,8505,8506, # 8240 -8507,8508,8509,8510,8511,8512,8513,8514,8515,8516,8517,8518,8519,8520,8521,8522, # 8256 -8523,8524,8525,8526,8527,8528,8529,8530,8531,8532,8533,8534,8535,8536,8537,8538, # 8272 -8539,8540,8541,8542,8543,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554, # 8288 -8555,8556,8557,8558,8559,8560,8561,8562,8563,8564,4872,8565,8566,8567,8568,8569, # 8304 -8570,8571,8572,8573,4873,8574,8575,8576,8577,8578,8579,8580,8581,8582,8583,8584, # 8320 -8585,8586,8587,8588,8589,8590,8591,8592,8593,8594,8595,8596,8597,8598,8599,8600, # 8336 -8601,8602,8603,8604,8605,3803,8606,8607,8608,8609,8610,8611,8612,8613,4874,3804, # 8352 -8614,8615,8616,8617,8618,8619,8620,8621,3956,8622,8623,8624,8625,8626,8627,8628, # 8368 -8629,8630,8631,8632,8633,8634,8635,8636,8637,8638,2865,8639,8640,8641,8642,8643, # 8384 -8644,8645,8646,8647,8648,8649,8650,8651,8652,8653,8654,8655,8656,4463,8657,8658, # 8400 -8659,4875,4876,8660,8661,8662,8663,8664,8665,8666,8667,8668,8669,8670,8671,8672, # 8416 -8673,8674,8675,8676,8677,8678,8679,8680,8681,4464,8682,8683,8684,8685,8686,8687, # 8432 -8688,8689,8690,8691,8692,8693,8694,8695,8696,8697,8698,8699,8700,8701,8702,8703, # 8448 -8704,8705,8706,8707,8708,8709,2261,8710,8711,8712,8713,8714,8715,8716,8717,8718, # 8464 -8719,8720,8721,8722,8723,8724,8725,8726,8727,8728,8729,8730,8731,8732,8733,4181, # 8480 -8734,8735,8736,8737,8738,8739,8740,8741,8742,8743,8744,8745,8746,8747,8748,8749, # 8496 -8750,8751,8752,8753,8754,8755,8756,8757,8758,8759,8760,8761,8762,8763,4877,8764, # 8512 -8765,8766,8767,8768,8769,8770,8771,8772,8773,8774,8775,8776,8777,8778,8779,8780, # 8528 -8781,8782,8783,8784,8785,8786,8787,8788,4878,8789,4879,8790,8791,8792,4880,8793, # 8544 -8794,8795,8796,8797,8798,8799,8800,8801,4881,8802,8803,8804,8805,8806,8807,8808, # 8560 -8809,8810,8811,8812,8813,8814,8815,3957,8816,8817,8818,8819,8820,8821,8822,8823, # 8576 -8824,8825,8826,8827,8828,8829,8830,8831,8832,8833,8834,8835,8836,8837,8838,8839, # 8592 -8840,8841,8842,8843,8844,8845,8846,8847,4882,8848,8849,8850,8851,8852,8853,8854, # 8608 -8855,8856,8857,8858,8859,8860,8861,8862,8863,8864,8865,8866,8867,8868,8869,8870, # 8624 -8871,8872,8873,8874,8875,8876,8877,8878,8879,8880,8881,8882,8883,8884,3202,8885, # 8640 -8886,8887,8888,8889,8890,8891,8892,8893,8894,8895,8896,8897,8898,8899,8900,8901, # 8656 -8902,8903,8904,8905,8906,8907,8908,8909,8910,8911,8912,8913,8914,8915,8916,8917, # 8672 -8918,8919,8920,8921,8922,8923,8924,4465,8925,8926,8927,8928,8929,8930,8931,8932, # 8688 -4883,8933,8934,8935,8936,8937,8938,8939,8940,8941,8942,8943,2214,8944,8945,8946, # 8704 -8947,8948,8949,8950,8951,8952,8953,8954,8955,8956,8957,8958,8959,8960,8961,8962, # 8720 -8963,8964,8965,4884,8966,8967,8968,8969,8970,8971,8972,8973,8974,8975,8976,8977, # 8736 -8978,8979,8980,8981,8982,8983,8984,8985,8986,8987,8988,8989,8990,8991,8992,4885, # 8752 -8993,8994,8995,8996,8997,8998,8999,9000,9001,9002,9003,9004,9005,9006,9007,9008, # 8768 -9009,9010,9011,9012,9013,9014,9015,9016,9017,9018,9019,9020,9021,4182,9022,9023, # 8784 -9024,9025,9026,9027,9028,9029,9030,9031,9032,9033,9034,9035,9036,9037,9038,9039, # 8800 -9040,9041,9042,9043,9044,9045,9046,9047,9048,9049,9050,9051,9052,9053,9054,9055, # 8816 -9056,9057,9058,9059,9060,9061,9062,9063,4886,9064,9065,9066,9067,9068,9069,4887, # 8832 -9070,9071,9072,9073,9074,9075,9076,9077,9078,9079,9080,9081,9082,9083,9084,9085, # 8848 -9086,9087,9088,9089,9090,9091,9092,9093,9094,9095,9096,9097,9098,9099,9100,9101, # 8864 -9102,9103,9104,9105,9106,9107,9108,9109,9110,9111,9112,9113,9114,9115,9116,9117, # 8880 -9118,9119,9120,9121,9122,9123,9124,9125,9126,9127,9128,9129,9130,9131,9132,9133, # 8896 -9134,9135,9136,9137,9138,9139,9140,9141,3958,9142,9143,9144,9145,9146,9147,9148, # 8912 -9149,9150,9151,4888,9152,9153,9154,9155,9156,9157,9158,9159,9160,9161,9162,9163, # 8928 -9164,9165,9166,9167,9168,9169,9170,9171,9172,9173,9174,9175,4889,9176,9177,9178, # 8944 -9179,9180,9181,9182,9183,9184,9185,9186,9187,9188,9189,9190,9191,9192,9193,9194, # 8960 -9195,9196,9197,9198,9199,9200,9201,9202,9203,4890,9204,9205,9206,9207,9208,9209, # 8976 -9210,9211,9212,9213,9214,9215,9216,9217,9218,9219,9220,9221,9222,4466,9223,9224, # 8992 -9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240, # 9008 -9241,9242,9243,9244,9245,4891,9246,9247,9248,9249,9250,9251,9252,9253,9254,9255, # 9024 -9256,9257,4892,9258,9259,9260,9261,4893,4894,9262,9263,9264,9265,9266,9267,9268, # 9040 -9269,9270,9271,9272,9273,4467,9274,9275,9276,9277,9278,9279,9280,9281,9282,9283, # 9056 -9284,9285,3673,9286,9287,9288,9289,9290,9291,9292,9293,9294,9295,9296,9297,9298, # 9072 -9299,9300,9301,9302,9303,9304,9305,9306,9307,9308,9309,9310,9311,9312,9313,9314, # 9088 -9315,9316,9317,9318,9319,9320,9321,9322,4895,9323,9324,9325,9326,9327,9328,9329, # 9104 -9330,9331,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345, # 9120 -9346,9347,4468,9348,9349,9350,9351,9352,9353,9354,9355,9356,9357,9358,9359,9360, # 9136 -9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9372,9373,4896,9374,4469, # 9152 -9375,9376,9377,9378,9379,4897,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389, # 9168 -9390,9391,9392,9393,9394,9395,9396,9397,9398,9399,9400,9401,9402,9403,9404,9405, # 9184 -9406,4470,9407,2751,9408,9409,3674,3552,9410,9411,9412,9413,9414,9415,9416,9417, # 9200 -9418,9419,9420,9421,4898,9422,9423,9424,9425,9426,9427,9428,9429,3959,9430,9431, # 9216 -9432,9433,9434,9435,9436,4471,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446, # 9232 -9447,9448,9449,9450,3348,9451,9452,9453,9454,9455,9456,9457,9458,9459,9460,9461, # 9248 -9462,9463,9464,9465,9466,9467,9468,9469,9470,9471,9472,4899,9473,9474,9475,9476, # 9264 -9477,4900,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,3349,9489,9490, # 9280 -9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506, # 9296 -9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,4901,9521, # 9312 -9522,9523,9524,9525,9526,4902,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536, # 9328 -9537,9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,9548,9549,9550,9551,9552, # 9344 -9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568, # 9360 -9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584, # 9376 -3805,9585,9586,9587,9588,9589,9590,9591,9592,9593,9594,9595,9596,9597,9598,9599, # 9392 -9600,9601,9602,4903,9603,9604,9605,9606,9607,4904,9608,9609,9610,9611,9612,9613, # 9408 -9614,4905,9615,9616,9617,9618,9619,9620,9621,9622,9623,9624,9625,9626,9627,9628, # 9424 -9629,9630,9631,9632,4906,9633,9634,9635,9636,9637,9638,9639,9640,9641,9642,9643, # 9440 -4907,9644,9645,9646,9647,9648,9649,9650,9651,9652,9653,9654,9655,9656,9657,9658, # 9456 -9659,9660,9661,9662,9663,9664,9665,9666,9667,9668,9669,9670,9671,9672,4183,9673, # 9472 -9674,9675,9676,9677,4908,9678,9679,9680,9681,4909,9682,9683,9684,9685,9686,9687, # 9488 -9688,9689,9690,4910,9691,9692,9693,3675,9694,9695,9696,2945,9697,9698,9699,9700, # 9504 -9701,9702,9703,9704,9705,4911,9706,9707,9708,9709,9710,9711,9712,9713,9714,9715, # 9520 -9716,9717,9718,9719,9720,9721,9722,9723,9724,9725,9726,9727,9728,9729,9730,9731, # 9536 -9732,9733,9734,9735,4912,9736,9737,9738,9739,9740,4913,9741,9742,9743,9744,9745, # 9552 -9746,9747,9748,9749,9750,9751,9752,9753,9754,9755,9756,9757,9758,4914,9759,9760, # 9568 -9761,9762,9763,9764,9765,9766,9767,9768,9769,9770,9771,9772,9773,9774,9775,9776, # 9584 -9777,9778,9779,9780,9781,9782,4915,9783,9784,9785,9786,9787,9788,9789,9790,9791, # 9600 -9792,9793,4916,9794,9795,9796,9797,9798,9799,9800,9801,9802,9803,9804,9805,9806, # 9616 -9807,9808,9809,9810,9811,9812,9813,9814,9815,9816,9817,9818,9819,9820,9821,9822, # 9632 -9823,9824,9825,9826,9827,9828,9829,9830,9831,9832,9833,9834,9835,9836,9837,9838, # 9648 -9839,9840,9841,9842,9843,9844,9845,9846,9847,9848,9849,9850,9851,9852,9853,9854, # 9664 -9855,9856,9857,9858,9859,9860,9861,9862,9863,9864,9865,9866,9867,9868,4917,9869, # 9680 -9870,9871,9872,9873,9874,9875,9876,9877,9878,9879,9880,9881,9882,9883,9884,9885, # 9696 -9886,9887,9888,9889,9890,9891,9892,4472,9893,9894,9895,9896,9897,3806,9898,9899, # 9712 -9900,9901,9902,9903,9904,9905,9906,9907,9908,9909,9910,9911,9912,9913,9914,4918, # 9728 -9915,9916,9917,4919,9918,9919,9920,9921,4184,9922,9923,9924,9925,9926,9927,9928, # 9744 -9929,9930,9931,9932,9933,9934,9935,9936,9937,9938,9939,9940,9941,9942,9943,9944, # 9760 -9945,9946,4920,9947,9948,9949,9950,9951,9952,9953,9954,9955,4185,9956,9957,9958, # 9776 -9959,9960,9961,9962,9963,9964,9965,4921,9966,9967,9968,4473,9969,9970,9971,9972, # 9792 -9973,9974,9975,9976,9977,4474,9978,9979,9980,9981,9982,9983,9984,9985,9986,9987, # 9808 -9988,9989,9990,9991,9992,9993,9994,9995,9996,9997,9998,9999,10000,10001,10002,10003, # 9824 -10004,10005,10006,10007,10008,10009,10010,10011,10012,10013,10014,10015,10016,10017,10018,10019, # 9840 -10020,10021,4922,10022,4923,10023,10024,10025,10026,10027,10028,10029,10030,10031,10032,10033, # 9856 -10034,10035,10036,10037,10038,10039,10040,10041,10042,10043,10044,10045,10046,10047,10048,4924, # 9872 -10049,10050,10051,10052,10053,10054,10055,10056,10057,10058,10059,10060,10061,10062,10063,10064, # 9888 -10065,10066,10067,10068,10069,10070,10071,10072,10073,10074,10075,10076,10077,10078,10079,10080, # 9904 -10081,10082,10083,10084,10085,10086,10087,4475,10088,10089,10090,10091,10092,10093,10094,10095, # 9920 -10096,10097,4476,10098,10099,10100,10101,10102,10103,10104,10105,10106,10107,10108,10109,10110, # 9936 -10111,2174,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,10123,10124,10125, # 9952 -10126,10127,10128,10129,10130,10131,10132,10133,10134,10135,10136,10137,10138,10139,10140,3807, # 9968 -4186,4925,10141,10142,10143,10144,10145,10146,10147,4477,4187,10148,10149,10150,10151,10152, # 9984 -10153,4188,10154,10155,10156,10157,10158,10159,10160,10161,4926,10162,10163,10164,10165,10166, #10000 -10167,10168,10169,10170,10171,10172,10173,10174,10175,10176,10177,10178,10179,10180,10181,10182, #10016 -10183,10184,10185,10186,10187,10188,10189,10190,10191,10192,3203,10193,10194,10195,10196,10197, #10032 -10198,10199,10200,4478,10201,10202,10203,10204,4479,10205,10206,10207,10208,10209,10210,10211, #10048 -10212,10213,10214,10215,10216,10217,10218,10219,10220,10221,10222,10223,10224,10225,10226,10227, #10064 -10228,10229,10230,10231,10232,10233,10234,4927,10235,10236,10237,10238,10239,10240,10241,10242, #10080 -10243,10244,10245,10246,10247,10248,10249,10250,10251,10252,10253,10254,10255,10256,10257,10258, #10096 -10259,10260,10261,10262,10263,10264,10265,10266,10267,10268,10269,10270,10271,10272,10273,4480, #10112 -4928,4929,10274,10275,10276,10277,10278,10279,10280,10281,10282,10283,10284,10285,10286,10287, #10128 -10288,10289,10290,10291,10292,10293,10294,10295,10296,10297,10298,10299,10300,10301,10302,10303, #10144 -10304,10305,10306,10307,10308,10309,10310,10311,10312,10313,10314,10315,10316,10317,10318,10319, #10160 -10320,10321,10322,10323,10324,10325,10326,10327,10328,10329,10330,10331,10332,10333,10334,4930, #10176 -10335,10336,10337,10338,10339,10340,10341,10342,4931,10343,10344,10345,10346,10347,10348,10349, #10192 -10350,10351,10352,10353,10354,10355,3088,10356,2786,10357,10358,10359,10360,4189,10361,10362, #10208 -10363,10364,10365,10366,10367,10368,10369,10370,10371,10372,10373,10374,10375,4932,10376,10377, #10224 -10378,10379,10380,10381,10382,10383,10384,10385,10386,10387,10388,10389,10390,10391,10392,4933, #10240 -10393,10394,10395,4934,10396,10397,10398,10399,10400,10401,10402,10403,10404,10405,10406,10407, #10256 -10408,10409,10410,10411,10412,3446,10413,10414,10415,10416,10417,10418,10419,10420,10421,10422, #10272 -10423,4935,10424,10425,10426,10427,10428,10429,10430,4936,10431,10432,10433,10434,10435,10436, #10288 -10437,10438,10439,10440,10441,10442,10443,4937,10444,10445,10446,10447,4481,10448,10449,10450, #10304 -10451,10452,10453,10454,10455,10456,10457,10458,10459,10460,10461,10462,10463,10464,10465,10466, #10320 -10467,10468,10469,10470,10471,10472,10473,10474,10475,10476,10477,10478,10479,10480,10481,10482, #10336 -10483,10484,10485,10486,10487,10488,10489,10490,10491,10492,10493,10494,10495,10496,10497,10498, #10352 -10499,10500,10501,10502,10503,10504,10505,4938,10506,10507,10508,10509,10510,2552,10511,10512, #10368 -10513,10514,10515,10516,3447,10517,10518,10519,10520,10521,10522,10523,10524,10525,10526,10527, #10384 -10528,10529,10530,10531,10532,10533,10534,10535,10536,10537,10538,10539,10540,10541,10542,10543, #10400 -4482,10544,4939,10545,10546,10547,10548,10549,10550,10551,10552,10553,10554,10555,10556,10557, #10416 -10558,10559,10560,10561,10562,10563,10564,10565,10566,10567,3676,4483,10568,10569,10570,10571, #10432 -10572,3448,10573,10574,10575,10576,10577,10578,10579,10580,10581,10582,10583,10584,10585,10586, #10448 -10587,10588,10589,10590,10591,10592,10593,10594,10595,10596,10597,10598,10599,10600,10601,10602, #10464 -10603,10604,10605,10606,10607,10608,10609,10610,10611,10612,10613,10614,10615,10616,10617,10618, #10480 -10619,10620,10621,10622,10623,10624,10625,10626,10627,4484,10628,10629,10630,10631,10632,4940, #10496 -10633,10634,10635,10636,10637,10638,10639,10640,10641,10642,10643,10644,10645,10646,10647,10648, #10512 -10649,10650,10651,10652,10653,10654,10655,10656,4941,10657,10658,10659,2599,10660,10661,10662, #10528 -10663,10664,10665,10666,3089,10667,10668,10669,10670,10671,10672,10673,10674,10675,10676,10677, #10544 -10678,10679,10680,4942,10681,10682,10683,10684,10685,10686,10687,10688,10689,10690,10691,10692, #10560 -10693,10694,10695,10696,10697,4485,10698,10699,10700,10701,10702,10703,10704,4943,10705,3677, #10576 -10706,10707,10708,10709,10710,10711,10712,4944,10713,10714,10715,10716,10717,10718,10719,10720, #10592 -10721,10722,10723,10724,10725,10726,10727,10728,4945,10729,10730,10731,10732,10733,10734,10735, #10608 -10736,10737,10738,10739,10740,10741,10742,10743,10744,10745,10746,10747,10748,10749,10750,10751, #10624 -10752,10753,10754,10755,10756,10757,10758,10759,10760,10761,4946,10762,10763,10764,10765,10766, #10640 -10767,4947,4948,10768,10769,10770,10771,10772,10773,10774,10775,10776,10777,10778,10779,10780, #10656 -10781,10782,10783,10784,10785,10786,10787,10788,10789,10790,10791,10792,10793,10794,10795,10796, #10672 -10797,10798,10799,10800,10801,10802,10803,10804,10805,10806,10807,10808,10809,10810,10811,10812, #10688 -10813,10814,10815,10816,10817,10818,10819,10820,10821,10822,10823,10824,10825,10826,10827,10828, #10704 -10829,10830,10831,10832,10833,10834,10835,10836,10837,10838,10839,10840,10841,10842,10843,10844, #10720 -10845,10846,10847,10848,10849,10850,10851,10852,10853,10854,10855,10856,10857,10858,10859,10860, #10736 -10861,10862,10863,10864,10865,10866,10867,10868,10869,10870,10871,10872,10873,10874,10875,10876, #10752 -10877,10878,4486,10879,10880,10881,10882,10883,10884,10885,4949,10886,10887,10888,10889,10890, #10768 -10891,10892,10893,10894,10895,10896,10897,10898,10899,10900,10901,10902,10903,10904,10905,10906, #10784 -10907,10908,10909,10910,10911,10912,10913,10914,10915,10916,10917,10918,10919,4487,10920,10921, #10800 -10922,10923,10924,10925,10926,10927,10928,10929,10930,10931,10932,4950,10933,10934,10935,10936, #10816 -10937,10938,10939,10940,10941,10942,10943,10944,10945,10946,10947,10948,10949,4488,10950,10951, #10832 -10952,10953,10954,10955,10956,10957,10958,10959,4190,10960,10961,10962,10963,10964,10965,10966, #10848 -10967,10968,10969,10970,10971,10972,10973,10974,10975,10976,10977,10978,10979,10980,10981,10982, #10864 -10983,10984,10985,10986,10987,10988,10989,10990,10991,10992,10993,10994,10995,10996,10997,10998, #10880 -10999,11000,11001,11002,11003,11004,11005,11006,3960,11007,11008,11009,11010,11011,11012,11013, #10896 -11014,11015,11016,11017,11018,11019,11020,11021,11022,11023,11024,11025,11026,11027,11028,11029, #10912 -11030,11031,11032,4951,11033,11034,11035,11036,11037,11038,11039,11040,11041,11042,11043,11044, #10928 -11045,11046,11047,4489,11048,11049,11050,11051,4952,11052,11053,11054,11055,11056,11057,11058, #10944 -4953,11059,11060,11061,11062,11063,11064,11065,11066,11067,11068,11069,11070,11071,4954,11072, #10960 -11073,11074,11075,11076,11077,11078,11079,11080,11081,11082,11083,11084,11085,11086,11087,11088, #10976 -11089,11090,11091,11092,11093,11094,11095,11096,11097,11098,11099,11100,11101,11102,11103,11104, #10992 -11105,11106,11107,11108,11109,11110,11111,11112,11113,11114,11115,3808,11116,11117,11118,11119, #11008 -11120,11121,11122,11123,11124,11125,11126,11127,11128,11129,11130,11131,11132,11133,11134,4955, #11024 -11135,11136,11137,11138,11139,11140,11141,11142,11143,11144,11145,11146,11147,11148,11149,11150, #11040 -11151,11152,11153,11154,11155,11156,11157,11158,11159,11160,11161,4956,11162,11163,11164,11165, #11056 -11166,11167,11168,11169,11170,11171,11172,11173,11174,11175,11176,11177,11178,11179,11180,4957, #11072 -11181,11182,11183,11184,11185,11186,4958,11187,11188,11189,11190,11191,11192,11193,11194,11195, #11088 -11196,11197,11198,11199,11200,3678,11201,11202,11203,11204,11205,11206,4191,11207,11208,11209, #11104 -11210,11211,11212,11213,11214,11215,11216,11217,11218,11219,11220,11221,11222,11223,11224,11225, #11120 -11226,11227,11228,11229,11230,11231,11232,11233,11234,11235,11236,11237,11238,11239,11240,11241, #11136 -11242,11243,11244,11245,11246,11247,11248,11249,11250,11251,4959,11252,11253,11254,11255,11256, #11152 -11257,11258,11259,11260,11261,11262,11263,11264,11265,11266,11267,11268,11269,11270,11271,11272, #11168 -11273,11274,11275,11276,11277,11278,11279,11280,11281,11282,11283,11284,11285,11286,11287,11288, #11184 -11289,11290,11291,11292,11293,11294,11295,11296,11297,11298,11299,11300,11301,11302,11303,11304, #11200 -11305,11306,11307,11308,11309,11310,11311,11312,11313,11314,3679,11315,11316,11317,11318,4490, #11216 -11319,11320,11321,11322,11323,11324,11325,11326,11327,11328,11329,11330,11331,11332,11333,11334, #11232 -11335,11336,11337,11338,11339,11340,11341,11342,11343,11344,11345,11346,11347,4960,11348,11349, #11248 -11350,11351,11352,11353,11354,11355,11356,11357,11358,11359,11360,11361,11362,11363,11364,11365, #11264 -11366,11367,11368,11369,11370,11371,11372,11373,11374,11375,11376,11377,3961,4961,11378,11379, #11280 -11380,11381,11382,11383,11384,11385,11386,11387,11388,11389,11390,11391,11392,11393,11394,11395, #11296 -11396,11397,4192,11398,11399,11400,11401,11402,11403,11404,11405,11406,11407,11408,11409,11410, #11312 -11411,4962,11412,11413,11414,11415,11416,11417,11418,11419,11420,11421,11422,11423,11424,11425, #11328 -11426,11427,11428,11429,11430,11431,11432,11433,11434,11435,11436,11437,11438,11439,11440,11441, #11344 -11442,11443,11444,11445,11446,11447,11448,11449,11450,11451,11452,11453,11454,11455,11456,11457, #11360 -11458,11459,11460,11461,11462,11463,11464,11465,11466,11467,11468,11469,4963,11470,11471,4491, #11376 -11472,11473,11474,11475,4964,11476,11477,11478,11479,11480,11481,11482,11483,11484,11485,11486, #11392 -11487,11488,11489,11490,11491,11492,4965,11493,11494,11495,11496,11497,11498,11499,11500,11501, #11408 -11502,11503,11504,11505,11506,11507,11508,11509,11510,11511,11512,11513,11514,11515,11516,11517, #11424 -11518,11519,11520,11521,11522,11523,11524,11525,11526,11527,11528,11529,3962,11530,11531,11532, #11440 -11533,11534,11535,11536,11537,11538,11539,11540,11541,11542,11543,11544,11545,11546,11547,11548, #11456 -11549,11550,11551,11552,11553,11554,11555,11556,11557,11558,11559,11560,11561,11562,11563,11564, #11472 -4193,4194,11565,11566,11567,11568,11569,11570,11571,11572,11573,11574,11575,11576,11577,11578, #11488 -11579,11580,11581,11582,11583,11584,11585,11586,11587,11588,11589,11590,11591,4966,4195,11592, #11504 -11593,11594,11595,11596,11597,11598,11599,11600,11601,11602,11603,11604,3090,11605,11606,11607, #11520 -11608,11609,11610,4967,11611,11612,11613,11614,11615,11616,11617,11618,11619,11620,11621,11622, #11536 -11623,11624,11625,11626,11627,11628,11629,11630,11631,11632,11633,11634,11635,11636,11637,11638, #11552 -11639,11640,11641,11642,11643,11644,11645,11646,11647,11648,11649,11650,11651,11652,11653,11654, #11568 -11655,11656,11657,11658,11659,11660,11661,11662,11663,11664,11665,11666,11667,11668,11669,11670, #11584 -11671,11672,11673,11674,4968,11675,11676,11677,11678,11679,11680,11681,11682,11683,11684,11685, #11600 -11686,11687,11688,11689,11690,11691,11692,11693,3809,11694,11695,11696,11697,11698,11699,11700, #11616 -11701,11702,11703,11704,11705,11706,11707,11708,11709,11710,11711,11712,11713,11714,11715,11716, #11632 -11717,11718,3553,11719,11720,11721,11722,11723,11724,11725,11726,11727,11728,11729,11730,4969, #11648 -11731,11732,11733,11734,11735,11736,11737,11738,11739,11740,4492,11741,11742,11743,11744,11745, #11664 -11746,11747,11748,11749,11750,11751,11752,4970,11753,11754,11755,11756,11757,11758,11759,11760, #11680 -11761,11762,11763,11764,11765,11766,11767,11768,11769,11770,11771,11772,11773,11774,11775,11776, #11696 -11777,11778,11779,11780,11781,11782,11783,11784,11785,11786,11787,11788,11789,11790,4971,11791, #11712 -11792,11793,11794,11795,11796,11797,4972,11798,11799,11800,11801,11802,11803,11804,11805,11806, #11728 -11807,11808,11809,11810,4973,11811,11812,11813,11814,11815,11816,11817,11818,11819,11820,11821, #11744 -11822,11823,11824,11825,11826,11827,11828,11829,11830,11831,11832,11833,11834,3680,3810,11835, #11760 -11836,4974,11837,11838,11839,11840,11841,11842,11843,11844,11845,11846,11847,11848,11849,11850, #11776 -11851,11852,11853,11854,11855,11856,11857,11858,11859,11860,11861,11862,11863,11864,11865,11866, #11792 -11867,11868,11869,11870,11871,11872,11873,11874,11875,11876,11877,11878,11879,11880,11881,11882, #11808 -11883,11884,4493,11885,11886,11887,11888,11889,11890,11891,11892,11893,11894,11895,11896,11897, #11824 -11898,11899,11900,11901,11902,11903,11904,11905,11906,11907,11908,11909,11910,11911,11912,11913, #11840 -11914,11915,4975,11916,11917,11918,11919,11920,11921,11922,11923,11924,11925,11926,11927,11928, #11856 -11929,11930,11931,11932,11933,11934,11935,11936,11937,11938,11939,11940,11941,11942,11943,11944, #11872 -11945,11946,11947,11948,11949,4976,11950,11951,11952,11953,11954,11955,11956,11957,11958,11959, #11888 -11960,11961,11962,11963,11964,11965,11966,11967,11968,11969,11970,11971,11972,11973,11974,11975, #11904 -11976,11977,11978,11979,11980,11981,11982,11983,11984,11985,11986,11987,4196,11988,11989,11990, #11920 -11991,11992,4977,11993,11994,11995,11996,11997,11998,11999,12000,12001,12002,12003,12004,12005, #11936 -12006,12007,12008,12009,12010,12011,12012,12013,12014,12015,12016,12017,12018,12019,12020,12021, #11952 -12022,12023,12024,12025,12026,12027,12028,12029,12030,12031,12032,12033,12034,12035,12036,12037, #11968 -12038,12039,12040,12041,12042,12043,12044,12045,12046,12047,12048,12049,12050,12051,12052,12053, #11984 -12054,12055,12056,12057,12058,12059,12060,12061,4978,12062,12063,12064,12065,12066,12067,12068, #12000 -12069,12070,12071,12072,12073,12074,12075,12076,12077,12078,12079,12080,12081,12082,12083,12084, #12016 -12085,12086,12087,12088,12089,12090,12091,12092,12093,12094,12095,12096,12097,12098,12099,12100, #12032 -12101,12102,12103,12104,12105,12106,12107,12108,12109,12110,12111,12112,12113,12114,12115,12116, #12048 -12117,12118,12119,12120,12121,12122,12123,4979,12124,12125,12126,12127,12128,4197,12129,12130, #12064 -12131,12132,12133,12134,12135,12136,12137,12138,12139,12140,12141,12142,12143,12144,12145,12146, #12080 -12147,12148,12149,12150,12151,12152,12153,12154,4980,12155,12156,12157,12158,12159,12160,4494, #12096 -12161,12162,12163,12164,3811,12165,12166,12167,12168,12169,4495,12170,12171,4496,12172,12173, #12112 -12174,12175,12176,3812,12177,12178,12179,12180,12181,12182,12183,12184,12185,12186,12187,12188, #12128 -12189,12190,12191,12192,12193,12194,12195,12196,12197,12198,12199,12200,12201,12202,12203,12204, #12144 -12205,12206,12207,12208,12209,12210,12211,12212,12213,12214,12215,12216,12217,12218,12219,12220, #12160 -12221,4981,12222,12223,12224,12225,12226,12227,12228,12229,12230,12231,12232,12233,12234,12235, #12176 -4982,12236,12237,12238,12239,12240,12241,12242,12243,12244,12245,4983,12246,12247,12248,12249, #12192 -4984,12250,12251,12252,12253,12254,12255,12256,12257,12258,12259,12260,12261,12262,12263,12264, #12208 -4985,12265,4497,12266,12267,12268,12269,12270,12271,12272,12273,12274,12275,12276,12277,12278, #12224 -12279,12280,12281,12282,12283,12284,12285,12286,12287,4986,12288,12289,12290,12291,12292,12293, #12240 -12294,12295,12296,2473,12297,12298,12299,12300,12301,12302,12303,12304,12305,12306,12307,12308, #12256 -12309,12310,12311,12312,12313,12314,12315,12316,12317,12318,12319,3963,12320,12321,12322,12323, #12272 -12324,12325,12326,12327,12328,12329,12330,12331,12332,4987,12333,12334,12335,12336,12337,12338, #12288 -12339,12340,12341,12342,12343,12344,12345,12346,12347,12348,12349,12350,12351,12352,12353,12354, #12304 -12355,12356,12357,12358,12359,3964,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369, #12320 -12370,3965,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384, #12336 -12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400, #12352 -12401,12402,12403,12404,12405,12406,12407,12408,4988,12409,12410,12411,12412,12413,12414,12415, #12368 -12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431, #12384 -12432,12433,12434,12435,12436,12437,12438,3554,12439,12440,12441,12442,12443,12444,12445,12446, #12400 -12447,12448,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462, #12416 -12463,12464,4989,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477, #12432 -12478,12479,12480,4990,12481,12482,12483,12484,12485,12486,12487,12488,12489,4498,12490,12491, #12448 -12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507, #12464 -12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523, #12480 -12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,12535,12536,12537,12538,12539, #12496 -12540,12541,12542,12543,12544,12545,12546,12547,12548,12549,12550,12551,4991,12552,12553,12554, #12512 -12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570, #12528 -12571,12572,12573,12574,12575,12576,12577,12578,3036,12579,12580,12581,12582,12583,3966,12584, #12544 -12585,12586,12587,12588,12589,12590,12591,12592,12593,12594,12595,12596,12597,12598,12599,12600, #12560 -12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616, #12576 -12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632, #12592 -12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,4499,12647, #12608 -12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663, #12624 -12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679, #12640 -12680,12681,12682,12683,12684,12685,12686,12687,12688,12689,12690,12691,12692,12693,12694,12695, #12656 -12696,12697,12698,4992,12699,12700,12701,12702,12703,12704,12705,12706,12707,12708,12709,12710, #12672 -12711,12712,12713,12714,12715,12716,12717,12718,12719,12720,12721,12722,12723,12724,12725,12726, #12688 -12727,12728,12729,12730,12731,12732,12733,12734,12735,12736,12737,12738,12739,12740,12741,12742, #12704 -12743,12744,12745,12746,12747,12748,12749,12750,12751,12752,12753,12754,12755,12756,12757,12758, #12720 -12759,12760,12761,12762,12763,12764,12765,12766,12767,12768,12769,12770,12771,12772,12773,12774, #12736 -12775,12776,12777,12778,4993,2175,12779,12780,12781,12782,12783,12784,12785,12786,4500,12787, #12752 -12788,12789,12790,12791,12792,12793,12794,12795,12796,12797,12798,12799,12800,12801,12802,12803, #12768 -12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819, #12784 -12820,12821,12822,12823,12824,12825,12826,4198,3967,12827,12828,12829,12830,12831,12832,12833, #12800 -12834,12835,12836,12837,12838,12839,12840,12841,12842,12843,12844,12845,12846,12847,12848,12849, #12816 -12850,12851,12852,12853,12854,12855,12856,12857,12858,12859,12860,12861,4199,12862,12863,12864, #12832 -12865,12866,12867,12868,12869,12870,12871,12872,12873,12874,12875,12876,12877,12878,12879,12880, #12848 -12881,12882,12883,12884,12885,12886,12887,4501,12888,12889,12890,12891,12892,12893,12894,12895, #12864 -12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911, #12880 -12912,4994,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,12924,12925,12926, #12896 -12927,12928,12929,12930,12931,12932,12933,12934,12935,12936,12937,12938,12939,12940,12941,12942, #12912 -12943,12944,12945,12946,12947,12948,12949,12950,12951,12952,12953,12954,12955,12956,1772,12957, #12928 -12958,12959,12960,12961,12962,12963,12964,12965,12966,12967,12968,12969,12970,12971,12972,12973, #12944 -12974,12975,12976,12977,12978,12979,12980,12981,12982,12983,12984,12985,12986,12987,12988,12989, #12960 -12990,12991,12992,12993,12994,12995,12996,12997,4502,12998,4503,12999,13000,13001,13002,13003, #12976 -4504,13004,13005,13006,13007,13008,13009,13010,13011,13012,13013,13014,13015,13016,13017,13018, #12992 -13019,13020,13021,13022,13023,13024,13025,13026,13027,13028,13029,3449,13030,13031,13032,13033, #13008 -13034,13035,13036,13037,13038,13039,13040,13041,13042,13043,13044,13045,13046,13047,13048,13049, #13024 -13050,13051,13052,13053,13054,13055,13056,13057,13058,13059,13060,13061,13062,13063,13064,13065, #13040 -13066,13067,13068,13069,13070,13071,13072,13073,13074,13075,13076,13077,13078,13079,13080,13081, #13056 -13082,13083,13084,13085,13086,13087,13088,13089,13090,13091,13092,13093,13094,13095,13096,13097, #13072 -13098,13099,13100,13101,13102,13103,13104,13105,13106,13107,13108,13109,13110,13111,13112,13113, #13088 -13114,13115,13116,13117,13118,3968,13119,4995,13120,13121,13122,13123,13124,13125,13126,13127, #13104 -4505,13128,13129,13130,13131,13132,13133,13134,4996,4506,13135,13136,13137,13138,13139,4997, #13120 -13140,13141,13142,13143,13144,13145,13146,13147,13148,13149,13150,13151,13152,13153,13154,13155, #13136 -13156,13157,13158,13159,4998,13160,13161,13162,13163,13164,13165,13166,13167,13168,13169,13170, #13152 -13171,13172,13173,13174,13175,13176,4999,13177,13178,13179,13180,13181,13182,13183,13184,13185, #13168 -13186,13187,13188,13189,13190,13191,13192,13193,13194,13195,13196,13197,13198,13199,13200,13201, #13184 -13202,13203,13204,13205,13206,5000,13207,13208,13209,13210,13211,13212,13213,13214,13215,13216, #13200 -13217,13218,13219,13220,13221,13222,13223,13224,13225,13226,13227,4200,5001,13228,13229,13230, #13216 -13231,13232,13233,13234,13235,13236,13237,13238,13239,13240,3969,13241,13242,13243,13244,3970, #13232 -13245,13246,13247,13248,13249,13250,13251,13252,13253,13254,13255,13256,13257,13258,13259,13260, #13248 -13261,13262,13263,13264,13265,13266,13267,13268,3450,13269,13270,13271,13272,13273,13274,13275, #13264 -13276,5002,13277,13278,13279,13280,13281,13282,13283,13284,13285,13286,13287,13288,13289,13290, #13280 -13291,13292,13293,13294,13295,13296,13297,13298,13299,13300,13301,13302,3813,13303,13304,13305, #13296 -13306,13307,13308,13309,13310,13311,13312,13313,13314,13315,13316,13317,13318,13319,13320,13321, #13312 -13322,13323,13324,13325,13326,13327,13328,4507,13329,13330,13331,13332,13333,13334,13335,13336, #13328 -13337,13338,13339,13340,13341,5003,13342,13343,13344,13345,13346,13347,13348,13349,13350,13351, #13344 -13352,13353,13354,13355,13356,13357,13358,13359,13360,13361,13362,13363,13364,13365,13366,13367, #13360 -5004,13368,13369,13370,13371,13372,13373,13374,13375,13376,13377,13378,13379,13380,13381,13382, #13376 -13383,13384,13385,13386,13387,13388,13389,13390,13391,13392,13393,13394,13395,13396,13397,13398, #13392 -13399,13400,13401,13402,13403,13404,13405,13406,13407,13408,13409,13410,13411,13412,13413,13414, #13408 -13415,13416,13417,13418,13419,13420,13421,13422,13423,13424,13425,13426,13427,13428,13429,13430, #13424 -13431,13432,4508,13433,13434,13435,4201,13436,13437,13438,13439,13440,13441,13442,13443,13444, #13440 -13445,13446,13447,13448,13449,13450,13451,13452,13453,13454,13455,13456,13457,5005,13458,13459, #13456 -13460,13461,13462,13463,13464,13465,13466,13467,13468,13469,13470,4509,13471,13472,13473,13474, #13472 -13475,13476,13477,13478,13479,13480,13481,13482,13483,13484,13485,13486,13487,13488,13489,13490, #13488 -13491,13492,13493,13494,13495,13496,13497,13498,13499,13500,13501,13502,13503,13504,13505,13506, #13504 -13507,13508,13509,13510,13511,13512,13513,13514,13515,13516,13517,13518,13519,13520,13521,13522, #13520 -13523,13524,13525,13526,13527,13528,13529,13530,13531,13532,13533,13534,13535,13536,13537,13538, #13536 -13539,13540,13541,13542,13543,13544,13545,13546,13547,13548,13549,13550,13551,13552,13553,13554, #13552 -13555,13556,13557,13558,13559,13560,13561,13562,13563,13564,13565,13566,13567,13568,13569,13570, #13568 -13571,13572,13573,13574,13575,13576,13577,13578,13579,13580,13581,13582,13583,13584,13585,13586, #13584 -13587,13588,13589,13590,13591,13592,13593,13594,13595,13596,13597,13598,13599,13600,13601,13602, #13600 -13603,13604,13605,13606,13607,13608,13609,13610,13611,13612,13613,13614,13615,13616,13617,13618, #13616 -13619,13620,13621,13622,13623,13624,13625,13626,13627,13628,13629,13630,13631,13632,13633,13634, #13632 -13635,13636,13637,13638,13639,13640,13641,13642,5006,13643,13644,13645,13646,13647,13648,13649, #13648 -13650,13651,5007,13652,13653,13654,13655,13656,13657,13658,13659,13660,13661,13662,13663,13664, #13664 -13665,13666,13667,13668,13669,13670,13671,13672,13673,13674,13675,13676,13677,13678,13679,13680, #13680 -13681,13682,13683,13684,13685,13686,13687,13688,13689,13690,13691,13692,13693,13694,13695,13696, #13696 -13697,13698,13699,13700,13701,13702,13703,13704,13705,13706,13707,13708,13709,13710,13711,13712, #13712 -13713,13714,13715,13716,13717,13718,13719,13720,13721,13722,13723,13724,13725,13726,13727,13728, #13728 -13729,13730,13731,13732,13733,13734,13735,13736,13737,13738,13739,13740,13741,13742,13743,13744, #13744 -13745,13746,13747,13748,13749,13750,13751,13752,13753,13754,13755,13756,13757,13758,13759,13760, #13760 -13761,13762,13763,13764,13765,13766,13767,13768,13769,13770,13771,13772,13773,13774,3273,13775, #13776 -13776,13777,13778,13779,13780,13781,13782,13783,13784,13785,13786,13787,13788,13789,13790,13791, #13792 -13792,13793,13794,13795,13796,13797,13798,13799,13800,13801,13802,13803,13804,13805,13806,13807, #13808 -13808,13809,13810,13811,13812,13813,13814,13815,13816,13817,13818,13819,13820,13821,13822,13823, #13824 -13824,13825,13826,13827,13828,13829,13830,13831,13832,13833,13834,13835,13836,13837,13838,13839, #13840 -13840,13841,13842,13843,13844,13845,13846,13847,13848,13849,13850,13851,13852,13853,13854,13855, #13856 -13856,13857,13858,13859,13860,13861,13862,13863,13864,13865,13866,13867,13868,13869,13870,13871, #13872 -13872,13873,13874,13875,13876,13877,13878,13879,13880,13881,13882,13883,13884,13885,13886,13887, #13888 -13888,13889,13890,13891,13892,13893,13894,13895,13896,13897,13898,13899,13900,13901,13902,13903, #13904 -13904,13905,13906,13907,13908,13909,13910,13911,13912,13913,13914,13915,13916,13917,13918,13919, #13920 -13920,13921,13922,13923,13924,13925,13926,13927,13928,13929,13930,13931,13932,13933,13934,13935, #13936 -13936,13937,13938,13939,13940,13941,13942,13943,13944,13945,13946,13947,13948,13949,13950,13951, #13952 -13952,13953,13954,13955,13956,13957,13958,13959,13960,13961,13962,13963,13964,13965,13966,13967, #13968 -13968,13969,13970,13971,13972) #13973 +2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, # 5376 +) -# flake8: noqa
--- a/ThirdParty/CharDet/chardet/big5prober.py Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/chardet/big5prober.py Sat May 06 13:43:21 2017 +0200 @@ -28,15 +28,20 @@ from .mbcharsetprober import MultiByteCharSetProber from .codingstatemachine import CodingStateMachine from .chardistribution import Big5DistributionAnalysis -from .mbcssm import Big5SMModel +from .mbcssm import BIG5_SM_MODEL class Big5Prober(MultiByteCharSetProber): def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(Big5SMModel) - self._mDistributionAnalyzer = Big5DistributionAnalysis() + super(Big5Prober, self).__init__() + self.coding_sm = CodingStateMachine(BIG5_SM_MODEL) + self.distribution_analyzer = Big5DistributionAnalysis() self.reset() - def get_charset_name(self): + @property + def charset_name(self): return "Big5" + + @property + def language(self): + return "Chinese"
--- a/ThirdParty/CharDet/chardet/chardetect.py Sun Apr 09 16:52:55 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -#!/usr/bin/env python -""" -Script which takes one or more file paths and reports on their detected -encodings - -Example:: - - % chardetect somefile someotherfile - somefile: windows-1252 with confidence 0.5 - someotherfile: ascii with confidence 1.0 - -If no paths are provided, it takes its input from stdin. - -""" - -from __future__ import absolute_import, print_function, unicode_literals - -import argparse -import sys -from io import open - -from chardet import __version__ -from chardet.universaldetector import UniversalDetector - - -def description_of(lines, name='stdin'): - """ - Return a string describing the probable encoding of a file or - list of strings. - - :param lines: The lines to get the encoding of. - :type lines: Iterable of bytes - :param name: Name of file or collection of lines - :type name: str - """ - u = UniversalDetector() - for line in lines: - u.feed(line) - u.close() - result = u.result - if result['encoding']: - return '{0}: {1} with confidence {2}'.format(name, result['encoding'], - result['confidence']) - else: - return '{0}: no result'.format(name) - - -def main(argv=None): - ''' - Handles command line arguments and gets things started. - - :param argv: List of arguments, as if specified on the command-line. - If None, ``sys.argv[1:]`` is used instead. - :type argv: list of str - ''' - # Get command line arguments - parser = argparse.ArgumentParser( - description="Takes one or more file paths and reports their detected \ - encodings", - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - conflict_handler='resolve') - parser.add_argument('input', - help='File whose encoding we would like to determine.', - type=argparse.FileType('rb'), nargs='*', - default=[sys.stdin]) - parser.add_argument('--version', action='version', - version='%(prog)s {0}'.format(__version__)) - args = parser.parse_args(argv) - - for f in args.input: - if f.isatty(): - print("You are running chardetect interactively. Press " + - "CTRL-D twice at the start of a blank line to signal the " + - "end of your input. If you want help, run chardetect " + - "--help\n", file=sys.stderr) - print(description_of(f, f.name)) - - -if __name__ == '__main__': - main()
--- a/ThirdParty/CharDet/chardet/chardistribution.py Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/chardet/chardistribution.py Sat May 06 13:43:21 2017 +0200 @@ -25,82 +25,84 @@ # 02110-1301 USA ######################### END LICENSE BLOCK ######################### -from .euctwfreq import (EUCTWCharToFreqOrder, EUCTW_TABLE_SIZE, +from .euctwfreq import (EUCTW_CHAR_TO_FREQ_ORDER, EUCTW_TABLE_SIZE, EUCTW_TYPICAL_DISTRIBUTION_RATIO) -from .euckrfreq import (EUCKRCharToFreqOrder, EUCKR_TABLE_SIZE, +from .euckrfreq import (EUCKR_CHAR_TO_FREQ_ORDER, EUCKR_TABLE_SIZE, EUCKR_TYPICAL_DISTRIBUTION_RATIO) -from .gb2312freq import (GB2312CharToFreqOrder, GB2312_TABLE_SIZE, +from .gb2312freq import (GB2312_CHAR_TO_FREQ_ORDER, GB2312_TABLE_SIZE, GB2312_TYPICAL_DISTRIBUTION_RATIO) -from .big5freq import (Big5CharToFreqOrder, BIG5_TABLE_SIZE, +from .big5freq import (BIG5_CHAR_TO_FREQ_ORDER, BIG5_TABLE_SIZE, BIG5_TYPICAL_DISTRIBUTION_RATIO) -from .jisfreq import (JISCharToFreqOrder, JIS_TABLE_SIZE, +from .jisfreq import (JIS_CHAR_TO_FREQ_ORDER, JIS_TABLE_SIZE, JIS_TYPICAL_DISTRIBUTION_RATIO) -from .compat import wrap_ord - -ENOUGH_DATA_THRESHOLD = 1024 -SURE_YES = 0.99 -SURE_NO = 0.01 -MINIMUM_DATA_THRESHOLD = 3 -class CharDistributionAnalysis: +class CharDistributionAnalysis(object): + ENOUGH_DATA_THRESHOLD = 1024 + SURE_YES = 0.99 + SURE_NO = 0.01 + MINIMUM_DATA_THRESHOLD = 3 + def __init__(self): # Mapping table to get frequency order from char order (get from # GetOrder()) - self._mCharToFreqOrder = None - self._mTableSize = None # Size of above table + self._char_to_freq_order = None + self._table_size = None # Size of above table # This is a constant value which varies from language to language, # used in calculating confidence. See # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html # for further detail. - self._mTypicalDistributionRatio = None + self.typical_distribution_ratio = None + self._done = None + self._total_chars = None + self._freq_chars = None self.reset() def reset(self): """reset analyser, clear any state""" # If this flag is set to True, detection is done and conclusion has # been made - self._mDone = False - self._mTotalChars = 0 # Total characters encountered + self._done = False + self._total_chars = 0 # Total characters encountered # The number of characters whose frequency order is less than 512 - self._mFreqChars = 0 + self._freq_chars = 0 - def feed(self, aBuf, aCharLen): + def feed(self, char, char_len): """feed a character with known length""" - if aCharLen == 2: + if char_len == 2: # we only care about 2-bytes character in our distribution analysis - order = self.get_order(aBuf) + order = self.get_order(char) else: order = -1 if order >= 0: - self._mTotalChars += 1 + self._total_chars += 1 # order is valid - if order < self._mTableSize: - if 512 > self._mCharToFreqOrder[order]: - self._mFreqChars += 1 + if order < self._table_size: + if 512 > self._char_to_freq_order[order]: + self._freq_chars += 1 def get_confidence(self): """return confidence based on existing data""" # if we didn't receive any character in our consideration range, # return negative answer - if self._mTotalChars <= 0 or self._mFreqChars <= MINIMUM_DATA_THRESHOLD: - return SURE_NO + if self._total_chars <= 0 or self._freq_chars <= self.MINIMUM_DATA_THRESHOLD: + return self.SURE_NO - if self._mTotalChars != self._mFreqChars: - r = (self._mFreqChars / ((self._mTotalChars - self._mFreqChars) - * self._mTypicalDistributionRatio)) - if r < SURE_YES: + if self._total_chars != self._freq_chars: + r = (self._freq_chars / ((self._total_chars - self._freq_chars) + * self.typical_distribution_ratio)) + if r < self.SURE_YES: return r # normalize confidence (we don't want to be 100% sure) - return SURE_YES + return self.SURE_YES def got_enough_data(self): # It is not necessary to receive all data to draw conclusion. # For charset detection, certain amount of data is enough - return self._mTotalChars > ENOUGH_DATA_THRESHOLD + return self._total_chars > self.ENOUGH_DATA_THRESHOLD - def get_order(self, aBuf): + def get_order(self, byte_str): # We do not handle characters based on the original encoding string, # but convert this encoding string to a number, here called order. # This allows multiple encodings of a language to share one frequency @@ -110,55 +112,55 @@ class EUCTWDistributionAnalysis(CharDistributionAnalysis): def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = EUCTWCharToFreqOrder - self._mTableSize = EUCTW_TABLE_SIZE - self._mTypicalDistributionRatio = EUCTW_TYPICAL_DISTRIBUTION_RATIO + super(EUCTWDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCTW_CHAR_TO_FREQ_ORDER + self._table_size = EUCTW_TABLE_SIZE + self.typical_distribution_ratio = EUCTW_TYPICAL_DISTRIBUTION_RATIO - def get_order(self, aBuf): + def get_order(self, byte_str): # for euc-TW encoding, we are interested # first byte range: 0xc4 -- 0xfe # second byte range: 0xa1 -- 0xfe # no validation needed here. State machine has done that - first_char = wrap_ord(aBuf[0]) + first_char = byte_str[0] if first_char >= 0xC4: - return 94 * (first_char - 0xC4) + wrap_ord(aBuf[1]) - 0xA1 + return 94 * (first_char - 0xC4) + byte_str[1] - 0xA1 else: return -1 class EUCKRDistributionAnalysis(CharDistributionAnalysis): def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = EUCKRCharToFreqOrder - self._mTableSize = EUCKR_TABLE_SIZE - self._mTypicalDistributionRatio = EUCKR_TYPICAL_DISTRIBUTION_RATIO + super(EUCKRDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCKR_CHAR_TO_FREQ_ORDER + self._table_size = EUCKR_TABLE_SIZE + self.typical_distribution_ratio = EUCKR_TYPICAL_DISTRIBUTION_RATIO - def get_order(self, aBuf): + def get_order(self, byte_str): # for euc-KR encoding, we are interested # first byte range: 0xb0 -- 0xfe # second byte range: 0xa1 -- 0xfe # no validation needed here. State machine has done that - first_char = wrap_ord(aBuf[0]) + first_char = byte_str[0] if first_char >= 0xB0: - return 94 * (first_char - 0xB0) + wrap_ord(aBuf[1]) - 0xA1 + return 94 * (first_char - 0xB0) + byte_str[1] - 0xA1 else: return -1 class GB2312DistributionAnalysis(CharDistributionAnalysis): def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = GB2312CharToFreqOrder - self._mTableSize = GB2312_TABLE_SIZE - self._mTypicalDistributionRatio = GB2312_TYPICAL_DISTRIBUTION_RATIO + super(GB2312DistributionAnalysis, self).__init__() + self._char_to_freq_order = GB2312_CHAR_TO_FREQ_ORDER + self._table_size = GB2312_TABLE_SIZE + self.typical_distribution_ratio = GB2312_TYPICAL_DISTRIBUTION_RATIO - def get_order(self, aBuf): + def get_order(self, byte_str): # for GB2312 encoding, we are interested # first byte range: 0xb0 -- 0xfe # second byte range: 0xa1 -- 0xfe # no validation needed here. State machine has done that - first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1]) + first_char, second_char = byte_str[0], byte_str[1] if (first_char >= 0xB0) and (second_char >= 0xA1): return 94 * (first_char - 0xB0) + second_char - 0xA1 else: @@ -167,17 +169,17 @@ class Big5DistributionAnalysis(CharDistributionAnalysis): def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = Big5CharToFreqOrder - self._mTableSize = BIG5_TABLE_SIZE - self._mTypicalDistributionRatio = BIG5_TYPICAL_DISTRIBUTION_RATIO + super(Big5DistributionAnalysis, self).__init__() + self._char_to_freq_order = BIG5_CHAR_TO_FREQ_ORDER + self._table_size = BIG5_TABLE_SIZE + self.typical_distribution_ratio = BIG5_TYPICAL_DISTRIBUTION_RATIO - def get_order(self, aBuf): + def get_order(self, byte_str): # for big5 encoding, we are interested # first byte range: 0xa4 -- 0xfe # second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe # no validation needed here. State machine has done that - first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1]) + first_char, second_char = byte_str[0], byte_str[1] if first_char >= 0xA4: if second_char >= 0xA1: return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63 @@ -189,17 +191,17 @@ class SJISDistributionAnalysis(CharDistributionAnalysis): def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = JISCharToFreqOrder - self._mTableSize = JIS_TABLE_SIZE - self._mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO + super(SJISDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO - def get_order(self, aBuf): + def get_order(self, byte_str): # for sjis encoding, we are interested # first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe # second byte range: 0x40 -- 0x7e, 0x81 -- oxfe # no validation needed here. State machine has done that - first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1]) + first_char, second_char = byte_str[0], byte_str[1] if (first_char >= 0x81) and (first_char <= 0x9F): order = 188 * (first_char - 0x81) elif (first_char >= 0xE0) and (first_char <= 0xEF): @@ -214,18 +216,18 @@ class EUCJPDistributionAnalysis(CharDistributionAnalysis): def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = JISCharToFreqOrder - self._mTableSize = JIS_TABLE_SIZE - self._mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO + super(EUCJPDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO - def get_order(self, aBuf): + def get_order(self, byte_str): # for euc-JP encoding, we are interested # first byte range: 0xa0 -- 0xfe # second byte range: 0xa1 -- 0xfe # no validation needed here. State machine has done that - char = wrap_ord(aBuf[0]) + char = byte_str[0] if char >= 0xA0: - return 94 * (char - 0xA1) + wrap_ord(aBuf[1]) - 0xa1 + return 94 * (char - 0xA1) + byte_str[1] - 0xa1 else: return -1
--- a/ThirdParty/CharDet/chardet/charsetgroupprober.py Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/chardet/charsetgroupprober.py Sat May 06 13:43:21 2017 +0200 @@ -1,11 +1,11 @@ ######################## BEGIN LICENSE BLOCK ######################## # The Original Code is Mozilla Communicator client code. -# +# # The Initial Developer of the Original Code is # Netscape Communications Corporation. # Portions created by the Initial Developer are Copyright (C) 1998 # the Initial Developer. All Rights Reserved. -# +# # Contributor(s): # Mark Pilgrim - port to Python # @@ -13,94 +13,94 @@ # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. -# +# # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA # 02110-1301 USA ######################### END LICENSE BLOCK ######################### -from . import constants -import sys +from .enums import ProbingState from .charsetprober import CharSetProber class CharSetGroupProber(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mActiveNum = 0 - self._mProbers = [] - self._mBestGuessProber = None + def __init__(self, lang_filter=None): + super(CharSetGroupProber, self).__init__(lang_filter=lang_filter) + self._active_num = 0 + self.probers = [] + self._best_guess_prober = None def reset(self): - CharSetProber.reset(self) - self._mActiveNum = 0 - for prober in self._mProbers: + super(CharSetGroupProber, self).reset() + self._active_num = 0 + for prober in self.probers: if prober: prober.reset() prober.active = True - self._mActiveNum += 1 - self._mBestGuessProber = None + self._active_num += 1 + self._best_guess_prober = None - def get_charset_name(self): - if not self._mBestGuessProber: + @property + def charset_name(self): + if not self._best_guess_prober: self.get_confidence() - if not self._mBestGuessProber: + if not self._best_guess_prober: return None -# self._mBestGuessProber = self._mProbers[0] - return self._mBestGuessProber.get_charset_name() + return self._best_guess_prober.charset_name - def feed(self, aBuf): - for prober in self._mProbers: + @property + def language(self): + if not self._best_guess_prober: + self.get_confidence() + if not self._best_guess_prober: + return None + return self._best_guess_prober.language + + def feed(self, byte_str): + for prober in self.probers: if not prober: continue if not prober.active: continue - st = prober.feed(aBuf) - if not st: + state = prober.feed(byte_str) + if not state: continue - if st == constants.eFoundIt: - self._mBestGuessProber = prober - return self.get_state() - elif st == constants.eNotMe: + if state == ProbingState.FOUND_IT: + self._best_guess_prober = prober + return self.state + elif state == ProbingState.NOT_ME: prober.active = False - self._mActiveNum -= 1 - if self._mActiveNum <= 0: - self._mState = constants.eNotMe - return self.get_state() - return self.get_state() + self._active_num -= 1 + if self._active_num <= 0: + self._state = ProbingState.NOT_ME + return self.state + return self.state def get_confidence(self): - st = self.get_state() - if st == constants.eFoundIt: + state = self.state + if state == ProbingState.FOUND_IT: return 0.99 - elif st == constants.eNotMe: + elif state == ProbingState.NOT_ME: return 0.01 - bestConf = 0.0 - self._mBestGuessProber = None - for prober in self._mProbers: + best_conf = 0.0 + self._best_guess_prober = None + for prober in self.probers: if not prober: continue if not prober.active: - if constants._debug: - sys.stderr.write(prober.get_charset_name() - + ' not active\n') + self.logger.debug('%s not active', prober.charset_name) continue - cf = prober.get_confidence() - if constants._debug: - sys.stderr.write('%s confidence = %s\n' % - (prober.get_charset_name(), cf)) - if bestConf < cf: - bestConf = cf - self._mBestGuessProber = prober - if not self._mBestGuessProber: + conf = prober.get_confidence() + self.logger.debug('%s %s confidence = %s', prober.charset_name, prober.language, conf) + if best_conf < conf: + best_conf = conf + self._best_guess_prober = prober + if not self._best_guess_prober: return 0.0 - return bestConf -# else: -# self._mBestGuessProber = self._mProbers[0] -# return self._mBestGuessProber.get_confidence() + return best_conf
--- a/ThirdParty/CharDet/chardet/charsetprober.py Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/chardet/charsetprober.py Sat May 06 13:43:21 2017 +0200 @@ -26,37 +26,120 @@ # 02110-1301 USA ######################### END LICENSE BLOCK ######################### -from . import constants +import logging import re +from .enums import ProbingState + -class CharSetProber: - def __init__(self): - pass +class CharSetProber(object): + + SHORTCUT_THRESHOLD = 0.95 + + def __init__(self, lang_filter=None): + self._state = None + self.lang_filter = lang_filter + self.logger = logging.getLogger(__name__) def reset(self): - self._mState = constants.eDetecting + self._state = ProbingState.DETECTING - def get_charset_name(self): + @property + def charset_name(self): return None - def feed(self, aBuf): + def feed(self, buf): pass - def get_state(self): - return self._mState + @property + def state(self): + return self._state def get_confidence(self): return 0.0 - def filter_high_bit_only(self, aBuf): - aBuf = re.sub(b'([\x00-\x7F])+', b' ', aBuf) - return aBuf + @staticmethod + def filter_high_byte_only(buf): + buf = re.sub(b'([\x00-\x7F])+', b' ', buf) + return buf + + @staticmethod + def filter_international_words(buf): + """ + We define three types of bytes: + alphabet: english alphabets [a-zA-Z] + international: international characters [\x80-\xFF] + marker: everything else [^a-zA-Z\x80-\xFF] + + The input buffer can be thought to contain a series of words delimited + by markers. This function works to filter all words that contain at + least one international character. All contiguous sequences of markers + are replaced by a single space ascii character. + + This filter applies to all scripts which do not use English characters. + """ + filtered = bytearray() + + # This regex expression filters out only words that have at-least one + # international character. The word may include one marker character at + # the end. + words = re.findall(b'[a-zA-Z]*[\x80-\xFF]+[a-zA-Z]*[^a-zA-Z\x80-\xFF]?', + buf) + + for word in words: + filtered.extend(word[:-1]) + + # If the last character in the word is a marker, replace it with a + # space as markers shouldn't affect our analysis (they are used + # similarly across all languages and may thus have similar + # frequencies). + last_char = word[-1:] + if not last_char.isalpha() and last_char < b'\x80': + last_char = b' ' + filtered.extend(last_char) + + return filtered - def filter_without_english_letters(self, aBuf): - aBuf = re.sub(b'([A-Za-z])+', b' ', aBuf) - return aBuf + @staticmethod + def filter_with_english_letters(buf): + """ + Returns a copy of ``buf`` that retains only the sequences of English + alphabet and high byte characters that are not between <> characters. + Also retains English alphabet and high byte characters immediately + before occurrences of >. + + This filter can be applied to all scripts which contain both English + characters and extended ASCII characters, but is currently only used by + ``Latin1Prober``. + """ + filtered = bytearray() + in_tag = False + prev = 0 - def filter_with_english_letters(self, aBuf): - # TODO - return aBuf + for curr in range(len(buf)): + # Slice here to get bytes instead of an int with Python 3 + buf_char = buf[curr:curr + 1] + # Check if we're coming out of or entering an HTML tag + if buf_char == b'>': + in_tag = False + elif buf_char == b'<': + in_tag = True + + # If current character is not extended-ASCII and not alphabetic... + if buf_char < b'\x80' and not buf_char.isalpha(): + # ...and we're not in a tag + if curr > prev and not in_tag: + # Keep everything after last non-extended-ASCII, + # non-alphabetic character + filtered.extend(buf[prev:curr]) + # Output a space to delimit stretch we kept + filtered.extend(b' ') + prev = curr + 1 + + # If we're not in a tag... + if not in_tag: + # Keep everything after last non-extended-ASCII, non-alphabetic + # character + filtered.extend(buf[prev:]) + + return filtered
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ThirdParty/CharDet/chardet/cli/__init__.py Sat May 06 13:43:21 2017 +0200 @@ -0,0 +1,1 @@ +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ThirdParty/CharDet/chardet/cli/chardetect.py Sat May 06 13:43:21 2017 +0200 @@ -0,0 +1,80 @@ +#!/usr/bin/env python +""" +Script which takes one or more file paths and reports on their detected +encodings + +Example:: + + % chardetect somefile someotherfile + somefile: windows-1252 with confidence 0.5 + someotherfile: ascii with confidence 1.0 + +If no paths are provided, it takes its input from stdin. + +""" + +from __future__ import absolute_import, print_function, unicode_literals + +import argparse +import sys +from io import open + +from chardet import __version__ +from chardet.universaldetector import UniversalDetector + + +def description_of(lines, name='stdin'): + """ + Return a string describing the probable encoding of a file or + list of strings. + + :param lines: The lines to get the encoding of. + :type lines: Iterable of bytes + :param name: Name of file or collection of lines + :type name: str + """ + u = UniversalDetector() + for line in lines: + u.feed(line) + u.close() + result = u.result + if result['encoding']: + return '{0}: {1} with confidence {2}'.format(name, result['encoding'], + result['confidence']) + else: + return '{0}: no result'.format(name) + + +def main(argv=None): + ''' + Handles command line arguments and gets things started. + + :param argv: List of arguments, as if specified on the command-line. + If None, ``sys.argv[1:]`` is used instead. + :type argv: list of str + ''' + # Get command line arguments + parser = argparse.ArgumentParser( + description="Takes one or more file paths and reports their detected \ + encodings", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + conflict_handler='resolve') + parser.add_argument('input', + help='File whose encoding we would like to determine.', + type=argparse.FileType('rb'), nargs='*', + default=[sys.stdin]) + parser.add_argument('--version', action='version', + version='%(prog)s {0}'.format(__version__)) + args = parser.parse_args(argv) + + for f in args.input: + if f.isatty(): + print("You are running chardetect interactively. Press " + + "CTRL-D twice at the start of a blank line to signal the " + + "end of your input. If you want help, run chardetect " + + "--help\n", file=sys.stderr) + print(description_of(f, f.name)) + + +if __name__ == '__main__': + main()
--- a/ThirdParty/CharDet/chardet/codingstatemachine.py Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/chardet/codingstatemachine.py Sat May 06 13:43:21 2017 +0200 @@ -25,37 +25,64 @@ # 02110-1301 USA ######################### END LICENSE BLOCK ######################### -from .constants import eStart -from .compat import wrap_ord +import logging + +from .enums import MachineState -class CodingStateMachine: +class CodingStateMachine(object): + """ + A state machine to verify a byte sequence for a particular encoding. For + each byte the detector receives, it will feed that byte to every active + state machine available, one byte at a time. The state machine changes its + state based on its previous state and the byte it receives. There are 3 + states in a state machine that are of interest to an auto-detector: + + START state: This is the state to start with, or a legal byte sequence + (i.e. a valid code point) for character has been identified. + + ME state: This indicates that the state machine identified a byte sequence + that is specific to the charset it is designed for and that + there is no other possible encoding which can contain this byte + sequence. This will to lead to an immediate positive answer for + the detector. + + ERROR state: This indicates the state machine identified an illegal byte + sequence for that encoding. This will lead to an immediate + negative answer for this encoding. Detector will exclude this + encoding from consideration from here on. + """ def __init__(self, sm): - self._mModel = sm - self._mCurrentBytePos = 0 - self._mCurrentCharLen = 0 + self._model = sm + self._curr_byte_pos = 0 + self._curr_char_len = 0 + self._curr_state = None + self.logger = logging.getLogger(__name__) self.reset() def reset(self): - self._mCurrentState = eStart + self._curr_state = MachineState.START def next_state(self, c): # for each byte we get its class # if it is first byte, we also get byte length - # PY3K: aBuf is a byte stream, so c is an int, not a byte - byteCls = self._mModel['classTable'][wrap_ord(c)] - if self._mCurrentState == eStart: - self._mCurrentBytePos = 0 - self._mCurrentCharLen = self._mModel['charLenTable'][byteCls] - # from byte's class and stateTable, we get its next state - curr_state = (self._mCurrentState * self._mModel['classFactor'] - + byteCls) - self._mCurrentState = self._mModel['stateTable'][curr_state] - self._mCurrentBytePos += 1 - return self._mCurrentState + byte_class = self._model['class_table'][c] + if self._curr_state == MachineState.START: + self._curr_byte_pos = 0 + self._curr_char_len = self._model['char_len_table'][byte_class] + # from byte's class and state_table, we get its next state + curr_state = (self._curr_state * self._model['class_factor'] + + byte_class) + self._curr_state = self._model['state_table'][curr_state] + self._curr_byte_pos += 1 + return self._curr_state def get_current_charlen(self): - return self._mCurrentCharLen + return self._curr_char_len def get_coding_state_machine(self): - return self._mModel['name'] + return self._model['name'] + + @property + def language(self): + return self._model['language']
--- a/ThirdParty/CharDet/chardet/compat.py Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/chardet/compat.py Sat May 06 13:43:21 2017 +0200 @@ -1,6 +1,7 @@ ######################## BEGIN LICENSE BLOCK ######################## # Contributor(s): -# Ian Cordasco - port to Python +# Dan Blanchard +# Ian Cordasco # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -22,13 +23,12 @@ if sys.version_info < (3, 0): + PY2 = True + PY3 = False base_str = (str, unicode) + text_type = unicode else: + PY2 = False + PY3 = True base_str = (bytes, str) - - -def wrap_ord(a): - if sys.version_info < (3, 0) and isinstance(a, base_str): - return ord(a) - else: - return a + text_type = str
--- a/ThirdParty/CharDet/chardet/constants.py Sun Apr 09 16:52:55 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -_debug = 0 - -eDetecting = 0 -eFoundIt = 1 -eNotMe = 2 - -eStart = 0 -eError = 1 -eItsMe = 2 - -SHORTCUT_THRESHOLD = 0.95
--- a/ThirdParty/CharDet/chardet/cp949prober.py Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/chardet/cp949prober.py Sat May 06 13:43:21 2017 +0200 @@ -25,20 +25,25 @@ # 02110-1301 USA ######################### END LICENSE BLOCK ######################### -from .mbcharsetprober import MultiByteCharSetProber +from .chardistribution import EUCKRDistributionAnalysis from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCKRDistributionAnalysis -from .mbcssm import CP949SMModel +from .mbcharsetprober import MultiByteCharSetProber +from .mbcssm import CP949_SM_MODEL class CP949Prober(MultiByteCharSetProber): def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(CP949SMModel) + super(CP949Prober, self).__init__() + self.coding_sm = CodingStateMachine(CP949_SM_MODEL) # NOTE: CP949 is a superset of EUC-KR, so the distribution should be # not different. - self._mDistributionAnalyzer = EUCKRDistributionAnalysis() + self.distribution_analyzer = EUCKRDistributionAnalysis() self.reset() - def get_charset_name(self): + @property + def charset_name(self): return "CP949" + + @property + def language(self): + return "Korean"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ThirdParty/CharDet/chardet/enums.py Sat May 06 13:43:21 2017 +0200 @@ -0,0 +1,76 @@ +""" +All of the Enums that are used throughout the chardet package. + +:author: Dan Blanchard (dan.blanchard@gmail.com) +""" + + +class InputState(object): + """ + This enum represents the different states a universal detector can be in. + """ + PURE_ASCII = 0 + ESC_ASCII = 1 + HIGH_BYTE = 2 + + +class LanguageFilter(object): + """ + This enum represents the different language filters we can apply to a + ``UniversalDetector``. + """ + CHINESE_SIMPLIFIED = 0x01 + CHINESE_TRADITIONAL = 0x02 + JAPANESE = 0x04 + KOREAN = 0x08 + NON_CJK = 0x10 + ALL = 0x1F + CHINESE = CHINESE_SIMPLIFIED | CHINESE_TRADITIONAL + CJK = CHINESE | JAPANESE | KOREAN + + +class ProbingState(object): + """ + This enum represents the different states a prober can be in. + """ + DETECTING = 0 + FOUND_IT = 1 + NOT_ME = 2 + + +class MachineState(object): + """ + This enum represents the different states a state machine can be in. + """ + START = 0 + ERROR = 1 + ITS_ME = 2 + + +class SequenceLikelihood(object): + """ + This enum represents the likelihood of a character following the previous one. + """ + NEGATIVE = 0 + UNLIKELY = 1 + LIKELY = 2 + POSITIVE = 3 + + @classmethod + def get_num_categories(cls): + """:returns: The number of likelihood categories in the enum.""" + return 4 + + +class CharacterCategory(object): + """ + This enum represents the different categories language models for + ``SingleByteCharsetProber`` put characters into. + + Anything less than CONTROL is considered a letter. + """ + UNDEFINED = 255 + LINE_BREAK = 254 + SYMBOL = 253 + DIGIT = 252 + CONTROL = 251
--- a/ThirdParty/CharDet/chardet/escprober.py Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/chardet/escprober.py Sat May 06 13:43:21 2017 +0200 @@ -25,62 +25,77 @@ # 02110-1301 USA ######################### END LICENSE BLOCK ######################### -from . import constants -from .escsm import (HZSMModel, ISO2022CNSMModel, ISO2022JPSMModel, - ISO2022KRSMModel) from .charsetprober import CharSetProber from .codingstatemachine import CodingStateMachine -from .compat import wrap_ord +from .enums import LanguageFilter, ProbingState, MachineState +from .escsm import (HZ_SM_MODEL, ISO2022CN_SM_MODEL, ISO2022JP_SM_MODEL, + ISO2022KR_SM_MODEL) class EscCharSetProber(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mCodingSM = [ - CodingStateMachine(HZSMModel), - CodingStateMachine(ISO2022CNSMModel), - CodingStateMachine(ISO2022JPSMModel), - CodingStateMachine(ISO2022KRSMModel) - ] + """ + This CharSetProber uses a "code scheme" approach for detecting encodings, + whereby easily recognizable escape or shift sequences are relied on to + identify these encodings. + """ + + def __init__(self, lang_filter=None): + super(EscCharSetProber, self).__init__(lang_filter=lang_filter) + self.coding_sm = [] + if self.lang_filter & LanguageFilter.CHINESE_SIMPLIFIED: + self.coding_sm.append(CodingStateMachine(HZ_SM_MODEL)) + self.coding_sm.append(CodingStateMachine(ISO2022CN_SM_MODEL)) + if self.lang_filter & LanguageFilter.JAPANESE: + self.coding_sm.append(CodingStateMachine(ISO2022JP_SM_MODEL)) + if self.lang_filter & LanguageFilter.KOREAN: + self.coding_sm.append(CodingStateMachine(ISO2022KR_SM_MODEL)) + self.active_sm_count = None + self._detected_charset = None + self._detected_language = None + self._state = None self.reset() def reset(self): - CharSetProber.reset(self) - for codingSM in self._mCodingSM: - if not codingSM: + super(EscCharSetProber, self).reset() + for coding_sm in self.coding_sm: + if not coding_sm: continue - codingSM.active = True - codingSM.reset() - self._mActiveSM = len(self._mCodingSM) - self._mDetectedCharset = None + coding_sm.active = True + coding_sm.reset() + self.active_sm_count = len(self.coding_sm) + self._detected_charset = None + self._detected_language = None - def get_charset_name(self): - return self._mDetectedCharset + @property + def charset_name(self): + return self._detected_charset + + @property + def language(self): + return self._detected_language def get_confidence(self): - if self._mDetectedCharset: + if self._detected_charset: return 0.99 else: return 0.00 - def feed(self, aBuf): - for c in aBuf: - # PY3K: aBuf is a byte array, so c is an int, not a byte - for codingSM in self._mCodingSM: - if not codingSM: - continue - if not codingSM.active: + def feed(self, byte_str): + for c in byte_str: + for coding_sm in self.coding_sm: + if not coding_sm or not coding_sm.active: continue - codingState = codingSM.next_state(wrap_ord(c)) - if codingState == constants.eError: - codingSM.active = False - self._mActiveSM -= 1 - if self._mActiveSM <= 0: - self._mState = constants.eNotMe - return self.get_state() - elif codingState == constants.eItsMe: - self._mState = constants.eFoundIt - self._mDetectedCharset = codingSM.get_coding_state_machine() # nopep8 - return self.get_state() + coding_state = coding_sm.next_state(c) + if coding_state == MachineState.ERROR: + coding_sm.active = False + self.active_sm_count -= 1 + if self.active_sm_count <= 0: + self._state = ProbingState.NOT_ME + return self.state + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + self._detected_charset = coding_sm.get_coding_state_machine() + self._detected_language = coding_sm.language + return self.state - return self.get_state() + return self.state
--- a/ThirdParty/CharDet/chardet/escsm.py Sun Apr 09 16:52:55 2017 +0200 +++ b/ThirdParty/CharDet/chardet/escsm.py Sat May 06 13:43:21 2017 +0200 @@ -25,9 +25,9 @@ # 02110-1301 USA ######################### END LICENSE BLOCK ######################### -from .constants import eStart, eError, eItsMe +from .enums import MachineState -HZ_cls = ( +HZ_CLS = ( 1,0,0,0,0,0,0,0, # 00 - 07 0,0,0,0,0,0,0,0, # 08 - 0f 0,0,0,0,0,0,0,0, # 10 - 17 @@ -62,24 +62,25 @@ 1,1,1,1,1,1,1,1, # f8 - ff ) -HZ_st = ( -eStart,eError, 3,eStart,eStart,eStart,eError,eError,# 00-07 -eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,# 08-0f -eItsMe,eItsMe,eError,eError,eStart,eStart, 4,eError,# 10-17 - 5,eError, 6,eError, 5, 5, 4,eError,# 18-1f - 4,eError, 4, 4, 4,eError, 4,eError,# 20-27 - 4,eItsMe,eStart,eStart,eStart,eStart,eStart,eStart,# 28-2f +HZ_ST = ( +MachineState.START,MachineState.ERROR, 3,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START, 4,MachineState.ERROR,# 10-17 + 5,MachineState.ERROR, 6,MachineState.ERROR, 5, 5, 4,MachineState.ERROR,# 18-1f + 4,MachineState.ERROR, 4, 4, 4,MachineState.ERROR, 4,MachineState.ERROR,# 20-27 + 4,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 28-2f ) -HZCharLenTable = (0, 0, 0, 0, 0, 0) +HZ_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) -HZSMModel = {'classTable': HZ_cls, - 'classFactor': 6, - 'stateTable': HZ_st, - 'charLenTable': HZCharLenTable, - 'name': "HZ-GB-2312"} +HZ_SM_MODEL = {'class_table': HZ_CLS, + 'class_factor': 6, + 'state_table': HZ_ST, + 'char_len_table': HZ_CHAR_LEN_TABLE, + 'name': "HZ-GB-2312", + 'language': 'Chinese'} -ISO2022CN_cls = ( +ISO2022CN_CLS = ( 2,0,0,0,0,0,0,0, # 00 - 07 0,0,0,0,0,0,0,0, # 08 - 0f 0,0,0,0,0,0,0,0, # 10 - 17 @@ -114,26 +115,27 @@ 2,2,2,2,2,2,2,2, # f8 - ff ) -ISO2022CN_st = ( -eStart, 3,eError,eStart,eStart,eStart,eStart,eStart,# 00-07 -eStart,eError,eError,eError,eError,eError,eError,eError,# 08-0f -eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,# 10-17 -eItsMe,eItsMe,eItsMe,eError,eError,eError, 4,eError,# 18-1f -eError,eError,eError,eItsMe,eError,eError,eError,eError,# 20-27 - 5, 6,eError,eError,eError,eError,eError,eError,# 28-2f -eError,eError,eError,eItsMe,eError,eError,eError,eError,# 30-37 -eError,eError,eError,eError,eError,eItsMe,eError,eStart,# 38-3f +ISO2022CN_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 +MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f +MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,# 18-1f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 20-27 + 5, 6,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 28-2f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 30-37 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,# 38-3f ) -ISO2022CNCharLenTable = (0, 0, 0, 0, 0, 0, 0, 0, 0) +ISO2022CN_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0) -ISO2022CNSMModel = {'classTable': ISO2022CN_cls, - 'classFactor': 9, - 'stateTable': ISO2022CN_st, - 'charLenTable': ISO2022CNCharLenTable, - 'name': "ISO-2022-CN"} +ISO2022CN_SM_MODEL = {'class_table': ISO2022CN_CLS, + 'class_factor': 9, + 'state_table': ISO2022CN_ST, + 'char_len_table': ISO2022CN_CHAR_LEN_TABLE, + 'name': "ISO-2022-CN", + 'language': 'Chinese'} -ISO2022JP_cls = ( +ISO2022JP_CLS = ( 2,0,0,0,0,0,0,0, # 00 - 07 0,0,0,0,0,0,2,2, # 08 - 0f 0,0,0,0,0,0,0,0, # 10 - 17 @@ -168,27 +170,28 @@ 2,2,2,2,2,2,2,2, # f8 - ff ) -ISO2022JP_st = ( -eStart, 3,eError,eStart,eStart,eStart,eStart,eStart,# 00-07 -eStart,eStart,eError,eError,eError,eError,eError,eError,# 08-0f -eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,# 10-17 -eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,eError,# 18-1f -eError, 5,eError,eError,eError,