Preferences/ConfigurationDialog.py

branch
QtWebEngine
changeset 4806
5c0745cb26ea
parent 4805
8ef007140046
child 4807
5c87ef12aa6d
equal deleted inserted replaced
4805:8ef007140046 4806:5c0745cb26ea
80 TrayStarterMode = 2 80 TrayStarterMode = 2
81 HexEditorMode = 3 81 HexEditorMode = 3
82 WebBrowserMode = 4 82 WebBrowserMode = 4
83 83
84 def __init__(self, parent=None, fromEric=True, displayMode=DefaultMode, 84 def __init__(self, parent=None, fromEric=True, displayMode=DefaultMode,
85 expandedEntries=[]): 85 expandedEntries=[], webEngine=False):
86 """ 86 """
87 Constructor 87 Constructor
88 88
89 @param parent The parent widget of this dialog. (QWidget) 89 @param parent The parent widget of this dialog. (QWidget)
90 @keyparam fromEric flag indicating a dialog generation from within the 90 @keyparam fromEric flag indicating a dialog generation from within the
93 (DefaultMode, HelpBrowserMode, TrayStarterMode, HexEditorMode, 93 (DefaultMode, HelpBrowserMode, TrayStarterMode, HexEditorMode,
94 WebBrowserMode) 94 WebBrowserMode)
95 @exception RuntimeError raised to indicate an invalid dialog mode 95 @exception RuntimeError raised to indicate an invalid dialog mode
96 @keyparam expandedEntries list of entries to be shown expanded 96 @keyparam expandedEntries list of entries to be shown expanded
97 (list of strings) 97 (list of strings)
98 @keyparam webEngine flag indicating QtWebEngine is used (bool)
98 """ 99 """
99 assert displayMode in ( 100 assert displayMode in (
100 ConfigurationWidget.DefaultMode, 101 ConfigurationWidget.DefaultMode,
101 ConfigurationWidget.HelpBrowserMode, 102 ConfigurationWidget.HelpBrowserMode,
102 ConfigurationWidget.TrayStarterMode, 103 ConfigurationWidget.TrayStarterMode,
105 ) 106 )
106 107
107 super(ConfigurationWidget, self).__init__(parent) 108 super(ConfigurationWidget, self).__init__(parent)
108 self.fromEric = fromEric 109 self.fromEric = fromEric
109 self.displayMode = displayMode 110 self.displayMode = displayMode
111 self.__webEngine = webEngine
110 112
111 self.__setupUi() 113 self.__setupUi()
112 114
113 self.itmDict = {} 115 self.itmDict = {}
114 116
317 "InterfacePage", "0interfacePage", None], 319 "InterfacePage", "0interfacePage", None],
318 "viewmanagerPage": 320 "viewmanagerPage":
319 [self.tr("Viewmanager"), "preferences-viewmanager.png", 321 [self.tr("Viewmanager"), "preferences-viewmanager.png",
320 "ViewmanagerPage", "0interfacePage", None], 322 "ViewmanagerPage", "0interfacePage", None],
321 } 323 }
322 try: 324 if webEngine:
323 from PyQt5 import QtWebKit # __IGNORE_WARNING__
324 self.configItems.update({ 325 self.configItems.update({
325 "helpAppearancePage": 326 "0webBrowserPage":
327 [self.tr("Web Browser"), "ericWeb.png",
328 None, None, None],
329 "webBrowserAppearancePage":
326 [self.tr("Appearance"), "preferences-styles.png", 330 [self.tr("Appearance"), "preferences-styles.png",
327 "HelpAppearancePage", "0helpPage", None], 331 "WebBrowserAppearancePage", "0webBrowserPage", None],
332 "webBrowserPage":
333 [self.tr("eric6 Web Browser"), "ericWeb.png",
334 "WebBrowserPage", "0webBrowserPage", None],
328 "helpFlashCookieManagerPage": 335 "helpFlashCookieManagerPage":
329 [self.tr("Flash Cookie Manager"), 336 [self.tr("Flash Cookie Manager"),
330 "flashCookie16.png", 337 "flashCookie16.png",
331 "HelpFlashCookieManagerPage", "0helpPage", None], 338 "HelpFlashCookieManagerPage", "0webBrowserPage", None],
332 "helpVirusTotalPage": 339 "helpVirusTotalPage":
333 [self.tr("VirusTotal Interface"), "virustotal.png", 340 [self.tr("VirusTotal Interface"), "virustotal.png",
334 "HelpVirusTotalPage", "0helpPage", None], 341 "HelpVirusTotalPage", "0webBrowserPage", None],
335 "helpWebBrowserPage":
336 [self.tr("eric6 Web Browser"), "ericWeb.png",
337 "HelpWebBrowserPage", "0helpPage", None],
338 }) 342 })
339 except ImportError: 343 else:
340 pass 344 try:
345 from PyQt5 import QtWebKit # __IGNORE_WARNING__
346 self.configItems.update({
347 "0helpBrowserPage":
348 [self.tr("Web Browser"), "ericWeb.png",
349 None, None, None],
350 "helpAppearancePage":
351 [self.tr("Appearance"), "preferences-styles.png",
352 "HelpAppearancePage", "0helpBrowserPage", None],
353 "helpWebBrowserPage":
354 [self.tr("eric6 Web Browser"), "ericWeb.png",
355 "HelpWebBrowserPage", "0helpBrowserPage", None],
356 "helpFlashCookieManagerPage":
357 [self.tr("Flash Cookie Manager"),
358 "flashCookie16.png",
359 "HelpFlashCookieManagerPage", "0helpBrowserPage",
360 None],
361 "helpVirusTotalPage":
362 [self.tr("VirusTotal Interface"), "virustotal.png",
363 "HelpVirusTotalPage", "0helpBrowserPage", None],
364 })
365 except ImportError:
366 pass
341 367
342 self.configItems.update( 368 self.configItems.update(
343 e5App().getObject("PluginManager").getPluginConfigData()) 369 e5App().getObject("PluginManager").getPluginConfigData())
344 370
345 elif displayMode == ConfigurationWidget.HelpBrowserMode: 371 elif displayMode == ConfigurationWidget.HelpBrowserMode:
361 "PrinterPage", None, None], 387 "PrinterPage", None, None],
362 "securityPage": 388 "securityPage":
363 [self.tr("Security"), "preferences-security.png", 389 [self.tr("Security"), "preferences-security.png",
364 "SecurityPage", None, None], 390 "SecurityPage", None, None],
365 391
366 "0helpPage":
367 [self.tr("Help"), "preferences-help.png",
368 None, None, None],
369 "helpDocumentationPage": 392 "helpDocumentationPage":
370 [self.tr("Help Documentation"), 393 [self.tr("Help Documentation"),
371 "preferences-helpdocumentation.png", 394 "preferences-helpdocumentation.png",
372 "HelpDocumentationPage", "0helpPage", None], 395 "HelpDocumentationPage", None, None],
373 } 396 }
374 try: 397 try:
375 from PyQt5 import QtWebKit # __IGNORE_WARNING__ 398 from PyQt5 import QtWebKit # __IGNORE_WARNING__
376 self.configItems.update({ 399 self.configItems.update({
377 "helpAppearancePage": 400 "helpAppearancePage":
378 [self.tr("Appearance"), "preferences-styles.png", 401 [self.tr("Appearance"), "preferences-styles.png",
379 "HelpAppearancePage", "0helpPage", None], 402 "HelpAppearancePage", None, None],
380 "helpFlashCookieManagerPage": 403 "helpFlashCookieManagerPage":
381 [self.tr("Flash Cookie Manager"), 404 [self.tr("Flash Cookie Manager"),
382 "flashCookie16.png", 405 "flashCookie16.png",
383 "HelpFlashCookieManagerPage", "0helpPage", None], 406 "HelpFlashCookieManagerPage", None, None],
384 "helpVirusTotalPage": 407 "helpVirusTotalPage":
385 [self.tr("VirusTotal Interface"), "virustotal.png", 408 [self.tr("VirusTotal Interface"), "virustotal.png",
386 "HelpVirusTotalPage", "0helpPage", None], 409 "HelpVirusTotalPage", None, None],
387 "helpWebBrowserPage": 410 "helpWebBrowserPage":
388 [self.tr("eric6 Web Browser"), "ericWeb.png", 411 [self.tr("eric6 Web Browser"), "ericWeb.png",
389 "HelpWebBrowserPage", "0helpPage", None], 412 "HelpWebBrowserPage", None, None],
390 }) 413 })
391 except ImportError: 414 except ImportError:
392 pass 415 pass
393 416
394 elif displayMode == ConfigurationWidget.WebBrowserMode: 417 elif displayMode == ConfigurationWidget.WebBrowserMode:
883 @param item reference to the expanded item (QTreeWidgetItem) 906 @param item reference to the expanded item (QTreeWidgetItem)
884 """ 907 """
885 pageName = item.data(0, Qt.UserRole) 908 pageName = item.data(0, Qt.UserRole)
886 if pageName not in self.__expandedEntries: 909 if pageName not in self.__expandedEntries:
887 self.__expandedEntries.append(pageName) 910 self.__expandedEntries.append(pageName)
911
912 def isUsingWebEngine(self):
913 """
914 Public method to get an indication, if QtWebEngine is being used.
915 """
916 return self.__webEngine or \
917 self.displayMode == ConfigurationWidget.WebBrowserMode
888 918
889 919
890 class ConfigurationDialog(QDialog): 920 class ConfigurationDialog(QDialog):
891 """ 921 """
892 Class for the dialog variant. 922 Class for the dialog variant.
904 HexEditorMode = ConfigurationWidget.HexEditorMode 934 HexEditorMode = ConfigurationWidget.HexEditorMode
905 WebBrowserMode = ConfigurationWidget.WebBrowserMode 935 WebBrowserMode = ConfigurationWidget.WebBrowserMode
906 936
907 def __init__(self, parent=None, name=None, modal=False, 937 def __init__(self, parent=None, name=None, modal=False,
908 fromEric=True, displayMode=ConfigurationWidget.DefaultMode, 938 fromEric=True, displayMode=ConfigurationWidget.DefaultMode,
909 expandedEntries=[]): 939 expandedEntries=[], webEngine=False):
910 """ 940 """
911 Constructor 941 Constructor
912 942
913 @param parent The parent widget of this dialog. (QWidget) 943 @param parent The parent widget of this dialog. (QWidget)
914 @param name The name of this dialog. string 944 @param name The name of this dialog. string
918 @keyparam displayMode mode of the configuration dialog 948 @keyparam displayMode mode of the configuration dialog
919 (DefaultMode, HelpBrowserMode, TrayStarterMode, HexEditorMode, 949 (DefaultMode, HelpBrowserMode, TrayStarterMode, HexEditorMode,
920 WebBrowserMode) 950 WebBrowserMode)
921 @keyparam expandedEntries list of entries to be shown expanded 951 @keyparam expandedEntries list of entries to be shown expanded
922 (list of strings) 952 (list of strings)
953 @keyparam webEngine flag indicating QtWebEngine is used (bool)
923 """ 954 """
924 super(ConfigurationDialog, self).__init__(parent) 955 super(ConfigurationDialog, self).__init__(parent)
925 if name: 956 if name:
926 self.setObjectName(name) 957 self.setObjectName(name)
927 self.setModal(modal) 958 self.setModal(modal)
931 self.layout.setContentsMargins(0, 0, 0, 0) 962 self.layout.setContentsMargins(0, 0, 0, 0)
932 self.layout.setSpacing(0) 963 self.layout.setSpacing(0)
933 964
934 self.cw = ConfigurationWidget(self, fromEric=fromEric, 965 self.cw = ConfigurationWidget(self, fromEric=fromEric,
935 displayMode=displayMode, 966 displayMode=displayMode,
936 expandedEntries=expandedEntries) 967 expandedEntries=expandedEntries,
968 webEngine=webEngine)
937 size = self.cw.size() 969 size = self.cw.size()
938 self.layout.addWidget(self.cw) 970 self.layout.addWidget(self.cw)
939 self.resize(size) 971 self.resize(size)
940 self.setWindowTitle(self.cw.windowTitle()) 972 self.setWindowTitle(self.cw.windowTitle())
941 973
999 1031
1000 class ConfigurationWindow(E5MainWindow): 1032 class ConfigurationWindow(E5MainWindow):
1001 """ 1033 """
1002 Main window class for the standalone dialog. 1034 Main window class for the standalone dialog.
1003 """ 1035 """
1004 def __init__(self, parent=None): 1036 def __init__(self, parent=None, webEngine=False):
1005 """ 1037 """
1006 Constructor 1038 Constructor
1007 1039
1008 @param parent reference to the parent widget (QWidget) 1040 @param parent reference to the parent widget (QWidget)
1041 @keyparam webEngine flag indicating QtWebEngine is used (bool)
1009 """ 1042 """
1010 super(ConfigurationWindow, self).__init__(parent) 1043 super(ConfigurationWindow, self).__init__(parent)
1011 1044
1012 self.cw = ConfigurationWidget(self, fromEric=False) 1045 self.cw = ConfigurationWidget(self, fromEric=False,
1046 webEngine=webEngine)
1013 size = self.cw.size() 1047 size = self.cw.size()
1014 self.setCentralWidget(self.cw) 1048 self.setCentralWidget(self.cw)
1015 self.resize(size) 1049 self.resize(size)
1016 self.setWindowTitle(self.cw.windowTitle()) 1050 self.setWindowTitle(self.cw.windowTitle())
1017 1051

eric ide

mercurial