60 from .ZoomManager import ZoomManager |
60 from .ZoomManager import ZoomManager |
61 |
61 |
62 from eric6config import getConfig |
62 from eric6config import getConfig |
63 |
63 |
64 |
64 |
65 # TODO: Qt 5.8 - support spell checking through out |
|
66 class WebBrowserWindow(E5MainWindow): |
65 class WebBrowserWindow(E5MainWindow): |
67 """ |
66 """ |
68 Class implementing the web browser main window. |
67 Class implementing the web browser main window. |
69 |
68 |
70 @signal webBrowserWindowOpened(window) emitted after a new web browser |
69 @signal webBrowserWindowOpened(window) emitted after a new web browser |
527 settings.setAttribute( |
526 settings.setAttribute( |
528 QWebEngineSettings.WebGLEnabled, |
527 QWebEngineSettings.WebGLEnabled, |
529 Preferences.getWebBrowser("WebGLEnabled")) |
528 Preferences.getWebBrowser("WebGLEnabled")) |
530 except (AttributeError, KeyError): |
529 except (AttributeError, KeyError): |
531 pass |
530 pass |
|
531 |
|
532 try: |
|
533 # Qt 5.8 |
|
534 settings.setAttribute( |
|
535 QWebEngineSettings.FocusOnNavigationEnabled, |
|
536 Preferences.getWebBrowser("FocusOnNavigationEnabled")) |
|
537 settings.setAttribute( |
|
538 QWebEngineSettings.PrintElementBackgrounds, |
|
539 Preferences.getWebBrowser("PrintElementBackgrounds")) |
|
540 settings.setAttribute( |
|
541 QWebEngineSettings.AllowRunningInsecureContent, |
|
542 Preferences.getWebBrowser("AllowRunningInsecureContent")) |
|
543 except (AttributeError, KeyError): |
|
544 pass |
532 |
545 |
533 def __initActions(self): |
546 def __initActions(self): |
534 """ |
547 """ |
535 Private method to define the user interface actions. |
548 Private method to define the user interface actions. |
536 """ |
549 """ |
2815 |
2828 |
2816 self.searchEdit.preferencesChanged() |
2829 self.searchEdit.preferencesChanged() |
2817 |
2830 |
2818 self.autoScroller().preferencesChanged() |
2831 self.autoScroller().preferencesChanged() |
2819 |
2832 |
|
2833 profile = self.webProfile() |
2820 if not self.isPrivate(): |
2834 if not self.isPrivate(): |
2821 profile = self.webProfile() |
|
2822 if Preferences.getWebBrowser("DiskCacheEnabled"): |
2835 if Preferences.getWebBrowser("DiskCacheEnabled"): |
2823 profile.setHttpCacheType(QWebEngineProfile.DiskHttpCache) |
2836 profile.setHttpCacheType(QWebEngineProfile.DiskHttpCache) |
2824 profile.setHttpCacheMaximumSize( |
2837 profile.setHttpCacheMaximumSize( |
2825 Preferences.getWebBrowser("DiskCacheSize") * 1024 * 1024) |
2838 Preferences.getWebBrowser("DiskCacheSize") * 1024 * 1024) |
2826 else: |
2839 else: |
2827 profile.setHttpCacheType(QWebEngineProfile.MemoryHttpCache) |
2840 profile.setHttpCacheType(QWebEngineProfile.MemoryHttpCache) |
2828 profile.setHttpCacheMaximumSize(0) |
2841 profile.setHttpCacheMaximumSize(0) |
2829 |
2842 |
|
2843 if qVersion() >= "5.8.0": |
|
2844 profile.setSpellCheckEnabled( |
|
2845 Preferences.getWebBrowser("SpellCheckEnabled")) |
|
2846 profile.setSpellCheckLanguages( |
|
2847 Preferences.getWebBrowser("SpellCheckLanguages")) |
|
2848 |
2830 self.__virusTotal.preferencesChanged() |
2849 self.__virusTotal.preferencesChanged() |
2831 if not Preferences.getWebBrowser("VirusTotalEnabled") or \ |
2850 if not Preferences.getWebBrowser("VirusTotalEnabled") or \ |
2832 Preferences.getWebBrowser("VirusTotalServiceKey") == "": |
2851 Preferences.getWebBrowser("VirusTotalServiceKey") == "": |
2833 self.virustotalScanCurrentAct.setEnabled(False) |
2852 self.virustotalScanCurrentAct.setEnabled(False) |
2834 self.virustotalIpReportAct.setEnabled(False) |
2853 self.virustotalIpReportAct.setEnabled(False) |
4223 Utilities.getConfigDir(), "web_browser", |
4242 Utilities.getConfigDir(), "web_browser", |
4224 "persistentstorage")) |
4243 "persistentstorage")) |
4225 cls._webProfile.setPersistentCookiesPolicy( |
4244 cls._webProfile.setPersistentCookiesPolicy( |
4226 QWebEngineProfile.AllowPersistentCookies) |
4245 QWebEngineProfile.AllowPersistentCookies) |
4227 |
4246 |
|
4247 # TODO: Qt 5.8 - add support for spell checking |
|
4248 if qVersion() >= "5.8.0": |
|
4249 cls._webProfile.setSpellCheckEnabled( |
|
4250 Preferences.getWebBrowser("SpellCheckEnabled")) |
|
4251 cls._webProfile.setSpellCheckLanguages( |
|
4252 Preferences.getWebBrowser("SpellCheckLanguages")) |
|
4253 |
4228 # Setup QWebChannel user script |
4254 # Setup QWebChannel user script |
4229 from .WebBrowserPage import WebBrowserPage |
4255 from .WebBrowserPage import WebBrowserPage |
4230 |
4256 |
4231 script = QWebEngineScript() |
4257 script = QWebEngineScript() |
4232 script.setName("_eric_webchannel") |
4258 script.setName("_eric_webchannel") |