6 """ |
6 """ |
7 Module implementing a menu to select the user agent string. |
7 Module implementing a menu to select the user agent string. |
8 """ |
8 """ |
9 |
9 |
10 import os |
10 import os |
|
11 import functools |
11 |
12 |
12 from PyQt5.QtCore import QXmlStreamReader, QFile, QIODevice |
13 from PyQt5.QtCore import QXmlStreamReader, QFile, QIODevice |
13 from PyQt5.QtWidgets import ( |
14 from PyQt5.QtWidgets import ( |
14 QMenu, QAction, QActionGroup, QInputDialog, QLineEdit |
15 QMenu, QAction, QActionGroup, QInputDialog, QLineEdit |
15 ) |
16 ) |
158 act.setText(title) |
159 act.setText(title) |
159 act.setData(userAgent) |
160 act.setData(userAgent) |
160 act.setToolTip(userAgent) |
161 act.setToolTip(userAgent) |
161 act.setCheckable(True) |
162 act.setCheckable(True) |
162 act.setChecked(userAgent == currentUserAgentString) |
163 act.setChecked(userAgent == currentUserAgentString) |
163 act.triggered.connect(lambda: self.__changeUserAgent(act)) |
164 act.triggered.connect( |
|
165 functools.partial(self.__changeUserAgent, act)) |
164 if menuStack: |
166 if menuStack: |
165 menuStack[-1].addAction(act) |
167 menuStack[-1].addAction(act) |
166 else: |
168 else: |
167 self.addAction(act) |
169 self.addAction(act) |
168 self.__actionGroup.addAction(act) |
170 self.__actionGroup.addAction(act) |