13 from PyQt6.QtCore import QFile, QIODevice, QXmlStreamReader |
13 from PyQt6.QtCore import QFile, QIODevice, QXmlStreamReader |
14 from PyQt6.QtGui import QAction, QActionGroup |
14 from PyQt6.QtGui import QAction, QActionGroup |
15 from PyQt6.QtWidgets import QInputDialog, QLineEdit, QMenu |
15 from PyQt6.QtWidgets import QInputDialog, QLineEdit, QMenu |
16 |
16 |
17 from eric7.EricWidgets import EricMessageBox |
17 from eric7.EricWidgets import EricMessageBox |
|
18 from eric7.WebBrowser.WebBrowserPage import WebBrowserPage |
|
19 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
18 |
20 |
19 |
21 |
20 class UserAgentMenu(QMenu): |
22 class UserAgentMenu(QMenu): |
21 """ |
23 """ |
22 Class implementing a menu to select the user agent string. |
24 Class implementing a menu to select the user agent string. |
60 if self.__url: |
60 if self.__url: |
61 self.__defaultUserAgent.setChecked( |
61 self.__defaultUserAgent.setChecked( |
62 self.__manager.userAgentForUrl(self.__url) == "" |
62 self.__manager.userAgentForUrl(self.__url) == "" |
63 ) |
63 ) |
64 else: |
64 else: |
65 from eric7.WebBrowser.WebBrowserPage import WebBrowserPage |
|
66 |
|
67 self.__defaultUserAgent.setChecked(WebBrowserPage.userAgent() == "") |
65 self.__defaultUserAgent.setChecked(WebBrowserPage.userAgent() == "") |
68 self.addAction(self.__defaultUserAgent) |
66 self.addAction(self.__defaultUserAgent) |
69 self.__actionGroup.addAction(self.__defaultUserAgent) |
67 self.__actionGroup.addAction(self.__defaultUserAgent) |
70 isChecked = self.__defaultUserAgent.isChecked() |
68 isChecked = self.__defaultUserAgent.isChecked() |
71 |
69 |
87 Private slot to set the default user agent. |
85 Private slot to set the default user agent. |
88 """ |
86 """ |
89 if self.__url: |
87 if self.__url: |
90 self.__manager.removeUserAgent(self.__url.host()) |
88 self.__manager.removeUserAgent(self.__url.host()) |
91 else: |
89 else: |
92 from eric7.WebBrowser.WebBrowserPage import WebBrowserPage |
|
93 |
|
94 WebBrowserPage.setUserAgent("") |
90 WebBrowserPage.setUserAgent("") |
95 |
91 |
96 def __switchToOtherUserAgent(self): |
92 def __switchToOtherUserAgent(self): |
97 """ |
93 """ |
98 Private slot to set a custom user agent string. |
94 Private slot to set a custom user agent string. |
120 @type QAction |
116 @type QAction |
121 """ |
117 """ |
122 if self.__url: |
118 if self.__url: |
123 self.__manager.setUserAgentForUrl(self.__url, act.data()) |
119 self.__manager.setUserAgentForUrl(self.__url, act.data()) |
124 else: |
120 else: |
125 from eric7.WebBrowser.WebBrowserPage import WebBrowserPage |
|
126 |
|
127 WebBrowserPage.setUserAgent(act.data()) |
121 WebBrowserPage.setUserAgent(act.data()) |
128 |
122 |
129 def __addDefaultActions(self): |
123 def __addDefaultActions(self): |
130 """ |
124 """ |
131 Private slot to add the default user agent entries. |
125 Private slot to add the default user agent entries. |
138 defaultUserAgents.open(QIODevice.OpenModeFlag.ReadOnly) |
132 defaultUserAgents.open(QIODevice.OpenModeFlag.ReadOnly) |
139 |
133 |
140 menuStack = [] |
134 menuStack = [] |
141 isChecked = False |
135 isChecked = False |
142 |
136 |
143 if self.__url: |
137 currentUserAgentString = ( |
144 currentUserAgentString = self.__manager.userAgentForUrl(self.__url) |
138 self.__manager.userAgentForUrl(self.__url) |
145 else: |
139 if self.__url |
146 from eric7.WebBrowser.WebBrowserPage import WebBrowserPage |
140 else WebBrowserPage.userAgent() |
147 |
141 ) |
148 currentUserAgentString = WebBrowserPage.userAgent() |
|
149 xml = QXmlStreamReader(defaultUserAgents) |
142 xml = QXmlStreamReader(defaultUserAgents) |
150 while not xml.atEnd(): |
143 while not xml.atEnd(): |
151 xml.readNext() |
144 xml.readNext() |
152 if xml.isStartElement() and xml.name() == "separator": |
145 if xml.isStartElement() and xml.name() == "separator": |
153 if menuStack: |
146 if menuStack: |