]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
This seems to work. Though it could be better
[dolphin.git] / src / dolphinmainwindow.cpp
index 4d97fc1b13e550f638e8766832f6d779476a8d40..55577e27b5229ce00e1287ac4ef175879985b148 100644 (file)
@@ -524,6 +524,21 @@ void DolphinMainWindow::toggleSplitView()
     updateViewActions();
 }
 
+void DolphinMainWindow::toggleSplitStash()
+{
+    DolphinTabPage* tabPage = m_tabWidget->currentTabPage();
+    QAction* stashSplit = actionCollection()->action(QStringLiteral("split_stash"));
+    qDebug() << "StashSplitstate" << stashSplit->isChecked();
+    //stashSplit->setEnabled(false);
+    if (stashSplit->isChecked()) {
+        tabPage->setSplitViewEnabled(false);
+        tabPage->setSplitViewEnabled(true, QUrl("stash:/"));
+        stashSplit->setChecked(true);
+    } else {
+        tabPage->setSplitViewEnabled(false);
+    }
+}
+
 void DolphinMainWindow::reloadView()
 {
     clearStatusBar();
@@ -1040,6 +1055,14 @@ void DolphinMainWindow::setupActions()
     actionCollection()->setDefaultShortcut(split, Qt::Key_F3);
     connect(split, &QAction::triggered, this, &DolphinMainWindow::toggleSplitView);
 
+    QAction* stashSplit = actionCollection()->addAction(QStringLiteral("split_stash"));
+    actionCollection()->setDefaultShortcut(stashSplit, Qt::CTRL | Qt::Key_S);
+    stashSplit->setText(i18nc("@action:intoolbar Stash", "Stash"));
+    stashSplit->setToolTip(i18nc("@info", "Opens the stash virtual directory in a split window"));
+    stashSplit->setIcon(QIcon::fromTheme(QStringLiteral("folder-visiting")));
+    stashSplit->setCheckable(true);
+    connect(stashSplit, &QAction::triggered, this, &DolphinMainWindow::toggleSplitStash);
+
     QAction* reload = actionCollection()->addAction(QStringLiteral("reload"));
     reload->setText(i18nc("@action:inmenu View", "Reload"));
     actionCollection()->setDefaultShortcut(reload, Qt::Key_F5);
@@ -1455,6 +1478,7 @@ void DolphinMainWindow::connectViewSignals(DolphinViewContainer* container)
 void DolphinMainWindow::updateSplitAction()
 {
     QAction* splitAction = actionCollection()->action(QStringLiteral("split_view"));
+    QAction* stashSplit = actionCollection()->action(QStringLiteral("split_stash"));
     const DolphinTabPage* tabPage = m_tabWidget->currentTabPage();
     if (tabPage->splitViewEnabled()) {
         if (tabPage->primaryViewActive()) {
@@ -1470,6 +1494,7 @@ void DolphinMainWindow::updateSplitAction()
         splitAction->setText(i18nc("@action:intoolbar Split view", "Split"));
         splitAction->setToolTip(i18nc("@info", "Split view"));
         splitAction->setIcon(QIcon::fromTheme(QStringLiteral("view-right-new")));
+        stashSplit->setChecked(false);
     }
 }
 
@@ -1521,4 +1546,3 @@ void DolphinMainWindow::UndoUiInterface::jobError(KIO::Job* job)
         KIO::FileUndoManager::UiInterface::jobError(job);
     }
 }
-