eric6_browser.py

changeset 6623
c0882a599e18
parent 6365
85f8745427a6
child 6625
a67fee7bc09c
--- a/eric6_browser.py	Sun Dec 09 15:24:39 2018 +0100
+++ b/eric6_browser.py	Sun Dec 09 16:39:35 2018 +0100
@@ -90,8 +90,13 @@
 import Globals
 from Globals import AppInfo
 
+from E5Gui.E5Application import E5Application
+
 from Toolbox import Startup
 
+from WebBrowser.WebBrowserSingleApplication import \
+    WebBrowserSingleApplicationClient
+
 
 def createMainWidget(argv):
     """
@@ -105,6 +110,7 @@
     searchWord = None
     private = False
     qthelp = False
+    single = False
     
     for arg in reversed(argv):
         if arg.startswith("--search="):
@@ -116,6 +122,9 @@
         elif arg == "--qthelp":
             qthelp = True
             argv.remove(arg)
+        elif arg == "--single":
+            single = True
+            argv.remove(arg)
         elif arg.startswith("--"):
             argv.remove(arg)
     
@@ -126,7 +135,8 @@
     
     browser = WebBrowserWindow(home, '.', None, 'web_browser',
                                searchWord=searchWord, private=private,
-                               settingsDir=SettingsDir, qthelp=qthelp)
+                               settingsDir=SettingsDir, qthelp=qthelp,
+                               single=single)
     return browser
 
 
@@ -142,6 +152,7 @@
         ("--search=word", "search for the given word"),
         ("--settings=settingsDir",
          "use the given directory to store the settings files"),
+        ("--single", "start the browser as a single application"),
     ]
     appinfo = AppInfo.makeAppInfo(sys.argv,
                                   "eric6 Web Browser",
@@ -152,10 +163,27 @@
     if not Globals.checkBlacklistedVersions():
         sys.exit(100)
     
+    
+    # set the library paths for plugins
+    Startup.setLibraryPaths()
+    
+    app = E5Application(sys.argv)
+    if not "--private" in sys.argv:
+        client = WebBrowserSingleApplicationClient()
+        res = client.connect()
+        if res > 0:
+            if len(sys.argv) > 1:
+                client.processArgs(sys.argv[1:])
+            sys.exit(0)
+        elif res < 0:
+            print("eric6_trpreviewer: {0}".format(client.errstr()))
+            sys.exit(res)
+    
     res = Startup.simpleAppStartup(sys.argv,
                                    appinfo,
                                    createMainWidget,
-                                   installErrorHandler=True)
+                                   installErrorHandler=True,
+                                   app=app)
     sys.exit(res)
 
 if __name__ == '__main__':

eric ide

mercurial