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