14 |
14 |
15 class HistoryModel(QAbstractTableModel): |
15 class HistoryModel(QAbstractTableModel): |
16 """ |
16 """ |
17 Class implementing the history model. |
17 Class implementing the history model. |
18 """ |
18 """ |
19 DateRole = Qt.UserRole + 1 |
19 DateRole = Qt.ItemDataRole.UserRole + 1 |
20 DateTimeRole = Qt.UserRole + 2 |
20 DateTimeRole = Qt.ItemDataRole.UserRole + 2 |
21 UrlRole = Qt.UserRole + 3 |
21 UrlRole = Qt.ItemDataRole.UserRole + 3 |
22 UrlStringRole = Qt.UserRole + 4 |
22 UrlStringRole = Qt.ItemDataRole.UserRole + 4 |
23 TitleRole = Qt.UserRole + 5 |
23 TitleRole = Qt.ItemDataRole.UserRole + 5 |
24 VisitCountRole = Qt.UserRole + 6 |
24 VisitCountRole = Qt.ItemDataRole.UserRole + 6 |
25 MaxRole = VisitCountRole |
25 MaxRole = VisitCountRole |
26 |
26 |
27 def __init__(self, historyManager, parent=None): |
27 def __init__(self, historyManager, parent=None): |
28 """ |
28 """ |
29 Constructor |
29 Constructor |
68 @param row row number of the updated entry (integer) |
68 @param row row number of the updated entry (integer) |
69 """ |
69 """ |
70 idx = self.index(row, 0) |
70 idx = self.index(row, 0) |
71 self.dataChanged.emit(idx, idx) |
71 self.dataChanged.emit(idx, idx) |
72 |
72 |
73 def headerData(self, section, orientation, role=Qt.DisplayRole): |
73 def headerData(self, section, orientation, |
|
74 role=Qt.ItemDataRole.DisplayRole): |
74 """ |
75 """ |
75 Public method to get the header data. |
76 Public method to get the header data. |
76 |
77 |
77 @param section section number (integer) |
78 @param section section number (integer) |
78 @param orientation header orientation (Qt.Orientation) |
79 @param orientation header orientation (Qt.Orientation) |
79 @param role data role (integer) |
80 @param role data role (Qt.ItemDataRole) |
80 @return header data |
81 @return header data |
81 """ |
82 """ |
82 if orientation == Qt.Horizontal and role == Qt.DisplayRole: |
83 if ( |
|
84 orientation == Qt.Orientation.Horizontal and |
|
85 role == Qt.ItemDataRole.DisplayRole |
|
86 ): |
83 try: |
87 try: |
84 return self.__headers[section] |
88 return self.__headers[section] |
85 except IndexError: |
89 except IndexError: |
86 pass |
90 pass |
87 return QAbstractTableModel.headerData(self, section, orientation, role) |
91 return QAbstractTableModel.headerData(self, section, orientation, role) |
88 |
92 |
89 def data(self, index, role=Qt.DisplayRole): |
93 def data(self, index, role=Qt.ItemDataRole.DisplayRole): |
90 """ |
94 """ |
91 Public method to get data from the model. |
95 Public method to get data from the model. |
92 |
96 |
93 @param index index of history entry to get data for (QModelIndex) |
97 @param index index of history entry to get data for (QModelIndex) |
94 @param role data role (integer) |
98 @param role data role (integer) |
109 return itm.url |
113 return itm.url |
110 elif role == self.TitleRole: |
114 elif role == self.TitleRole: |
111 return itm.userTitle() |
115 return itm.userTitle() |
112 elif role == self.VisitCountRole: |
116 elif role == self.VisitCountRole: |
113 return itm.visitCount |
117 return itm.visitCount |
114 elif role in [Qt.DisplayRole, Qt.EditRole]: |
118 elif role in [Qt.ItemDataRole.DisplayRole, Qt.ItemDataRole.EditRole]: |
115 if index.column() == 0: |
119 if index.column() == 0: |
116 return itm.userTitle() |
120 return itm.userTitle() |
117 elif index.column() == 1: |
121 elif index.column() == 1: |
118 return itm.url |
122 return itm.url |
119 elif index.column() == 2: |
123 elif index.column() == 2: |
120 return itm.visitCount |
124 return itm.visitCount |
121 elif role == Qt.DecorationRole: |
125 elif role == Qt.ItemDataRole.DecorationRole: |
122 if index.column() == 0: |
126 if index.column() == 0: |
123 return WebBrowser.WebBrowserWindow.WebBrowserWindow.icon( |
127 return WebBrowser.WebBrowserWindow.WebBrowserWindow.icon( |
124 QUrl(itm.url)) |
128 QUrl(itm.url)) |
125 |
129 |
126 return None |
130 return None |