SelectionEncloser/ConfigurationPage/SelectionEncloserPage.py

changeset 7
e6addbe23b18
parent 3
b26df0282953
child 11
7c821731282a
equal deleted inserted replaced
6:5e92a5654d3a 7:e6addbe23b18
41 self.deleteButton.setIcon(UI.PixmapCache.getIcon("minus.png")) 41 self.deleteButton.setIcon(UI.PixmapCache.getIcon("minus.png"))
42 self.upButton.setIcon(UI.PixmapCache.getIcon("1uparrow.png")) 42 self.upButton.setIcon(UI.PixmapCache.getIcon("1uparrow.png"))
43 self.downButton.setIcon(UI.PixmapCache.getIcon("1downarrow.png")) 43 self.downButton.setIcon(UI.PixmapCache.getIcon("1downarrow.png"))
44 self.addMenuButton.setIcon(UI.PixmapCache.getIcon( 44 self.addMenuButton.setIcon(UI.PixmapCache.getIcon(
45 os.path.join("SelectionEncloser", "icons", "topAdd.png"))) 45 os.path.join("SelectionEncloser", "icons", "topAdd.png")))
46 self.addSeparatorButton.setIcon(UI.PixmapCache.getIcon(
47 os.path.join("SelectionEncloser", "icons", "separatorAdd.png")))
46 48
47 self.editButton.setEnabled(False) 49 self.editButton.setEnabled(False)
48 self.addButton.setEnabled(False) 50 self.addButton.setEnabled(False)
51 self.addSeparatorButton.setEnabled(False)
49 self.deleteButton.setEnabled(False) 52 self.deleteButton.setEnabled(False)
50 self.upButton.setEnabled(False) 53 self.upButton.setEnabled(False)
51 self.downButton.setEnabled(False) 54 self.downButton.setEnabled(False)
52 55
53 self.__plugin = plugin 56 self.__plugin = plugin
54 57
55 # set initial values 58 # set initial values
56 hierarchy = self.__plugin.getPreferences("MenuHierarchy") 59 hierarchy = self.__plugin.getPreferences("MenuHierarchy")
57 for menuTitle, entries in hierarchy: 60 for menuTitle, entries in hierarchy:
61 if menuTitle == '--Separator--':
62 menuTitle = self.tr('--Separator--')
58 top = QTreeWidgetItem(self.menuTree, [menuTitle]) 63 top = QTreeWidgetItem(self.menuTree, [menuTitle])
59 for title, encString in entries: 64 for title, encString in entries:
65 if title == '--Separator--':
66 title = self.tr('--Separator--')
60 itm = QTreeWidgetItem(top, [title]) 67 itm = QTreeWidgetItem(top, [title])
61 itm.setData(0, Qt.UserRole, encString) 68 itm.setData(0, Qt.UserRole, encString)
62 top.setExpanded(True) 69 top.setExpanded(True)
63 70
64 def save(self): 71 def save(self):
66 Public slot to save the Selection Encloser configuration. 73 Public slot to save the Selection Encloser configuration.
67 """ 74 """
68 hierarchy = [] 75 hierarchy = []
69 for topIndex in range(self.menuTree.topLevelItemCount()): 76 for topIndex in range(self.menuTree.topLevelItemCount()):
70 topItem = self.menuTree.topLevelItem(topIndex) 77 topItem = self.menuTree.topLevelItem(topIndex)
71 topEntry = [topItem.text(0), []] 78 menuTitle = topItem.text(0)
79 if menuTitle == self.tr('--Separator--'):
80 menuTitle = '--Separator--'
81 topEntry = [menuTitle, []]
72 for index in range(topItem.childCount()): 82 for index in range(topItem.childCount()):
73 itm = topItem.child(index) 83 itm = topItem.child(index)
74 topEntry[1].append([itm.text(0), itm.data(0, Qt.UserRole)]) 84 title = itm.text(0)
85 if title == self.tr('--Separator--'):
86 title = '--Separator--'
87 topEntry[1].append([title, itm.data(0, Qt.UserRole)])
75 hierarchy.append(topEntry) 88 hierarchy.append(topEntry)
76 self.__plugin.setPreferences("MenuHierarchy", hierarchy) 89 self.__plugin.setPreferences("MenuHierarchy", hierarchy)
77 90
78 @pyqtSlot() 91 @pyqtSlot()
79 def on_addMenuButton_clicked(self): 92 def on_addMenuButton_clicked(self):
100 title, encString = dlg.getData() 113 title, encString = dlg.getData()
101 itm = QTreeWidgetItem(self.menuTree.selectedItems()[0], [title]) 114 itm = QTreeWidgetItem(self.menuTree.selectedItems()[0], [title])
102 itm.setData(0, Qt.UserRole, encString) 115 itm.setData(0, Qt.UserRole, encString)
103 116
104 @pyqtSlot() 117 @pyqtSlot()
118 def on_addSeparatorButton_clicked(self):
119 """
120 Private slot to add a separator entry below the selected entry.
121 """
122 selItm = self.menuTree.selectedItems()[0]
123 parent = selItm.parent()
124 itm = QTreeWidgetItem([self.tr('--Separator--')])
125 if parent is None:
126 # top level item
127 index = self.menuTree.indexOfTopLevelItem(selItm) + 1
128 self.menuTree.insertTopLevelItem(index, itm)
129 else:
130 # sub item
131 index = parent.indexOfChild(selItm) + 1
132 parent.insertChild(index, itm)
133
134 @pyqtSlot()
105 def on_deleteButton_clicked(self): 135 def on_deleteButton_clicked(self):
106 """ 136 """
107 Private slot to delete the selected entry. 137 Private slot to delete the selected entry.
108 """ 138 """
109 itm = self.menuTree.selectedItems()[0] 139 itm = self.menuTree.selectedItems()[0]
184 """ 214 """
185 Private slot handling the selection of an item. 215 Private slot handling the selection of an item.
186 """ 216 """
187 if len(self.menuTree.selectedItems()) == 0: 217 if len(self.menuTree.selectedItems()) == 0:
188 self.addButton.setEnabled(False) 218 self.addButton.setEnabled(False)
219 self.addSeparatorButton.setEnabled(False)
189 self.deleteButton.setEnabled(False) 220 self.deleteButton.setEnabled(False)
190 self.upButton.setEnabled(False) 221 self.upButton.setEnabled(False)
191 self.downButton.setEnabled(False) 222 self.downButton.setEnabled(False)
192 self.editButton.setEnabled(False) 223 self.editButton.setEnabled(False)
193 else: 224 else:
210 if parent.indexOfChild(itm) == \ 241 if parent.indexOfChild(itm) == \
211 parent.childCount() - 1: 242 parent.childCount() - 1:
212 downEnable = False 243 downEnable = False
213 addEnable = False 244 addEnable = False
214 self.addButton.setEnabled(addEnable) 245 self.addButton.setEnabled(addEnable)
246 self.addSeparatorButton.setEnabled(True)
215 self.deleteButton.setEnabled(True) 247 self.deleteButton.setEnabled(True)
216 self.upButton.setEnabled(upEnable) 248 self.upButton.setEnabled(upEnable)
217 self.downButton.setEnabled(downEnable) 249 self.downButton.setEnabled(downEnable)
218 self.editButton.setEnabled(True) 250 self.editButton.setEnabled(True)

eric ide

mercurial