Helpviewer/UserAgent/UserAgentMenu.py

changeset 2403
e3d7a861547c
parent 2302
f29e9405c851
child 2525
8b507a9a2d40
child 3002
6ffc581f00f1
equal deleted inserted replaced
2402:304fcefd3b04 2403:e3d7a861547c
9 9
10 from PyQt4.QtCore import QByteArray, QXmlStreamReader 10 from PyQt4.QtCore import QByteArray, QXmlStreamReader
11 from PyQt4.QtGui import QMenu, QAction, QActionGroup, QInputDialog, QLineEdit 11 from PyQt4.QtGui import QMenu, QAction, QActionGroup, QInputDialog, QLineEdit
12 12
13 from E5Gui import E5MessageBox 13 from E5Gui import E5MessageBox
14
15 from .UserAgentDefaults import UserAgentDefaults
16
17 from Helpviewer.HelpBrowserWV import HelpWebPage
18 import Helpviewer.HelpWindow
19 14
20 15
21 class UserAgentMenu(QMenu): 16 class UserAgentMenu(QMenu):
22 """ 17 """
23 Class implementing a menu to select the user agent string. 18 Class implementing a menu to select the user agent string.
34 29
35 self.__manager = None 30 self.__manager = None
36 self.__url = url 31 self.__url = url
37 if self.__url: 32 if self.__url:
38 if self.__url.isValid(): 33 if self.__url.isValid():
34 import Helpviewer.HelpWindow
39 self.__manager = Helpviewer.HelpWindow.HelpWindow.userAgentsManager() 35 self.__manager = Helpviewer.HelpWindow.HelpWindow.userAgentsManager()
40 else: 36 else:
41 self.__url = None 37 self.__url = None
42 38
43 self.aboutToShow.connect(self.__populateMenu) 39 self.aboutToShow.connect(self.__populateMenu)
57 self.__defaultUserAgent.triggered[()].connect(self.__switchToDefaultUserAgent) 53 self.__defaultUserAgent.triggered[()].connect(self.__switchToDefaultUserAgent)
58 if self.__url: 54 if self.__url:
59 self.__defaultUserAgent.setChecked( 55 self.__defaultUserAgent.setChecked(
60 self.__manager.userAgentForUrl(self.__url) == "") 56 self.__manager.userAgentForUrl(self.__url) == "")
61 else: 57 else:
58 from Helpviewer.HelpBrowserWV import HelpWebPage
62 self.__defaultUserAgent.setChecked(HelpWebPage().userAgent() == "") 59 self.__defaultUserAgent.setChecked(HelpWebPage().userAgent() == "")
63 self.addAction(self.__defaultUserAgent) 60 self.addAction(self.__defaultUserAgent)
64 self.__actionGroup.addAction(self.__defaultUserAgent) 61 self.__actionGroup.addAction(self.__defaultUserAgent)
65 isChecked = self.__defaultUserAgent.isChecked() 62 isChecked = self.__defaultUserAgent.isChecked()
66 63
82 Private slot to set the default user agent. 79 Private slot to set the default user agent.
83 """ 80 """
84 if self.__url: 81 if self.__url:
85 self.__manager.removeUserAgent(self.__url.host()) 82 self.__manager.removeUserAgent(self.__url.host())
86 else: 83 else:
84 from Helpviewer.HelpBrowserWV import HelpWebPage
87 HelpWebPage().setUserAgent("") 85 HelpWebPage().setUserAgent("")
88 86
89 def __switchToOtherUserAgent(self): 87 def __switchToOtherUserAgent(self):
90 """ 88 """
91 Private slot to set a custom user agent string. 89 Private slot to set a custom user agent string.
92 """ 90 """
91 from Helpviewer.HelpBrowserWV import HelpWebPage
93 userAgent, ok = QInputDialog.getText( 92 userAgent, ok = QInputDialog.getText(
94 self, 93 self,
95 self.trUtf8("Custom user agent"), 94 self.trUtf8("Custom user agent"),
96 self.trUtf8("User agent:"), 95 self.trUtf8("User agent:"),
97 QLineEdit.Normal, 96 QLineEdit.Normal,
108 """ 107 """
109 act = self.sender() 108 act = self.sender()
110 if self.__url: 109 if self.__url:
111 self.__manager.setUserAgentForUrl(self.__url, act.data()) 110 self.__manager.setUserAgentForUrl(self.__url, act.data())
112 else: 111 else:
112 from Helpviewer.HelpBrowserWV import HelpWebPage
113 HelpWebPage().setUserAgent(act.data()) 113 HelpWebPage().setUserAgent(act.data())
114 114
115 def __addDefaultActions(self): 115 def __addDefaultActions(self):
116 """ 116 """
117 Private slot to add the default user agent entries. 117 Private slot to add the default user agent entries.
118 118
119 @return flag indicating that a user agent entry is checked (boolean) 119 @return flag indicating that a user agent entry is checked (boolean)
120 """ 120 """
121 from .UserAgentDefaults import UserAgentDefaults
121 menuStack = [] 122 menuStack = []
122 isChecked = False 123 isChecked = False
123 defaultUserAgents = QByteArray(UserAgentDefaults) 124 defaultUserAgents = QByteArray(UserAgentDefaults)
124 125
125 if self.__url: 126 if self.__url:
126 currentUserAgentString = self.__manager.userAgentForUrl(self.__url) 127 currentUserAgentString = self.__manager.userAgentForUrl(self.__url)
127 else: 128 else:
129 from Helpviewer.HelpBrowserWV import HelpWebPage
128 currentUserAgentString = HelpWebPage().userAgent() 130 currentUserAgentString = HelpWebPage().userAgent()
129 xml = QXmlStreamReader(defaultUserAgents) 131 xml = QXmlStreamReader(defaultUserAgents)
130 while not xml.atEnd(): 132 while not xml.atEnd():
131 xml.readNext() 133 xml.readNext()
132 if xml.isStartElement() and xml.name() == "separator": 134 if xml.isStartElement() and xml.name() == "separator":

eric ide

mercurial