eric6/WebBrowser/UserAgent/UserAgentsDialog.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7229
53054eb5b15a
equal deleted inserted replaced
6941:f99d60d6b59b 6942:2602857055c5
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2012 - 2019 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 __future__ import unicode_literals
11
12 from PyQt5.QtCore import QSortFilterProxyModel
13 from PyQt5.QtGui import QFont, QFontMetrics
14 from PyQt5.QtWidgets import QDialog
15
16 from WebBrowser.WebBrowserWindow import WebBrowserWindow
17
18 from .UserAgentModel import UserAgentModel
19
20 from .Ui_UserAgentsDialog import Ui_UserAgentsDialog
21
22
23 class UserAgentsDialog(QDialog, Ui_UserAgentsDialog):
24 """
25 Class implementing a dialog to show all saved user agent settings.
26 """
27 def __init__(self, parent=None):
28 """
29 Constructor
30
31 @param parent reference to the parent widget (QWidget)
32 """
33 super(UserAgentsDialog, self).__init__(parent)
34 self.setupUi(self)
35
36 self.removeButton.clicked.connect(
37 self.userAgentsTable.removeSelected)
38 self.removeAllButton.clicked.connect(
39 self.userAgentsTable.removeAll)
40
41 self.userAgentsTable.verticalHeader().hide()
42 self.__userAgentModel = UserAgentModel(
43 WebBrowserWindow.userAgentsManager(), self)
44 self.__proxyModel = QSortFilterProxyModel(self)
45 self.__proxyModel.setSourceModel(self.__userAgentModel)
46 self.searchEdit.textChanged.connect(
47 self.__proxyModel.setFilterFixedString)
48 self.userAgentsTable.setModel(self.__proxyModel)
49
50 fm = QFontMetrics(QFont())
51 height = fm.height() + fm.height() // 3
52 self.userAgentsTable.verticalHeader().setDefaultSectionSize(height)
53 self.userAgentsTable.verticalHeader().setMinimumSectionSize(-1)
54
55 self.userAgentsTable.resizeColumnsToContents()
56 self.userAgentsTable.horizontalHeader().setStretchLastSection(True)

eric ide

mercurial