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) |