Preferences/__init__.py

changeset 945
8cd4d08fa9f6
parent 942
1d2a6b8509c6
child 948
fe7b94ed01ec
--- a/Preferences/__init__.py	Fri Mar 11 08:55:14 2011 +0100
+++ b/Preferences/__init__.py	Fri Mar 11 16:51:57 2011 +0100
@@ -9,8 +9,8 @@
 The preferences interface consists of a class, which defines the default
 values for all configuration items and stores the actual values. These
 values are read and written to the eric5 preferences file by module
-functions. The data is stored in a file in a subdirectory of the users home 
-directory. The individual configuration data is accessed by accessor functions 
+functions. The data is stored in a file in a subdirectory of the users home
+directory. The individual configuration data is accessed by accessor functions
 defined on the module level. The module is simply imported wherever it is needed
 with the statement 'import Preferences'. Do not use 'from Preferences import *'
 to import it.
@@ -35,347 +35,348 @@
     ResourcesBrowserFlag, TranslationsBrowserFlag, InterfacesBrowserFlag, \
     OthersBrowserFlag, AllBrowsersFlag
 
+
 class Prefs(object):
     """
     A class to hold all configuration items for the application.
     """
     # defaults for the variables window
     varDefaults = {
-        "LocalsFilter" : "[]",
-        "GlobalsFilter" : "[]"
+        "LocalsFilter": "[]",
+        "GlobalsFilter": "[]"
     }
     
     # defaults for the debugger
     debuggerDefaults = {
-        "RemoteDbgEnabled" : False,
-        "RemoteHost" : "",
-        "RemoteExecution" : "",
-        "PassiveDbgEnabled" : False,
-        "PassiveDbgPort" : 42424,
-        "PassiveDbgType" : "Python", 
-        "AutomaticReset" : False,
-        "Autosave" : False,
+        "RemoteDbgEnabled": False,
+        "RemoteHost": "",
+        "RemoteExecution": "",
+        "PassiveDbgEnabled": False,
+        "PassiveDbgPort": 42424,
+        "PassiveDbgType": "Python",
+        "AutomaticReset": False,
+        "Autosave": False,
         "ThreeStateBreakPoints": False,
-        "SuppressClientExit" : False, 
-        "BreakAlways" : False, 
-        "PythonInterpreter" : "",
-        "Python3Interpreter" : "",
-        "CustomPython3Interpreter" : False,
-        "RubyInterpreter" : "/usr/bin/ruby",
-        "DebugClientType" : "standard",     # supported "standard", "threaded", "custom"
-        "DebugClient" : "",
-        "DebugClientType3" : "standard",    # supported "standard", "threaded", "custom"
-        "DebugClient3" : "",
-        "PythonExtensions" : ".py2 .pyw2 .ptl", 
+        "SuppressClientExit": False,
+        "BreakAlways": False,
+        "PythonInterpreter": "",
+        "Python3Interpreter": "",
+        "CustomPython3Interpreter": False,
+        "RubyInterpreter": "/usr/bin/ruby",
+        "DebugClientType": "standard",     # supported "standard", "threaded", "custom"
+        "DebugClient": "",
+        "DebugClientType3": "standard",    # supported "standard", "threaded", "custom"
+        "DebugClient3": "",
+        "PythonExtensions": ".py2 .pyw2 .ptl",
                                             # space separated list of Python extensions
-        "Python3Extensions" : ".py .pyw .py3 .pyw3",   
+        "Python3Extensions": ".py .pyw .py3 .pyw3",
                                             # space separated list of Python3 extensions
-        "DebugEnvironmentReplace" : False,
-        "DebugEnvironment" : "",
-        "PythonRedirect" : True,
-        "PythonNoEncoding" : False,
-        "Python3Redirect" : True,
-        "Python3NoEncoding" : False,
-        "RubyRedirect" : True,
-        "ConsoleDbgEnabled" : False,
-        "ConsoleDbgCommand" : "",
-        "PathTranslation" : False,
-        "PathTranslationRemote" : "",
-        "PathTranslationLocal" : "",
-        "NetworkInterface" : "127.0.0.1",
+        "DebugEnvironmentReplace": False,
+        "DebugEnvironment": "",
+        "PythonRedirect": True,
+        "PythonNoEncoding": False,
+        "Python3Redirect": True,
+        "Python3NoEncoding": False,
+        "RubyRedirect": True,
+        "ConsoleDbgEnabled": False,
+        "ConsoleDbgCommand": "",
+        "PathTranslation": False,
+        "PathTranslationRemote": "",
+        "PathTranslationLocal": "",
+        "NetworkInterface": "127.0.0.1",
     }
     debuggerDefaults["AllowedHosts"] = ["127.0.0.1", "::1%0"]
     
     # defaults for the UI settings
     uiDefaults = {
-        "Language" : "System",
-        "Style" : "System",
-        "StyleSheet" : "",
-        "ViewManager" : "tabview",
-        "LayoutType" : "Sidebars",
+        "Language": "System",
+        "Style": "System",
+        "StyleSheet": "",
+        "ViewManager": "tabview",
+        "LayoutType": "Sidebars",
         # allowed values are "DockWindows", "FloatingWindows", "Toolboxes" and "Sidebars"
-        "LayoutShellEmbedded" : 0,          # 0 = separate
+        "LayoutShellEmbedded": 0,          # 0 = separate
                                             # 1 = embedded in debug browser
-        "LayoutFileBrowserEmbedded" : 1,    # 0 = separate
+        "LayoutFileBrowserEmbedded": 1,    # 0 = separate
                                             # 1 = embedded in debug browser
                                             # 2 = embedded in project browser
-        "BrowsersListFoldersFirst" : True,
-        "BrowsersHideNonPublic" : False,
-        "BrowsersListContentsByOccurrence" : False,
-        "BrowsersListHiddenFiles" : False, 
-        "BrowsersFileFilters" : "*.py[co];*.so;*.dll",
-        "LogViewerAutoRaise" : True, 
-        "SingleApplicationMode" : False,
-        "CaptionShowsFilename" : True,
-        "CaptionFilenameLength" : 100,
-        "RecentNumber" : 9, 
-        "TopLeftByLeft" : True, 
-        "BottomLeftByLeft" : False, 
-        "TopRightByRight" : True, 
-        "BottomRightByRight" : False, 
-        "TabViewManagerFilenameLength" : 40,
-        "TabViewManagerFilenameOnly" : True, 
+        "BrowsersListFoldersFirst": True,
+        "BrowsersHideNonPublic": False,
+        "BrowsersListContentsByOccurrence": False,
+        "BrowsersListHiddenFiles": False,
+        "BrowsersFileFilters": "*.py[co];*.so;*.dll",
+        "LogViewerAutoRaise": True,
+        "SingleApplicationMode": False,
+        "CaptionShowsFilename": True,
+        "CaptionFilenameLength": 100,
+        "RecentNumber": 9,
+        "TopLeftByLeft": True,
+        "BottomLeftByLeft": False,
+        "TopRightByRight": True,
+        "BottomRightByRight": False,
+        "TabViewManagerFilenameLength": 40,
+        "TabViewManagerFilenameOnly": True,
         # the order in ViewProfiles is Project-Viewer, File-Browser,
         # Debug-Viewer, Python-Shell, Log-Viewer, Task-Viewer,
         # Templates-Viewer, Multiproject-Viewer, Terminal, Chat, Symbols,
         # Numbers
-        "ViewProfiles" : {
-            "edit"  : [
+        "ViewProfiles": {
+            "edit": [
                     # visibility (0)
-                    [ True, False, False, True, True, True, True,  True,  
-                      True, True,  True,  True ],
+                    [True, False, False, True, True, True, True,  True,
+                     True, True,  True,  True],
                     # saved state main window with dock windows (1)
                     b"",
                     # saved states floating windows (2)
                     [b"", b"", b"", b"", b"", b"", b"", b"", b"", b"", b"", b""],
                     # saved state main window with floating windows (3)
-                    b"", 
+                    b"",
                     # saved state main window with toolbox windows (4)
-                    b"", 
+                    b"",
                     # visibility of the toolboxes/sidebars (5)
-                    [ True,  True], 
-                    # saved states of the splitters and sidebars of the 
+                    [True,  True],
+                    # saved states of the splitters and sidebars of the
                     # sidebars layout (6)
-                    [b"", b"", b"", b""], 
+                    [b"", b"", b"", b""],
                 ],
-            "debug" : [
+            "debug": [
                     # visibility (0)
-                    [ False, False, True,  True, True, True, False, False, 
-                      True,  False,  False, False], 
+                    [False, False, True,  True, True, True, False, False,
+                     True,  False, False, False],
                     # saved state main window with dock windows (1)
                     b"",
                     # saved states floating windows (2)
                     [b"", b"", b"", b"", b"", b"", b"", b"", b"", b"", b"", b""],
                     # saved state main window with floating windows (3)
-                    b"", 
+                    b"",
                     # saved state main window with toolbox windows (4)
-                    b"", 
+                    b"",
                     # visibility of the toolboxes/sidebars (5)
-                    [ False,  True], 
-                    # saved states of the splitters and sidebars of the 
+                    [False,  True],
+                    # saved states of the splitters and sidebars of the
                     # sidebars layout (6)
-                    [b"", b"", b"", b""], 
+                    [b"", b"", b"", b""],
                 ],
         },
-        "ToolbarManagerState" : QtCore.QByteArray(), 
-        "ShowSplash" : True,
-        "SingleCloseButton" : False, 
+        "ToolbarManagerState": QtCore.QByteArray(),
+        "ShowSplash": True,
+        "SingleCloseButton": False,
         
-        "PerformVersionCheck" : 4,      # 0 = off
+        "PerformVersionCheck": 4,      # 0 = off
                                         # 1 = at startup
                                         # 2 = daily
                                         # 3 = weekly
                                         # 4 = monthly
-        "UseProxy" : False,
-        "UseSystemProxy" : True,
-        "UseHttpProxyForAll" : False, 
-        "ProxyHost/Http" : "",
-        "ProxyHost/Https" : "",
-        "ProxyHost/Ftp" : "",
-        "ProxyPort/Http" : 80,
-        "ProxyPort/Https" : 443,
-        "ProxyPort/Ftp" : 21,
-        "ProxyUser/Http" : "",
-        "ProxyUser/Https" : "",
-        "ProxyUser/Ftp" : "",
-        "ProxyPassword/Http" : "",
-        "ProxyPassword/Https" : "",
-        "ProxyPassword/Ftp" : "",
+        "UseProxy": False,
+        "UseSystemProxy": True,
+        "UseHttpProxyForAll": False,
+        "ProxyHost/Http": "",
+        "ProxyHost/Https": "",
+        "ProxyHost/Ftp": "",
+        "ProxyPort/Http": 80,
+        "ProxyPort/Https": 443,
+        "ProxyPort/Ftp": 21,
+        "ProxyUser/Http": "",
+        "ProxyUser/Https": "",
+        "ProxyUser/Ftp": "",
+        "ProxyPassword/Http": "",
+        "ProxyPassword/Https": "",
+        "ProxyPassword/Ftp": "",
         
-        "PluginRepositoryUrl5" : \
+        "PluginRepositoryUrl5": \
             "http://die-offenbachs.homelinux.org/eric/plugins5/repository.xml",
-        "VersionsUrls5" : [
-            "http://die-offenbachs.homelinux.org/eric/snapshots5/versions", 
-            "http://eric-ide.python-projects.org/snapshots5/versions", 
-        ], 
+        "VersionsUrls5": [
+            "http://die-offenbachs.homelinux.org/eric/snapshots5/versions",
+            "http://eric-ide.python-projects.org/snapshots5/versions",
+        ],
         
-        "OpenOnStartup" : 0,        # 0 = nothing
-                                    # 1 = last file
-                                    # 2 = last project
-                                    # 3 = last multiproject
-                                    # 4 = last global session
+        "OpenOnStartup": 0,        # 0 = nothing
+                                   # 1 = last file
+                                   # 2 = last project
+                                   # 3 = last multiproject
+                                   # 4 = last global session
         
-        "DownloadPath" : "", 
-        "RequestDownloadFilename" : True, 
-        "CheckErrorLog" : True, 
+        "DownloadPath": "",
+        "RequestDownloadFilename": True,
+        "CheckErrorLog": True,
         
-        "LogStdErrColour" : QtGui.QColor(QtCore.Qt.red),
+        "LogStdErrColour": QtGui.QColor(QtCore.Qt.red),
     }
     viewProfilesLength = len(uiDefaults["ViewProfiles"]["edit"][2])
     
     iconsDefaults = {
-        "Path" : [],
+        "Path": [],
     }
     
     # defaults for the cooperation settings
     cooperationDefaults = {
-        "ServerPort" : 42000, 
-        "AutoStartServer" : False,
-        "TryOtherPorts" : True, 
-        "MaxPortsToTry" : 100, 
-        "AutoAcceptConnections" : False, 
-        "BannedUsers" : [], 
+        "ServerPort": 42000,
+        "AutoStartServer": False,
+        "TryOtherPorts": True,
+        "MaxPortsToTry": 100,
+        "AutoAcceptConnections": False,
+        "BannedUsers": [],
     }
     
     # defaults for the editor settings
     editorDefaults = {
-        "AutosaveInterval" : 0,
-        "TabWidth" : 4,
-        "IndentWidth" : 4,
-        "LinenoWidth" : 4,
-        "IndentationGuides" : True,
-        "UnifiedMargins" : False, 
-        "LinenoMargin" : True,
-        "FoldingMargin" : True,
-        "FoldingStyle" : 1,
-        "TabForIndentation" : False,
-        "TabIndents" : True,
-        "ConvertTabsOnLoad" : False,
-        "AutomaticEOLConversion" : True,
-        "ShowWhitespace" : False,
-        "WhitespaceSize" : 1, 
-        "ShowEOL" : False,
-        "UseMonospacedFont" : False,
-        "WrapLongLines" : False,
-        "WarnFilesize" : 512,
-        "ClearBreaksOnClose" : True,
-        "StripTrailingWhitespace" : False, 
-        "CommentColumn0" : True, 
+        "AutosaveInterval": 0,
+        "TabWidth": 4,
+        "IndentWidth": 4,
+        "LinenoWidth": 4,
+        "IndentationGuides": True,
+        "UnifiedMargins": False,
+        "LinenoMargin": True,
+        "FoldingMargin": True,
+        "FoldingStyle": 1,
+        "TabForIndentation": False,
+        "TabIndents": True,
+        "ConvertTabsOnLoad": False,
+        "AutomaticEOLConversion": True,
+        "ShowWhitespace": False,
+        "WhitespaceSize": 1,
+        "ShowEOL": False,
+        "UseMonospacedFont": False,
+        "WrapLongLines": False,
+        "WarnFilesize": 512,
+        "ClearBreaksOnClose": True,
+        "StripTrailingWhitespace": False,
+        "CommentColumn0": True,
         
-        "EdgeMode" : Qsci.QsciScintilla.EdgeNone,
-        "EdgeColumn" : 80,
+        "EdgeMode": Qsci.QsciScintilla.EdgeNone,
+        "EdgeColumn": 80,
         
-        "AutoIndentation" : True,
-        "BraceHighlighting" : True,
-        "CreateBackupFile" : False,
-        "CaretLineVisible" : False,
-        "CaretWidth" : 1,
-        "ColourizeSelText" : False,
-        "CustomSelectionColours" : False,
-        "ExtendSelectionToEol" : False,
+        "AutoIndentation": True,
+        "BraceHighlighting": True,
+        "CreateBackupFile": False,
+        "CaretLineVisible": False,
+        "CaretWidth": 1,
+        "ColourizeSelText": False,
+        "CustomSelectionColours": False,
+        "ExtendSelectionToEol": False,
         
-        "AutoPrepareAPIs" : False,
+        "AutoPrepareAPIs": False,
         
-        "AutoCompletionEnabled" : False,
-        "AutoCompletionCaseSensitivity" : True,
-        "AutoCompletionReplaceWord" : False,
-        "AutoCompletionShowSingle" : False,
-        "AutoCompletionSource" : Qsci.QsciScintilla.AcsDocument,
-        "AutoCompletionThreshold" : 2,
-        "AutoCompletionFillups" : False,
+        "AutoCompletionEnabled": False,
+        "AutoCompletionCaseSensitivity": True,
+        "AutoCompletionReplaceWord": False,
+        "AutoCompletionShowSingle": False,
+        "AutoCompletionSource": Qsci.QsciScintilla.AcsDocument,
+        "AutoCompletionThreshold": 2,
+        "AutoCompletionFillups": False,
         
-        "CallTipsEnabled" : False,
-        "CallTipsVisible" : 0,
-        "CallTipsStyle"   : Qsci.QsciScintilla.CallTipsNoContext,
-        "CallTipsScintillaOnFail" : False,
+        "CallTipsEnabled": False,
+        "CallTipsVisible": 0,
+        "CallTipsStyle": Qsci.QsciScintilla.CallTipsNoContext,
+        "CallTipsScintillaOnFail": False,
         # show QScintilla calltips, if plugin fails
         
-        "AutoCheckSyntax" : True,
-        "AutoReopen" : False,
+        "AutoCheckSyntax": True,
+        "AutoReopen": False,
         
-        "AnnotationsEnabled" : True, 
+        "AnnotationsEnabled": True,
         
-        "MiniContextMenu" : False,
+        "MiniContextMenu": False,
         
-        "SearchMarkersEnabled" : True, 
-        "QuickSearchMarkersEnabled" : True, 
-        "MarkOccurrencesEnabled" : True, 
-        "MarkOccurrencesTimeout" : 500,     # 500 milliseconds
-        "AdvancedEncodingDetection" : True, 
+        "SearchMarkersEnabled": True,
+        "QuickSearchMarkersEnabled": True,
+        "MarkOccurrencesEnabled": True,
+        "MarkOccurrencesTimeout": 500,     # 500 milliseconds
+        "AdvancedEncodingDetection": True,
         
-        "SpellCheckingEnabled" : True, 
-        "AutoSpellCheckingEnabled" : True, 
-        "AutoSpellCheckChunkSize" : 30, 
-        "SpellCheckStringsOnly" : True, 
-        "SpellCheckingMinWordSize" : 3, 
-        "SpellCheckingDefaultLanguage" : "en", 
-        "SpellCheckingPersonalWordList" : "", 
-        "SpellCheckingPersonalExcludeList" : "", 
+        "SpellCheckingEnabled": True,
+        "AutoSpellCheckingEnabled": True,
+        "AutoSpellCheckChunkSize": 30,
+        "SpellCheckStringsOnly": True,
+        "SpellCheckingMinWordSize": 3,
+        "SpellCheckingDefaultLanguage": "en",
+        "SpellCheckingPersonalWordList": "",
+        "SpellCheckingPersonalExcludeList": "",
         
-        "DefaultEncoding" : "utf-8",
-        "DefaultOpenFilter" : "",
-        "DefaultSaveFilter" : "",
-        "AdditionalOpenFilters" : [], 
-        "AdditionalSaveFilters" : [], 
+        "DefaultEncoding": "utf-8",
+        "DefaultOpenFilter": "",
+        "DefaultSaveFilter": "",
+        "AdditionalOpenFilters": [],
+        "AdditionalSaveFilters": [],
         
-        "ZoomFactor" : 0, 
+        "ZoomFactor": 0,
         
         # All (most) lexers
-        "AllFoldCompact" : True,
+        "AllFoldCompact": True,
         
         # Bash specifics
-        "BashFoldComment" : True,
+        "BashFoldComment": True,
         
         # CMake specifics
-        "CMakeFoldAtElse" : False,
+        "CMakeFoldAtElse": False,
         
         # C++ specifics
-        "CppCaseInsensitiveKeywords" : False, 
-        "CppFoldComment" : True,
-        "CppFoldPreprocessor" : False,
-        "CppFoldAtElse" : False,
-        "CppIndentOpeningBrace" : False,
-        "CppIndentClosingBrace" : False,
-        "CppDollarsAllowed" : True, 
+        "CppCaseInsensitiveKeywords": False,
+        "CppFoldComment": True,
+        "CppFoldPreprocessor": False,
+        "CppFoldAtElse": False,
+        "CppIndentOpeningBrace": False,
+        "CppIndentClosingBrace": False,
+        "CppDollarsAllowed": True,
         
         # CSS specifics
-        "CssFoldComment" : True,
+        "CssFoldComment": True,
         
         # D specifics
-        "DFoldComment" : True,
-        "DFoldAtElse" : False,
-        "DIndentOpeningBrace" : False,
-        "DIndentClosingBrace" : False,
+        "DFoldComment": True,
+        "DFoldAtElse": False,
+        "DIndentOpeningBrace": False,
+        "DIndentClosingBrace": False,
         
         # HTML specifics
-        "HtmlFoldPreprocessor" : False,
-        "HtmlFoldScriptComments" : False, 
-        "HtmlFoldScriptHeredocs" : False, 
-        "HtmlCaseSensitiveTags" : False,
+        "HtmlFoldPreprocessor": False,
+        "HtmlFoldScriptComments": False,
+        "HtmlFoldScriptHeredocs": False,
+        "HtmlCaseSensitiveTags": False,
         
         # Pascal specifics
-        "PascalFoldComment" : True, 
-        "PascalFoldPreprocessor" : False, 
-        "PascalSmartHighlighting" : True, 
+        "PascalFoldComment": True,
+        "PascalFoldPreprocessor": False,
+        "PascalSmartHighlighting": True,
         
         # Perl specifics
-        "PerlFoldComment" : True,
-        "PerlFoldPackages" : True, 
-        "PerlFoldPODBlocks" : True, 
+        "PerlFoldComment": True,
+        "PerlFoldPackages": True,
+        "PerlFoldPODBlocks": True,
         
         # PostScript specifics
-        "PostScriptTokenize" : False, 
-        "PostScriptLevel" : 3, 
-        "PostScriptFoldAtElse" : False, 
+        "PostScriptTokenize": False,
+        "PostScriptLevel": 3,
+        "PostScriptFoldAtElse": False,
         
         # Povray specifics
-        "PovFoldComment" : True,
-        "PovFoldDirectives" : False,
+        "PovFoldComment": True,
+        "PovFoldDirectives": False,
         
         # Python specifics
-        "PythonBadIndentation" : True,
-        "PythonFoldComment" : True,
-        "PythonFoldString" : True,
-        "PythonAutoIndent" : True,
-        "PythonAllowV2Unicode" : True, 
-        "PythonAllowV3Binary" : True, 
-        "PythonAllowV3Bytes" : True, 
+        "PythonBadIndentation": True,
+        "PythonFoldComment": True,
+        "PythonFoldString": True,
+        "PythonAutoIndent": True,
+        "PythonAllowV2Unicode": True,
+        "PythonAllowV3Binary": True,
+        "PythonAllowV3Bytes": True,
         
         # SQL specifics
-        "SqlFoldComment" : True,
-        "SqlBackslashEscapes" : False,
+        "SqlFoldComment": True,
+        "SqlBackslashEscapes": False,
         
         # VHDL specifics
-        "VHDLFoldComment" : True,
-        "VHDLFoldAtElse" : True,
-        "VHDLFoldAtBegin" : True, 
-        "VHDLFoldAtParenthesis" : True, 
+        "VHDLFoldComment": True,
+        "VHDLFoldAtElse": True,
+        "VHDLFoldAtBegin": True,
+        "VHDLFoldAtParenthesis": True,
         
         # XML specifics
-        "XMLStyleScripts" : True, 
+        "XMLStyleScripts": True,
         
         # YAML specifics
-        "YAMLFoldComment" : False, 
+        "YAMLFoldComment": False,
     }
     
     if isWindowsPlatform():
@@ -384,226 +385,226 @@
         editorDefaults["EOLMode"] = Qsci.QsciScintilla.EolUnix
     
     editorColourDefaults = {
-        "CurrentMarker"                : QtGui.QColor(QtCore.Qt.yellow),
-        "ErrorMarker"                  : QtGui.QColor(QtCore.Qt.red),
-        "MatchingBrace"                : QtGui.QColor(QtCore.Qt.green),
-        "MatchingBraceBack"            : QtGui.QColor(QtCore.Qt.white),
-        "NonmatchingBrace"             : QtGui.QColor(QtCore.Qt.red),
-        "NonmatchingBraceBack"         : QtGui.QColor(QtCore.Qt.white),
-        "CallTipsBackground"           : QtGui.QColor(QtCore.Qt.white),
-        "CaretForeground"              : QtGui.QColor(QtCore.Qt.black),
-        "CaretLineBackground"          : QtGui.QColor(QtCore.Qt.white),
-        "Edge"                         : QtGui.QColor(QtCore.Qt.lightGray),
-        "SelectionBackground"          : QtGui.QColor(QtCore.Qt.black),
-        "SelectionForeground"          : QtGui.QColor(QtCore.Qt.white),
-        "SearchMarkers"                : QtGui.QColor(QtCore.Qt.blue),
-        "MarginsBackground"            : QtGui.QColor(QtCore.Qt.lightGray),
-        "MarginsForeground"            : QtGui.QColor(QtCore.Qt.black),
-        "FoldmarginBackground"         : QtGui.QColor("#e6e6e6"),
-        "FoldMarkersForeground"        : QtGui.QColor(QtCore.Qt.white),
-        "FoldMarkersBackground"        : QtGui.QColor(QtCore.Qt.black),
-        "SpellingMarkers"              : QtGui.QColor(QtCore.Qt.red),
-        "AnnotationsWarningForeground" : QtGui.QColor("#606000"),
-        "AnnotationsWarningBackground" : QtGui.QColor("#ffffd0"), 
-        "AnnotationsErrorForeground"   : QtGui.QColor("#600000"),
-        "AnnotationsErrorBackground"   : QtGui.QColor("#ffd0d0"),
-        "WhitespaceForeground"         : QtGui.QColor(QtCore.Qt.darkGray),
-        "WhitespaceBackground"         : QtGui.QColor(QtCore.Qt.white),
+        "CurrentMarker": QtGui.QColor(QtCore.Qt.yellow),
+        "ErrorMarker": QtGui.QColor(QtCore.Qt.red),
+        "MatchingBrace": QtGui.QColor(QtCore.Qt.green),
+        "MatchingBraceBack": QtGui.QColor(QtCore.Qt.white),
+        "NonmatchingBrace": QtGui.QColor(QtCore.Qt.red),
+        "NonmatchingBraceBack": QtGui.QColor(QtCore.Qt.white),
+        "CallTipsBackground": QtGui.QColor(QtCore.Qt.white),
+        "CaretForeground": QtGui.QColor(QtCore.Qt.black),
+        "CaretLineBackground": QtGui.QColor(QtCore.Qt.white),
+        "Edge": QtGui.QColor(QtCore.Qt.lightGray),
+        "SelectionBackground": QtGui.QColor(QtCore.Qt.black),
+        "SelectionForeground": QtGui.QColor(QtCore.Qt.white),
+        "SearchMarkers": QtGui.QColor(QtCore.Qt.blue),
+        "MarginsBackground": QtGui.QColor(QtCore.Qt.lightGray),
+        "MarginsForeground": QtGui.QColor(QtCore.Qt.black),
+        "FoldmarginBackground": QtGui.QColor("#e6e6e6"),
+        "FoldMarkersForeground": QtGui.QColor(QtCore.Qt.white),
+        "FoldMarkersBackground": QtGui.QColor(QtCore.Qt.black),
+        "SpellingMarkers": QtGui.QColor(QtCore.Qt.red),
+        "AnnotationsWarningForeground": QtGui.QColor("#606000"),
+        "AnnotationsWarningBackground": QtGui.QColor("#ffffd0"),
+        "AnnotationsErrorForeground": QtGui.QColor("#600000"),
+        "AnnotationsErrorBackground": QtGui.QColor("#ffd0d0"),
+        "WhitespaceForeground": QtGui.QColor(QtCore.Qt.darkGray),
+        "WhitespaceBackground": QtGui.QColor(QtCore.Qt.white),
     }
     
     editorOtherFontsDefaults = {
-        "MarginsFont"    : "Sans Serif,10,-1,5,50,0,0,0,0,0",
-        "DefaultFont"    : "Sans Serif,10,-1,5,50,0,0,0,0,0",
-        "MonospacedFont" : "Courier,10,-1,5,50,0,0,0,0,0", 
+        "MarginsFont": "Sans Serif,10,-1,5,50,0,0,0,0,0",
+        "DefaultFont": "Sans Serif,10,-1,5,50,0,0,0,0,0",
+        "MonospacedFont": "Courier,10,-1,5,50,0,0,0,0,0",
     }
     
     editorTypingDefaults = {
-        "Python/EnabledTypingAids"  : True, 
-        "Python/InsertClosingBrace" : True,
-        "Python/IndentBrace"        : True,
-        "Python/SkipBrace"          : True,
-        "Python/InsertQuote"        : True,
-        "Python/DedentElse"         : True,
-        "Python/DedentExcept"       : True,
-        "Python/Py24StyleTry"       : True, 
-        "Python/InsertImport"       : True,
-        "Python/InsertSelf"         : True,
-        "Python/InsertBlank"        : True,
-        "Python/ColonDetection"     : True,
-        "Python/DedentDef"          : False, 
+        "Python/EnabledTypingAids": True,
+        "Python/InsertClosingBrace": True,
+        "Python/IndentBrace": True,
+        "Python/SkipBrace": True,
+        "Python/InsertQuote": True,
+        "Python/DedentElse": True,
+        "Python/DedentExcept": True,
+        "Python/Py24StyleTry": True,
+        "Python/InsertImport": True,
+        "Python/InsertSelf": True,
+        "Python/InsertBlank": True,
+        "Python/ColonDetection": True,
+        "Python/DedentDef": False,
         
-        "Ruby/EnabledTypingAids"    : True, 
-        "Ruby/InsertClosingBrace"   : True,
-        "Ruby/IndentBrace"          : True,
-        "Ruby/SkipBrace"            : True,
-        "Ruby/InsertQuote"          : True,
-        "Ruby/InsertBlank"          : True,
-        "Ruby/InsertHereDoc"        : True, 
-        "Ruby/InsertInlineDoc"      : True, 
+        "Ruby/EnabledTypingAids": True,
+        "Ruby/InsertClosingBrace": True,
+        "Ruby/IndentBrace": True,
+        "Ruby/SkipBrace": True,
+        "Ruby/InsertQuote": True,
+        "Ruby/InsertBlank": True,
+        "Ruby/InsertHereDoc": True,
+        "Ruby/InsertInlineDoc": True,
     }
     
     editorExporterDefaults = {
-        "HTML/WYSIWYG"          : True, 
-        "HTML/Folding"          : False, 
-        "HTML/OnlyStylesUsed"   : False, 
-        "HTML/FullPathAsTitle"  : False, 
-        "HTML/UseTabs"          : False, 
+        "HTML/WYSIWYG": True,
+        "HTML/Folding": False,
+        "HTML/OnlyStylesUsed": False,
+        "HTML/FullPathAsTitle": False,
+        "HTML/UseTabs": False,
         
-        "RTF/WYSIWYG"           : True, 
-        "RTF/UseTabs"           : False, 
-        "RTF/Font"              : "Courier New,10,-1,5,50,0,0,0,0,0", 
+        "RTF/WYSIWYG": True,
+        "RTF/UseTabs": False,
+        "RTF/Font": "Courier New,10,-1,5,50,0,0,0,0,0",
         
-        "PDF/Magnification"     : 0, 
-        "PDF/Font"              : "Helvetica",  # must be Courier, Helvetica or Times
-        "PDF/PageSize"          : "A4",         # must be A4 or Letter
-        "PDF/MarginLeft"        : 36, 
-        "PDF/MarginRight"       : 36, 
-        "PDF/MarginTop"         : 36, 
-        "PDF/MarginBottom"      : 36, 
+        "PDF/Magnification": 0,
+        "PDF/Font": "Helvetica",  # must be Courier, Helvetica or Times
+        "PDF/PageSize": "A4",         # must be A4 or Letter
+        "PDF/MarginLeft": 36,
+        "PDF/MarginRight": 36,
+        "PDF/MarginTop": 36,
+        "PDF/MarginBottom": 36,
         
-        "TeX/OnlyStylesUsed"    : False, 
-        "TeX/FullPathAsTitle"   : False, 
+        "TeX/OnlyStylesUsed": False,
+        "TeX/FullPathAsTitle": False,
         
-        "ODT/WYSIWYG"           : True, 
-        "ODT/OnlyStylesUsed"    : False, 
-        "ODT/UseTabs"           : False, 
+        "ODT/WYSIWYG": True,
+        "ODT/OnlyStylesUsed": False,
+        "ODT/UseTabs": False,
     }
     
     # defaults for the printer settings
     printerDefaults = {
-        "PrinterName" : "",
-        "ColorMode" : True,
-        "FirstPageFirst" : True,
-        "Magnification" : -3,
-        "Orientation" : 0,
+        "PrinterName": "",
+        "ColorMode": True,
+        "FirstPageFirst": True,
+        "Magnification": -3,
+        "Orientation": 0,
         "PageSize": 0,
-        "HeaderFont" : "Serif,10,-1,5,50,0,0,0,0,0", 
-        "LeftMargin" : 1.0, 
-        "RightMargin" : 1.0, 
-        "TopMargin" : 1.0, 
-        "BottomMargin" : 1.0, 
+        "HeaderFont": "Serif,10,-1,5,50,0,0,0,0,0",
+        "LeftMargin": 1.0,
+        "RightMargin": 1.0,
+        "TopMargin": 1.0,
+        "BottomMargin": 1.0,
     }
     
     # defaults for the project settings
     projectDefaults = {
-        "SearchNewFiles" : False,
-        "SearchNewFilesRecursively" : False,
-        "AutoIncludeNewFiles" : False,
-        "AutoLoadSession" : False,
-        "AutoSaveSession" : False,
-        "SessionAllBreakpoints" : False,
-        "XMLTimestamp" : True,
-        "AutoCompileForms" : False,
-        "AutoCompileResources" : False,
-        "AutoLoadDbgProperties" : False,
-        "AutoSaveDbgProperties" : False,
-        "HideGeneratedForms" : False,
-        "FollowEditor" : True, 
-        "RecentNumber" : 9, 
-        "DeterminePyFromProject" : True,
+        "SearchNewFiles": False,
+        "SearchNewFilesRecursively": False,
+        "AutoIncludeNewFiles": False,
+        "AutoLoadSession": False,
+        "AutoSaveSession": False,
+        "SessionAllBreakpoints": False,
+        "XMLTimestamp": True,
+        "AutoCompileForms": False,
+        "AutoCompileResources": False,
+        "AutoLoadDbgProperties": False,
+        "AutoSaveDbgProperties": False,
+        "HideGeneratedForms": False,
+        "FollowEditor": True,
+        "RecentNumber": 9,
+        "DeterminePyFromProject": True,
     }
     
     # defaults for the multi project settings
     multiProjectDefaults = {
-        "OpenMasterAutomatically" : True, 
-        "XMLTimestamp" : True,
-        "RecentNumber" : 9, 
+        "OpenMasterAutomatically": True,
+        "XMLTimestamp": True,
+        "RecentNumber": 9,
     }
     
     # defaults for the project browser flags settings
     projectBrowserFlagsDefaults = {
-        "Qt4" : 
+        "Qt4":
             SourcesBrowserFlag | \
             FormsBrowserFlag | \
             ResourcesBrowserFlag | \
             TranslationsBrowserFlag | \
             InterfacesBrowserFlag | \
-            OthersBrowserFlag, 
-        "Qt4C" : 
+            OthersBrowserFlag,
+        "Qt4C":
             SourcesBrowserFlag | \
             ResourcesBrowserFlag | \
             TranslationsBrowserFlag | \
             InterfacesBrowserFlag | \
-            OthersBrowserFlag, 
-        "E4Plugin" : 
+            OthersBrowserFlag,
+        "E4Plugin":
             SourcesBrowserFlag | \
             FormsBrowserFlag | \
             ResourcesBrowserFlag | \
             TranslationsBrowserFlag | \
             InterfacesBrowserFlag | \
-            OthersBrowserFlag, 
-        "Console" : 
+            OthersBrowserFlag,
+        "Console":
             SourcesBrowserFlag | \
             InterfacesBrowserFlag | \
-            OthersBrowserFlag, 
-        "Other" : 
+            OthersBrowserFlag,
+        "Other":
             SourcesBrowserFlag | \
             InterfacesBrowserFlag | \
-            OthersBrowserFlag, 
-        "PySide" :
+            OthersBrowserFlag,
+        "PySide":
             SourcesBrowserFlag | \
             FormsBrowserFlag | \
             ResourcesBrowserFlag | \
             TranslationsBrowserFlag | \
             InterfacesBrowserFlag | \
-            OthersBrowserFlag, 
-        "PySideC" :
+            OthersBrowserFlag,
+        "PySideC":
             SourcesBrowserFlag | \
             ResourcesBrowserFlag | \
             TranslationsBrowserFlag | \
             InterfacesBrowserFlag | \
-            OthersBrowserFlag, 
+            OthersBrowserFlag,
     }
     
     # defaults for the project browser colour settings
     projectBrowserColourDefaults = {
-        "Highlighted" : QtGui.QColor(QtCore.Qt.red),
+        "Highlighted": QtGui.QColor(QtCore.Qt.red),
         
-        "VcsAdded"    : QtGui.QColor(QtCore.Qt.blue),
-        "VcsConflict" : QtGui.QColor(QtCore.Qt.red),
-        "VcsModified" : QtGui.QColor(QtCore.Qt.yellow),
-        "VcsReplaced" : QtGui.QColor(QtCore.Qt.cyan), 
-        "VcsUpdate"   : QtGui.QColor(QtCore.Qt.green),
-        "VcsRemoved"  : QtGui.QColor(QtCore.Qt.magenta)
+        "VcsAdded": QtGui.QColor(QtCore.Qt.blue),
+        "VcsConflict": QtGui.QColor(QtCore.Qt.red),
+        "VcsModified": QtGui.QColor(QtCore.Qt.yellow),
+        "VcsReplaced": QtGui.QColor(QtCore.Qt.cyan),
+        "VcsUpdate": QtGui.QColor(QtCore.Qt.green),
+        "VcsRemoved": QtGui.QColor(QtCore.Qt.magenta)
     }
     
     # defaults for the help settings
     helpDefaults = {
-        "HelpViewerType" : 1,      # this coresponds with the radio button id
-        "CustomViewer" : "",
-        "PythonDocDir" : "",
-        "Python2DocDir" : "", 
-        "QtDocDir" : "",
-        "Qt4DocDir" : "",
-        "PyQt4DocDir" : "",
-        "PySideDocDir" : "", 
-        "SingleHelpWindow" : True,
-        "SaveGeometry" : True,
-        "HelpViewerState" : QtCore.QByteArray(), 
-        "WebSearchSuggestions" : True, 
-        "WebSearchEngine" : "Google", 
-        "WebSearchKeywords" : [],   # array of two tuples (keyword, search engine name)
-        "DiskCacheEnabled" : True, 
-        "DiskCacheSize" : 50,       # 50 MB
-        "CachePolicy" : QtNetwork.QNetworkRequest.PreferNetwork, 
-        "AcceptCookies" : 2,        # CookieJar.AcceptOnlyFromSitesNavigatedTo
-        "KeepCookiesUntil" : 0,     # CookieJar.KeepUntilExpire
-        "FilterTrackingCookies" : True, 
-        "PrintBackgrounds" : False, 
-        "StartupBehavior" : 0,      # show home page
+        "HelpViewerType": 1,      # this coresponds with the radio button id
+        "CustomViewer": "",
+        "PythonDocDir": "",
+        "Python2DocDir": "",
+        "QtDocDir": "",
+        "Qt4DocDir": "",
+        "PyQt4DocDir": "",
+        "PySideDocDir": "",
+        "SingleHelpWindow": True,
+        "SaveGeometry": True,
+        "HelpViewerState": QtCore.QByteArray(),
+        "WebSearchSuggestions": True,
+        "WebSearchEngine": "Google",
+        "WebSearchKeywords": [],   # array of two tuples (keyword, search engine name)
+        "DiskCacheEnabled": True,
+        "DiskCacheSize": 50,       # 50 MB
+        "CachePolicy": QtNetwork.QNetworkRequest.PreferNetwork,
+        "AcceptCookies": 2,        # CookieJar.AcceptOnlyFromSitesNavigatedTo
+        "KeepCookiesUntil": 0,     # CookieJar.KeepUntilExpire
+        "FilterTrackingCookies": True,
+        "PrintBackgrounds": False,
+        "StartupBehavior": 0,      # show home page
         "HomePage": "pyrc:home",
-        "HistoryLimit" : 30, 
-        "DefaultScheme" : "file://", 
-        "SavePasswords" : False, 
-        "AdBlockEnabled" : False, 
-        "AdBlockSubscriptions" : [], 
-        "OfflineStorageDatabaseQuota" : 50,     # 50 MB
-        "UserAgent" : "", 
-        "ShowPreview" : True, 
-        "DownloadManagerRemovePolicy" : 0,      # never delete downloads
-        "DownloadManagerSize" : QtCore.QSize(400, 300), 
-        "DownloadManagerPosition" : QtCore.QPoint(), 
-        "DownloadManagerDownloads" : [], 
+        "HistoryLimit": 30,
+        "DefaultScheme": "file://",
+        "SavePasswords": False,
+        "AdBlockEnabled": False,
+        "AdBlockSubscriptions": [],
+        "OfflineStorageDatabaseQuota": 50,     # 50 MB
+        "UserAgent": "",
+        "ShowPreview": True,
+        "DownloadManagerRemovePolicy": 0,      # never delete downloads
+        "DownloadManagerSize": QtCore.QSize(400, 300),
+        "DownloadManagerPosition": QtCore.QPoint(),
+        "DownloadManagerDownloads": [],
     }
     
     websettings = QWebSettings.globalSettings()
@@ -614,28 +615,28 @@
     fontSize = websettings.fontSize(QWebSettings.DefaultFixedFontSize)
     helpDefaults["FixedFont"] = QtGui.QFont(fontFamily, fontSize).toString()
     helpDefaults.update({
-        "AutoLoadImages" : 
-            websettings.testAttribute(QWebSettings.AutoLoadImages), 
-        "UserStyleSheet" : "", 
-        "SaveUrlColor" : QtGui.QColor(248, 248, 210), 
-        "JavaEnabled" : 
-            websettings.testAttribute(QWebSettings.JavaEnabled), 
-        "JavaScriptEnabled" : 
-            websettings.testAttribute(QWebSettings.JavascriptEnabled), 
-        "JavaScriptCanOpenWindows" : 
-            websettings.testAttribute(QWebSettings.JavascriptCanOpenWindows), 
-        "JavaScriptCanAccessClipboard" : 
-            websettings.testAttribute(QWebSettings.JavascriptCanAccessClipboard), 
-        "PluginsEnabled" :
-            websettings.testAttribute(QWebSettings.PluginsEnabled), 
-        "OfflineStorageDatabaseEnabled" :
-            websettings.testAttribute(QWebSettings.OfflineStorageDatabaseEnabled), 
+        "AutoLoadImages":
+            websettings.testAttribute(QWebSettings.AutoLoadImages),
+        "UserStyleSheet": "",
+        "SaveUrlColor": QtGui.QColor(248, 248, 210),
+        "JavaEnabled":
+            websettings.testAttribute(QWebSettings.JavaEnabled),
+        "JavaScriptEnabled":
+            websettings.testAttribute(QWebSettings.JavascriptEnabled),
+        "JavaScriptCanOpenWindows":
+            websettings.testAttribute(QWebSettings.JavascriptCanOpenWindows),
+        "JavaScriptCanAccessClipboard":
+            websettings.testAttribute(QWebSettings.JavascriptCanAccessClipboard),
+        "PluginsEnabled":
+            websettings.testAttribute(QWebSettings.PluginsEnabled),
+        "OfflineStorageDatabaseEnabled":
+            websettings.testAttribute(QWebSettings.OfflineStorageDatabaseEnabled),
     })
     if hasattr(QWebSettings, "OfflineWebApplicationCacheEnabled"):
         helpDefaults.update({
-            "OfflineWebApplicationCacheEnabled" :
+            "OfflineWebApplicationCacheEnabled":
                 websettings.testAttribute(QWebSettings.OfflineWebApplicationCacheEnabled),
-            "OfflineWebApplicationCacheQuota" : 50,     # 50 MB
+            "OfflineWebApplicationCacheQuota": 50,     # 50 MB
         })
     if hasattr(QWebSettings, "LocalStorageEnabled"):
         helpDefaults["LocalStorageEnabled"] = \
@@ -649,136 +650,137 @@
 
     # defaults for system settings
     sysDefaults = {
-        "StringEncoding" : "utf-8",
-        "IOEncoding"     : "utf-8",
+        "StringEncoding": "utf-8",
+        "IOEncoding": "utf-8",
     }
     
     # defaults for the shell settings
     shellDefaults = {
-        "LinenoWidth" : 4,
-        "LinenoMargin" : True,
-        "AutoCompletionEnabled" : True,
-        "CallTipsEnabled" : True,
-        "WrapEnabled" : True,
-        "MaxHistoryEntries" : 100,
-        "SyntaxHighlightingEnabled" : True,
-        "ShowStdOutErr" : True, 
-        "UseMonospacedFont" : False,
-        "MonospacedFont" : "Courier,10,-1,5,50,0,0,0,0,0", 
-        "MarginsFont" : "Sans Serif,10,-1,5,50,0,0,0,0,0",
+        "LinenoWidth": 4,
+        "LinenoMargin": True,
+        "AutoCompletionEnabled": True,
+        "CallTipsEnabled": True,
+        "WrapEnabled": True,
+        "MaxHistoryEntries": 100,
+        "SyntaxHighlightingEnabled": True,
+        "ShowStdOutErr": True,
+        "UseMonospacedFont": False,
+        "MonospacedFont": "Courier,10,-1,5,50,0,0,0,0,0",
+        "MarginsFont": "Sans Serif,10,-1,5,50,0,0,0,0,0",
     }
 
     # defaults for the terminal settings
     terminalDefaults = {
-        "LinenoWidth" : 4,
-        "LinenoMargin" : True,
-        "MaxHistoryEntries" : 100,
-        "SyntaxHighlightingEnabled" : True,
-        "Shell" : "", 
-        "ShellInteractive" : True, 
-        "UseMonospacedFont" : False,
-        "MonospacedFont" : "Courier,10,-1,5,50,0,0,0,0,0", 
-        "MarginsFont" : "Sans Serif,10,-1,5,50,0,0,0,0,0",
+        "LinenoWidth": 4,
+        "LinenoMargin": True,
+        "MaxHistoryEntries": 100,
+        "SyntaxHighlightingEnabled": True,
+        "Shell": "",
+        "ShellInteractive": True,
+        "UseMonospacedFont": False,
+        "MonospacedFont": "Courier,10,-1,5,50,0,0,0,0,0",
+        "MarginsFont": "Sans Serif,10,-1,5,50,0,0,0,0,0",
     }
     if isLinuxPlatform():
         terminalDefaults["Shell"] = "bash"
 
     # defaults for Qt related stuff
     qtDefaults = {
-        "Qt4TranslationsDir" : "",
-        "QtToolsPrefix4" : "", 
-        "QtToolsPostfix4" : "", 
-        "Qt4Dir" : "", 
+        "Qt4TranslationsDir": "",
+        "QtToolsPrefix4": "",
+        "QtToolsPostfix4": "",
+        "Qt4Dir": "",
     }
     
     # defaults for corba related stuff
     corbaDefaults = {
-        "omniidl" : "omniidl"
+        "omniidl": "omniidl"
     }
     
     # defaults for user related stuff
     userDefaults = {
-        "Email" : "",
-        "MailServer" : "",
-        "Signature" : "",
-        "MailServerAuthentication" : False,
-        "MailServerUser" : "",
-        "MailServerPassword" : "",
-        "MailServerUseTLS" : False, 
-        "MailServerPort" : 25, 
-        "UseSystemEmailClient" : False, 
+        "Email": "",
+        "MailServer": "",
+        "Signature": "",
+        "MailServerAuthentication": False,
+        "MailServerUser": "",
+        "MailServerPassword": "",
+        "MailServerUseTLS": False,
+        "MailServerPort": 25,
+        "UseSystemEmailClient": False,
     }
     
     # defaults for vcs related stuff
     vcsDefaults = {
-        "AutoClose" : False,
-        "AutoSaveFiles" : True,
-        "AutoSaveProject" : True,
-        "AutoUpdate" : False, 
-        "StatusMonitorInterval" : 30,
-        "MonitorLocalStatus" : False, 
+        "AutoClose": False,
+        "AutoSaveFiles": True,
+        "AutoSaveProject": True,
+        "AutoUpdate": False,
+        "StatusMonitorInterval": 30,
+        "MonitorLocalStatus": False,
     }
     
     # defaults for tasks related stuff
     tasksDefaults = {
-        "TasksMarkers"       : "TO" + "DO:", 
-        "TasksMarkersBugfix" : "FIX" + "ME:",
+        "TasksMarkers": "TO" + "DO:",
+        "TasksMarkersBugfix": "FIX" + "ME:",
         # needed to keep it from being recognized as a task
-        "TasksColour"          : QtGui.QColor(QtCore.Qt.black),
-        "TasksBugfixColour"    : QtGui.QColor(QtCore.Qt.red),
-        "TasksBgColour"        : QtGui.QColor(QtCore.Qt.white),
-        "TasksProjectBgColour" : QtGui.QColor(QtCore.Qt.lightGray),
+        "TasksColour": QtGui.QColor(QtCore.Qt.black),
+        "TasksBugfixColour": QtGui.QColor(QtCore.Qt.red),
+        "TasksBgColour": QtGui.QColor(QtCore.Qt.white),
+        "TasksProjectBgColour": QtGui.QColor(QtCore.Qt.lightGray),
     }
     
     # defaults for templates related stuff
     templatesDefaults = {
-        "AutoOpenGroups" : True,
-        "SingleDialog"   : False,
-        "ShowTooltip"    : False,
-        "SeparatorChar"  : "$",
+        "AutoOpenGroups": True,
+        "SingleDialog": False,
+        "ShowTooltip": False,
+        "SeparatorChar": "$",
     }
     
     # defaults for plugin manager related stuff
     pluginManagerDefaults = {
-        "ActivateExternal" : True,
-        "DownloadPath" : ""
+        "ActivateExternal": True,
+        "DownloadPath": ""
     }
     
     # defaults for the printer settings
     graphicsDefaults = {
-        "Font" : "SansSerif,10,-1,5,50,0,0,0,0,0"
+        "Font": "SansSerif,10,-1,5,50,0,0,0,0,0"
     }
     
     # defaults for the icon editor
     iconEditorDefaults = {
-        "IconEditorState" : QtCore.QByteArray(), 
+        "IconEditorState": QtCore.QByteArray(),
     }
     
     # defaults for py3flakes
     py3flakesDefaults = {
-        "IncludeInSyntaxCheck" : True, 
-        "IgnoreStarImportWarnings" : True, 
+        "IncludeInSyntaxCheck": True,
+        "IgnoreStarImportWarnings": True,
     }
     
     # defaults for tray starter
     trayStarterDefaults = {
-        "TrayStarterIcon" : "erict.png",
+        "TrayStarterIcon": "erict.png",
         # valid values are: erict.png, erict-hc.png,
         #                   erict-bw.png, erict-bwi.png
     }
     
     # defaults for geometry
     geometryDefaults = {
-        "HelpViewerGeometry" : QtCore.QByteArray(),
-        "IconEditorGeometry" : QtCore.QByteArray(),
-        "MainGeometry"       : QtCore.QByteArray(),
-        "MainMaximized"      : False, 
+        "HelpViewerGeometry": QtCore.QByteArray(),
+        "IconEditorGeometry": QtCore.QByteArray(),
+        "MainGeometry": QtCore.QByteArray(),
+        "MainMaximized": False,
     }
 
     # if true, revert layouts to factory defaults
     resetLayout = False
 
-def readToolGroups(prefClass = Prefs):
+
+def readToolGroups(prefClass=Prefs):
     """
     Module function to read the tool groups configuration.
     
@@ -808,27 +810,28 @@
             if menutext:
                 if menutext == '--':
                     tool = {
-                        'menutext' : '--',
-                        'icon' : '',
-                        'executable' : '',
-                        'arguments' : '',
-                        'redirect' : 'no',
+                        'menutext': '--',
+                        'icon': '',
+                        'executable': '',
+                        'arguments': '',
+                        'redirect': 'no',
                     }
                     group[1].append(tool)
                 elif executable:
                     tool = {
-                        'menutext' : menutext,
-                        'icon' : icon,
-                        'executable' : executable,
-                        'arguments' : arguments,
-                        'redirect' : redirect,
+                        'menutext': menutext,
+                        'icon': icon,
+                        'executable': executable,
+                        'arguments': arguments,
+                        'redirect': redirect,
                     }
                     group[1].append(tool)
         toolGroups.append(group)
     currentGroup = int(prefClass.settings.value("Toolgroups/Current Group", -1))
     return toolGroups, currentGroup
     
-def saveToolGroups(toolGroups, currentGroup, prefClass = Prefs):
+
+def saveToolGroups(toolGroups, currentGroup, prefClass=Prefs):
     """
     Module function to write the tool groups configuration.
     
@@ -850,30 +853,31 @@
         ind = 0
         for tool in group[1]:
             prefClass.settings.setValue(
-                "Toolgroups/{0:02d}/{1:02d}/Menutext".format(groupIndex, ind), 
+                "Toolgroups/{0:02d}/{1:02d}/Menutext".format(groupIndex, ind),
                 tool['menutext'])
             prefClass.settings.setValue(
-                "Toolgroups/{0:02d}/{1:02d}/Icon".format(groupIndex, ind), 
+                "Toolgroups/{0:02d}/{1:02d}/Icon".format(groupIndex, ind),
                 tool['icon'])
             prefClass.settings.setValue(
-                "Toolgroups/{0:02d}/{1:02d}/Executable".format(groupIndex, ind), 
+                "Toolgroups/{0:02d}/{1:02d}/Executable".format(groupIndex, ind),
                 tool['executable'])
             prefClass.settings.setValue(
-                "Toolgroups/{0:02d}/{1:02d}/Arguments".format(groupIndex, ind), 
+                "Toolgroups/{0:02d}/{1:02d}/Arguments".format(groupIndex, ind),
                 tool['arguments'])
             prefClass.settings.setValue(
-                "Toolgroups/{0:02d}/{1:02d}/Redirect".format(groupIndex, ind), 
+                "Toolgroups/{0:02d}/{1:02d}/Redirect".format(groupIndex, ind),
                 tool['redirect'])
             ind += 1
         groupIndex += 1
     prefClass.settings.setValue("Toolgroups/Current Group", currentGroup)
     
+
 def initPreferences():
     """
-    Module function to initialize the central configuration store. 
+    Module function to initialize the central configuration store.
     """
     Prefs.settings = QtCore.QSettings(
-        QtCore.QSettings.IniFormat, QtCore.QSettings.UserScope, 
+        QtCore.QSettings.IniFormat, QtCore.QSettings.UserScope,
         settingsNameOrganization, settingsNameGlobal)
     if not isWindowsPlatform():
         hp = QtCore.QDir.homePath()
@@ -882,7 +886,8 @@
     QtCore.QCoreApplication.setOrganizationName(settingsNameOrganization)
     QtCore.QCoreApplication.setApplicationName(settingsNameGlobal)
     
-def syncPreferences(prefClass = Prefs):
+
+def syncPreferences(prefClass=Prefs):
     """
     Module function to sync the preferences to disk.
     
@@ -893,7 +898,8 @@
     prefClass.settings.setValue("General/Configured", True)
     prefClass.settings.sync()
     
-def exportPreferences(prefClass = Prefs):
+
+def exportPreferences(prefClass=Prefs):
     """
     Module function to export the current preferences.
     
@@ -903,9 +909,9 @@
         None,
         QtCore.QCoreApplication.translate("Preferences", "Export Preferences"),
         "",
-        QtCore.QCoreApplication.translate("Preferences", 
+        QtCore.QCoreApplication.translate("Preferences",
             "Properties File (*.ini);;All Files (*)"),
-        None, 
+        None,
         E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
     if filename:
         ext = QtCore.QFileInfo(filename).suffix()
@@ -918,7 +924,8 @@
         shutil.copy(settingsFile, filename)
         initPreferences()
 
-def importPreferences(prefClass = Prefs):
+
+def importPreferences(prefClass=Prefs):
     """
     Module function to import preferences from a file previously saved by
     the export function.
@@ -929,14 +936,15 @@
         None,
         QtCore.QCoreApplication.translate("Preferences", "Import Preferences"),
         "",
-        QtCore.QCoreApplication.translate("Preferences", 
+        QtCore.QCoreApplication.translate("Preferences",
             "Properties File (*.ini);;All Files (*)"))
     if filename:
         settingsFile = prefClass.settings.fileName()
         shutil.copy(filename, settingsFile)
         initPreferences()
 
-def isConfigured(prefClass = Prefs):
+
+def isConfigured(prefClass=Prefs):
     """
     Module function to check, if the the application has been configured.
     
@@ -945,31 +953,34 @@
     """
     return toBool(prefClass.settings.value("General/Configured", False))
     
+
 def initRecentSettings():
     """
     Module function to initialize the central configuration store for recently
-    opened files and projects. 
+    opened files and projects.
     
     This function is called once upon import of the module.
     """
     Prefs.rsettings = QtCore.QSettings(
-        QtCore.QSettings.IniFormat, QtCore.QSettings.UserScope, 
+        QtCore.QSettings.IniFormat, QtCore.QSettings.UserScope,
         settingsNameOrganization, settingsNameRecent)
     
-def getVarFilters(prefClass = Prefs):
+
+def getVarFilters(prefClass=Prefs):
     """
     Module function to retrieve the variables filter settings.
     
     @param prefClass preferences class used as the storage area
     @return a tuple defing the variables filter
     """
-    localsFilter = eval(prefClass.settings.value("Variables/LocalsFilter", 
+    localsFilter = eval(prefClass.settings.value("Variables/LocalsFilter",
         prefClass.varDefaults["LocalsFilter"]))
-    globalsFilter = eval(prefClass.settings.value("Variables/GlobalsFilter", 
+    globalsFilter = eval(prefClass.settings.value("Variables/GlobalsFilter",
         prefClass.varDefaults["GlobalsFilter"]))
     return (localsFilter, globalsFilter)
     
-def setVarFilters(filters, prefClass = Prefs):
+
+def setVarFilters(filters, prefClass=Prefs):
     """
     Module function to store the variables filter settings.
     
@@ -978,7 +989,8 @@
     prefClass.settings.setValue("Variables/LocalsFilter", str(filters[0]))
     prefClass.settings.setValue("Variables/GlobalsFilter", str(filters[1]))
     
-def getDebugger(key, prefClass = Prefs):
+
+def getDebugger(key, prefClass=Prefs):
     """
     Module function to retrieve the debugger settings.
     
@@ -989,12 +1001,12 @@
     if key in ["RemoteDbgEnabled", "PassiveDbgEnabled",
                 "CustomPython3Interpreter",
                 "AutomaticReset", "DebugEnvironmentReplace",
-                "PythonRedirect", "PythonNoEncoding", 
-                "Python3Redirect", "Python3NoEncoding", 
+                "PythonRedirect", "PythonNoEncoding",
+                "Python3Redirect", "Python3NoEncoding",
                 "RubyRedirect",
-                "ConsoleDbgEnabled", "PathTranslation", 
-                "Autosave", "ThreeStateBreakPoints", 
-                "SuppressClientExit", "BreakAlways", 
+                "ConsoleDbgEnabled", "PathTranslation",
+                "Autosave", "ThreeStateBreakPoints",
+                "SuppressClientExit", "BreakAlways",
               ]:
         return toBool(prefClass.settings.value("Debugger/" + key,
             prefClass.debuggerDefaults[key]))
@@ -1008,7 +1020,8 @@
         return \
             prefClass.settings.value("Debugger/" + key, prefClass.debuggerDefaults[key])
     
-def setDebugger(key, value, prefClass = Prefs):
+
+def setDebugger(key, value, prefClass=Prefs):
     """
     Module function to store the debugger settings.
     
@@ -1018,7 +1031,8 @@
     """
     prefClass.settings.setValue("Debugger/" + key, value)
 
-def getPython(key, prefClass = Prefs):
+
+def getPython(key, prefClass=Prefs):
     """
     Module function to retrieve the Python settings.
     
@@ -1035,7 +1049,8 @@
                 exts.append(".{0}".format(ext))
         return exts
 
-def setPython(key, value, prefClass = Prefs):
+
+def setPython(key, value, prefClass=Prefs):
     """
     Module function to store the Python settings.
     
@@ -1046,7 +1061,8 @@
     if key in ["PythonExtensions", "Python3Extensions"]:
         setDebugger(key, value, prefClass)
 
-def getUILanguage(prefClass = Prefs):
+
+def getUILanguage(prefClass=Prefs):
     """
     Module function to retrieve the language for the user interface.
     
@@ -1060,7 +1076,8 @@
     else:
         return lang
     
-def setUILanguage(lang, prefClass = Prefs):
+
+def setUILanguage(lang, prefClass=Prefs):
     """
     Module function to store the language for the user interface.
     
@@ -1072,7 +1089,8 @@
     else:
         prefClass.settings.setValue("UI/Language", lang)
 
-def getUILayout(prefClass = Prefs):
+
+def getUILayout(prefClass=Prefs):
     """
     Module function to retrieve the layout for the user interface.
     
@@ -1081,16 +1099,17 @@
         an embedded shell and a value for an embedded file browser
     """
     layout = (
-        prefClass.settings.value("UI/LayoutType", 
-            prefClass.uiDefaults["LayoutType"]), 
-        int(prefClass.settings.value("UI/LayoutShellEmbedded", 
-            prefClass.uiDefaults["LayoutShellEmbedded"])), 
-        int(prefClass.settings.value("UI/LayoutFileBrowserEmbedded", 
-            prefClass.uiDefaults["LayoutFileBrowserEmbedded"])), 
+        prefClass.settings.value("UI/LayoutType",
+            prefClass.uiDefaults["LayoutType"]),
+        int(prefClass.settings.value("UI/LayoutShellEmbedded",
+            prefClass.uiDefaults["LayoutShellEmbedded"])),
+        int(prefClass.settings.value("UI/LayoutFileBrowserEmbedded",
+            prefClass.uiDefaults["LayoutFileBrowserEmbedded"])),
     )
     return layout
     
-def setUILayout(layout, prefClass = Prefs):
+
+def setUILayout(layout, prefClass=Prefs):
     """
     Module function to store the layout for the user interface.
     
@@ -1101,7 +1120,8 @@
     prefClass.settings.setValue("UI/LayoutShellEmbedded", layout[1])
     prefClass.settings.setValue("UI/LayoutFileBrowserEmbedded", layout[2])
 
-def getViewManager(prefClass = Prefs):
+
+def getViewManager(prefClass=Prefs):
     """
     Module function to retrieve the selected viewmanager type.
     
@@ -1111,7 +1131,8 @@
     return prefClass.settings.value("UI/ViewManager",
         prefClass.uiDefaults["ViewManager"])
     
-def setViewManager(vm, prefClass = Prefs):
+
+def setViewManager(vm, prefClass=Prefs):
     """
     Module function to store the selected viewmanager type.
     
@@ -1120,7 +1141,8 @@
     """
     prefClass.settings.setValue("UI/ViewManager", vm)
 
-def getUI(key, prefClass = Prefs):
+
+def getUI(key, prefClass=Prefs):
     """
     Module function to retrieve the various UI settings.
     
@@ -1130,25 +1152,25 @@
     """
     if key in ["BrowsersListFoldersFirst", "BrowsersHideNonPublic",
                 "BrowsersListContentsByOccurrence", "BrowsersListHiddenFiles",
-                "LogViewerAutoRaise", 
-                "SingleApplicationMode", "TabViewManagerFilenameOnly", 
-                "CaptionShowsFilename", "ShowSplash", 
-                "SingleCloseButton", 
-                "UseProxy", "UseSystemProxy", "UseHttpProxyForAll", 
-                "TopLeftByLeft", "BottomLeftByLeft", 
-                "TopRightByRight", "BottomRightByRight", 
-                "RequestDownloadFilename", 
-                "LayoutShellEmbedded", "LayoutFileBrowserEmbedded", 
+                "LogViewerAutoRaise",
+                "SingleApplicationMode", "TabViewManagerFilenameOnly",
+                "CaptionShowsFilename", "ShowSplash",
+                "SingleCloseButton",
+                "UseProxy", "UseSystemProxy", "UseHttpProxyForAll",
+                "TopLeftByLeft", "BottomLeftByLeft",
+                "TopRightByRight", "BottomRightByRight",
+                "RequestDownloadFilename",
+                "LayoutShellEmbedded", "LayoutFileBrowserEmbedded",
                 "CheckErrorLog"]:
         return toBool(prefClass.settings.value("UI/" + key,
             prefClass.uiDefaults[key]))
     elif key in ["TabViewManagerFilenameLength", "CaptionFilenameLength",
-                 "ProxyPort/Http", "ProxyPort/Https", "ProxyPort/Ftp", 
-                 "OpenOnStartup", 
+                 "ProxyPort/Http", "ProxyPort/Https", "ProxyPort/Ftp",
+                 "OpenOnStartup",
                  "PerformVersionCheck", "RecentNumber", ]:
         return int(prefClass.settings.value("UI/" + key,
             prefClass.uiDefaults[key]))
-    elif key in ["ProxyPassword/Http", "ProxyPassword/Https", 
+    elif key in ["ProxyPassword/Http", "ProxyPassword/Https",
                  "ProxyPassword/Ftp", ]:
         from Utilities import pwDecode
         return pwDecode(prefClass.settings.value("UI/" + key, prefClass.uiDefaults[key]))
@@ -1211,7 +1233,8 @@
     else:
         return prefClass.settings.value("UI/" + key, prefClass.uiDefaults[key])
     
-def setUI(key, value, prefClass = Prefs):
+
+def setUI(key, value, prefClass=Prefs):
     """
     Module function to store the various UI settings.
     
@@ -1223,14 +1246,15 @@
         prefClass.settings.setValue("UI/" + key, value)
     elif key == "LogStdErrColour":
         prefClass.settings.setValue("UI/" + key, value.name())
-    elif key in ["ProxyPassword/Http", "ProxyPassword/Https", 
+    elif key in ["ProxyPassword/Http", "ProxyPassword/Https",
                  "ProxyPassword/Ftp", ]:
         from Utilities import pwEncode
         prefClass.settings.setValue("UI/" + key, pwEncode(value))
     else:
         prefClass.settings.setValue("UI/" + key, value)
     
-def getIcons(key, prefClass = Prefs):
+
+def getIcons(key, prefClass=Prefs):
     """
     Module function to retrieve the various Icons settings.
     
@@ -1244,7 +1268,8 @@
     else:
         return prefClass.iconsDefaults[key]
     
-def setIcons(key, value, prefClass = Prefs):
+
+def setIcons(key, value, prefClass=Prefs):
     """
     Module function to store the various Icons settings.
     
@@ -1254,7 +1279,8 @@
     """
     prefClass.settings.setValue("UI/Icons/" + key, value)
     
-def getCooperation(key, prefClass = Prefs):
+
+def getCooperation(key, prefClass=Prefs):
     """
     Module function to retrieve the various Cooperation settings.
     
@@ -1272,10 +1298,11 @@
         return toList(prefClass.settings.value("Cooperation/" + key,
             prefClass.cooperationDefaults[key]))
     else:
-        return prefClass.settings.value("Cooperation/" + key, 
+        return prefClass.settings.value("Cooperation/" + key,
             prefClass.cooperationDefaults[key])
     
-def setCooperation(key, value, prefClass = Prefs):
+
+def setCooperation(key, value, prefClass=Prefs):
     """
     Module function to store the various Cooperation settings.
     
@@ -1285,7 +1312,8 @@
     """
     prefClass.settings.setValue("Cooperation/" + key, value)
 
-def getEditor(key, prefClass = Prefs):
+
+def getEditor(key, prefClass=Prefs):
     """
     Module function to retrieve the various editor settings.
     
@@ -1293,26 +1321,27 @@
     @param prefClass preferences class used as the storage area
     @return the requested editor setting
     """
-    if key in ["DefaultEncoding", "DefaultOpenFilter", "DefaultSaveFilter", 
-               "SpellCheckingDefaultLanguage", "SpellCheckingPersonalWordList", 
+    if key in ["DefaultEncoding", "DefaultOpenFilter", "DefaultSaveFilter",
+               "SpellCheckingDefaultLanguage", "SpellCheckingPersonalWordList",
                "SpellCheckingPersonalExcludeList"]:
         return prefClass.settings.value("Editor/" + key, prefClass.editorDefaults[key])
-    elif key in ["AutosaveInterval", "TabWidth", "IndentWidth", "LinenoWidth", 
-                 "FoldingStyle", "WarnFilesize", "EdgeMode", "EdgeColumn", 
-                 "CaretWidth", "AutoCompletionSource", "AutoCompletionThreshold", 
-                 "CallTipsVisible", "CallTipsStyle", "MarkOccurrencesTimeout", 
-                 "AutoSpellCheckChunkSize", "SpellCheckingMinWordSize", 
+    elif key in ["AutosaveInterval", "TabWidth", "IndentWidth", "LinenoWidth",
+                 "FoldingStyle", "WarnFilesize", "EdgeMode", "EdgeColumn",
+                 "CaretWidth", "AutoCompletionSource", "AutoCompletionThreshold",
+                 "CallTipsVisible", "CallTipsStyle", "MarkOccurrencesTimeout",
+                 "AutoSpellCheckChunkSize", "SpellCheckingMinWordSize",
                  "PostScriptLevel", "EOLMode", "ZoomFactor", "WhitespaceSize"]:
-        return int(prefClass.settings.value("Editor/" + key, 
+        return int(prefClass.settings.value("Editor/" + key,
             prefClass.editorDefaults[key]))
     elif key in ["AdditionalOpenFilters", "AdditionalSaveFilters"]:
-        return toList(prefClass.settings.value("Editor/" + key, 
+        return toList(prefClass.settings.value("Editor/" + key,
             prefClass.editorDefaults[key]))
     else:
-        return toBool(prefClass.settings.value("Editor/" + key, 
+        return toBool(prefClass.settings.value("Editor/" + key,
             prefClass.editorDefaults[key]))
     
-def setEditor(key, value, prefClass = Prefs):
+
+def setEditor(key, value, prefClass=Prefs):
     """
     Module function to store the various editor settings.
     
@@ -1322,7 +1351,8 @@
     """
     prefClass.settings.setValue("Editor/" + key, value)
     
-def getEditorColour(key, prefClass = Prefs):
+
+def getEditorColour(key, prefClass=Prefs):
     """
     Module function to retrieve the various editor marker colours.
     
@@ -1334,13 +1364,14 @@
     if col is not None:
         if len(col) == 9:
             # color string with alpha
-            return QtGui.QColor.fromRgba(int(col[1:],16))
+            return QtGui.QColor.fromRgba(int(col[1:], 16))
         else:
             return QtGui.QColor(col)
     else:
         return prefClass.editorColourDefaults[key]
     
-def setEditorColour(key, value, prefClass = Prefs):
+
+def setEditorColour(key, value, prefClass=Prefs):
     """
     Module function to store the various editor marker colours.
     
@@ -1354,7 +1385,8 @@
         val = value.name()
     prefClass.settings.setValue("Editor/Colour/" + key, val)
     
-def getEditorOtherFonts(key, prefClass = Prefs):
+
+def getEditorOtherFonts(key, prefClass=Prefs):
     """
     Module function to retrieve the various editor fonts except the lexer fonts.
     
@@ -1367,7 +1399,8 @@
         prefClass.editorOtherFontsDefaults[key]))
     return f
     
-def setEditorOtherFonts(key, font, prefClass = Prefs):
+
+def setEditorOtherFonts(key, font, prefClass=Prefs):
     """
     Module function to store the various editor fonts except the lexer fonts.
     
@@ -1377,7 +1410,8 @@
     """
     prefClass.settings.setValue("Editor/Other Fonts/" + key, font.toString())
     
-def getEditorAPI(key, prefClass = Prefs):
+
+def getEditorAPI(key, prefClass=Prefs):
     """
     Module function to retrieve the various lists of api files.
     
@@ -1394,7 +1428,8 @@
     else:
         return []
     
-def setEditorAPI(key, apilist, prefClass = Prefs):
+
+def setEditorAPI(key, apilist, prefClass=Prefs):
     """
     Module function to store the various lists of api files.
     
@@ -1404,7 +1439,8 @@
     """
     prefClass.settings.setValue("Editor/APIs/" + key, apilist)
     
-def getEditorKeywords(key, prefClass = Prefs):
+
+def getEditorKeywords(key, prefClass=Prefs):
     """
     Module function to retrieve the various lists of language keywords.
     
@@ -1418,7 +1454,8 @@
     else:
         return []
     
-def setEditorKeywords(key, keywordsLists, prefClass = Prefs):
+
+def setEditorKeywords(key, keywordsLists, prefClass=Prefs):
     """
     Module function to store the various lists of language keywords.
     
@@ -1428,7 +1465,8 @@
     """
     prefClass.settings.setValue("Editor/Keywords/" + key, keywordsLists)
     
-def getEditorLexerAssocs(prefClass = Prefs):
+
+def getEditorLexerAssocs(prefClass=Prefs):
     """
     Module function to retrieve all lexer associations.
     
@@ -1461,7 +1499,8 @@
                     editorLexerAssoc[key] = editorLexerAssocDefaults[key]
     return editorLexerAssoc
     
-def setEditorLexerAssocs(assocs, prefClass = Prefs):
+
+def setEditorLexerAssocs(assocs, prefClass=Prefs):
     """
     Module function to retrieve all lexer associations.
     
@@ -1478,7 +1517,8 @@
     for key in assocs:
         prefClass.settings.setValue("Editor/LexerAssociations/" + key, assocs[key])
     
-def getEditorLexerAssoc(filename, prefClass = Prefs):
+
+def getEditorLexerAssoc(filename, prefClass=Prefs):
     """
     Module function to retrieve a lexer association.
     
@@ -1492,7 +1532,8 @@
     
     return ""
     
-def getEditorTyping(key, prefClass = Prefs):
+
+def getEditorTyping(key, prefClass=Prefs):
     """
     Module function to retrieve the various editor typing settings.
     
@@ -1503,7 +1544,8 @@
     return toBool(prefClass.settings.value("Editor/Typing/" + key,
         prefClass.editorTypingDefaults[key]))
     
-def setEditorTyping(key, value, prefClass = Prefs):
+
+def setEditorTyping(key, value, prefClass=Prefs):
     """
     Module function to store the various editor typing settings.
     
@@ -1513,7 +1555,8 @@
     """
     prefClass.settings.setValue("Editor/Typing/" + key, value)
     
-def getEditorExporter(key, prefClass = Prefs):
+
+def getEditorExporter(key, prefClass=Prefs):
     """
     Module function to retrieve the various editor exporters settings.
     
@@ -1526,13 +1569,13 @@
         f.fromString(prefClass.settings.value("Editor/Exporters/" + key,
             prefClass.editorExporterDefaults[key]))
         return f
-    elif key in ["HTML/WYSIWYG", "HTML/Folding", "HTML/OnlyStylesUsed", 
-                 "HTML/FullPathAsTitle", "HTML/UseTabs", "RTF/WYSIWYG", 
-                 "RTF/UseTabs", "TeX/OnlyStylesUsed", "TeX/FullPathAsTitle", 
+    elif key in ["HTML/WYSIWYG", "HTML/Folding", "HTML/OnlyStylesUsed",
+                 "HTML/FullPathAsTitle", "HTML/UseTabs", "RTF/WYSIWYG",
+                 "RTF/UseTabs", "TeX/OnlyStylesUsed", "TeX/FullPathAsTitle",
                  "ODT/WYSIWYG", "ODT/OnlyStylesUsed", "ODT/UseTabs"]:
         return toBool(prefClass.settings.value("Editor/Exporters/" + key,
             prefClass.editorExporterDefaults[key]))
-    elif key in ["PDF/Magnification", "PDF/MarginLeft", "PDF/MarginRight", 
+    elif key in ["PDF/Magnification", "PDF/MarginLeft", "PDF/MarginRight",
                  "PDF/MarginTop", "PDF/MarginBottom"]:
         return int(prefClass.settings.value("Editor/Exporters/" + key,
             prefClass.editorExporterDefaults[key]))
@@ -1540,7 +1583,8 @@
         return prefClass.settings.value("Editor/Exporters/" + key,
             prefClass.editorExporterDefaults[key])
 
-def setEditorExporter(key, value, prefClass = Prefs):
+
+def setEditorExporter(key, value, prefClass=Prefs):
     """
     Module function to store the various editor exporters settings.
     
@@ -1553,7 +1597,8 @@
     else:
         prefClass.settings.setValue("Editor/Exporters/" + key, value)
     
-def getPrinter(key, prefClass = Prefs):
+
+def getPrinter(key, prefClass=Prefs):
     """
     Module function to retrieve the various printer settings.
     
@@ -1579,7 +1624,8 @@
         return prefClass.settings.value("Printer/" + key,
             prefClass.printerDefaults[key])
 
-def setPrinter(key, value, prefClass = Prefs):
+
+def setPrinter(key, value, prefClass=Prefs):
     """
     Module function to store the various printer settings.
     
@@ -1592,7 +1638,8 @@
     else:
         prefClass.settings.setValue("Printer/" + key, value)
 
-def getShell(key, prefClass = Prefs):
+
+def getShell(key, prefClass=Prefs):
     """
     Module function to retrieve the various shell settings.
     
@@ -1612,7 +1659,8 @@
         return toBool(prefClass.settings.value("Shell/" + key,
             prefClass.shellDefaults[key]))
 
-def setShell(key, value, prefClass = Prefs):
+
+def setShell(key, value, prefClass=Prefs):
     """
     Module function to store the various shell settings.
     
@@ -1625,7 +1673,8 @@
     else:
         prefClass.settings.setValue("Shell/" + key, value)
 
-def getTerminal(key, prefClass = Prefs):
+
+def getTerminal(key, prefClass=Prefs):
     """
     Module function to retrieve the various terminal settings.
     
@@ -1648,7 +1697,8 @@
         return toBool(prefClass.settings.value("Terminal/" + key,
             prefClass.terminalDefaults[key]))
 
-def setTerminal(key, value, prefClass = Prefs):
+
+def setTerminal(key, value, prefClass=Prefs):
     """
     Module function to store the various terminal settings.
     
@@ -1661,7 +1711,8 @@
     else:
         prefClass.settings.setValue("Terminal/" + key, value)
 
-def getProject(key, prefClass = Prefs):
+
+def getProject(key, prefClass=Prefs):
     """
     Module function to retrieve the various project handling settings.
     
@@ -1676,7 +1727,8 @@
         return toBool(prefClass.settings.value("Project/" + key,
             prefClass.projectDefaults[key]))
     
-def setProject(key, value, prefClass = Prefs):
+
+def setProject(key, value, prefClass=Prefs):
     """
     Module function to store the various project handling settings.
     
@@ -1686,7 +1738,8 @@
     """
     prefClass.settings.setValue("Project/" + key, value)
     
-def getProjectBrowserFlags(key, prefClass = Prefs):
+
+def getProjectBrowserFlags(key, prefClass=Prefs):
     """
     Module function to retrieve the various project browser flags settings.
     
@@ -1701,7 +1754,8 @@
     
     return int(prefClass.settings.value("Project/BrowserFlags/" + key, default))
     
-def setProjectBrowserFlags(key, value, prefClass = Prefs):
+
+def setProjectBrowserFlags(key, value, prefClass=Prefs):
     """
     Module function to store the various project browser flags settings.
     
@@ -1711,7 +1765,8 @@
     """
     prefClass.settings.setValue("Project/BrowserFlags/" + key, value)
     
-def setProjectBrowserFlagsDefault(key, value, prefClass = Prefs):
+
+def setProjectBrowserFlagsDefault(key, value, prefClass=Prefs):
     """
     Module function to store the various project browser flags settings.
     
@@ -1721,7 +1776,8 @@
     """
     prefClass.projectBrowserFlagsDefaults[key] = value
     
-def removeProjectBrowserFlags(key, prefClass = Prefs):
+
+def removeProjectBrowserFlags(key, prefClass=Prefs):
     """
     Module function to remove a project browser flags setting.
     
@@ -1730,7 +1786,8 @@
     """
     prefClass.settings.remove("Project/BrowserFlags/" + key)
     
-def getProjectBrowserColour(key, prefClass = Prefs):
+
+def getProjectBrowserColour(key, prefClass=Prefs):
     """
     Module function to retrieve the various project browser colours.
     
@@ -1744,7 +1801,8 @@
     else:
         return prefClass.projectBrowserColourDefaults[key]
     
-def setProjectBrowserColour(key, value, prefClass = Prefs):
+
+def setProjectBrowserColour(key, value, prefClass=Prefs):
     """
     Module function to store the various project browser colours.
     
@@ -1754,7 +1812,8 @@
     """
     prefClass.settings.setValue("Project/Colour/" + key, value.name())
     
-def getMultiProject(key, prefClass = Prefs):
+
+def getMultiProject(key, prefClass=Prefs):
     """
     Module function to retrieve the various project handling settings.
     
@@ -1769,7 +1828,8 @@
         return toBool(prefClass.settings.value("MultiProject/" + key,
             prefClass.multiProjectDefaults[key]))
     
-def setMultiProject(key, value, prefClass = Prefs):
+
+def setMultiProject(key, value, prefClass=Prefs):
     """
     Module function to store the various project handling settings.
     
@@ -1779,7 +1839,8 @@
     """
     prefClass.settings.setValue("MultiProject/" + key, value)
     
-def getQt4DocDir(prefClass = Prefs):
+
+def getQt4DocDir(prefClass=Prefs):
     """
     Module function to retrieve the Qt4DocDir setting.
     
@@ -1793,7 +1854,8 @@
     else:
         return s
     
-def getHelp(key, prefClass = Prefs):
+
+def getHelp(key, prefClass=Prefs):
     """
     Module function to retrieve the various help settings.
     
@@ -1838,28 +1900,29 @@
             downloads.append((url, location, done, pageUrl))
         prefClass.settings.endArray()
         return downloads
-    elif key in ["HelpViewerType", "DiskCacheSize", "AcceptCookies", 
-                 "KeepCookiesUntil", "StartupBehavior", "HistoryLimit", 
-                 "OfflineStorageDatabaseQuota", "OfflineWebApplicationCacheQuota", 
+    elif key in ["HelpViewerType", "DiskCacheSize", "AcceptCookies",
+                 "KeepCookiesUntil", "StartupBehavior", "HistoryLimit",
+                 "OfflineStorageDatabaseQuota", "OfflineWebApplicationCacheQuota",
                  "CachePolicy", "DownloadManagerRemovePolicy"]:
-        return int(prefClass.settings.value("Help/" + key, 
+        return int(prefClass.settings.value("Help/" + key,
             prefClass.helpDefaults[key]))
-    elif key in ["SingleHelpWindow", "SaveGeometry", "WebSearchSuggestions", 
-                 "DiskCacheEnabled", "FilterTrackingCookies", "PrintBackgrounds", 
-                 "SavePasswords", "AdBlockEnabled", "AutoLoadImages", 
-                 "JavaEnabled", "JavaScriptEnabled", "JavaScriptCanOpenWindows", 
-                 "JavaScriptCanAccessClipboard", "PluginsEnabled", "DnsPrefetchEnabled", 
-                 "OfflineStorageDatabaseEnabled", "OfflineWebApplicationCacheEnabled", 
+    elif key in ["SingleHelpWindow", "SaveGeometry", "WebSearchSuggestions",
+                 "DiskCacheEnabled", "FilterTrackingCookies", "PrintBackgrounds",
+                 "SavePasswords", "AdBlockEnabled", "AutoLoadImages",
+                 "JavaEnabled", "JavaScriptEnabled", "JavaScriptCanOpenWindows",
+                 "JavaScriptCanAccessClipboard", "PluginsEnabled", "DnsPrefetchEnabled",
+                 "OfflineStorageDatabaseEnabled", "OfflineWebApplicationCacheEnabled",
                  "LocalStorageEnabled", "ShowPreview"]:
-        return toBool(prefClass.settings.value("Help/" + key, 
+        return toBool(prefClass.settings.value("Help/" + key,
             prefClass.helpDefaults[key]))
     elif key in ["AdBlockSubscriptions"]:
-        return toList(prefClass.settings.value("Help/" + key, 
+        return toList(prefClass.settings.value("Help/" + key,
             prefClass.helpDefaults[key]))
     else:
         return prefClass.settings.value("Help/" + key, prefClass.helpDefaults[key])
     
-def setHelp(key, value, prefClass = Prefs):
+
+def setHelp(key, value, prefClass=Prefs):
     """
     Module function to store the various help settings.
     
@@ -1898,7 +1961,8 @@
     else:
         prefClass.settings.setValue("Help/" + key, value)
     
-def getSystem(key, prefClass = Prefs):
+
+def getSystem(key, prefClass=Prefs):
     """
     Module function to retrieve the various system settings.
     
@@ -1908,13 +1972,14 @@
     """
     from Utilities import supportedCodecs
     if key in ["StringEncoding", "IOEncoding"]:
-        encoding = prefClass.settings.value("System/" + key, 
+        encoding = prefClass.settings.value("System/" + key,
             prefClass.sysDefaults[key])
         if encoding not in supportedCodecs:
             encoding = prefClass.sysDefaults[key]
         return encoding
     
-def setSystem(key, value, prefClass = Prefs):
+
+def setSystem(key, value, prefClass=Prefs):
     """
     Module function to store the various system settings.
     
@@ -1924,14 +1989,15 @@
     """
     prefClass.settings.setValue("System/" + key, value)
     
-def getQt4TranslationsDir(prefClass = Prefs):
+
+def getQt4TranslationsDir(prefClass=Prefs):
     """
     Module function to retrieve the Qt4TranslationsDir setting.
     
     @param prefClass preferences class used as the storage area
     @return the requested Qt4TranslationsDir setting (string)
     """
-    s = prefClass.settings.value("Qt/Qt4TranslationsDir", 
+    s = prefClass.settings.value("Qt/Qt4TranslationsDir",
         prefClass.qtDefaults["Qt4TranslationsDir"])
     if s == "":
         s = os.getenv("QT4TRANSLATIONSDIR", "")
@@ -1942,7 +2008,8 @@
             s = transPath
     return s
     
-def getQt(key, prefClass = Prefs):
+
+def getQt(key, prefClass=Prefs):
     """
     Module function to retrieve the various Qt settings.
     
@@ -1952,10 +2019,11 @@
     """
     if key == "Qt4TranslationsDir":
         return getQt4TranslationsDir(prefClass)
-    else: 
+    else:
         return prefClass.settings.value("Qt/" + key, prefClass.qtDefaults[key])
     
-def setQt(key, value, prefClass = Prefs):
+
+def setQt(key, value, prefClass=Prefs):
     """
     Module function to store the various Qt settings.
     
@@ -1965,7 +2033,8 @@
     """
     prefClass.settings.setValue("Qt/" + key, value)
     
-def getCorba(key, prefClass = Prefs):
+
+def getCorba(key, prefClass=Prefs):
     """
     Module function to retrieve the various corba settings.
     
@@ -1975,7 +2044,8 @@
     """
     return prefClass.settings.value("Corba/" + key, prefClass.corbaDefaults[key])
     
-def setCorba(key, value, prefClass = Prefs):
+
+def setCorba(key, value, prefClass=Prefs):
     """
     Module function to store the various corba settings.
     
@@ -1985,7 +2055,8 @@
     """
     prefClass.settings.setValue("Corba/" + key, value)
     
-def getUser(key, prefClass = Prefs):
+
+def getUser(key, prefClass=Prefs):
     """
     Module function to retrieve the various user settings.
     
@@ -1998,16 +2069,17 @@
         return pwDecode(prefClass.settings.value("User/" + key,
             prefClass.userDefaults[key]))
     elif key in ["MailServerPort"]:
-        return int(prefClass.settings.value("User/" + key, 
+        return int(prefClass.settings.value("User/" + key,
             prefClass.userDefaults[key]))
-    elif key in ["MailServerAuthentication", "MailServerUseTLS", 
+    elif key in ["MailServerAuthentication", "MailServerUseTLS",
                  "UseSystemEmailClient"]:
-        return toBool(prefClass.settings.value("User/" + key, 
+        return toBool(prefClass.settings.value("User/" + key,
             prefClass.userDefaults[key]))
     else:
         return prefClass.settings.value("User/" + key, prefClass.userDefaults[key])
     
-def setUser(key, value, prefClass = Prefs):
+
+def setUser(key, value, prefClass=Prefs):
     """
     Module function to store the various user settings.
     
@@ -2022,7 +2094,8 @@
     else:
         prefClass.settings.setValue("User/" + key, value)
     
-def getVCS(key, prefClass = Prefs):
+
+def getVCS(key, prefClass=Prefs):
     """
     Module function to retrieve the VCS related settings.
     
@@ -2035,7 +2108,8 @@
     else:
         return toBool(prefClass.settings.value("VCS/" + key, prefClass.vcsDefaults[key]))
     
-def setVCS(key, value, prefClass = Prefs):
+
+def setVCS(key, value, prefClass=Prefs):
     """
     Module function to store the VCS related settings.
     
@@ -2045,7 +2119,8 @@
     """
     prefClass.settings.setValue("VCS/" + key, value)
     
-def getTasks(key, prefClass = Prefs):
+
+def getTasks(key, prefClass=Prefs):
     """
     Module function to retrieve the Tasks related settings.
     
@@ -2053,7 +2128,7 @@
     @param prefClass preferences class used as the storage area
     @return the requested user setting
     """
-    if key in ["TasksColour", "TasksBugfixColour", 
+    if key in ["TasksColour", "TasksBugfixColour",
                "TasksBgColour", "TasksProjectBgColour"]:
         col = prefClass.settings.value("Tasks/" + key)
         if col is not None:
@@ -2064,7 +2139,8 @@
         return prefClass.settings.value("Tasks/" + key,
             prefClass.tasksDefaults[key])
     
-def setTasks(key, value, prefClass = Prefs):
+
+def setTasks(key, value, prefClass=Prefs):
     """
     Module function to store the Tasks related settings.
     
@@ -2078,7 +2154,8 @@
     else:
         prefClass.settings.setValue("Tasks/" + key, value)
     
-def getTemplates(key, prefClass = Prefs):
+
+def getTemplates(key, prefClass=Prefs):
     """
     Module function to retrieve the Templates related settings.
     
@@ -2093,7 +2170,8 @@
         return toBool(prefClass.settings.value("Templates/" + key,
             prefClass.templatesDefaults[key]))
     
-def setTemplates(key, value, prefClass = Prefs):
+
+def setTemplates(key, value, prefClass=Prefs):
     """
     Module function to store the Templates related settings.
     
@@ -2103,7 +2181,8 @@
     """
     prefClass.settings.setValue("Templates/" + key, value)
     
-def getPluginManager(key, prefClass = Prefs):
+
+def getPluginManager(key, prefClass=Prefs):
     """
     Module function to retrieve the plugin manager related settings.
     
@@ -2118,7 +2197,8 @@
         return toBool(prefClass.settings.value("PluginManager/" + key,
             prefClass.pluginManagerDefaults[key]))
     
-def setPluginManager(key, value, prefClass = Prefs):
+
+def setPluginManager(key, value, prefClass=Prefs):
     """
     Module function to store the plugin manager related settings.
     
@@ -2128,7 +2208,8 @@
     """
     prefClass.settings.setValue("PluginManager/" + key, value)
     
-def getGraphics(key, prefClass = Prefs):
+
+def getGraphics(key, prefClass=Prefs):
     """
     Module function to retrieve the Graphics related settings.
     
@@ -2150,7 +2231,8 @@
         return prefClass.settings.value("Graphics/" + key,
             prefClass.graphicsDefaults[key])
     
-def setGraphics(key, value, prefClass = Prefs):
+
+def setGraphics(key, value, prefClass=Prefs):
     """
     Module function to store the Graphics related settings.
     
@@ -2163,7 +2245,8 @@
     else:
         prefClass.settings.setValue("Graphics/" + key, value)
     
-def getIconEditor(key, prefClass = Prefs):
+
+def getIconEditor(key, prefClass=Prefs):
     """
     Module function to retrieve the Icon Editor related settings.
     
@@ -2174,7 +2257,8 @@
     return prefClass.settings.value("IconEditor/" + key,
         prefClass.iconEditorDefaults[key])
     
-def setIconEditor(key, value, prefClass = Prefs):
+
+def setIconEditor(key, value, prefClass=Prefs):
     """
     Module function to store the Icon Editor related settings.
     
@@ -2184,7 +2268,8 @@
     """
     prefClass.settings.setValue("IconEditor/" + key, value)
 
-def getFlakes(key, prefClass = Prefs):
+
+def getFlakes(key, prefClass=Prefs):
     """
     Module function to retrieve the py3flakes related settings.
     
@@ -2193,13 +2278,14 @@
     @return the requested user setting
     """
     if key in ["IncludeInSyntaxCheck", "IgnoreStarImportWarnings"]:
-        return toBool(prefClass.settings.value("Py3Flakes/" + key, 
+        return toBool(prefClass.settings.value("Py3Flakes/" + key,
             prefClass.py3flakesDefaults[key]))
     else:
         return prefClass.settings.value("Py3Flakes/" + key,
             prefClass.py3flakesDefaults[key])
     
-def setFlakes(key, value, prefClass = Prefs):
+
+def setFlakes(key, value, prefClass=Prefs):
     """
     Module function to store the py3flakes related settings.
     
@@ -2209,7 +2295,8 @@
     """
     prefClass.settings.setValue("Py3Flakes/" + key, value)
 
-def getTrayStarter(key, prefClass = Prefs):
+
+def getTrayStarter(key, prefClass=Prefs):
     """
     Module function to retrieve the tray starter related settings.
     
@@ -2220,7 +2307,8 @@
     return prefClass.settings.value("TrayStarter/" + key,
             prefClass.trayStarterDefaults[key])
     
-def setTrayStarter(key, value, prefClass = Prefs):
+
+def setTrayStarter(key, value, prefClass=Prefs):
     """
     Module function to store the tray starter related settings.
     
@@ -2230,7 +2318,8 @@
     """
     prefClass.settings.setValue("TrayStarter/" + key, value)
     
-def getGeometry(key, prefClass = Prefs):
+
+def getGeometry(key, prefClass=Prefs):
     """
     Module function to retrieve the display geometry.
     
@@ -2248,7 +2337,8 @@
         else:
             return prefClass.geometryDefaults[key]
 
-def setGeometry(key, value, prefClass = Prefs):
+
+def setGeometry(key, value, prefClass=Prefs):
     """
     Module function to store the display geometry.
     
@@ -2265,7 +2355,8 @@
             v = value
         prefClass.settings.setValue("Geometry/" + key, v)
 
-def resetLayout(prefClass = Prefs):
+
+def resetLayout(prefClass=Prefs):
     """
     Module function to set a flag not storing the current layout.
     
@@ -2273,7 +2364,8 @@
     """
     prefClass.resetLayout = True
 
-def shouldResetLayout(prefClass = Prefs):
+
+def shouldResetLayout(prefClass=Prefs):
     """
     Module function to indicate a reset of the layout.
     
@@ -2282,15 +2374,17 @@
     """
     return prefClass.resetLayout
     
-def saveResetLayout(prefClass = Prefs):
+
+def saveResetLayout(prefClass=Prefs):
     """
     Module function to save the reset layout.
     """
     if prefClass.resetLayout:
         for key in list(prefClass.geometryDefaults.keys()):
-            prefClass.settings.setValue("Geometry/" + key, 
+            prefClass.settings.setValue("Geometry/" + key,
                 prefClass.geometryDefaults[key])
 
+
 def toBool(value):
     """
     Module function to convert a value to bool.
@@ -2305,6 +2399,7 @@
     else:
         return bool(value)
 
+
 def toList(value):
     """
     Module function to convert a value to a list.
@@ -2319,6 +2414,7 @@
     else:
         return value
 
+
 def toByteArray(value):
     """
     Module function to convert a value to a byte array.
@@ -2331,6 +2427,7 @@
     else:
         return value
 
+
 def toDict(value):
     """
     Module function to convert a value to a dictionary.

eric ide

mercurial