src/eric7/WebBrowser/UserAgent/UserAgentMenu.py

branch
eric7
changeset 9482
a2bc06a54d9d
parent 9473
3f23dbf37dbe
child 9653
e67609152c5e
equal deleted inserted replaced
9481:0b936ff1bbb9 9482:a2bc06a54d9d
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.
34 36
35 self.__manager = None 37 self.__manager = None
36 self.__url = url 38 self.__url = url
37 if self.__url: 39 if self.__url:
38 if self.__url.isValid(): 40 if self.__url.isValid():
39 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow
40
41 self.__manager = WebBrowserWindow.userAgentsManager() 41 self.__manager = WebBrowserWindow.userAgentsManager()
42 else: 42 else:
43 self.__url = None 43 self.__url = None
44 44
45 self.aboutToShow.connect(self.__populateMenu) 45 self.aboutToShow.connect(self.__populateMenu)
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:

eric ide

mercurial