8 """ |
8 """ |
9 |
9 |
10 import sqlite3 |
10 import sqlite3 |
11 import contextlib |
11 import contextlib |
12 |
12 |
13 from PyQt5.QtCore import pyqtSlot, Qt, QItemSelectionModel |
13 from PyQt6.QtCore import pyqtSlot, Qt, QItemSelectionModel |
14 from PyQt5.QtWidgets import ( |
14 from PyQt6.QtWidgets import ( |
15 QDialog, QTreeWidgetItem, QListWidgetItem, QInputDialog, QLineEdit |
15 QDialog, QTreeWidgetItem, QListWidgetItem, QInputDialog, QLineEdit |
16 ) |
16 ) |
17 from PyQt5.QtHelp import QHelpEngineCore |
17 from PyQt6.QtHelp import QHelpEngineCore |
18 |
18 |
19 from E5Gui import E5MessageBox, E5FileDialog |
19 from E5Gui import E5MessageBox, E5FileDialog |
20 from E5Gui.E5Application import e5App |
20 from E5Gui.E5Application import e5App |
21 |
21 |
22 from .Ui_QtHelpDocumentationDialog import Ui_QtHelpDocumentationDialog |
22 from .Ui_QtHelpDocumentationDialog import Ui_QtHelpDocumentationDialog |
280 |
280 |
281 self.filtersList.clear() |
281 self.filtersList.clear() |
282 self.attributesList.clear() |
282 self.attributesList.clear() |
283 |
283 |
284 helpEngineCore = QHelpEngineCore(self.__engine.collectionFile()) |
284 helpEngineCore = QHelpEngineCore(self.__engine.collectionFile()) |
|
285 helpFilterEngine = helpEngineCore.filterEngine() |
285 |
286 |
286 self.__removedFilters = [] |
287 self.__removedFilters = [] |
287 self.__filterMap = {} |
288 self.__filterMap = {} |
288 self.__filterMapBackup = {} |
289 self.__filterMapBackup = {} |
289 self.__removedAttributes = [] |
290 self.__removedAttributes = [] |
290 |
291 |
291 for customFilter in helpEngineCore.customFilters(): |
292 for filterName in helpFilterEngine.filters(): |
292 atts = helpEngineCore.filterAttributes(customFilter) |
293 filterData = helpFilterEngine.filterData(filterName) |
293 self.__filterMapBackup[customFilter] = atts |
294 self.__filterMapBackup[filterName] = filterData |
294 if customFilter not in self.__filterMap: |
295 if filterName not in self.__filterMap: |
295 self.__filterMap[customFilter] = atts |
296 self.__filterMap[filterName] = filterData |
296 |
297 |
|
298 # TODO: change code to use QHelpFilterEngine and QHelpFilterData |
297 self.filtersList.addItems(sorted(self.__filterMap.keys())) |
299 self.filtersList.addItems(sorted(self.__filterMap.keys())) |
298 for attr in helpEngineCore.filterAttributes(): |
300 for attr in helpFilterEngine.filterData(): |
299 QTreeWidgetItem(self.attributesList, [attr]) |
301 QTreeWidgetItem(self.attributesList, [attr]) |
300 self.attributesList.sortItems(0, Qt.SortOrder.AscendingOrder) |
302 self.attributesList.sortItems(0, Qt.SortOrder.AscendingOrder) |
301 |
303 |
302 if selectedFiltersText or currentFilterText or selectedAttributesText: |
304 if selectedFiltersText or currentFilterText or selectedAttributesText: |
303 # restore the selected filters |
305 # restore the selected filters |
495 """ |
497 """ |
496 if self.__hasChangedFilters(): |
498 if self.__hasChangedFilters(): |
497 for customFilter in self.__removedFilters: |
499 for customFilter in self.__removedFilters: |
498 self.__engine.removeCustomFilter(customFilter) |
500 self.__engine.removeCustomFilter(customFilter) |
499 for customFilter in self.__filterMap: |
501 for customFilter in self.__filterMap: |
500 self.__engine.addCustomFilter( |
502 self.__engine.addFilterData( |
501 customFilter, self.__filterMap[customFilter]) |
503 customFilter, self.__filterMap[customFilter]) |
502 |
504 |
503 if self.__removedAttributes: |
505 if self.__removedAttributes: |
504 self.__removeAttributes() |
506 self.__removeAttributes() |
505 |
507 |