10 from PyQt6.QtCore import QSortFilterProxyModel, pyqtSlot |
10 from PyQt6.QtCore import QSortFilterProxyModel, pyqtSlot |
11 from PyQt6.QtGui import QFont, QFontMetrics |
11 from PyQt6.QtGui import QFont, QFontMetrics |
12 from PyQt6.QtWidgets import QDialog |
12 from PyQt6.QtWidgets import QDialog |
13 |
13 |
14 from eric7.EricWidgets import EricMessageBox |
14 from eric7.EricWidgets import EricMessageBox |
|
15 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
15 |
16 |
|
17 from .PasswordModel import PasswordModel |
16 from .Ui_PasswordsDialog import Ui_PasswordsDialog |
18 from .Ui_PasswordsDialog import Ui_PasswordsDialog |
17 |
19 |
18 |
20 |
19 class PasswordsDialog(QDialog, Ui_PasswordsDialog): |
21 class PasswordsDialog(QDialog, Ui_PasswordsDialog): |
20 """ |
22 """ |
35 self.passwordsButton.setText(self.__showPasswordsText) |
37 self.passwordsButton.setText(self.__showPasswordsText) |
36 |
38 |
37 self.removeButton.clicked.connect(self.passwordsTable.removeSelected) |
39 self.removeButton.clicked.connect(self.passwordsTable.removeSelected) |
38 self.removeAllButton.clicked.connect(self.passwordsTable.removeAll) |
40 self.removeAllButton.clicked.connect(self.passwordsTable.removeAll) |
39 |
41 |
40 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
|
41 |
|
42 from .PasswordModel import PasswordModel |
|
43 |
|
44 self.passwordsTable.verticalHeader().hide() |
42 self.passwordsTable.verticalHeader().hide() |
45 self.__passwordModel = PasswordModel(WebBrowserWindow.passwordManager(), self) |
43 self.__passwordModel = PasswordModel(WebBrowserWindow.passwordManager(), self) |
46 self.__proxyModel = QSortFilterProxyModel(self) |
44 self.__proxyModel = QSortFilterProxyModel(self) |
47 self.__proxyModel.setSourceModel(self.__passwordModel) |
45 self.__proxyModel.setSourceModel(self.__passwordModel) |
48 self.searchEdit.textChanged.connect(self.__proxyModel.setFilterFixedString) |
46 self.searchEdit.textChanged.connect(self.__proxyModel.setFilterFixedString) |
61 """ |
59 """ |
62 fm = QFontMetrics(QFont()) |
60 fm = QFontMetrics(QFont()) |
63 for section in range(self.__passwordModel.columnCount()): |
61 for section in range(self.__passwordModel.columnCount()): |
64 header = self.passwordsTable.horizontalHeader().sectionSizeHint(section) |
62 header = self.passwordsTable.horizontalHeader().sectionSizeHint(section) |
65 if section == 0: |
63 if section == 0: |
66 try: |
64 header = fm.horizontalAdvance("averagebiglongsitename") |
67 header = fm.horizontalAdvance("averagebiglongsitename") |
|
68 except AttributeError: |
|
69 header = fm.width("averagebiglongsitename") |
|
70 elif section == 1: |
65 elif section == 1: |
71 try: |
66 header = fm.horizontalAdvance("averagelongusername") |
72 header = fm.horizontalAdvance("averagelongusername") |
|
73 except AttributeError: |
|
74 header = fm.width("averagelongusername") |
|
75 elif section == 2: |
67 elif section == 2: |
76 try: |
68 header = fm.horizontalAdvance("averagelongpassword") |
77 header = fm.horizontalAdvance("averagelongpassword") |
69 buffer = fm.horizontalAdvance("mm") |
78 except AttributeError: |
|
79 header = fm.width("averagelongpassword") |
|
80 try: |
|
81 buffer = fm.horizontalAdvance("mm") |
|
82 except AttributeError: |
|
83 buffer = fm.width("mm") |
|
84 header += buffer |
70 header += buffer |
85 self.passwordsTable.horizontalHeader().resizeSection(section, header) |
71 self.passwordsTable.horizontalHeader().resizeSection(section, header) |
86 self.passwordsTable.horizontalHeader().setStretchLastSection(True) |
72 self.passwordsTable.horizontalHeader().setStretchLastSection(True) |
87 |
73 |
88 @pyqtSlot() |
74 @pyqtSlot() |