--- a/SelectionEncloser/ConfigurationPage/SelectionEncloserPage.py Mon Apr 21 18:46:07 2014 +0200 +++ b/SelectionEncloser/ConfigurationPage/SelectionEncloserPage.py Tue Apr 22 18:40:09 2014 +0200 @@ -43,9 +43,12 @@ self.downButton.setIcon(UI.PixmapCache.getIcon("1downarrow.png")) self.addMenuButton.setIcon(UI.PixmapCache.getIcon( os.path.join("SelectionEncloser", "icons", "topAdd.png"))) + self.addSeparatorButton.setIcon(UI.PixmapCache.getIcon( + os.path.join("SelectionEncloser", "icons", "separatorAdd.png"))) self.editButton.setEnabled(False) self.addButton.setEnabled(False) + self.addSeparatorButton.setEnabled(False) self.deleteButton.setEnabled(False) self.upButton.setEnabled(False) self.downButton.setEnabled(False) @@ -55,8 +58,12 @@ # set initial values hierarchy = self.__plugin.getPreferences("MenuHierarchy") for menuTitle, entries in hierarchy: + if menuTitle == '--Separator--': + menuTitle = self.tr('--Separator--') top = QTreeWidgetItem(self.menuTree, [menuTitle]) for title, encString in entries: + if title == '--Separator--': + title = self.tr('--Separator--') itm = QTreeWidgetItem(top, [title]) itm.setData(0, Qt.UserRole, encString) top.setExpanded(True) @@ -68,10 +75,16 @@ hierarchy = [] for topIndex in range(self.menuTree.topLevelItemCount()): topItem = self.menuTree.topLevelItem(topIndex) - topEntry = [topItem.text(0), []] + menuTitle = topItem.text(0) + if menuTitle == self.tr('--Separator--'): + menuTitle = '--Separator--' + topEntry = [menuTitle, []] for index in range(topItem.childCount()): itm = topItem.child(index) - topEntry[1].append([itm.text(0), itm.data(0, Qt.UserRole)]) + title = itm.text(0) + if title == self.tr('--Separator--'): + title = '--Separator--' + topEntry[1].append([title, itm.data(0, Qt.UserRole)]) hierarchy.append(topEntry) self.__plugin.setPreferences("MenuHierarchy", hierarchy) @@ -102,6 +115,23 @@ itm.setData(0, Qt.UserRole, encString) @pyqtSlot() + def on_addSeparatorButton_clicked(self): + """ + Private slot to add a separator entry below the selected entry. + """ + selItm = self.menuTree.selectedItems()[0] + parent = selItm.parent() + itm = QTreeWidgetItem([self.tr('--Separator--')]) + if parent is None: + # top level item + index = self.menuTree.indexOfTopLevelItem(selItm) + 1 + self.menuTree.insertTopLevelItem(index, itm) + else: + # sub item + index = parent.indexOfChild(selItm) + 1 + parent.insertChild(index, itm) + + @pyqtSlot() def on_deleteButton_clicked(self): """ Private slot to delete the selected entry. @@ -186,6 +216,7 @@ """ if len(self.menuTree.selectedItems()) == 0: self.addButton.setEnabled(False) + self.addSeparatorButton.setEnabled(False) self.deleteButton.setEnabled(False) self.upButton.setEnabled(False) self.downButton.setEnabled(False) @@ -212,6 +243,7 @@ downEnable = False addEnable = False self.addButton.setEnabled(addEnable) + self.addSeparatorButton.setEnabled(True) self.deleteButton.setEnabled(True) self.upButton.setEnabled(upEnable) self.downButton.setEnabled(downEnable)