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. |
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": |