WebBrowser/Tools/WebIconDialog.py

branch
QtWebEngine
changeset 4821
0ce09efa00da
parent 4820
f38e4fb83ecd
child 4917
682750cc7bd5
equal deleted inserted replaced
4820:f38e4fb83ecd 4821:0ce09efa00da
6 """ 6 """
7 Module implementing a dialog to manage the Favicons. 7 Module implementing a dialog to manage the Favicons.
8 """ 8 """
9 9
10 from PyQt5.QtCore import pyqtSlot, Qt, QPoint 10 from PyQt5.QtCore import pyqtSlot, Qt, QPoint
11 from PyQt5.QtWidgets import QDialog, QTreeWidgetItem, QMenu 11 from PyQt5.QtWidgets import QDialog, QListWidgetItem, QMenu
12 12
13 from .Ui_WebIconDialog import Ui_WebIconDialog 13 from .Ui_WebIconDialog import Ui_WebIconDialog
14 14
15 15
16 class WebIconDialog(QDialog, Ui_WebIconDialog): 16 class WebIconDialog(QDialog, Ui_WebIconDialog):
28 """ 28 """
29 super(WebIconDialog, self).__init__(parent) 29 super(WebIconDialog, self).__init__(parent)
30 self.setupUi(self) 30 self.setupUi(self)
31 31
32 for url, icon in iconsDB.items(): 32 for url, icon in iconsDB.items():
33 itm = QTreeWidgetItem(self.iconsList, [url]) 33 QListWidgetItem(icon, url, self.iconsList)
34 itm.setIcon(0, icon) 34 self.iconsList.sortItems(Qt.AscendingOrder)
35 self.iconsList.sortItems(0, Qt.AscendingOrder)
36 35
37 self.__setRemoveButtons() 36 self.__setRemoveButtons()
38 37
39 def __setRemoveButtons(self): 38 def __setRemoveButtons(self):
40 """ 39 """
41 Private method to set the state of the 'remove' buttons. 40 Private method to set the state of the 'remove' buttons.
42 """ 41 """
43 self.removeAllButton.setEnabled(self.iconsList.topLevelItemCount() > 0) 42 self.removeAllButton.setEnabled(self.iconsList.count() > 0)
44 self.removeButton.setEnabled(len(self.iconsList.selectedItems()) > 0) 43 self.removeButton.setEnabled(len(self.iconsList.selectedItems()) > 0)
45 44
46 @pyqtSlot(QPoint) 45 @pyqtSlot(QPoint)
47 def on_iconsList_customContextMenuRequested(self, pos): 46 def on_iconsList_customContextMenuRequested(self, pos):
48 """ 47 """
57 self.on_removeButton_clicked).setEnabled( 56 self.on_removeButton_clicked).setEnabled(
58 len(self.iconsList.selectedItems()) > 0) 57 len(self.iconsList.selectedItems()) > 0)
59 menu.addAction( 58 menu.addAction(
60 self.tr("Remove All"), 59 self.tr("Remove All"),
61 self.on_removeAllButton_clicked).setEnabled( 60 self.on_removeAllButton_clicked).setEnabled(
62 self.iconsList.topLevelItemCount() > 0) 61 self.iconsList.count() > 0)
63 62
64 menu.exec_(self.iconsList.mapToGlobal(pos)) 63 menu.exec_(self.iconsList.mapToGlobal(pos))
65 64
66 @pyqtSlot() 65 @pyqtSlot()
67 def on_iconsList_itemSelectionChanged(self): 66 def on_iconsList_itemSelectionChanged(self):
74 def on_removeButton_clicked(self): 73 def on_removeButton_clicked(self):
75 """ 74 """
76 Private slot to remove the selected items. 75 Private slot to remove the selected items.
77 """ 76 """
78 for itm in self.iconsList.selectedItems(): 77 for itm in self.iconsList.selectedItems():
79 index = self.iconsList.indexOfTopLevelItem(itm) 78 row = self.iconsList.row(itm)
80 self.iconsList.takeTopLevelItem(index) 79 self.iconsList.takeItem(row)
81 del itm 80 del itm
82 81
83 @pyqtSlot() 82 @pyqtSlot()
84 def on_removeAllButton_clicked(self): 83 def on_removeAllButton_clicked(self):
85 """ 84 """
93 92
94 @return list of URLs 93 @return list of URLs
95 @rtype list of str 94 @rtype list of str
96 """ 95 """
97 urls = [] 96 urls = []
98 for index in range(self.iconsList.topLevelItemCount()): 97 for row in range(self.iconsList.count()):
99 urls.append(self.iconsList.topLevelItem(index).text(0)) 98 urls.append(self.iconsList.item(row).text())
100 99
101 return urls 100 return urls

eric ide

mercurial