Sun, 16 May 2021 20:07:24 +0200
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | #!/usr/bin/env python3 |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | # -*- coding: utf-8 -*- |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
4 | # Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | # |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | """ |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7945
diff
changeset
|
8 | eric Web Browser. |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | This is the main Python script that performs the necessary initialization |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | of the web browser and starts the Qt event loop. This is a standalone version |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
12 | of the integrated web browser. It is based on QtWebEngine. |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | """ |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
6949
a5255f1ba3f0
setup.py: continued implementing support for setup.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
15 | import sys |
a5255f1ba3f0
setup.py: continued implementing support for setup.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
16 | import os |
a5255f1ba3f0
setup.py: continued implementing support for setup.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
17 | |
a5255f1ba3f0
setup.py: continued implementing support for setup.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
18 | sys.path.insert(1, os.path.dirname(__file__)) |
a5255f1ba3f0
setup.py: continued implementing support for setup.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
19 | |
6702
793af5761910
Changed some code to (hopefully) get rid of a crash with upcoming PyQt 5.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
20 | app = None |
4788
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
21 | SettingsDir = None |
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
22 | |
4343
afe0da217745
Added the '--settings=' command line switch to store the settings files in a non-standard directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4289
diff
changeset
|
23 | for arg in sys.argv[:]: |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | if arg.startswith("--config="): |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
25 | import Globals |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | configDir = arg.replace("--config=", "") |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
27 | Globals.setConfigDir(configDir) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | sys.argv.remove(arg) |
4343
afe0da217745
Added the '--settings=' command line switch to store the settings files in a non-standard directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4289
diff
changeset
|
29 | elif arg.startswith("--settings="): |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
30 | from PyQt6.QtCore import QSettings |
4788
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
31 | SettingsDir = os.path.expanduser(arg.replace("--settings=", "")) |
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
32 | if not os.path.isdir(SettingsDir): |
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
33 | os.makedirs(SettingsDir) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
34 | QSettings.setPath( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
35 | QSettings.Format.IniFormat, QSettings.Scope.UserScope, SettingsDir) |
4343
afe0da217745
Added the '--settings=' command line switch to store the settings files in a non-standard directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4289
diff
changeset
|
36 | sys.argv.remove(arg) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | |
4840
69ee7965ba27
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4831
diff
changeset
|
38 | try: |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
39 | from PyQt6 import QtWebEngineWidgets # __IGNORE_WARNING__ |
4840
69ee7965ba27
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4831
diff
changeset
|
40 | except ImportError: |
6628
c3f0f6bffd21
eric6_browser: added a '--quiet' option to suppress startup error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6625
diff
changeset
|
41 | if "--quiet" not in sys.argv: |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
42 | from PyQt6.QtCore import QTimer |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
43 | from PyQt6.QtWidgets import QApplication |
6628
c3f0f6bffd21
eric6_browser: added a '--quiet' option to suppress startup error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6625
diff
changeset
|
44 | from E5Gui import E5MessageBox # __IGNORE_WARNING__ |
c3f0f6bffd21
eric6_browser: added a '--quiet' option to suppress startup error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6625
diff
changeset
|
45 | app = QApplication([]) |
c3f0f6bffd21
eric6_browser: added a '--quiet' option to suppress startup error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6625
diff
changeset
|
46 | QTimer.singleShot(0, lambda: E5MessageBox.critical( |
c3f0f6bffd21
eric6_browser: added a '--quiet' option to suppress startup error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6625
diff
changeset
|
47 | None, |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7945
diff
changeset
|
48 | "eric Web Browser", |
6628
c3f0f6bffd21
eric6_browser: added a '--quiet' option to suppress startup error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6625
diff
changeset
|
49 | "QtWebEngineWidgets is not installed but needed to execute the" |
c3f0f6bffd21
eric6_browser: added a '--quiet' option to suppress startup error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6625
diff
changeset
|
50 | " web browser.")) |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7380
diff
changeset
|
51 | app.exec() |
4840
69ee7965ba27
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4831
diff
changeset
|
52 | sys.exit(100) |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
53 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
54 | from PyQt6.QtWebEngineCore import QWebEngineUrlScheme |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
55 | |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
56 | import Globals |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
57 | from Globals import AppInfo |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
58 | |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
59 | from E5Gui.E5Application import E5Application |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
60 | |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
61 | from Toolbox import Startup |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
63 | from WebBrowser.WebBrowserSingleApplication import ( |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
64 | WebBrowserSingleApplicationClient |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
65 | ) |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
66 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
896
diff
changeset
|
67 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | def createMainWidget(argv): |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | """ |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | Function to create the main widget. |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | |
6630
bddd12f27a4c
Web Browser (QtWebKit): applied the changes of the new Web Brwoser to the QtWebKit based variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6628
diff
changeset
|
72 | @param argv list of command line parameters |
bddd12f27a4c
Web Browser (QtWebKit): applied the changes of the new Web Brwoser to the QtWebKit based variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6628
diff
changeset
|
73 | @type list of str |
bddd12f27a4c
Web Browser (QtWebKit): applied the changes of the new Web Brwoser to the QtWebKit based variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6628
diff
changeset
|
74 | @return reference to the main widget |
bddd12f27a4c
Web Browser (QtWebKit): applied the changes of the new Web Brwoser to the QtWebKit based variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6628
diff
changeset
|
75 | @rtype QWidget |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | """ |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
77 | from WebBrowser.WebBrowserWindow import WebBrowserWindow |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | searchWord = None |
4725
b19ff70ba509
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4709
diff
changeset
|
80 | private = False |
4875
4ee26909ac0d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4869
diff
changeset
|
81 | qthelp = False |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
82 | single = False |
6625
a67fee7bc09c
Web Browser: changed the web browser logic inside eric to use a remote controlled web browser process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6623
diff
changeset
|
83 | name = "" |
4875
4ee26909ac0d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4869
diff
changeset
|
84 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | for arg in reversed(argv): |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | if arg.startswith("--search="): |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | searchWord = argv[1].split("=", 1)[1] |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | argv.remove(arg) |
6625
a67fee7bc09c
Web Browser: changed the web browser logic inside eric to use a remote controlled web browser process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6623
diff
changeset
|
89 | elif arg.startswith("--name="): |
a67fee7bc09c
Web Browser: changed the web browser logic inside eric to use a remote controlled web browser process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6623
diff
changeset
|
90 | name = arg.replace("--name=", "") |
a67fee7bc09c
Web Browser: changed the web browser logic inside eric to use a remote controlled web browser process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6623
diff
changeset
|
91 | argv.remove(arg) |
4725
b19ff70ba509
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4709
diff
changeset
|
92 | elif arg == "--private": |
b19ff70ba509
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4709
diff
changeset
|
93 | private = True |
b19ff70ba509
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4709
diff
changeset
|
94 | argv.remove(arg) |
4875
4ee26909ac0d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4869
diff
changeset
|
95 | elif arg == "--qthelp": |
4ee26909ac0d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4869
diff
changeset
|
96 | qthelp = True |
4ee26909ac0d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4869
diff
changeset
|
97 | argv.remove(arg) |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
98 | elif arg == "--single": |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
99 | single = True |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
100 | argv.remove(arg) |
8233
bad78a592cc2
eric6_browser: fixed a bug introduced by the code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
101 | elif ( |
bad78a592cc2
eric6_browser: fixed a bug introduced by the code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
102 | arg.startswith(("--newtab=", "--")) or |
bad78a592cc2
eric6_browser: fixed a bug introduced by the code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
103 | arg == "--quiet" |
bad78a592cc2
eric6_browser: fixed a bug introduced by the code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
104 | ): |
bad78a592cc2
eric6_browser: fixed a bug introduced by the code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
105 | # only needed until we reach this point |
bad78a592cc2
eric6_browser: fixed a bug introduced by the code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
106 | argv.remove(arg) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | try: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | home = argv[1] |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | except IndexError: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | home = "" |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
113 | browser = WebBrowserWindow(home, '.', None, 'web_browser', |
4788
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
114 | searchWord=searchWord, private=private, |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
115 | settingsDir=SettingsDir, qthelp=qthelp, |
6625
a67fee7bc09c
Web Browser: changed the web browser logic inside eric to use a remote controlled web browser process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6623
diff
changeset
|
116 | single=single, saname=name) |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
117 | return browser |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
896
diff
changeset
|
119 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | def main(): |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | """ |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | Main entry point into the application. |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | """ |
6702
793af5761910
Changed some code to (hopefully) get rid of a crash with upcoming PyQt 5.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
124 | global app |
793af5761910
Changed some code to (hopefully) get rid of a crash with upcoming PyQt 5.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
125 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
126 | from PyQt6.QtGui import QGuiApplication |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
127 | QGuiApplication.setDesktopFileName("eric7_browser.desktop") |
7380
c99320e859ca
Fixed an issue related to showing the application name in the menu bar of Gnome desktop under Wayland.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
128 | |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
129 | options = [ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
896
diff
changeset
|
130 | ("--config=configDir", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
896
diff
changeset
|
131 | "use the given directory as the one containing the config files"), |
4831
bf53c06fa0fb
Did some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
132 | ("--private", "start the browser in private browsing mode"), |
4875
4ee26909ac0d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4869
diff
changeset
|
133 | ("--qthelp", "start the browser with support for QtHelp"), |
6628
c3f0f6bffd21
eric6_browser: added a '--quiet' option to suppress startup error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6625
diff
changeset
|
134 | ("--quiet", "don't show any startup error messages"), |
4343
afe0da217745
Added the '--settings=' command line switch to store the settings files in a non-standard directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4289
diff
changeset
|
135 | ("--search=word", "search for the given word"), |
afe0da217745
Added the '--settings=' command line switch to store the settings files in a non-standard directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4289
diff
changeset
|
136 | ("--settings=settingsDir", |
afe0da217745
Added the '--settings=' command line switch to store the settings files in a non-standard directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4289
diff
changeset
|
137 | "use the given directory to store the settings files"), |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
138 | ("--single", "start the browser as a single application"), |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | ] |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
140 | appinfo = AppInfo.makeAppInfo(sys.argv, |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7945
diff
changeset
|
141 | "eric Web Browser", |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | "file", |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | "web browser", |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | options) |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
97
diff
changeset
|
145 | |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
146 | # set the library paths for plugins |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
147 | Startup.setLibraryPaths() |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
148 | |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
149 | scheme = QWebEngineUrlScheme(b"eric") |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
150 | scheme.setSyntax(QWebEngineUrlScheme.Syntax.Path) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
151 | scheme.setFlags(QWebEngineUrlScheme.Flag.SecureScheme | |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
152 | QWebEngineUrlScheme.Flag.ContentSecurityPolicyIgnored) |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
153 | QWebEngineUrlScheme.registerScheme(scheme) |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
154 | if "--qthelp" in sys.argv: |
7316
abe6dd39e4ee
eric6_browser: moved the scheme registration to the main file to fulfill a Qt requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7257
diff
changeset
|
155 | scheme = QWebEngineUrlScheme(b"qthelp") |
abe6dd39e4ee
eric6_browser: moved the scheme registration to the main file to fulfill a Qt requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7257
diff
changeset
|
156 | scheme.setSyntax(QWebEngineUrlScheme.Syntax.Path) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
157 | scheme.setFlags(QWebEngineUrlScheme.Flag.SecureScheme) |
7316
abe6dd39e4ee
eric6_browser: moved the scheme registration to the main file to fulfill a Qt requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7257
diff
changeset
|
158 | QWebEngineUrlScheme.registerScheme(scheme) |
abe6dd39e4ee
eric6_browser: moved the scheme registration to the main file to fulfill a Qt requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7257
diff
changeset
|
159 | |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
160 | app = E5Application(sys.argv) |
6625
a67fee7bc09c
Web Browser: changed the web browser logic inside eric to use a remote controlled web browser process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6623
diff
changeset
|
161 | if "--private" not in sys.argv: |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
162 | client = WebBrowserSingleApplicationClient() |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
163 | res = client.connect() |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
164 | if res > 0: |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
165 | if len(sys.argv) > 1: |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
166 | client.processArgs(sys.argv[1:]) |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
167 | sys.exit(0) |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
168 | elif res < 0: |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
169 | print("eric7_browser: {0}".format(client.errstr())) |
6625
a67fee7bc09c
Web Browser: changed the web browser logic inside eric to use a remote controlled web browser process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6623
diff
changeset
|
170 | # __IGNORE_WARNING_M801__ |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
171 | sys.exit(res) |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
172 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | res = Startup.simpleAppStartup(sys.argv, |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | appinfo, |
2683
ef93fc7332a2
Added a specialized error message handler allowing to filter messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2664
diff
changeset
|
175 | createMainWidget, |
6623
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
176 | installErrorHandler=True, |
c0882a599e18
WebBrowser: added single application mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6365
diff
changeset
|
177 | app=app) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | sys.exit(res) |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | if __name__ == '__main__': |
97
c4086afea02b
Finished cleaning up the code supported by py3flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
18
diff
changeset
|
181 | main() |