Continued implementing the delayed import.

Mon, 11 Feb 2013 18:13:10 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 11 Feb 2013 18:13:10 +0100
changeset 2409
df3820f08247
parent 2408
dc3a7c9d8f6e
child 2410
dfd7d0718210

Continued implementing the delayed import.

PyUnit/UnittestDialog.py file | annotate | diff | comparison | revisions
QScintilla/Editor.py file | annotate | diff | comparison | revisions
QScintilla/EditorAssembly.py file | annotate | diff | comparison | revisions
QScintilla/MiniEditor.py file | annotate | diff | comparison | revisions
QScintilla/SearchReplaceWidget.py file | annotate | diff | comparison | revisions
QScintilla/Shell.py file | annotate | diff | comparison | revisions
QScintilla/Terminal.py file | annotate | diff | comparison | revisions
Snapshot/SnapWidget.py file | annotate | diff | comparison | revisions
SqlBrowser/SqlBrowser.py file | annotate | diff | comparison | revisions
SqlBrowser/SqlBrowserWidget.py file | annotate | diff | comparison | revisions
Tasks/TaskViewer.py file | annotate | diff | comparison | revisions
Templates/TemplatePropertiesDialog.py file | annotate | diff | comparison | revisions
Templates/TemplateViewer.py file | annotate | diff | comparison | revisions
Tools/TRPreviewer.py file | annotate | diff | comparison | revisions
UI/BrowserModel.py file | annotate | diff | comparison | revisions
UI/LogView.py file | annotate | diff | comparison | revisions
UI/UserInterface.py file | annotate | diff | comparison | revisions
Utilities/crypto/__init__.py file | annotate | diff | comparison | revisions
UtilitiesPython2/Py2SyntaxChecker.py file | annotate | diff | comparison | revisions
VCS/ProjectBrowserHelper.py file | annotate | diff | comparison | revisions
VCS/ProjectHelper.py file | annotate | diff | comparison | revisions
ViewManager/ViewManager.py file | annotate | diff | comparison | revisions
eric5.py file | annotate | diff | comparison | revisions
--- a/PyUnit/UnittestDialog.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/PyUnit/UnittestDialog.py	Mon Feb 11 18:13:10 2013 +0100
@@ -23,9 +23,6 @@
 from E5Gui.E5MainWindow import E5MainWindow
 
 from .Ui_UnittestDialog import Ui_UnittestDialog
-from .Ui_UnittestStacktraceDialog import Ui_UnittestStacktraceDialog
-
-from DebugClients.Python3.coverage import coverage
 
 import UI.PixmapCache
 
@@ -339,6 +336,8 @@
                         mainScript = os.path.abspath(prog)
                 else:
                     mainScript = os.path.abspath(prog)
+                
+                from DebugClients.Python3.coverage import coverage
                 cover = coverage(
                     data_file="{0}.coverage".format(os.path.splitext(mainScript)[0]))
                 cover.use_cache(True)
@@ -593,6 +592,7 @@
         test, tracebackText = lbitem.data(Qt.UserRole)
 
         # now build the dialog
+        from .Ui_UnittestStacktraceDialog import Ui_UnittestStacktraceDialog
         self.dlg = QDialog()
         ui = Ui_UnittestStacktraceDialog()
         ui.setupUi(self.dlg)
--- a/QScintilla/Editor.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/QScintilla/Editor.py	Mon Feb 11 18:13:10 2013 +0100
@@ -20,29 +20,10 @@
 from E5Gui.E5Application import e5App
 from E5Gui import E5FileDialog, E5MessageBox
 
-from . import Exporters
-from . import Lexers
-from . import TypingCompleters
 from .QsciScintillaCompat import QsciScintillaCompat, QSCINTILLA_VERSION
-from .SpellChecker import SpellChecker
-from .SpellCheckingDialog import SpellCheckingDialog
-
-from Debugger.EditBreakpointDialog import EditBreakpointDialog
-
-from DebugClients.Python3.coverage import coverage
-
-from DataViews.CodeMetricsDialog import CodeMetricsDialog
-from DataViews.PyCoverageDialog import PyCoverageDialog
-from DataViews.PyProfileDialog import PyProfileDialog
-
-from Tasks.Task import Task
-
-from .Printer import Printer
 
 import Preferences
 import Utilities
-from Utilities.py3flakes.checker import Checker
-from Utilities.py3flakes.messages import ImportStarUsed
 
 import UI.PixmapCache
 
@@ -829,6 +810,7 @@
         self.languagesActGrp.addAction(self.noLanguageAct)
         menu.addSeparator()
         
+        from . import Lexers
         self.supportedLanguages = {}
         supportedLanguages = Lexers.getSupportedLanguages()
         languages = sorted(list(supportedLanguages.keys()))
@@ -920,6 +902,7 @@
         """
         menu = QMenu(self.trUtf8("Export as"))
         
+        from . import Exporters
         supportedExporters = Exporters.getSupportedFormats()
         exporters = sorted(list(supportedExporters.keys()))
         for exporter in exporters:
@@ -1151,6 +1134,7 @@
         @param exporterFormat format the file should be exported into (string)
         """
         if exporterFormat:
+            from . import Exporters
             exporter = Exporters.getExporter(exporterFormat, self)
             if exporter:
                 exporter.exportSource()
@@ -1440,6 +1424,7 @@
             pyname = language.split("|", 1)[1]
             language = ""
         
+        from . import Lexers
         self.lexer_ = Lexers.getLexer(language, self, pyname=pyname)
         if self.lexer_ is None:
             self.setLexer()
@@ -1548,6 +1533,7 @@
             elif self.isRubyFile():
                 apiLanguage = "Ruby"
         
+        from . import TypingCompleters
         self.completer = TypingCompleters.getCompleter(apiLanguage, self)
         
     def getCompleter(self):
@@ -2094,6 +2080,7 @@
             if not index.isValid():
                 return
             
+            from Debugger.EditBreakpointDialog import EditBreakpointDialog
             dlg = EditBreakpointDialog((self.fileName, ln),
                 (cond, temp, enabled, ignorecount),
                 self.condHistory, self, modal=True)
@@ -2263,6 +2250,7 @@
         """
         Public slot to print the text.
         """
+        from .Printer import Printer
         printer = Printer(mode=QPrinter.HighResolution)
         sb = e5App().getObject("UserInterface").statusBar()
         printDialog = QPrintDialog(printer, self)
@@ -2299,6 +2287,7 @@
         Public slot to show a print preview of the text.
         """
         from PyQt4.QtGui import QPrintPreviewDialog
+        from .Printer import Printer
         
         printer = Printer(mode=QPrinter.HighResolution)
         fn = self.getFileName()
@@ -2368,6 +2357,7 @@
         """
         Public slot to extract all tasks.
         """
+        from Tasks.Task import Task
         markers = {
             Task.TypeWarning: Preferences.getTasks("TasksWarningMarkers").split(),
             Task.TypeNote: Preferences.getTasks("TasksNoteMarkers").split(),
@@ -2774,6 +2764,8 @@
                 path = os.path.dirname(self.fileName)
             if not path:
                 path = Preferences.getMultiProject("Workspace") or Utilities.getHomeDir()
+            
+            from . import Lexers
             if self.fileName:
                 filterPattern = "(*{0})".format(os.path.splitext(self.fileName)[1])
                 for filter in Lexers.getSaveFileFiltersList(True):
@@ -4441,6 +4433,7 @@
         self.menuActs["TypingAidsEnabled"].setChecked(
             self.completer is not None and self.completer.isEnabled())
         
+        from .SpellChecker import SpellChecker
         spellingAvailable = SpellChecker.isAvailable()
         self.menuActs["SpellCheck"].setEnabled(spellingAvailable)
         self.menuActs["SpellCheckSelection"].setEnabled(
@@ -4764,6 +4757,9 @@
                         int(errorline), int(errorindex), True, _error)
                 else:
                     if Preferences.getFlakes("IncludeInSyntaxCheck"):
+                        from Utilities.py3flakes.checker import Checker
+                        from Utilities.py3flakes.messages import ImportStarUsed
+                        
                         ignoreStarImportWarnings = \
                             Preferences.getFlakes("IgnoreStarImportWarnings")
                         try:
@@ -4827,6 +4823,7 @@
         if not self.checkDirty():
             return
         
+        from DataViews.CodeMetricsDialog import CodeMetricsDialog
         self.codemetrics = CodeMetricsDialog()
         self.codemetrics.show()
         self.codemetrics.start(self.fileName)
@@ -4892,6 +4889,7 @@
         """
         fn = self.__getCodeCoverageFile()
         if fn:
+            from DataViews.PyCoverageDialog import PyCoverageDialog
             self.codecoverage = PyCoverageDialog()
             self.codecoverage.show()
             self.codecoverage.start(fn, self.fileName)
@@ -4913,6 +4911,7 @@
         
         fn = self.__getCodeCoverageFile()
         if fn:
+            from DebugClients.Python3.coverage import coverage
             cover = coverage(data_file=fn)
             cover.use_cache(True)
             cover.load()
@@ -5035,6 +5034,7 @@
         else:
             return
         
+        from DataViews.PyProfileDialog import PyProfileDialog
         self.profiledata = PyProfileDialog()
         self.profiledata.show()
         self.profiledata.start(fn, self.fileName)
@@ -6242,6 +6242,7 @@
         if Preferences.getEditor("SpellCheckingEnabled"):
             self.__spellCheckStringsOnly = Preferences.getEditor("SpellCheckStringsOnly")
             if self.spell is None:
+                from .SpellChecker import SpellChecker
                 self.spell = SpellChecker(self, self.spellingIndicator,
                                           checkRegion=self.isSpellCheckRegion)
             self.setSpellingForProject()
@@ -6316,6 +6317,7 @@
         """
         if self.spell:
             cline, cindex = self.getCursorPosition()
+            from .SpellCheckingDialog import SpellCheckingDialog
             dlg = SpellCheckingDialog(self.spell, 0, self.length(), self)
             dlg.exec_()
             self.setCursorPosition(cline, cindex)
@@ -6326,6 +6328,7 @@
         """
         Private slot to spell check the current selection.
         """
+        from .SpellCheckingDialog import SpellCheckingDialog
         sline, sindex, eline, eindex = self.getSelection()
         startPos = self.positionFromLineIndex(sline, sindex)
         endPos = self.positionFromLineIndex(eline, eindex)
@@ -6336,6 +6339,7 @@
         """
         Private slot to check the word below the spelling context menu.
         """
+        from .SpellCheckingDialog import SpellCheckingDialog
         line, index = self.lineIndexFromPosition(self.spellingMenuPos)
         wordStart, wordEnd = self.getWordBoundaries(line, index)
         wordStartPos = self.positionFromLineIndex(line, wordStart)
--- a/QScintilla/EditorAssembly.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/QScintilla/EditorAssembly.py	Mon Feb 11 18:13:10 2013 +0100
@@ -11,10 +11,6 @@
 from PyQt4.QtCore import QTimer
 from PyQt4.QtGui import QWidget, QGridLayout, QComboBox
 
-from .Editor import Editor
-
-from Utilities.ModuleParser import Module, Function, getTypeFromTypeName
-
 import UI.PixmapCache
 
 
@@ -43,6 +39,7 @@
         
         self.__globalsCombo = QComboBox()
         self.__membersCombo = QComboBox()
+        from .Editor import Editor
         self.__editor = Editor(dbs, fn, vm, filetype, editor, tv)
         
         self.__layout.addWidget(self.__globalsCombo, 0, 0)
@@ -125,6 +122,7 @@
                     return
                 
                 # step 2.1: add class methods
+                from Utilities.ModuleParser import Function
                 items = {}
                 for meth in entry.methods.values():
                     if meth.modifier == Function.Static:
@@ -190,6 +188,8 @@
         """
         Private method to parse the editor source and repopulate the globals combo.
         """
+        from Utilities.ModuleParser import Module, getTypeFromTypeName
+        
         self.__module = None
         sourceType = getTypeFromTypeName(self.__editor.determineFileType())
         if sourceType != -1:
--- a/QScintilla/MiniEditor.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/QScintilla/MiniEditor.py	Mon Feb 11 18:13:10 2013 +0100
@@ -21,15 +21,11 @@
 from E5Gui import E5MessageBox, E5FileDialog
 from E5Gui.E5MainWindow import E5MainWindow
 
-from . import Lexers
 from .QsciScintillaCompat import QsciScintillaCompat
-from .SearchReplaceWidget import SearchReplaceWidget
 
 import UI.PixmapCache
 import UI.Config
 
-from .Printer import Printer
-
 from Globals import isMacPlatform
 
 import Utilities
@@ -127,6 +123,7 @@
             "search": [],
             "replace": []
         }
+        from .SearchReplaceWidget import SearchReplaceWidget
         self.searchDlg = SearchReplaceWidget(False, self, self)
         self.replaceDlg = SearchReplaceWidget(True, self, self)
         
@@ -2237,6 +2234,7 @@
         """
         Private slot to print the text.
         """
+        from .Printer import Printer
         printer = Printer(mode=QPrinter.HighResolution)
         sb = self.statusBar()
         printDialog = QPrintDialog(printer, self)
@@ -2272,6 +2270,7 @@
         Private slot to show a print preview of the text.
         """
         from PyQt4.QtGui import QPrintPreviewDialog
+        from .Printer import Printer
         
         printer = Printer(mode=QPrinter.HighResolution)
         if self.__curFile:
@@ -2338,6 +2337,7 @@
         self.languagesActGrp.addAction(self.noLanguageAct)
         menu.addSeparator()
         
+        from . import Lexers
         self.supportedLanguages = {}
         supportedLanguages = Lexers.getSupportedLanguages()
         languages = sorted(list(supportedLanguages.keys()))
@@ -2501,6 +2501,7 @@
             pyname = language.split("|", 1)[1]
             language = ""
         
+        from . import Lexers
         self.lexer_ = Lexers.getLexer(language, self.__textEdit, pyname=pyname)
         if self.lexer_ is None:
             self.__textEdit.setLexer()
--- a/QScintilla/SearchReplaceWidget.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/QScintilla/SearchReplaceWidget.py	Mon Feb 11 18:13:10 2013 +0100
@@ -11,9 +11,6 @@
 from PyQt4.QtGui import QWidget, QHBoxLayout, QToolButton, QScrollArea, QSizePolicy, \
     QFrame
 
-from .Ui_SearchWidget import Ui_SearchWidget
-from .Ui_ReplaceWidget import Ui_ReplaceWidget
-
 from .Editor import Editor
 
 from E5Gui.E5Action import E5Action
@@ -52,6 +49,7 @@
         
         self.findHistory = vm.getSRHistory('search')
         if replace:
+            from .Ui_ReplaceWidget import Ui_ReplaceWidget
             self.replaceHistory = vm.getSRHistory('replace')
             self.ui = Ui_ReplaceWidget()
             whatsThis = self.trUtf8(r"""
@@ -63,6 +61,7 @@
 """
             )
         else:
+            from .Ui_SearchWidget import Ui_SearchWidget
             self.ui = Ui_SearchWidget()
             whatsThis = self.trUtf8(r"""
 <b>Find</b>
--- a/QScintilla/Shell.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/QScintilla/Shell.py	Mon Feb 11 18:13:10 2013 +0100
@@ -18,18 +18,14 @@
 from E5Gui.E5Application import e5App
 from E5Gui import E5MessageBox
 
-from . import Lexers
 from .QsciScintillaCompat import QsciScintillaCompat
 
 import Preferences
 
 import UI.PixmapCache
-from UI.SearchWidget import SearchWidget
 
 from Debugger.DebugClientCapabilities import HasCompleter
 
-from .ShellHistoryDialog import ShellHistoryDialog
-
 
 class ShellAssembly(QWidget):
     """
@@ -47,6 +43,8 @@
         super().__init__(parent)
         
         self.__shell = Shell(dbs, vm, self)
+        
+        from UI.SearchWidget import SearchWidget
         self.__searchWidget = SearchWidget(self.__shell, self, horizontal)
         self.__searchWidget.hide()
         
@@ -290,6 +288,7 @@
         """
         self.language = language
         if Preferences.getShell("SyntaxHighlightingEnabled"):
+            from . import Lexers
             self.lexer_ = Lexers.getLexer(self.language, self)
         else:
             self.lexer_ = None
@@ -568,6 +567,7 @@
         """
         Private slot to show the shell history dialog.
         """
+        from .ShellHistoryDialog import ShellHistoryDialog
         dlg = ShellHistoryDialog(self.history, self.vm, self)
         if dlg.exec_() == QDialog.Accepted:
             self.historyLists[self.clientType] = dlg.getHistory()
--- a/QScintilla/Terminal.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/QScintilla/Terminal.py	Mon Feb 11 18:13:10 2013 +0100
@@ -19,16 +19,12 @@
 
 from E5Gui.E5Application import e5App
 
-from . import Lexers
 from .QsciScintillaCompat import QsciScintillaCompat
 
 import Preferences
 import Utilities
 
 import UI.PixmapCache
-from UI.SearchWidget import SearchWidget
-
-from .ShellHistoryDialog import ShellHistoryDialog
 
 
 class TerminalAssembly(QWidget):
@@ -47,6 +43,8 @@
         self.setWindowIcon(UI.PixmapCache.getIcon("eric.png"))
         
         self.__terminal = Terminal(vm, self)
+        
+        from UI.SearchWidget import SearchWidget
         self.__searchWidget = SearchWidget(self.__terminal, self)
         self.__searchWidget.hide()
         
@@ -299,6 +297,7 @@
         else:
             self.language = "Bash"
         if Preferences.getTerminal("SyntaxHighlightingEnabled"):
+            from . import Lexers
             self.lexer_ = Lexers.getLexer(self.language, self)
         else:
             self.lexer_ = None
@@ -478,6 +477,7 @@
         """
         Private slot to show the shell history dialog.
         """
+        from .ShellHistoryDialog import ShellHistoryDialog
         dlg = ShellHistoryDialog(self.history, self.vm, self)
         if dlg.exec_() == QDialog.Accepted:
             self.history = dlg.getHistory()
--- a/Snapshot/SnapWidget.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/Snapshot/SnapWidget.py	Mon Feb 11 18:13:10 2013 +0100
@@ -22,10 +22,6 @@
 
 from .Ui_SnapWidget import Ui_SnapWidget
 
-from .SnapshotRegionGrabber import SnapshotRegionGrabber
-from .SnapshotFreehandGrabber import SnapshotFreehandGrabber
-from .SnapshotTimer import SnapshotTimer
-
 import UI.PixmapCache
 import Preferences
 import Globals
@@ -95,6 +91,7 @@
         
         self.preview.startDrag.connect(self.__dragSnapshot)
         
+        from .SnapshotTimer import SnapshotTimer
         self.__grabTimer = SnapshotTimer()
         self.__grabTimer.timeout.connect(self.__grabTimerTimeout)
         self.__updateTimer = QTimer()
@@ -323,6 +320,7 @@
         """
         Private method to grab a rectangular screen region.
         """
+        from .SnapshotRegionGrabber import SnapshotRegionGrabber
         self.__grabber = SnapshotRegionGrabber(mode=SnapshotRegionGrabber.Rectangle)
         self.__grabber.grabbed.connect(self.__captured)
     
@@ -330,6 +328,7 @@
         """
         Private method to grab an elliptical screen region.
         """
+        from .SnapshotRegionGrabber import SnapshotRegionGrabber
         self.__grabber = SnapshotRegionGrabber(mode=SnapshotRegionGrabber.Ellipse)
         self.__grabber.grabbed.connect(self.__captured)
     
@@ -337,6 +336,7 @@
         """
         Private method to grab a non-rectangular screen region.
         """
+        from .SnapshotFreehandGrabber import SnapshotFreehandGrabber
         self.__grabber = SnapshotFreehandGrabber()
         self.__grabber.grabbed.connect(self.__captured)
     
--- a/SqlBrowser/SqlBrowser.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/SqlBrowser/SqlBrowser.py	Mon Feb 11 18:13:10 2013 +0100
@@ -15,8 +15,6 @@
 from E5Gui import E5MessageBox
 from E5Gui.E5MainWindow import E5MainWindow
 
-from .SqlBrowserWidget import SqlBrowserWidget
-
 import UI.PixmapCache
 import UI.Config
 
@@ -42,6 +40,7 @@
         
         self.setStyle(Preferences.getUI("Style"), Preferences.getUI("StyleSheet"))
         
+        from .SqlBrowserWidget import SqlBrowserWidget
         self.__browser = SqlBrowserWidget(self)
         self.setCentralWidget(self.__browser)
         
--- a/SqlBrowser/SqlBrowserWidget.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/SqlBrowser/SqlBrowserWidget.py	Mon Feb 11 18:13:10 2013 +0100
@@ -13,7 +13,6 @@
 
 from E5Gui import E5MessageBox
 
-from .SqlConnectionDialog import SqlConnectionDialog
 from .Ui_SqlBrowserWidget import Ui_SqlBrowserWidget
 
 
@@ -143,6 +142,7 @@
         """
         Public slot to add a database connection via an input dialog.
         """
+        from .SqlConnectionDialog import SqlConnectionDialog
         dlg = SqlConnectionDialog(self)
         if dlg.exec_() == QDialog.Accepted:
             driver, dbName, user, password, host, port = dlg.getData()
--- a/Tasks/TaskViewer.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/Tasks/TaskViewer.py	Mon Feb 11 18:13:10 2013 +0100
@@ -22,9 +22,6 @@
 from E5Gui import E5MessageBox
 
 from .Task import Task
-from .TaskPropertiesDialog import TaskPropertiesDialog
-from .TaskFilter import TaskFilter
-from .TaskFilterConfigDialog import TaskFilterConfigDialog
 
 import UI.PixmapCache
 
@@ -70,6 +67,7 @@
         self.project = project
         self.projectTasksScanFilter = ""
         
+        from .TaskFilter import TaskFilter
         self.taskFilter = TaskFilter()
         self.taskFilter.setActive(False)
         
@@ -351,6 +349,7 @@
         """
         Private slot to handle the "Properties" context menu entry
         """
+        from .TaskPropertiesDialog import TaskPropertiesDialog
         task = self.currentItem()
         dlg = TaskPropertiesDialog(task, self, self.projectOpen)
         ro = task.getFilename() != ""
@@ -369,6 +368,7 @@
         """
         Private slot to handle the "New Task" context menu entry.
         """
+        from .TaskPropertiesDialog import TaskPropertiesDialog
         dlg = TaskPropertiesDialog(None, self, self.projectOpen)
         if dlg.exec_() == QDialog.Accepted:
             data = dlg.getData()
@@ -478,6 +478,7 @@
         """
         Private slot to handle the "Configure filter" context menu entry.
         """
+        from .TaskFilterConfigDialog import TaskFilterConfigDialog
         dlg = TaskFilterConfigDialog(self.taskFilter)
         if dlg.exec_() == QDialog.Accepted:
             dlg.configureTaskFilter(self.taskFilter)
--- a/Templates/TemplatePropertiesDialog.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/Templates/TemplatePropertiesDialog.py	Mon Feb 11 18:13:10 2013 +0100
@@ -10,8 +10,6 @@
 from PyQt4.QtCore import QRegExp, Qt, pyqtSlot
 from PyQt4.QtGui import QDialog, QRegExpValidator
 
-import QScintilla.Lexers
-
 from .Ui_TemplatePropertiesDialog import Ui_TemplatePropertiesDialog
 
 from E5Gui import E5MessageBox
@@ -45,6 +43,7 @@
                                                     self.nameEdit)
             self.nameEdit.setValidator(self.__nameValidator)
         
+        import QScintilla.Lexers
         self.languages = [("All", self.trUtf8("All"))]
         supportedLanguages = QScintilla.Lexers.getSupportedLanguages()
         languages = sorted(supportedLanguages.keys())
--- a/Templates/TemplateViewer.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/Templates/TemplateViewer.py	Mon Feb 11 18:13:10 2013 +0100
@@ -17,15 +17,8 @@
 from E5Gui.E5Application import e5App
 from E5Gui import E5MessageBox, E5FileDialog
 
-from .TemplatePropertiesDialog import TemplatePropertiesDialog
-from .TemplateMultipleVariablesDialog import TemplateMultipleVariablesDialog
-from .TemplateSingleVariableDialog import TemplateSingleVariableDialog
-
 import Preferences
 
-from E5XML.TemplatesReader import TemplatesReader
-from E5XML.TemplatesWriter import TemplatesWriter
-
 import UI.PixmapCache
 import Utilities
 
@@ -471,6 +464,7 @@
         else:
             groupName = itm.getGroupName()
         
+        from .TemplatePropertiesDialog import TemplatePropertiesDialog
         dlg = TemplatePropertiesDialog(self)
         dlg.setSelectedGroup(groupName)
         if dlg.exec_() == QDialog.Accepted:
@@ -482,6 +476,7 @@
         """
         Private slot to handle the Add Group context menu action.
         """
+        from .TemplatePropertiesDialog import TemplatePropertiesDialog
         dlg = TemplatePropertiesDialog(self, True)
         if dlg.exec_() == QDialog.Accepted:
             name, language = dlg.getData()
@@ -497,6 +492,8 @@
             editGroup = False
         else:
             editGroup = True
+        
+        from .TemplatePropertiesDialog import TemplatePropertiesDialog
         dlg = TemplatePropertiesDialog(self, editGroup, itm)
         if dlg.exec_() == QDialog.Accepted:
             if editGroup:
@@ -675,11 +672,14 @@
         
         if vars:
             if Preferences.getTemplates("SingleDialog"):
+                from .TemplateMultipleVariablesDialog import \
+                    TemplateMultipleVariablesDialog
                 dlg = TemplateMultipleVariablesDialog(vars, self)
                 if dlg.exec_() == QDialog.Accepted:
                     varValues.update(dlg.getVariables())
                     ok = True
             else:
+                from .TemplateSingleVariableDialog import TemplateSingleVariableDialog
                 for var in vars:
                     dlg = TemplateSingleVariableDialog(var, self)
                     if dlg.exec_() == QDialog.Accepted:
@@ -921,6 +921,7 @@
                     .format(filename))
             return False
         
+        from E5XML.TemplatesWriter import TemplatesWriter
         TemplatesWriter(f, self).writeXML()
         f.close()
         
@@ -939,6 +940,7 @@
         
         f = QFile(filename)
         if f.open(QIODevice.ReadOnly):
+            from E5XML.TemplatesReader import TemplatesReader
             reader = TemplatesReader(f, viewer=self)
             reader.readXML()
             f.close()
--- a/Tools/TRPreviewer.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/Tools/TRPreviewer.py	Mon Feb 11 18:13:10 2013 +0100
@@ -18,8 +18,6 @@
 from E5Gui import E5MessageBox, E5FileDialog
 from E5Gui.E5MainWindow import E5MainWindow
 
-from .TRSingleApplication import TRSingleApplicationServer
-
 import UI.PixmapCache
 import UI.Config
 
@@ -106,6 +104,7 @@
         self.__updateActions()
         
         # fire up the single application server
+        from .TRSingleApplication import TRSingleApplicationServer
         self.SAServer = TRSingleApplicationServer(self)
         self.SAServer.loadForm.connect(self.preview.loadWidget)
         self.SAServer.loadTranslation.connect(self.translations.add)
--- a/UI/BrowserModel.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/UI/BrowserModel.py	Mon Feb 11 18:13:10 2013 +0100
@@ -14,9 +14,6 @@
 from PyQt4.QtCore import QDir, QModelIndex, QAbstractItemModel, QFileSystemWatcher, Qt
 from PyQt4.QtGui import QImageReader, QApplication, QFont
 
-import Utilities.ClassBrowsers
-import Utilities.ClassBrowsers.ClbrBaseClasses
-
 import UI.PixmapCache
 import Preferences
 import Utilities
@@ -529,6 +526,7 @@
         @param parentItem reference to the file item to be populated
         @param repopulate flag indicating a repopulation (boolean)
         """
+        import Utilities.ClassBrowsers
         moduleName = parentItem.moduleName()
         fileName = parentItem.fileName()
         try:
@@ -1227,6 +1225,7 @@
         self._classObject = cl
         self._filename = filename
         
+        import Utilities.ClassBrowsers.ClbrBaseClasses
         self.isfunction = isinstance(self._classObject,
                                      Utilities.ClassBrowsers.ClbrBaseClasses.Function)
         self.ismodule = isinstance(self._classObject,
@@ -1328,6 +1327,7 @@
         name = fn.name
         BrowserItem.__init__(self, parent, name)
         
+        import Utilities.ClassBrowsers.ClbrBaseClasses
         self.type_ = BrowserItemMethod
         self.name = name
         self._functionObject = fn
--- a/UI/LogView.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/UI/LogView.py	Mon Feb 11 18:13:10 2013 +0100
@@ -13,8 +13,6 @@
 
 from E5Gui.E5Application import e5App
 
-from .SearchWidget import SearchWidget
-
 import UI.PixmapCache
 import Preferences
 
@@ -34,6 +32,7 @@
         self.setWindowIcon(UI.PixmapCache.getIcon("eric.png"))
         
         self.__logViewer = LogViewerEdit(self)
+        from .SearchWidget import SearchWidget
         self.__searchWidget = SearchWidget(self.__logViewer, self)
         self.__searchWidget.hide()
         
--- a/UI/UserInterface.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/UI/UserInterface.py	Mon Feb 11 18:13:10 2013 +0100
@@ -20,41 +20,8 @@
 from PyQt4.QtNetwork import QNetworkProxyFactory, QNetworkAccessManager, \
     QNetworkRequest, QNetworkReply
 
-from Debugger.DebugUI import DebugUI
-from Debugger.DebugServer import DebugServer
-from Debugger.DebugViewer import DebugViewer
-from Debugger.DebugClientCapabilities import HasUnittest
-
-from QScintilla.Shell import ShellAssembly
-from QScintilla.Terminal import TerminalAssembly
-from QScintilla.SpellChecker import SpellChecker
-
-from Helpviewer.HelpWindow import HelpWindow
-
-from Preferences import Shortcuts
-
-from PluginManager.PluginManager import PluginManager
-
-from Project.Project import Project
-from Project.ProjectBrowser import ProjectBrowser
-
-from MultiProject.MultiProject import MultiProject
-from MultiProject.MultiProjectBrowser import MultiProjectBrowser
-
-from Tasks.TaskViewer import TaskViewer
-
-from Templates.TemplateViewer import TemplateViewer
-
-from Cooperation.ChatWidget import ChatWidget
-
-from Network.IRC.IrcWidget import IrcWidget
-
-from .Browser import Browser
 from .Info import Version, BugAddress, Program, FeatureAddress
 from . import Config
-from .LogView import LogViewer
-from .SymbolsWidget import SymbolsWidget
-from .NumbersWidget import NumbersWidget
 
 from E5Gui.E5SingleApplication import E5SingleApplicationServer
 from E5Gui.E5Action import E5Action, createActionGroup
@@ -64,10 +31,7 @@
 from E5Gui.E5MainWindow import E5MainWindow
 from E5Gui.E5ZoomWidget import E5ZoomWidget
 
-from VCS.StatusMonitorLed import StatusMonitorLed
-
 import Preferences
-import ViewManager
 import Utilities
 
 import UI.PixmapCache
@@ -220,15 +184,20 @@
         self.profiles = Preferences.getUI("ViewProfiles")
         
         # Generate the debug server object
+        from Debugger.DebugServer import DebugServer
         debugServer = DebugServer()
         
         # Generate an empty project object and multi project object
+        from Project.Project import Project
         self.project = Project(self)
+        
+        from MultiProject.MultiProject import MultiProject
         self.multiProject = MultiProject(self.project, self)
         
         splash.showMessage(self.trUtf8("Initializing Plugin Manager..."))
         
         # Initialize the Plugin Manager (Plugins are initialized later
+        from PluginManager.PluginManager import PluginManager
         self.pluginManager = PluginManager(self, develPlugin=plugin)
         
         splash.showMessage(self.trUtf8("Generating Main User Interface..."))
@@ -241,6 +210,7 @@
         
         # Generate the debugger part of the ui
         logging.debug("Creating Debugger UI...")
+        from Debugger.DebugUI import DebugUI
         self.debuggerUI = DebugUI(self, self.viewmanager, debugServer,
                                   self.debugViewer, self.project)
         self.debugViewer.setDebugger(self.debuggerUI)
@@ -445,6 +415,7 @@
         self.__initExternalToolsActions()
         
         # create a dummy help window for shortcuts handling
+        from Helpviewer.HelpWindow import HelpWindow
         self.dummyHelpViewer = HelpWindow(None, '.', None, 'help viewer', True, True)
         
         # register all relevant objects
@@ -511,6 +482,7 @@
         self.pluginManager.activatePlugins()
         
         # now read the keyboard shortcuts for all the actions
+        from Preferences import Shortcuts
         Shortcuts.readShortcuts()
         
         # restore toolbar manager state
@@ -551,6 +523,7 @@
         self.__versionCheckProgress = None
         
         # set spellchecker defaults
+        from QScintilla.SpellChecker import SpellChecker
         SpellChecker.setDefaultLanguage(
             Preferences.getEditor("SpellCheckingDefaultLanguage"))
         
@@ -565,6 +538,7 @@
         """
         # Create the view manager depending on the configuration setting
         logging.debug("Creating Viewmanager...")
+        import ViewManager
         self.viewmanager = \
             ViewManager.factory(self, self, debugServer, self.pluginManager)
         centralWidget = QWidget()
@@ -621,6 +595,7 @@
                                self.rToolbox, self.trUtf8("Right Toolbox"))
         
         # Create the project browser
+        from Project.ProjectBrowser import ProjectBrowser
         self.projectBrowser = ProjectBrowser(self.project, None,
             embeddedBrowser=(self.embeddedFileBrowser == 2))
         self.lToolbox.addItem(self.projectBrowser,
@@ -628,12 +603,14 @@
                               self.trUtf8("Project-Viewer"))
 
         # Create the multi project browser
+        from MultiProject.MultiProjectBrowser import MultiProjectBrowser
         self.multiProjectBrowser = MultiProjectBrowser(self.multiProject)
         self.lToolbox.addItem(self.multiProjectBrowser,
                               UI.PixmapCache.getIcon("multiProjectViewer.png"),
                               self.trUtf8("Multiproject-Viewer"))
 
         # Create the template viewer part of the user interface
+        from Templates.TemplateViewer import TemplateViewer
         self.templateViewer = TemplateViewer(None,
                                              self.viewmanager)
         self.lToolbox.addItem(self.templateViewer,
@@ -641,6 +618,7 @@
                               self.trUtf8("Template-Viewer"))
 
         # Create the debug viewer maybe without the embedded shell
+        from Debugger.DebugViewer import DebugViewer
         self.debugViewer = DebugViewer(debugServer, True, self.viewmanager,
             None,
             embeddedShell=self.embeddedShell,
@@ -650,18 +628,21 @@
                               self.trUtf8("Debug-Viewer"))
 
         # Create the chat part of the user interface
+        from Cooperation.ChatWidget import ChatWidget
         self.cooperation = ChatWidget(self)
         self.rToolbox.addItem(self.cooperation,
                               UI.PixmapCache.getIcon("cooperation.png"),
                               self.trUtf8("Cooperation"))
         
         # Create the IRC part of the user interface
+        from Network.IRC.IrcWidget import IrcWidget
         self.irc = IrcWidget(self)
         self.rToolbox.addItem(self.irc,
                               UI.PixmapCache.getIcon("irc.png"),
                               self.trUtf8("IRC"))
         
         # Create the terminal part of the user interface
+        from QScintilla.Terminal import TerminalAssembly
         self.terminalAssembly = TerminalAssembly(self.viewmanager)
         self.terminal = self.terminalAssembly.terminal()
         self.hToolbox.addItem(self.terminalAssembly,
@@ -669,12 +650,14 @@
                               self.trUtf8("Terminal"))
 
         # Create the task viewer part of the user interface
+        from Tasks.TaskViewer import TaskViewer
         self.taskViewer = TaskViewer(None, self.project)
         self.hToolbox.addItem(self.taskViewer,
                               UI.PixmapCache.getIcon("task.png"),
                               self.trUtf8("Task-Viewer"))
 
         # Create the log viewer part of the user interface
+        from .LogView import LogViewer
         self.logViewer = LogViewer()
         self.hToolbox.addItem(self.logViewer,
                               UI.PixmapCache.getIcon("logViewer.png"),
@@ -684,6 +667,7 @@
             self.shell = self.debugViewer.shell
         else:
             # Create the shell
+            from QScintilla.Shell import ShellAssembly
             self.shellAssembly = ShellAssembly(debugServer, self.viewmanager, True)
             self.shell = self.shellAssembly.shell()
             self.hToolbox.insertItem(0, self.shellAssembly,
@@ -692,6 +676,7 @@
 
         if self.embeddedFileBrowser == 0:   # separate window
             # Create the file browser
+            from .Browser import Browser
             self.browser = Browser()
             self.lToolbox.addItem(self.browser,
                                   UI.PixmapCache.getIcon("browser.png"),
@@ -702,12 +687,14 @@
             self.browser = self.projectBrowser.fileBrowser
         
         # Create the symbols viewer
+        from .SymbolsWidget import SymbolsWidget
         self.symbolsViewer = SymbolsWidget()
         self.lToolbox.addItem(self.symbolsViewer,
                               UI.PixmapCache.getIcon("symbols.png"),
                               self.trUtf8("Symbols"))
         
         # Create the numbers viewer
+        from .NumbersWidget import NumbersWidget
         self.numbersViewer = NumbersWidget()
         self.hToolbox.addItem(self.numbersViewer,
                               UI.PixmapCache.getIcon("numbers.png"),
@@ -734,6 +721,7 @@
         
         # Create the project browser
         logging.debug("Creating Project Browser...")
+        from Project.ProjectBrowser import ProjectBrowser
         self.projectBrowser = ProjectBrowser(self.project, None,
             embeddedBrowser=(self.embeddedFileBrowser == 2))
         self.leftSidebar.addTab(self.projectBrowser,
@@ -742,6 +730,7 @@
 
         # Create the multi project browser
         logging.debug("Creating Multiproject Browser...")
+        from MultiProject.MultiProjectBrowser import MultiProjectBrowser
         self.multiProjectBrowser = MultiProjectBrowser(self.multiProject)
         self.leftSidebar.addTab(self.multiProjectBrowser,
                               UI.PixmapCache.getIcon("multiProjectViewer.png"),
@@ -749,6 +738,7 @@
 
         # Create the template viewer part of the user interface
         logging.debug("Creating Template Viewer...")
+        from Templates.TemplateViewer import TemplateViewer
         self.templateViewer = TemplateViewer(None,
                                              self.viewmanager)
         self.leftSidebar.addTab(self.templateViewer,
@@ -757,6 +747,7 @@
 
         # Create the debug viewer maybe without the embedded shell
         logging.debug("Creating Debug Viewer...")
+        from Debugger.DebugViewer import DebugViewer
         self.debugViewer = DebugViewer(debugServer, True, self.viewmanager,
             None,
             embeddedShell=self.embeddedShell,
@@ -766,18 +757,21 @@
 
         # Create the chat part of the user interface
         logging.debug("Creating Chat Widget...")
+        from Cooperation.ChatWidget import ChatWidget
         self.cooperation = ChatWidget(self)
         self.rightSidebar.addTab(self.cooperation,
             UI.PixmapCache.getIcon("cooperation.png"), self.trUtf8("Cooperation"))
         
         # Create the IRC part of the user interface
         logging.debug("Creating IRC Widget...")
+        from Network.IRC.IrcWidget import IrcWidget
         self.irc = IrcWidget(self)
         self.rightSidebar.addTab(self.irc,
             UI.PixmapCache.getIcon("irc.png"), self.trUtf8("IRC"))
         
         # Create the terminal part of the user interface
         logging.debug("Creating Terminal...")
+        from QScintilla.Terminal import TerminalAssembly
         self.terminalAssembly = TerminalAssembly(self.viewmanager)
         self.terminal = self.terminalAssembly.terminal()
         self.bottomSidebar.addTab(self.terminalAssembly,
@@ -786,6 +780,7 @@
 
         # Create the task viewer part of the user interface
         logging.debug("Creating Task Viewer...")
+        from Tasks.TaskViewer import TaskViewer
         self.taskViewer = TaskViewer(None, self.project)
         self.bottomSidebar.addTab(self.taskViewer,
                               UI.PixmapCache.getIcon("task.png"),
@@ -793,6 +788,7 @@
 
         # Create the log viewer part of the user interface
         logging.debug("Creating Log Viewer...")
+        from .LogView import LogViewer
         self.logViewer = LogViewer()
         self.bottomSidebar.addTab(self.logViewer,
                               UI.PixmapCache.getIcon("logViewer.png"),
@@ -803,6 +799,7 @@
         else:
             # Create the shell
             logging.debug("Creating Shell...")
+            from QScintilla.Shell import ShellAssembly
             self.shellAssembly = ShellAssembly(debugServer, self.viewmanager, True)
             self.shell = self.shellAssembly.shell()
             self.bottomSidebar.insertTab(0, self.shellAssembly,
@@ -812,6 +809,7 @@
         if self.embeddedFileBrowser == 0:   # separate window
             # Create the file browser
             logging.debug("Creating File Browser...")
+            from .Browser import Browser
             self.browser = Browser()
             self.leftSidebar.addTab(self.browser,
                                     UI.PixmapCache.getIcon("browser.png"),
@@ -822,12 +820,16 @@
             self.browser = self.projectBrowser.fileBrowser
         
         # Create the symbols viewer
+        logging.debug("Creating Symbols Viewer...")
+        from .SymbolsWidget import SymbolsWidget
         self.symbolsViewer = SymbolsWidget()
         self.leftSidebar.addTab(self.symbolsViewer,
                                 UI.PixmapCache.getIcon("symbols.png"),
                                 self.trUtf8("Symbols"))
         
         # Create the numbers viewer
+        logging.debug("Creating Numbers Viewer...")
+        from .NumbersWidget import NumbersWidget
         self.numbersViewer = NumbersWidget()
         self.bottomSidebar.addTab(self.numbersViewer,
                                   UI.PixmapCache.getIcon("numbers.png"),
@@ -2506,6 +2508,7 @@
                                    self.sbEncoding, self.sbLanguage, self.sbEol,
                                    self.sbZoom)
 
+        from VCS.StatusMonitorLed import StatusMonitorLed
         self.sbVcsMonitorLed = StatusMonitorLed(self.project, self.__statusBar)
         self.__statusBar.addPermanentWidget(self.sbVcsMonitorLed)
     
@@ -4590,6 +4593,7 @@
                 home = QUrl.fromLocalFile(home).toString()
         if not (useSingle or Preferences.getHelp("SingleHelpWindow")) or \
            self.helpWindow is None:
+            from Helpviewer.HelpWindow import HelpWindow
             help = HelpWindow(home, '.', None, 'help viewer', True,
                               searchWord=searchWord)
 
@@ -4724,6 +4728,7 @@
         
         self.__configureDockareaCornerUsage()
         
+        from QScintilla.SpellChecker import SpellChecker
         SpellChecker.setDefaultLanguage(
             Preferences.getEditor("SpellCheckingDefaultLanguage"))
         
@@ -4815,6 +4820,7 @@
             if ex:
                 fn += ex
         
+        from Preferences import Shortcuts
         Shortcuts.exportShortcuts(fn)
 
     def __importShortcuts(self):
@@ -4828,6 +4834,7 @@
             self.trUtf8("Keyboard shortcut file (*.e4k)"))
         
         if fn:
+            from Preferences import Shortcuts
             Shortcuts.importShortcuts(fn)
 
     def __showCertificatesDialog(self):
@@ -4849,6 +4856,7 @@
         """
         Private slot to handle the projectOpened signal.
         """
+        from Debugger.DebugClientCapabilities import HasUnittest
         self.__setWindowCaption(project=self.project.name)
         cap = e5App().getObject("DebugServer")\
             .getClientCapabilities(self.project.pdata["PROGLANGUAGE"][0])
@@ -4905,6 +4913,7 @@
             for language in dbs.getSupportedLanguages():
                 exts = dbs.getExtensions(language)
                 if fn.endswith(exts):
+                    from Debugger.DebugClientCapabilities import HasUnittest
                     cap = dbs.getClientCapabilities(language)
                     self.utScriptAct.setEnabled(cap & HasUnittest)
                     self.utEditorOpen = cap & HasUnittest
@@ -4931,6 +4940,7 @@
             for language in dbs.getSupportedLanguages():
                 exts = dbs.getExtensions(language)
                 if fn.endswith(exts):
+                    from Debugger.DebugClientCapabilities import HasUnittest
                     cap = dbs.getClientCapabilities(language)
                     self.utScriptAct.setEnabled(cap & HasUnittest)
                     self.utEditorOpen = cap & HasUnittest
--- a/Utilities/crypto/__init__.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/Utilities/crypto/__init__.py	Mon Feb 11 18:13:10 2013 +0100
@@ -15,9 +15,6 @@
 
 from E5Gui import E5MessageBox
 
-from .py3AES import encryptData, decryptData
-from .py3PBKDF2 import verifyPassword, hashPasswordTuple, rehashPassword
-
 import Preferences
 
 ################################################################################
@@ -70,6 +67,7 @@
         QCoreApplication.translate("Crypto", "Enter the master password:"),
         QLineEdit.Password)
     if ok:
+        from .py3PBKDF2 import verifyPassword
         masterPassword = Preferences.getUser("MasterPassword")
         try:
             if masterPassword:
@@ -110,8 +108,10 @@
         
         masterPW = pwDecode(MasterPassword)
     
+    from .py3PBKDF2 import hashPasswordTuple
     digestname, iterations, salt, hash = hashPasswordTuple(masterPW)
     key = hash[:32]
+    from .py3AES import encryptData
     try:
         cipher = encryptData(key, pw.encode("utf-8"))
     except ValueError:
@@ -144,6 +144,9 @@
         
         masterPW = pwDecode(MasterPassword)
     
+    from .py3AES import decryptData
+    from .py3PBKDF2 import rehashPassword
+    
     hashParameters, epw = epw[3:].rsplit(Delimiter, 1)
     try:
         # recreate the key used to encrypt
@@ -255,6 +258,9 @@
     @return encrypted data (bytes) and flag indicating
         success (boolean)
     """
+    from .py3AES import encryptData
+    from .py3PBKDF2 import hashPasswordTuple
+    
     digestname, iterations, salt, hash = \
         hashPasswordTuple(password, iterations=hashIterations)
     key = hash[:keyLength]
@@ -283,6 +289,9 @@
     if not edata.startswith(CryptoMarker.encode()):
         return edata, False  # it was not encoded using dataEncrypt
     
+    from .py3AES import decryptData
+    from .py3PBKDF2 import rehashPassword
+    
     hashParametersBytes, edata = edata[3:].rsplit(Delimiter.encode(), 1)
     hashParameters = hashParametersBytes.decode()
     try:
--- a/UtilitiesPython2/Py2SyntaxChecker.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/UtilitiesPython2/Py2SyntaxChecker.py	Mon Feb 11 18:13:10 2013 +0100
@@ -14,9 +14,6 @@
 
 from Tools import readEncodedFile, normalizeCode, extractLineFlags
 
-from py2flakes.checker import Checker
-from py2flakes.messages import ImportStarUsed
-
 
 def compile(file, codestring):
     """
@@ -104,6 +101,9 @@
     @return list of strings containing the warnings
         (marker, file name, line number, message)
     """
+    from py2flakes.checker import Checker
+    from py2flakes.messages import ImportStarUsed
+    
     strings = []
     lines = codestring.splitlines()
     try:
--- a/VCS/ProjectBrowserHelper.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/VCS/ProjectBrowserHelper.py	Mon Feb 11 18:13:10 2013 +0100
@@ -19,8 +19,6 @@
 from Project.ProjectBrowserModel import ProjectBrowserSimpleDirectoryItem, \
     ProjectBrowserFileItem, ProjectBrowserDirectoryItem
 
-from .RepositoryInfoDialog import VcsRepositoryInfoDialog
-
 import Preferences
 
 
@@ -359,6 +357,7 @@
         """
         Protected slot called to show some vcs information.
         """
+        from .RepositoryInfoDialog import VcsRepositoryInfoDialog
         info = self.vcs.vcsRepositoryInfos(self.project.ppath)
         dlg = VcsRepositoryInfoDialog(None, info)
         dlg.exec_()
--- a/VCS/ProjectHelper.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/VCS/ProjectHelper.py	Mon Feb 11 18:13:10 2013 +0100
@@ -14,9 +14,6 @@
 from PyQt4.QtCore import QDir, QFileInfo, QObject
 from PyQt4.QtGui import QDialog, QInputDialog
 
-from .CommandOptionsDialog import vcsCommandOptionsDialog
-from .RepositoryInfoDialog import VcsRepositoryInfoDialog
-
 from E5Gui.E5Action import E5Action
 from E5Gui import E5MessageBox
 from E5Gui.E5Application import e5App
@@ -169,6 +166,7 @@
                     self.trUtf8("New Project"),
                     self.trUtf8("""Would you like to edit the VCS command options?"""))
                 if vcores:
+                    from .CommandOptionsDialog import vcsCommandOptionsDialog
                     codlg = vcsCommandOptionsDialog(self.project.vcs)
                     if codlg.exec_() == QDialog.Accepted:
                         self.project.vcs.vcsSetOptions(codlg.getOptions())
@@ -330,6 +328,7 @@
                     self.trUtf8("Import Project"),
                     self.trUtf8("""Would you like to edit the VCS command options?"""))
                 if vcores:
+                    from .CommandOptionsDialog import vcsCommandOptionsDialog
                     codlg = vcsCommandOptionsDialog(self.project.vcs)
                     if codlg.exec_() == QDialog.Accepted:
                         self.project.vcs.vcsSetOptions(codlg.getOptions())
@@ -396,6 +395,7 @@
         """
         Protected slot to edit the VCS command options.
         """
+        from .CommandOptionsDialog import vcsCommandOptionsDialog
         codlg = vcsCommandOptionsDialog(self.vcs)
         if codlg.exec_() == QDialog.Accepted:
             self.vcs.vcsSetOptions(codlg.getOptions())
@@ -466,6 +466,7 @@
         """
         Protected slot called to show some vcs information.
         """
+        from .RepositoryInfoDialog import VcsRepositoryInfoDialog
         info = self.vcs.vcsRepositoryInfos(self.project.ppath)
         dlg = VcsRepositoryInfoDialog(None, info)
         dlg.exec_()
--- a/ViewManager/ViewManager.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/ViewManager/ViewManager.py	Mon Feb 11 18:13:10 2013 +0100
@@ -23,13 +23,6 @@
 import Preferences
 
 from QScintilla.Editor import Editor
-from QScintilla.EditorAssembly import EditorAssembly
-from QScintilla.APIsManager import APIsManager
-from QScintilla.SpellChecker import SpellChecker
-import QScintilla.Lexers
-import QScintilla.Exporters
-from QScintilla.Shell import Shell
-from QScintilla.Terminal import Terminal
 
 import Utilities
 
@@ -153,6 +146,7 @@
         self.autosaveTimer.timeout.connect(self.__autosave)
         
         # initialize the APIs manager
+        from QScintilla.APIsManager import APIsManager
         self.apisManager = APIsManager(parent=self)
         
         self.__cooperationClient = None
@@ -716,6 +710,7 @@
         """
         menu = QMenu(QApplication.translate('ViewManager', "Export as"))
         
+        import QScintilla.Exporters
         supportedExporters = QScintilla.Exporters.getSupportedFormats()
         exporters = sorted(list(supportedExporters.keys()))
         for exporter in exporters:
@@ -3587,6 +3582,7 @@
         """
         Private method to set the enabled state of the spelling actions.
         """
+        from QScintilla.SpellChecker import SpellChecker
         spellingAvailable = SpellChecker.isAvailable()
         
         self.spellCheckAct.setEnabled(len(self.editors) != 0 and spellingAvailable)
@@ -3654,6 +3650,7 @@
             #     1: Directory of currently active editor
             #     2: Directory of currently active project
             #     3: CWD
+            import QScintilla.Lexers
             filter = self._getOpenFileFilter()
             progs = E5FileDialog.getOpenFileNamesAndFilter(
                 self.ui,
@@ -3898,6 +3895,7 @@
         @return reference to the new editor object (Editor.Editor) and the new
             edito assembly object (EditorAssembly.EditorAssembly)
         """
+        from QScintilla.EditorAssembly import EditorAssembly
         assembly = EditorAssembly(self.dbs, fn, self, filetype=filetype, editor=caller,
                                   tv=e5App().getObject("TaskViewer"))
         editor = assembly.getEditor()
@@ -4001,6 +3999,7 @@
         
         if language is None:
             language = ''
+        import QScintilla.Lexers
         pixmap = QScintilla.Lexers.getLanguageIcon(language, True)
         self.sbLang.setPixmap(pixmap)
         if pixmap.isNull():
@@ -4093,6 +4092,7 @@
                 if Utilities.samepath(fn, editor.getFileName()):
                     break
             else:
+                from QScintilla.EditorAssembly import EditorAssembly
                 assembly = EditorAssembly(self.dbs, fn, self, filetype=filetype,
                                           tv=e5App().getObject("TaskViewer"))
                 editor = assembly.getEditor()
@@ -4268,6 +4268,7 @@
         """
         Public slot to generate a new empty editor.
         """
+        from QScintilla.EditorAssembly import EditorAssembly
         assembly = EditorAssembly(self.dbs, None, self,
                                   tv=e5App().getObject("TaskViewer"))
         editor = assembly.getEditor()
@@ -4464,6 +4465,9 @@
         @param old reference to the widget loosing focus (QWidget)
         @param now reference to the widget gaining focus (QWidget)
         """
+        from QScintilla.Shell import Shell
+        from QScintilla.Terminal import Terminal
+        
         if not isinstance(now, (Editor, Shell, Terminal)):
             self.editActGrp.setEnabled(False)
             self.copyActGrp.setEnabled(False)
@@ -5463,6 +5467,7 @@
         """
         Private slot to edit the user word list.
         """
+        from QScintilla.SpellChecker import SpellChecker
         pwl = SpellChecker.getUserDictionaryPath()
         self.__editSpellingDictionary(pwl)
     
@@ -5470,6 +5475,7 @@
         """
         Private slot to edit the user exception list.
         """
+        from QScintilla.SpellChecker import SpellChecker
         pel = SpellChecker.getUserDictionaryPath(True)
         self.__editSpellingDictionary(pel)
     
@@ -5926,6 +5932,7 @@
            self.activeWindow().getFileName():
             ext = os.path.splitext(self.activeWindow().getFileName())[1]
             rx = QRegExp(".*\*\.{0}[ )].*".format(ext[1:]))
+            import QScintilla.Lexers
             filters = QScintilla.Lexers.getOpenFileFiltersList()
             index = -1
             for i in range(len(filters)):
--- a/eric5.py	Mon Feb 11 14:08:08 2013 +0100
+++ b/eric5.py	Mon Feb 11 18:13:10 2013 +0100
@@ -245,7 +245,7 @@
     # Load translation files and install them
     loc = Startup.loadTranslators(qt4TransDir, app, ("qscintilla",))
     
-    splash.showMessage(QApplication.translate("eric5", "Importing packages..."))
+    splash.showMessage(QApplication.translate("eric5", "Starting..."))
     # We can only import these after creating the E5Application because they
     # make Qt calls that need the E5Application to exist.
     from UI.UserInterface import UserInterface

eric ide

mercurial