eric7/WebBrowser/UserAgent/UserAgentsDialog.py

branch
eric7
changeset 8312
800c432b34c8
parent 8218
7c09585bd960
child 8318
962bce857696
equal deleted inserted replaced
8311:4e8b98454baa 8312:800c432b34c8
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a dialog to show all saved user agent settings.
8 """
9
10 from PyQt5.QtCore import QSortFilterProxyModel
11 from PyQt5.QtGui import QFont, QFontMetrics
12 from PyQt5.QtWidgets import QDialog
13
14 from WebBrowser.WebBrowserWindow import WebBrowserWindow
15
16 from .UserAgentModel import UserAgentModel
17
18 from .Ui_UserAgentsDialog import Ui_UserAgentsDialog
19
20
21 class UserAgentsDialog(QDialog, Ui_UserAgentsDialog):
22 """
23 Class implementing a dialog to show all saved user agent settings.
24 """
25 def __init__(self, parent=None):
26 """
27 Constructor
28
29 @param parent reference to the parent widget (QWidget)
30 """
31 super().__init__(parent)
32 self.setupUi(self)
33
34 self.removeButton.clicked.connect(
35 self.userAgentsTable.removeSelected)
36 self.removeAllButton.clicked.connect(
37 self.userAgentsTable.removeAll)
38
39 self.userAgentsTable.verticalHeader().hide()
40 self.__userAgentModel = UserAgentModel(
41 WebBrowserWindow.userAgentsManager(), self)
42 self.__proxyModel = QSortFilterProxyModel(self)
43 self.__proxyModel.setSourceModel(self.__userAgentModel)
44 self.searchEdit.textChanged.connect(
45 self.__proxyModel.setFilterFixedString)
46 self.userAgentsTable.setModel(self.__proxyModel)
47
48 fm = QFontMetrics(QFont())
49 height = fm.height() + fm.height() // 3
50 self.userAgentsTable.verticalHeader().setDefaultSectionSize(height)
51 self.userAgentsTable.verticalHeader().setMinimumSectionSize(-1)
52
53 self.userAgentsTable.resizeColumnsToContents()
54 self.userAgentsTable.horizontalHeader().setStretchLastSection(True)

eric ide

mercurial