Started with delaying the import upon the time it is needed.

Sun, 10 Feb 2013 14:48:24 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 10 Feb 2013 14:48:24 +0100
changeset 2400
c1726b754f96
parent 2397
671d0d55e5c8
child 2401
4f428de32b69

Started with delaying the import upon the time it is needed.

Cooperation/ChatWidget.py file | annotate | diff | comparison | revisions
Debugger/BreakPointViewer.py file | annotate | diff | comparison | revisions
Debugger/DebugUI.py file | annotate | diff | comparison | revisions
Debugger/DebugViewer.py file | annotate | diff | comparison | revisions
Debugger/VariablesViewer.py file | annotate | diff | comparison | revisions
Debugger/WatchPointViewer.py file | annotate | diff | comparison | revisions
Helpviewer/HelpWindow.py file | annotate | diff | comparison | revisions
UI/UserInterface.py file | annotate | diff | comparison | revisions
ViewManager/ViewManager.py file | annotate | diff | comparison | revisions
--- a/Cooperation/ChatWidget.py	Sun Feb 10 14:36:52 2013 +0100
+++ b/Cooperation/ChatWidget.py	Sun Feb 10 14:48:24 2013 +0100
@@ -15,8 +15,6 @@
 
 from Globals import recentNameHosts
 
-from QScintilla.Editor import Editor
-
 from .CooperationClient import CooperationClient
 
 from .Ui_ChatWidget import Ui_ChatWidget
@@ -385,6 +383,7 @@
         """
         self.editorCommand.emit(hash, fileName, message)
         
+        from QScintilla.Editor import Editor
         if message.startswith(Editor.StartEditToken + Editor.Separator) or \
            message.startswith(Editor.EndEditToken + Editor.Separator):
             vm = e5App().getObject("ViewManager")
--- a/Debugger/BreakPointViewer.py	Sun Feb 10 14:36:52 2013 +0100
+++ b/Debugger/BreakPointViewer.py	Sun Feb 10 14:48:24 2013 +0100
@@ -13,8 +13,6 @@
 
 from E5Gui.E5Application import e5App
 
-from .EditBreakpointDialog import EditBreakpointDialog
-
 
 class BreakPointViewer(QTreeView):
     """
@@ -218,6 +216,8 @@
         """
         Private slot to handle the add breakpoint context menu entry.
         """
+        from .EditBreakpointDialog import EditBreakpointDialog
+        
         dlg = EditBreakpointDialog((self.fnHistory[0], None), None,
             self.condHistory, self, modal=1, addMode=1,
             filenameHistory=self.fnHistory)
@@ -268,6 +268,7 @@
             
             fn, line, cond, temp, enabled, count = bp[:6]
             
+            from .EditBreakpointDialog import EditBreakpointDialog
             dlg = EditBreakpointDialog((fn, line), (cond, temp, enabled, count),
                 self.condHistory, self, modal=True)
             if dlg.exec_() == QDialog.Accepted:
--- a/Debugger/DebugUI.py	Sun Feb 10 14:36:52 2013 +0100
+++ b/Debugger/DebugUI.py	Sun Feb 10 14:48:24 2013 +0100
@@ -14,11 +14,6 @@
     QInputDialog
 
 from UI.Info import Program
-from .VariablesFilterDialog import VariablesFilterDialog
-from .ExceptionsFilterDialog import ExceptionsFilterDialog
-from .StartDialog import StartDialog
-from .EditBreakpointDialog import EditBreakpointDialog
-from .EditWatchpointDialog import EditWatchpointDialog
 
 from .DebugClientCapabilities import HasDebugger, HasInterpreter, HasProfiler, \
     HasCoverage
@@ -77,9 +72,6 @@
         self.projectOpen = False
         self.editorOpen = False
         
-        # Generate the variables filter dialog
-        self.dbgFilterDialog = VariablesFilterDialog(self.ui, 'Filter Dialog', True)
-
         # read the saved debug info values
         self.argvHistory = Preferences.toList(
             Preferences.Prefs.settings.value('DebugInfo/ArgumentsHistory'))
@@ -1186,6 +1178,7 @@
         
         fn, line, cond, temp, enabled, count = bp[:6]
         
+        from .EditBreakpointDialog import EditBreakpointDialog
         dlg = EditBreakpointDialog((fn, line), (cond, temp, enabled, count),
             [], self.ui, modal=True)
         if dlg.exec_() == QDialog.Accepted:
@@ -1217,6 +1210,7 @@
         
         cond, special, temp, enabled, count = wp[:5]
         
+        from .EditWatchpointDialog import EditWatchpointDialog
         dlg = EditWatchpointDialog(
             (cond, temp, enabled, count, special), self)
         if dlg.exec_() == QDialog.Accepted:
@@ -1247,19 +1241,19 @@
         """
         Private slot for displaying the variables filter configuration dialog.
         """
-        result = self.dbgFilterDialog.exec_()
-        if result == QDialog.Accepted:
-            self.localsVarFilter, self.globalsVarFilter = \
-                self.dbgFilterDialog.getSelection()
-        else:
-            self.dbgFilterDialog.setSelection(
-                self.localsVarFilter, self.globalsVarFilter)
-        self.debugViewer.setVariablesFilter(self.globalsVarFilter, self.localsVarFilter)
+        from .VariablesFilterDialog import VariablesFilterDialog
+        dlg = VariablesFilterDialog(self.ui, 'Filter Dialog', True)
+        dlg.setSelection(self.localsVarFilter, self.globalsVarFilter)
+        if dlg.exec_() == QDialog.Accepted:
+            self.localsVarFilter, self.globalsVarFilter = dlg.getSelection()
+            self.debugViewer.setVariablesFilter(
+                self.globalsVarFilter, self.localsVarFilter)
 
     def __configureExceptionsFilter(self):
         """
         Private slot for displaying the exception filter dialog.
         """
+        from .ExceptionsFilterDialog import ExceptionsFilterDialog
         dlg = ExceptionsFilterDialog(self.excList, ignore=False)
         if dlg.exec_() == QDialog.Accepted:
             self.excList = dlg.getExceptionsList()[:]   # keep a copy
@@ -1268,6 +1262,7 @@
         """
         Private slot for displaying the ignored exceptions dialog.
         """
+        from .ExceptionsFilterDialog import ExceptionsFilterDialog
         dlg = ExceptionsFilterDialog(self.excIgnoreList, ignore=True)
         if dlg.exec_() == QDialog.Accepted:
             self.excIgnoreList = dlg.getExceptionsList()[:]   # keep a copy
@@ -1374,6 +1369,8 @@
         @param runProject flag indicating coverage of the current project (True)
                 or script (false)
         """
+        from .StartDialog import StartDialog
+        
         self.__resetUI()
         doNotStart = False
         
@@ -1480,6 +1477,8 @@
         @param runProject flag indicating profiling of the current project (True)
                 or script (False)
         """
+        from .StartDialog import StartDialog
+        
         self.__resetUI()
         doNotStart = False
         
@@ -1587,6 +1586,8 @@
         @param runProject flag indicating running the current project (True)
                 or script (False)
         """
+        from .StartDialog import StartDialog
+        
         self.__resetUI()
         doNotStart = False
         
@@ -1697,6 +1698,8 @@
         @param debugProject flag indicating debugging the current project (True)
                 or script (False)
         """
+        from .StartDialog import StartDialog
+        
         self.__resetUI()
         doNotStart = False
         
--- a/Debugger/DebugViewer.py	Sun Feb 10 14:36:52 2013 +0100
+++ b/Debugger/DebugViewer.py	Sun Feb 10 14:48:24 2013 +0100
@@ -26,13 +26,6 @@
 from PyQt4.QtGui import QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QSizePolicy, \
     QPushButton, QComboBox, QLabel, QTreeWidget, QTreeWidgetItem, QHeaderView
 
-from QScintilla.Shell import ShellAssembly
-from .VariablesViewer import VariablesViewer
-from .ExceptionLogger import ExceptionLogger
-from .BreakPointViewer import BreakPointViewer
-from .WatchPointViewer import WatchPointViewer
-from .CallTraceViewer import CallTraceViewer
-
 import UI.PixmapCache
 import Preferences
 
@@ -85,6 +78,7 @@
         
         self.embeddedShell = embeddedShell
         if embeddedShell:
+            from QScintilla.Shell import ShellAssembly
             # add the interpreter shell
             self.shellAssembly = ShellAssembly(debugServer, vm, False)
             self.shell = self.shellAssembly.shell()
@@ -101,6 +95,7 @@
                 UI.PixmapCache.getIcon("browser.png"), '')
             self.__tabWidget.setTabToolTip(index, self.browser.windowTitle())
         
+        from .VariablesViewer import VariablesViewer
         # add the global variables viewer
         self.glvWidget = QWidget()
         self.glvWidgetVLayout = QVBoxLayout(self.glvWidget)
@@ -185,6 +180,7 @@
         self.setLocalsFilterButton.clicked[()].connect(self.__setLocalsFilter)
         self.localsFilterEdit.returnPressed.connect(self.__setLocalsFilter)
         
+        from .CallTraceViewer import CallTraceViewer
         # add the call trace viewer
         self.callTraceViewer = CallTraceViewer(self.debugServer)
         index = self.__tabWidget.addTab(self.callTraceViewer,
@@ -192,6 +188,7 @@
         self.__tabWidget.setTabToolTip(index, self.callTraceViewer.windowTitle())
         self.callTraceViewer.sourceFile.connect(self.sourceFile)
         
+        from .BreakPointViewer import BreakPointViewer
         # add the breakpoint viewer
         self.breakpointViewer = BreakPointViewer()
         self.breakpointViewer.setModel(self.debugServer.getBreakPointModel())
@@ -200,6 +197,7 @@
         self.__tabWidget.setTabToolTip(index, self.breakpointViewer.windowTitle())
         self.breakpointViewer.sourceFile.connect(self.sourceFile)
         
+        from .WatchPointViewer import WatchPointViewer
         # add the watch expression viewer
         self.watchpointViewer = WatchPointViewer()
         self.watchpointViewer.setModel(self.debugServer.getWatchPointModel())
@@ -207,6 +205,7 @@
             UI.PixmapCache.getIcon("watchpoints.png"), '')
         self.__tabWidget.setTabToolTip(index, self.watchpointViewer.windowTitle())
         
+        from .ExceptionLogger import ExceptionLogger
         # add the exception logger
         self.exceptionLogger = ExceptionLogger()
         index = self.__tabWidget.addTab(self.exceptionLogger,
--- a/Debugger/VariablesViewer.py	Sun Feb 10 14:36:52 2013 +0100
+++ b/Debugger/VariablesViewer.py	Sun Feb 10 14:48:24 2013 +0100
@@ -16,7 +16,6 @@
 from DebugClients.Python3.DebugConfig import ConfigVarTypeStrings
     
 from .Config import ConfigVarTypeDispStrings
-from .VariableDetailDialog import VariableDetailDialog
 
 import Preferences
 
@@ -632,6 +631,7 @@
             
         name = ''.join(nlist)
         # now show the dialog
+        from .VariableDetailDialog import VariableDetailDialog
         dlg = VariableDetailDialog(name, vtype, val)
         dlg.exec_()
     
--- a/Debugger/WatchPointViewer.py	Sun Feb 10 14:36:52 2013 +0100
+++ b/Debugger/WatchPointViewer.py	Sun Feb 10 14:48:24 2013 +0100
@@ -14,8 +14,6 @@
 from E5Gui.E5Application import e5App
 from E5Gui import E5MessageBox
 
-from .EditWatchpointDialog import EditWatchpointDialog
-
 import Utilities
 
 
@@ -242,6 +240,7 @@
         """
         Private slot to handle the add watch expression context menu entry.
         """
+        from .EditWatchpointDialog import EditWatchpointDialog
         dlg = EditWatchpointDialog(("", False, True, 0, ""), self)
         if dlg.exec_() == QDialog.Accepted:
             cond, temp, enabled, ignorecount, special = dlg.getData()
@@ -281,6 +280,7 @@
             
             cond, special, temp, enabled, count = wp[:5]
             
+            from .EditWatchpointDialog import EditWatchpointDialog
             dlg = EditWatchpointDialog(
                 (cond, temp, enabled, count, special), self)
             if dlg.exec_() == QDialog.Accepted:
--- a/Helpviewer/HelpWindow.py	Sun Feb 10 14:36:52 2013 +0100
+++ b/Helpviewer/HelpWindow.py	Sun Feb 10 14:48:24 2013 +0100
@@ -19,46 +19,7 @@
 from PyQt4.QtWebKit import QWebSettings, QWebDatabase, QWebSecurityOrigin, QWebPage
 from PyQt4.QtHelp import QHelpEngine, QHelpEngineCore, QHelpSearchQuery
 
-from .SearchWidget import SearchWidget
-from .HelpTocWidget import HelpTocWidget
-from .HelpIndexWidget import HelpIndexWidget
-from .HelpSearchWidget import HelpSearchWidget
-from .HelpTopicDialog import HelpTopicDialog
-from .QtHelpDocumentationDialog import QtHelpDocumentationDialog
-from .QtHelpFiltersDialog import QtHelpFiltersDialog
-from .HelpDocsInstaller import HelpDocsInstaller
-from .HelpWebSearchWidget import HelpWebSearchWidget
-from .HelpClearPrivateDataDialog import HelpClearPrivateDataDialog
-from .HelpLanguagesDialog import HelpLanguagesDialog
-from .PageScreenDialog import PageScreenDialog
-from .CookieJar.CookieJar import CookieJar
-from .CookieJar.CookiesConfigurationDialog import CookiesConfigurationDialog
-from .Bookmarks.BookmarksManager import BookmarksManager
-from .Bookmarks.BookmarksMenu import BookmarksMenuBarMenu
-from .Bookmarks.BookmarksToolBar import BookmarksToolBar
-from .Bookmarks.BookmarkNode import BookmarkNode
-from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
-from .Bookmarks.BookmarksDialog import BookmarksDialog
-from .History.HistoryManager import HistoryManager
-from .History.HistoryMenu import HistoryMenu
-from .Passwords.PasswordManager import PasswordManager
-from .Network.NetworkAccessManager import NetworkAccessManager, SSL_AVAILABLE
-from .AdBlock.AdBlockManager import AdBlockManager
-from .AdBlock.AdBlockIcon import AdBlockIcon
-from .OfflineStorage.OfflineStorageConfigDialog import OfflineStorageConfigDialog
-from .UserAgent.UserAgentMenu import UserAgentMenu
-from .UserAgent.UserAgentManager import UserAgentManager
-from .HelpBrowserWV import HelpBrowser
-from .HelpTabWidget import HelpTabWidget
-from .Download.DownloadManager import DownloadManager
-from .VirusTotalApi import VirusTotalAPI
-from .Feeds.FeedsManager import FeedsManager
-from .SiteInfo.SiteInfoDialog import SiteInfoDialog
-from .Sync.SyncManager import SyncManager
-from .SpeedDial.SpeedDial import SpeedDial
-from .PersonalInformationManager.PersonalInformationManager import \
-    PersonalInformationManager
-from .GreaseMonkey.GreaseMonkeyManager import GreaseMonkeyManager
+from .Network.NetworkAccessManager import SSL_AVAILABLE
 
 from .data import icons_rc          # __IGNORE_WARNING__
 from .data import html_rc           # __IGNORE_WARNING__
@@ -70,18 +31,14 @@
 from E5Gui.E5Application import e5App
 from E5Gui.E5ZoomWidget import E5ZoomWidget
 
-from E5Network.E5NetworkMonitor import E5NetworkMonitor
-
 import Preferences
 from Preferences import Shortcuts
-from Preferences.ConfigurationDialog import ConfigurationDialog
 
 import Utilities
 
 import UI.PixmapCache
 import UI.Config
 from UI.Info import Version
-from UI.NotificationWidget import NotificationWidget
 
 
 class HelpWindow(E5MainWindow):
@@ -150,6 +107,15 @@
         if self.initShortcutsOnly:
             self.__initActions()
         else:
+            from .SearchWidget import SearchWidget
+            from .HelpTocWidget import HelpTocWidget
+            from .HelpIndexWidget import HelpIndexWidget
+            from .HelpSearchWidget import HelpSearchWidget
+            from .HelpBrowserWV import HelpBrowser
+            from .HelpTabWidget import HelpTabWidget
+            from .AdBlock.AdBlockIcon import AdBlockIcon
+            from .VirusTotalApi import VirusTotalAPI
+            
             if not self.fromEric:
                 self.setStyle(Preferences.getUI("Style"), Preferences.getUI("StyleSheet"))
             
@@ -1406,6 +1372,7 @@
         menu.addSeparator()
         menu.addAction(self.syncTocAct)
         
+        from .History.HistoryMenu import HistoryMenu
         self.historyMenu = HistoryMenu(self, self.tabWidget)
         self.historyMenu.setTearOffEnabled(True)
         self.historyMenu.setTitle(self.trUtf8('H&istory'))
@@ -1413,6 +1380,7 @@
         self.historyMenu.newUrl.connect(self.openUrlNewTab)
         mb.addMenu(self.historyMenu)
         
+        from .Bookmarks.BookmarksMenu import BookmarksMenuBarMenu
         self.bookmarksMenu = BookmarksMenuBarMenu(self)
         self.bookmarksMenu.setTearOffEnabled(True)
         self.bookmarksMenu.setTitle(self.trUtf8('&Bookmarks'))
@@ -1448,10 +1416,13 @@
         menu.addAction(self.adblockAct)
         menu.addAction(self.flashblockAct)
         menu.addSeparator()
+        
+        from .UserAgent.UserAgentMenu import UserAgentMenu
         self.__userAgentMenu = UserAgentMenu(self.trUtf8("Global User Agent"))
         menu.addMenu(self.__userAgentMenu)
         menu.addAction(self.userAgentManagerAct)
         menu.addSeparator()
+        
         menu.addAction(self.manageQtHelpDocsAct)
         menu.addAction(self.manageQtHelpFiltersAct)
         menu.addAction(self.reindexDocumentationAct)
@@ -1577,6 +1548,7 @@
         self.__navigationSplitter = QSplitter(gotb)
         self.__navigationSplitter.addWidget(self.tabWidget.stackedUrlBar())
         
+        from .HelpWebSearchWidget import HelpWebSearchWidget
         self.searchEdit = HelpWebSearchWidget(self)
         sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
         sizePolicy.setHorizontalStretch(2)
@@ -1604,6 +1576,7 @@
         forwardButton.setMenu(self.forwardMenu)
         forwardButton.setPopupMode(QToolButton.MenuButtonPopup)
         
+        from .Bookmarks.BookmarksToolBar import BookmarksToolBar
         bookmarksModel = self.bookmarksManager().bookmarksModel()
         self.bookmarksToolBar = BookmarksToolBar(self, bookmarksModel, self)
         self.bookmarksToolBar.setObjectName("BookmarksToolBar")
@@ -1826,6 +1799,7 @@
         """
         Private slot to save the current page as a screen shot.
         """
+        from .PageScreenDialog import PageScreenDialog
         self.__pageScreen = PageScreenDialog(self.currentBrowser())
         self.__pageScreen.show()
         
@@ -1882,6 +1856,7 @@
         if "description" in meta:
             description = meta["description"][0]
         
+        from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
         dlg = AddBookmarkDialog()
         dlg.setUrl(url)
         dlg.setTitle(title)
@@ -1895,6 +1870,7 @@
         """
         Private slot to add a new bookmarks folder.
         """
+        from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
         dlg = AddBookmarkDialog()
         menu = self.bookmarksManager().menu()
         idx = self.bookmarksManager().bookmarksModel().nodeIndex(menu)
@@ -1906,6 +1882,7 @@
         """
         Private slot to show the bookmarks dialog.
         """
+        from .Bookmarks.BookmarksDialog import BookmarksDialog
         self.__bookmarksDialog = BookmarksDialog(self)
         self.__bookmarksDialog.setAttribute(Qt.WA_DeleteOnClose)
         self.__bookmarksDialog.openUrl.connect(self.openUrl)
@@ -1916,6 +1893,7 @@
         """
         Public slot to bookmark all open tabs.
         """
+        from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
         dlg = AddBookmarkDialog()
         dlg.setFolder(True)
         dlg.setTitle(self.trUtf8("Saved Tabs"))
@@ -1925,6 +1903,7 @@
         if folder is None:
             return
         
+        from .Bookmarks.BookmarkNode import BookmarkNode
         for browser in self.tabWidget.browsers():
             bookmark = BookmarkNode(BookmarkNode.Bookmark)
             bookmark.url = bytes(browser.url().toEncoded()).decode()
@@ -2216,6 +2195,7 @@
         """
         Private slot to set the preferences.
         """
+        from Preferences.ConfigurationDialog import ConfigurationDialog
         dlg = ConfigurationDialog(self, 'Configuration', True,
                                   fromEric=self.fromEric,
                                   displayMode=ConfigurationDialog.HelpBrowserMode)
@@ -2268,6 +2248,7 @@
         @param oldPassword current master password (string)
         @param newPassword new master password (string)
         """
+        from Preferences.ConfigurationDialog import ConfigurationDialog
         self.passwordManager().masterPasswordChanged(oldPassword, newPassword)
         if self.fromEric and isinstance(self.sender(), ConfigurationDialog):
             # we were called from our local configuration dialog
@@ -2278,6 +2259,7 @@
         """
         Private slot to configure the accepted languages for web pages.
         """
+        from .HelpLanguagesDialog import HelpLanguagesDialog
         dlg = HelpLanguagesDialog(self)
         dlg.exec_()
         self.networkAccessManager().languagesChanged()
@@ -2286,6 +2268,7 @@
         """
         Private slot to configure the cookies handling.
         """
+        from .CookieJar.CookiesConfigurationDialog import CookiesConfigurationDialog
         dlg = CookiesConfigurationDialog(self)
         dlg.exec_()
     
@@ -2293,6 +2276,7 @@
         """
         Private slot to configure the offline storage.
         """
+        from .OfflineStorage.OfflineStorageConfigDialog import OfflineStorageConfigDialog
         dlg = OfflineStorageConfigDialog(self)
         if dlg.exec_() == QDialog.Accepted:
             dlg.storeData()
@@ -2319,6 +2303,8 @@
         @return reference to the network access manager (NetworkAccessManager)
         """
         if cls._networkAccessManager is None:
+            from .Network.NetworkAccessManager import NetworkAccessManager
+            from .CookieJar.CookieJar import CookieJar
             cls._networkAccessManager = \
                 NetworkAccessManager(cls.helpEngine())
             cls._cookieJar = CookieJar()
@@ -2365,6 +2351,7 @@
         @param keyword keyword for the link set (string)
         """
         if not self.__activating:
+            from .HelpTopicDialog import HelpTopicDialog
             self.__activating = True
             dlg = HelpTopicDialog(self, keyword, links)
             if dlg.exec_() == QDialog.Accepted:
@@ -2461,6 +2448,7 @@
         """
         Private slot to manage the QtHelp documentation database.
         """
+        from .QtHelpDocumentationDialog import QtHelpDocumentationDialog
         dlg = QtHelpDocumentationDialog(self.__helpEngine, self)
         dlg.exec_()
         if dlg.hasChanges():
@@ -2480,6 +2468,7 @@
         """
         Private slot to manage the QtHelp filters.
         """
+        from .QtHelpFiltersDialog import QtHelpFiltersDialog
         dlg = QtHelpFiltersDialog(self.__helpEngine, self)
         dlg.exec_()
         
@@ -2542,6 +2531,7 @@
         Private slot to look for new documentation to be loaded into the
         help database.
         """
+        from .HelpDocsInstaller import HelpDocsInstaller
         self.__helpInstaller = HelpDocsInstaller(self.__helpEngine.collectionFile())
         self.__helpInstaller.errorMessage.connect(self.__showInstallationError)
         self.__helpInstaller.docsInstalled.connect(self.__docsInstalled)
@@ -2652,6 +2642,7 @@
         """
         Private slot to clear the private data.
         """
+        from .HelpClearPrivateDataDialog import HelpClearPrivateDataDialog
         dlg = HelpClearPrivateDataDialog(self)
         if dlg.exec_() == QDialog.Accepted:
             # browsing history, search history, favicons, disk cache, cookies,
@@ -2685,6 +2676,7 @@
                         for database in securityOrigin.databases():
                             QWebDatabase.removeDatabase(database)
             if flashCookies:
+                from .HelpLanguagesDialog import HelpLanguagesDialog
                 languages = Preferences.toList(
                     Preferences.Prefs.settings.value("Help/AcceptLanguages",
                         HelpLanguagesDialog.defaultAcceptLanguages()))
@@ -2759,6 +2751,7 @@
         """
         Private slot to show the network monitor dialog.
         """
+        from E5Network.E5NetworkMonitor import E5NetworkMonitor
         monitor = E5NetworkMonitor.instance(self.networkAccessManager())
         monitor.show()
         
@@ -2772,6 +2765,7 @@
         """
         Private slot to close the network monitor dialog.
         """
+        from E5Network.E5NetworkMonitor import E5NetworkMonitor
         E5NetworkMonitor.closeMonitor()
         
     def __showPageSource(self):
@@ -2844,6 +2838,7 @@
         @return reference to the bookmarks manager (BookmarksManager)
         """
         if cls._bookmarksManager is None:
+            from .Bookmarks.BookmarksManager import BookmarksManager
             cls._bookmarksManager = BookmarksManager()
         
         return cls._bookmarksManager
@@ -2878,6 +2873,7 @@
         @return reference to the history manager (HistoryManager)
         """
         if cls._historyManager is None:
+            from .History.HistoryManager import HistoryManager
             cls._historyManager = HistoryManager()
         
         return cls._historyManager
@@ -2890,6 +2886,7 @@
         @return reference to the password manager (PasswordManager)
         """
         if cls._passwordManager is None:
+            from .Passwords.PasswordManager import PasswordManager
             cls._passwordManager = PasswordManager()
         
         return cls._passwordManager
@@ -2902,6 +2899,7 @@
         @return reference to the AdBlock manager (AdBlockManager)
         """
         if cls._adblockManager is None:
+            from .AdBlock.AdBlockManager import AdBlockManager
             cls._adblockManager = AdBlockManager()
         
         return cls._adblockManager
@@ -2922,6 +2920,7 @@
         @return reference to the password manager (DownloadManager)
         """
         if cls._downloadManager is None:
+            from .Download.DownloadManager import DownloadManager
             cls._downloadManager = DownloadManager()
         
         return cls._downloadManager
@@ -2934,6 +2933,8 @@
         @return reference to the personal information manager (PersonalInformationManager)
         """
         if cls._personalInformationManager is None:
+            from .PersonalInformationManager.PersonalInformationManager import \
+                PersonalInformationManager
             cls._personalInformationManager = PersonalInformationManager()
         
         return cls._personalInformationManager
@@ -2946,6 +2947,7 @@
         @return reference to the GreaseMonkey manager (GreaseMonkeyManager)
         """
         if cls._greaseMonkeyManager is None:
+            from .GreaseMonkey.GreaseMonkeyManager import GreaseMonkeyManager
             cls._greaseMonkeyManager = GreaseMonkeyManager()
         
         return cls._greaseMonkeyManager
@@ -3101,6 +3103,7 @@
         @return reference to the RSS feeds manager (FeedsManager)
         """
         if cls._feedsManager is None:
+            from .Feeds.FeedsManager import FeedsManager
             cls._feedsManager = FeedsManager()
         
         return cls._feedsManager
@@ -3128,6 +3131,7 @@
         """
         Private slot to show the site info dialog.
         """
+        from .SiteInfo.SiteInfoDialog import SiteInfoDialog
         self.__siteinfoDialog = SiteInfoDialog(self.currentBrowser(), self)
         self.__siteinfoDialog.setAttribute(Qt.WA_DeleteOnClose)
         self.__siteinfoDialog.show()
@@ -3140,6 +3144,7 @@
         @return reference to the user agents manager (UserAgentManager)
         """
         if cls._userAgentsManager is None:
+            from .UserAgent.UserAgentManager import UserAgentManager
             cls._userAgentsManager = UserAgentManager()
         
         return cls._userAgentsManager
@@ -3161,6 +3166,7 @@
         @return reference to the data synchronization manager (SyncManager)
         """
         if cls._syncManager is None:
+            from .Sync.SyncManager import SyncManager
             cls._syncManager = SyncManager()
         
         return cls._syncManager
@@ -3179,6 +3185,7 @@
         @return reference to the speed dial (SpeedDial)
         """
         if cls._speedDial is None:
+            from .SpeedDial.SpeedDial import SpeedDial
             cls._speedDial = SpeedDial()
         
         return cls._speedDial
@@ -3248,6 +3255,7 @@
         """
         search = self.virustotalSearchEdit.text()
         if search:
+            from .VirusTotalApi import VirusTotalAPI
             requestData = VirusTotalAPI.getSearchRequestData(search)
             self.newTab(requestData=requestData)
     
@@ -3347,6 +3355,7 @@
         else:
             if Preferences.getUI("NotificationsEnabled"):
                 if cls._notification is None:
+                    from UI.NotificationWidget import NotificationWidget
                     cls._notification = NotificationWidget()
                 cls._notification.setPixmap(icon)
                 cls._notification.setHeading(heading)
--- a/UI/UserInterface.py	Sun Feb 10 14:36:52 2013 +0100
+++ b/UI/UserInterface.py	Sun Feb 10 14:48:24 2013 +0100
@@ -27,27 +27,13 @@
 
 from QScintilla.Shell import ShellAssembly
 from QScintilla.Terminal import TerminalAssembly
-from QScintilla.MiniEditor import MiniEditor
 from QScintilla.SpellChecker import SpellChecker
 
-from PyUnit.UnittestDialog import UnittestDialog
-
 from Helpviewer.HelpWindow import HelpWindow
-from Helpviewer.Passwords.PasswordManager import PasswordManager
 
-from Preferences.ConfigurationDialog import ConfigurationDialog
-from Preferences.ViewProfileDialog import ViewProfileDialog
-from Preferences.ShortcutsDialog import ShortcutsDialog
-from Preferences.ToolConfigurationDialog import ToolConfigurationDialog
-from Preferences.ToolGroupConfigurationDialog import ToolGroupConfigurationDialog
-from Preferences.ProgramsDialog import ProgramsDialog
 from Preferences import Shortcuts
 
 from PluginManager.PluginManager import PluginManager
-from PluginManager.PluginInfoDialog import PluginInfoDialog
-from PluginManager.PluginInstallDialog import PluginInstallDialog
-from PluginManager.PluginUninstallDialog import PluginUninstallDialog
-from PluginManager.PluginRepositoryDialog import PluginRepositoryDialog
 
 from Project.Project import Project
 from Project.ProjectBrowser import ProjectBrowser
@@ -66,22 +52,13 @@
 from .Browser import Browser
 from .Info import Version, BugAddress, Program, FeatureAddress
 from . import Config
-from .EmailDialog import EmailDialog
-from .DiffDialog import DiffDialog
-from .CompareDialog import CompareDialog
 from .LogView import LogViewer
-from .FindFileDialog import FindFileDialog
-from .FindFileNameDialog import FindFileNameDialog
 from .SymbolsWidget import SymbolsWidget
 from .NumbersWidget import NumbersWidget
-from .NotificationWidget import NotificationWidget
 
 from E5Gui.E5SingleApplication import E5SingleApplicationServer
 from E5Gui.E5Action import E5Action, createActionGroup
 from E5Gui.E5ToolBarManager import E5ToolBarManager
-from E5Gui.E5ToolBarDialog import E5ToolBarDialog
-from E5Gui.E5ToolBox import E5VerticalToolBox, E5HorizontalToolBox
-from E5Gui.E5SideBar import E5SideBar
 from E5Gui import E5MessageBox, E5FileDialog
 from E5Gui.E5Application import e5App
 from E5Gui.E5MainWindow import E5MainWindow
@@ -93,16 +70,8 @@
 import ViewManager
 import Utilities
 
-from Graphics.PixmapDiagram import PixmapDiagram
-from Graphics.SvgDiagram import SvgDiagram
-
 import UI.PixmapCache
 
-from E5XML.TasksReader import TasksReader
-from E5XML.TasksWriter import TasksWriter
-from E5XML.SessionReader import SessionReader
-from E5XML.SessionWriter import SessionWriter
-
 from E5Network.E5NetworkProxyFactory import E5NetworkProxyFactory, \
     proxyAuthenticationRequired
 try:
@@ -111,8 +80,6 @@
 except ImportError:
     SSL_AVAILABLE = False
 
-from IconEditor.IconEditorWindow import IconEditorWindow
-
 from eric5config import getConfig
 
 
@@ -633,6 +600,8 @@
         
         @param debugServer reference to the debug server object
         """
+        from E5Gui.E5ToolBox import E5VerticalToolBox, E5HorizontalToolBox
+        
         # Create the left toolbox
         self.lToolboxDock = self.__createDockWindow("lToolboxDock")
         self.lToolbox = E5VerticalToolBox(self.lToolboxDock)
@@ -752,6 +721,8 @@
         
         @param debugServer reference to the debug server object
         """
+        from E5Gui.E5SideBar import E5SideBar
+        
         # Create the left sidebar
         self.leftSidebar = E5SideBar(E5SideBar.West)
         
@@ -2728,6 +2699,7 @@
                 self.showPreferences("emailPage")
                 return
                 
+            from .EmailDialog import EmailDialog
             self.dlg = EmailDialog(mode=mode)
             if attachFile is not None:
                 self.dlg.attachFile(attachFile, deleteAttachFile)
@@ -2784,6 +2756,7 @@
         aw = self.viewmanager.activeWindow()
         fn = aw and aw.getFileName() or None
         if self.diffDlg is None:
+            from .DiffDialog import DiffDialog
             self.diffDlg = DiffDialog()
         self.diffDlg.show(fn)
         
@@ -2794,6 +2767,7 @@
         aw = self.viewmanager.activeWindow()
         fn = aw and aw.getFileName() or None
         if self.compareDlg is None:
+            from .CompareDialog import CompareDialog
             self.compareDlg = CompareDialog()
         self.compareDlg.show(fn)
         
@@ -2801,6 +2775,7 @@
         """
         Private slot to show a mini editor window.
         """
+        from QScintilla.MiniEditor import MiniEditor
         editor = MiniEditor(parent=self)
         editor.show()
         
@@ -3648,6 +3623,7 @@
         """
         Private slot to handle the tools configuration menu entry.
         """
+        from Preferences.ToolConfigurationDialog import ToolConfigurationDialog
         dlg = ToolConfigurationDialog(self.toolGroups[self.currentToolGroup][1], self)
         if dlg.exec_() == QDialog.Accepted:
             self.toolGroups[self.currentToolGroup][1] = dlg.getToollist()
@@ -3657,6 +3633,7 @@
         """
         Private slot to handle the tool groups configuration menu entry.
         """
+        from Preferences.ToolGroupConfigurationDialog import ToolGroupConfigurationDialog
         dlg = ToolGroupConfigurationDialog(self.toolGroups, self.currentToolGroup, self)
         if dlg.exec_() == QDialog.Accepted:
             self.toolGroups, self.currentToolGroup = dlg.getToolGroups()
@@ -3666,6 +3643,7 @@
         Private slot to generate the unit test dialog on demand.
         """
         if self.unittestDialog is None:
+            from PyUnit.UnittestDialog import UnittestDialog
             self.unittestDialog = UnittestDialog(
                 None, self.debuggerUI.debugServer, self, fromEric=True)
             self.unittestDialog.unittestFile.connect(self.viewmanager.setFileLine)
@@ -4091,6 +4069,7 @@
         
         @param fn filename of the file to show (string)
         """
+        from IconEditor.IconEditorWindow import IconEditorWindow
         dlg = IconEditorWindow(fn, self, fromEric=True)
         dlg.show()
         
@@ -4100,6 +4079,7 @@
         
         @param fn filename of the file to show (string)
         """
+        from Graphics.PixmapDiagram import PixmapDiagram
         dlg = PixmapDiagram(fn, self)
         if dlg.getStatus():
             dlg.show()
@@ -4110,6 +4090,7 @@
         
         @param fn filename of the file to show (string)
         """
+        from Graphics.SvgDiagram import SvgDiagram
         dlg = SvgDiagram(fn, self)
         dlg.show()
         
@@ -4679,6 +4660,7 @@
         
         @param pageName name of the configuration page to show (string)
         """
+        from Preferences.ConfigurationDialog import ConfigurationDialog
         dlg = ConfigurationDialog(self, 'Configuration')
         dlg.preferencesChanged.connect(self.__preferencesChanged)
         dlg.masterPasswordChanged.connect(self.__masterPasswordChanged)
@@ -4758,6 +4740,7 @@
         self.masterPasswordChanged.emit(oldPassword, newPassword)
         Preferences.convertPasswords(oldPassword, newPassword)
         if self.helpWindow is None:
+            from Helpviewer.Passwords.PasswordManager import PasswordManager
             pwManager = PasswordManager()
             pwManager.masterPasswordChanged(oldPassword, newPassword)
         Utilities.crypto.changeRememberedMaster(newPassword)
@@ -4773,6 +4756,7 @@
         Private slot to display a dialog show a list of external tools used by eric5.
         """
         if self.programsDialog is None:
+            from Preferences.ProgramsDialog import ProgramsDialog
             self.programsDialog = ProgramsDialog(self)
         self.programsDialog.show()
         
@@ -4780,6 +4764,7 @@
         """
         Private slot to configure the various view profiles.
         """
+        from Preferences.ViewProfileDialog import ViewProfileDialog
         dlg = ViewProfileDialog(self.layout, self.profiles,
             not self.embeddedShell, not self.embeddedFileBrowser)
         if dlg.exec_() == QDialog.Accepted:
@@ -4794,6 +4779,7 @@
         """
         Private slot to configure the various toolbars.
         """
+        from E5Gui.E5ToolBarDialog import E5ToolBarDialog
         dlg = E5ToolBarDialog(self.toolbarManager)
         if dlg.exec_() == QDialog.Accepted:
             Preferences.setUI("ToolbarManagerState", self.toolbarManager.saveState())
@@ -4803,6 +4789,7 @@
         Private slot to configure the keyboard shortcuts.
         """
         if self.shortcutsDialog is None:
+            from Preferences.ShortcutsDialog import ShortcutsDialog
             self.shortcutsDialog = ShortcutsDialog(self, 'Shortcuts')
         self.shortcutsDialog.populate()
         self.shortcutsDialog.show()
@@ -4970,6 +4957,7 @@
                     .format(fn))
             return
         
+        from E5XML.TasksWriter import TasksWriter
         TasksWriter(f, False).writeXML()
         f.close()
         
@@ -4982,6 +4970,7 @@
             return
         f = QFile(fn)
         if f.open(QIODevice.ReadOnly):
+            from E5XML.TasksReader import TasksReader
             reader = TasksReader(f, viewer=self.taskViewer)
             reader.readXML()
             f.close()
@@ -4998,6 +4987,7 @@
         fn = os.path.join(Utilities.getConfigDir(), "eric5session.e4s")
         f = QFile(fn)
         if f.open(QIODevice.WriteOnly):
+            from E5XML.SessionWriter import SessionWriter
             SessionWriter(f, None).writeXML()
             f.close()
         else:
@@ -5020,6 +5010,7 @@
         
         f = QFile(fn)
         if f.open(QIODevice.ReadOnly):
+            from E5XML.SessionReader import SessionReader
             reader = SessionReader(f, True)
             reader.readXML()
             f.close()
@@ -5034,6 +5025,7 @@
         Public slot to show the Find File by Name dialog.
         """
         if self.findFileNameDialog is None:
+            from .FindFileNameDialog import FindFileNameDialog
             self.findFileNameDialog = FindFileNameDialog(self.project)
             self.findFileNameDialog.sourceFile.connect(self.viewmanager.openSourceFile)
             self.findFileNameDialog.designerFile.connect(self.__designer)
@@ -5050,6 +5042,7 @@
         @keyparam openFiles flag indicating to operate on open files (boolean)
         """
         if self.findFilesDialog is None:
+            from .FindFileDialog import FindFileDialog
             self.findFilesDialog = FindFileDialog(self.project)
             self.findFilesDialog.sourceFile.connect(
                 self.viewmanager.openSourceFile)
@@ -5071,6 +5064,7 @@
         @keyparam openFiles flag indicating to operate on open files (boolean)
         """
         if self.replaceFilesDialog is None:
+            from .FindFileDialog import FindFileDialog
             self.replaceFilesDialog = FindFileDialog(self.project, replaceMode=True)
             self.replaceFilesDialog.sourceFile.connect(
                 self.viewmanager.openSourceFile)
@@ -5113,6 +5107,7 @@
         """
         Private slot to show the plugin info dialog.
         """
+        from PluginManager.PluginInfoDialog import PluginInfoDialog
         self.__pluginInfoDialog = PluginInfoDialog(self.pluginManager, self)
         self.__pluginInfoDialog.show()
         
@@ -5123,6 +5118,7 @@
         @param pluginFileNames list of plugin files suggested for
             installation list of strings
         """
+        from PluginManager.PluginInstallDialog import PluginInstallDialog
         dlg = PluginInstallDialog(self.pluginManager, pluginFileNames, self)
         dlg.exec_()
         if dlg.restartNeeded():
@@ -5132,6 +5128,7 @@
         """
         Private slot to show a dialog to uninstall a plugin.
         """
+        from PluginManager.PluginUninstallDialog import PluginUninstallDialog
         dlg = PluginUninstallDialog(self.pluginManager, self)
         dlg.exec_()
         
@@ -5139,6 +5136,7 @@
         """
         Private slot to show the plugins available for download.
         """
+        from PluginManager.PluginRepositoryDialog import PluginRepositoryDialog
         dlg = PluginRepositoryDialog(self)
         res = dlg.exec_()
         if res == (QDialog.Accepted + 1):
@@ -5629,6 +5627,7 @@
         """
         if Preferences.getUI("NotificationsEnabled"):
             if self.__notification is None:
+                from .NotificationWidget import NotificationWidget
                 self.__notification = NotificationWidget(parent=self)
             self.__notification.setPixmap(icon)
             self.__notification.setHeading(heading)
--- a/ViewManager/ViewManager.py	Sun Feb 10 14:36:52 2013 +0100
+++ b/ViewManager/ViewManager.py	Sun Feb 10 14:48:24 2013 +0100
@@ -22,20 +22,14 @@
 
 import Preferences
 
-from .BookmarkedFilesDialog import BookmarkedFilesDialog
-
 from QScintilla.Editor import Editor
 from QScintilla.EditorAssembly import EditorAssembly
-from QScintilla.GotoDialog import GotoDialog
-from QScintilla.SearchReplaceWidget import SearchReplaceSlidingWidget
-from QScintilla.ZoomDialog import ZoomDialog
 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
-from QScintilla.SpellingDictionaryEditDialog import SpellingDictionaryEditDialog
 
 import Utilities
 
@@ -172,6 +166,8 @@
         @param ui reference to the main user interface
         @param dbs reference to the debug server object
         """
+        from QScintilla.SearchReplaceWidget import SearchReplaceSlidingWidget
+        
         self.ui = ui
         self.dbs = dbs
         
@@ -4389,6 +4385,7 @@
         """
         Private method to edit the list of bookmarked files.
         """
+        from .BookmarkedFilesDialog import BookmarkedFilesDialog
         dlg = BookmarkedFilesDialog(self.bookmarked, self.ui)
         if dlg.exec_() == QDialog.Accepted:
             self.bookmarked = dlg.getBookmarkedFiles()
@@ -4937,6 +4934,8 @@
         """
         Private method to handle the goto action.
         """
+        from QScintilla.GotoDialog import GotoDialog
+        
         aw = self.activeWindow()
         lines = aw.lines()
         curLine = aw.getCursorPosition()[0] + 1
@@ -5058,6 +5057,7 @@
             aw = self.activeWindow()
         if aw:
             if value is None:
+                from QScintilla.ZoomDialog import ZoomDialog
                 dlg = ZoomDialog(aw.getZoom(), self.ui, None, True)
                 if dlg.exec_() == QDialog.Accepted:
                     value = dlg.getZoomSize()
@@ -5493,6 +5493,8 @@
             
             fileInfo = dictionaryFile if len(dictionaryFile) < 40 \
                        else "...{0}".format(dictionaryFile[-40:])
+            from QScintilla.SpellingDictionaryEditDialog import \
+                SpellingDictionaryEditDialog
             dlg = SpellingDictionaryEditDialog(data,
                 QApplication.translate('ViewManager', "Editing {0}").format(fileInfo),
                 self.ui)

eric ide

mercurial