From 81de19165b3c917e4a2d272e7158df40a6139a0f Mon Sep 17 00:00:00 2001 From: Olivier Keshavjee Date: Sun, 5 Nov 2017 13:49:31 +0100 Subject: [PATCH] Adds a 'Rename Item' option to context menu in the Tree view #189 --- icons/NumixMsk/16x16/actions/edit-rename.svg | 5 +++++ icons/NumixMsk/22x22/actions/edit-rename.svg | 5 +++++ icons/NumixMsk/24x24/actions/edit-rename.svg | 5 +++++ icons/NumixMsk/32x32/actions/edit-rename.svg | 5 +++++ icons/NumixMsk/48x48/actions/edit-rename.svg | 5 +++++ icons/NumixMsk/64x64/actions/edit-rename.svg | 5 +++++ manuskript/ui/views/outlineBasics.py | 20 ++++++++++++++++++-- 7 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 icons/NumixMsk/16x16/actions/edit-rename.svg create mode 100644 icons/NumixMsk/22x22/actions/edit-rename.svg create mode 100644 icons/NumixMsk/24x24/actions/edit-rename.svg create mode 100644 icons/NumixMsk/32x32/actions/edit-rename.svg create mode 100644 icons/NumixMsk/48x48/actions/edit-rename.svg create mode 100644 icons/NumixMsk/64x64/actions/edit-rename.svg diff --git a/icons/NumixMsk/16x16/actions/edit-rename.svg b/icons/NumixMsk/16x16/actions/edit-rename.svg new file mode 100644 index 00000000..ff35100b --- /dev/null +++ b/icons/NumixMsk/16x16/actions/edit-rename.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/icons/NumixMsk/22x22/actions/edit-rename.svg b/icons/NumixMsk/22x22/actions/edit-rename.svg new file mode 100644 index 00000000..77422104 --- /dev/null +++ b/icons/NumixMsk/22x22/actions/edit-rename.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/icons/NumixMsk/24x24/actions/edit-rename.svg b/icons/NumixMsk/24x24/actions/edit-rename.svg new file mode 100644 index 00000000..319f6b47 --- /dev/null +++ b/icons/NumixMsk/24x24/actions/edit-rename.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/icons/NumixMsk/32x32/actions/edit-rename.svg b/icons/NumixMsk/32x32/actions/edit-rename.svg new file mode 100644 index 00000000..e409ff80 --- /dev/null +++ b/icons/NumixMsk/32x32/actions/edit-rename.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/icons/NumixMsk/48x48/actions/edit-rename.svg b/icons/NumixMsk/48x48/actions/edit-rename.svg new file mode 100644 index 00000000..5237dd8e --- /dev/null +++ b/icons/NumixMsk/48x48/actions/edit-rename.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/icons/NumixMsk/64x64/actions/edit-rename.svg b/icons/NumixMsk/64x64/actions/edit-rename.svg new file mode 100644 index 00000000..b6e130b1 --- /dev/null +++ b/icons/NumixMsk/64x64/actions/edit-rename.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/manuskript/ui/views/outlineBasics.py b/manuskript/ui/views/outlineBasics.py index 7fc69591..8c21a8ec 100644 --- a/manuskript/ui/views/outlineBasics.py +++ b/manuskript/ui/views/outlineBasics.py @@ -39,14 +39,18 @@ class outlineBasics(QAbstractItemView): menu = QMenu(self) - # Add / remove items + # Open items self.actOpen = QAction(QIcon.fromTheme("go-right"), qApp.translate("outlineBasics", "Open Item"), menu) self.actOpen.triggered.connect(self.openItem) menu.addAction(self.actOpen) menu.addSeparator() - # Add / remove items + # Rename / add / remove items + self.actRename = QAction(QIcon.fromTheme("edit-rename"), qApp.translate("outlineBasics", "Rename"), menu) + self.actRename.triggered.connect(self.rename) + menu.addAction(self.actRename) + self.actAddFolder = QAction(QIcon.fromTheme("folder-new"), qApp.translate("outlineBasics", "New Folder"), menu) self.actAddFolder.triggered.connect(self.addFolder) menu.addAction(self.actAddFolder) @@ -184,12 +188,16 @@ class outlineBasics(QAbstractItemView): self.actOpen.setEnabled(False) self.actCopy.setEnabled(False) self.actCut.setEnabled(False) + self.actRename.setEnabled(False) self.actDelete.setEnabled(False) self.menuPOV.setEnabled(False) self.menuStatus.setEnabled(False) self.menuLabel.setEnabled(False) self.menuCustomIcons.setEnabled(False) + if len(sel) > 1: + self.actRename.setEnabled(False) + return menu def openItem(self): @@ -197,6 +205,14 @@ class outlineBasics(QAbstractItemView): from manuskript.functions import MW MW.openIndex(idx) + def rename(self): + if len(self.getSelection()) == 1: + index = self.currentIndex() + self.edit(index) + elif len(self.getSelection()) > 1: + # FIXME: add smart rename + pass + def addFolder(self): self.addItem("folder")