diff --git a/icons/NumixMsk/256x256/actions/go-right.svg b/icons/NumixMsk/256x256/actions/go-right.svg new file mode 100644 index 00000000..274841dd --- /dev/null +++ b/icons/NumixMsk/256x256/actions/go-right.svg @@ -0,0 +1,4 @@ + + + + diff --git a/icons/NumixMsk/256x256/actions/go-up.svg b/icons/NumixMsk/256x256/actions/go-up.svg new file mode 100644 index 00000000..6fbe6869 --- /dev/null +++ b/icons/NumixMsk/256x256/actions/go-up.svg @@ -0,0 +1,4 @@ + + + + diff --git a/manuskript/mainWindow.py b/manuskript/mainWindow.py index 483c726b..3ab3b18c 100644 --- a/manuskript/mainWindow.py +++ b/manuskript/mainWindow.py @@ -304,9 +304,16 @@ class MainWindow(QMainWindow, Ui_MainWindow): self.txtWorldPassion.setCurrentModelIndex(index) self.txtWorldConflict.setCurrentModelIndex(index) - # ############################################################################### - # # LOAD AND SAVE - # ############################################################################### + ############################################################################### + # EDITOR + ############################################################################### + + def openIndex(self, index): + self.treeRedacOutline.setCurrentIndex(index) + + ############################################################################### + # LOAD AND SAVE + ############################################################################### def loadProject(self, project, loadFromFile=True): """Loads the project ``project``. diff --git a/manuskript/ui/editors/mainEditor.py b/manuskript/ui/editors/mainEditor.py index fbeee882..ab5c1b60 100644 --- a/manuskript/ui/editors/mainEditor.py +++ b/manuskript/ui/editors/mainEditor.py @@ -28,6 +28,7 @@ class mainEditor(QWidget, Ui_mainEditor): # Connections -------------------------------------------------------- + self.btnGoUp.clicked.connect(self.goToParentItem) self.sldCorkSizeFactor.valueChanged.connect( self.setCorkSizeFactor, AUC) self.btnRedacFolderCork.toggled.connect( @@ -151,6 +152,11 @@ class mainEditor(QWidget, Ui_mainEditor): def openIndexes(self, indexes, newTab=False): for i in indexes: self.setCurrentModelIndex(i, newTab) + + def goToParentItem(self): + idx = self.currentEditor().currentIndex + from manuskript.functions import MW + MW.treeRedacOutline.setCurrentIndex(idx.parent()) def setCurrentModelIndex(self, index, newTab=False, tabWidget=None): diff --git a/manuskript/ui/editors/mainEditor_ui.py b/manuskript/ui/editors/mainEditor_ui.py index 2f44874b..269f0fc1 100644 --- a/manuskript/ui/editors/mainEditor_ui.py +++ b/manuskript/ui/editors/mainEditor_ui.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'manuskript/ui/editors/mainEditor_ui.ui' # -# Created: Sun Apr 10 11:19:00 2016 +# Created: Sat Oct 14 21:30:36 2017 # by: PyQt5 UI code generator 5.2.1 # # WARNING! All changes made in this file will be lost! @@ -27,6 +27,13 @@ class Ui_mainEditor(object): self.verticalLayout.addWidget(self.tabSplitter) self.horizontalLayout_19 = QtWidgets.QHBoxLayout() self.horizontalLayout_19.setObjectName("horizontalLayout_19") + self.btnGoUp = QtWidgets.QPushButton(mainEditor) + self.btnGoUp.setText("") + icon = QtGui.QIcon.fromTheme("go-up") + self.btnGoUp.setIcon(icon) + self.btnGoUp.setFlat(True) + self.btnGoUp.setObjectName("btnGoUp") + self.horizontalLayout_19.addWidget(self.btnGoUp) self.btnRedacFolderText = QtWidgets.QPushButton(mainEditor) self.btnRedacFolderText.setCheckable(True) self.btnRedacFolderText.setFlat(True) @@ -96,6 +103,8 @@ class Ui_mainEditor(object): def retranslateUi(self, mainEditor): _translate = QtCore.QCoreApplication.translate mainEditor.setWindowTitle(_translate("mainEditor", "Form")) + self.btnGoUp.setToolTip(_translate("mainEditor", "Go to parent item")) + self.btnGoUp.setShortcut(_translate("mainEditor", "Alt+Up")) self.btnRedacFolderText.setText(_translate("mainEditor", "Text")) self.btnRedacFolderCork.setText(_translate("mainEditor", "Index cards")) self.btnRedacFolderOutline.setText(_translate("mainEditor", "Outline")) diff --git a/manuskript/ui/editors/mainEditor_ui.ui b/manuskript/ui/editors/mainEditor_ui.ui index 726bad9e..68a3a68f 100644 --- a/manuskript/ui/editors/mainEditor_ui.ui +++ b/manuskript/ui/editors/mainEditor_ui.ui @@ -41,6 +41,25 @@ + + + + Go to parent item + + + + + + + + + Alt+Up + + + true + + + diff --git a/manuskript/ui/mainWindow.py b/manuskript/ui/mainWindow.py index ea6b3d2a..9c13e469 100644 --- a/manuskript/ui/mainWindow.py +++ b/manuskript/ui/mainWindow.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'manuskript/ui/mainWindow.ui' # -# Created: Sat Oct 14 20:38:54 2017 +# Created: Sat Oct 14 21:07:22 2017 # by: PyQt5 UI code generator 5.2.1 # # WARNING! All changes made in this file will be lost! @@ -1339,18 +1339,18 @@ class Ui_MainWindow(object): self.actAbout.setText(_translate("MainWindow", "&About")) self.actAbout.setToolTip(_translate("MainWindow", "About Manuskript")) -from manuskript.ui.views.basicItemView import basicItemView -from manuskript.ui.editors.mainEditor import mainEditor -from manuskript.ui.views.treeView import treeView -from manuskript.ui.views.outlineView import outlineView +from manuskript.ui.views.textEditCompleter import textEditCompleter from manuskript.ui.views.metadataView import metadataView -from manuskript.ui.views.storylineView import storylineView -from manuskript.ui.views.lineEditView import lineEditView from manuskript.ui.welcome import welcome from manuskript.ui.search import search -from manuskript.ui.views.characterTreeView import characterTreeView -from manuskript.ui.cheatSheet import cheatSheet +from manuskript.ui.views.lineEditView import lineEditView +from manuskript.ui.views.basicItemView import basicItemView +from manuskript.ui.views.outlineView import outlineView +from manuskript.ui.views.storylineView import storylineView +from manuskript.ui.views.treeView import treeView from manuskript.ui.views.textEditView import textEditView -from manuskript.ui.views.textEditCompleter import textEditCompleter +from manuskript.ui.editors.mainEditor import mainEditor from manuskript.ui.views.sldImportance import sldImportance from manuskript.ui.views.plotTreeView import plotTreeView +from manuskript.ui.cheatSheet import cheatSheet +from manuskript.ui.views.characterTreeView import characterTreeView diff --git a/manuskript/ui/views/corkView.py b/manuskript/ui/views/corkView.py index a679e1b3..c27c3cb7 100644 --- a/manuskript/ui/views/corkView.py +++ b/manuskript/ui/views/corkView.py @@ -53,7 +53,7 @@ class corkView(QListView, dndView, outlineBasics): parent = idx.parent() from manuskript.functions import MW - MW.treeRedacOutline.setCurrentIndex(parent) + MW.openIndex(parent) #self.setRootIndex(parent) else: r = QListView.mouseDoubleClickEvent(self, event) diff --git a/manuskript/ui/views/outlineBasics.py b/manuskript/ui/views/outlineBasics.py index 1a40dac3..0d014d68 100644 --- a/manuskript/ui/views/outlineBasics.py +++ b/manuskript/ui/views/outlineBasics.py @@ -38,6 +38,13 @@ class outlineBasics(QAbstractItemView): menu = QMenu(self) + # Add / remove items + self.actOpen = QAction(QIcon.fromTheme("go-right"), qApp.translate("outlineBasic", "Open Item"), menu) + self.actOpen.triggered.connect(self.openItem) + menu.addAction(self.actOpen) + + menu.addSeparator() + # Add / remove items self.actAddFolder = QAction(QIcon.fromTheme("folder-new"), qApp.translate("outlineBasics", "New Folder"), menu) self.actAddFolder.triggered.connect(self.addFolder) @@ -133,6 +140,7 @@ class outlineBasics(QAbstractItemView): self.actAddText.setEnabled(False) if len(sel) == 0: + self.actOpen.setEnabled(False) self.actCopy.setEnabled(False) self.actCut.setEnabled(False) self.actDelete.setEnabled(False) @@ -142,6 +150,11 @@ class outlineBasics(QAbstractItemView): return menu + def openItem(self): + idx = self.currentIndex() + from manuskript.functions import MW + MW.openIndex(idx) + def addFolder(self): self.addItem("folder")