diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index e755e7281..2d8fc2c8e 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -1410,6 +1410,14 @@ void DolphinMainWindow::setupActions() actionCollection()->setDefaultShortcut(copyToOtherViewAction, Qt::SHIFT + Qt::Key_F5 ); connect(copyToOtherViewAction, &QAction::triggered, m_tabWidget, &DolphinTabWidget::copyToInactiveSplitView); + QAction* setUrlToOtherViewAction = actionCollection()->addAction(QStringLiteral("set_url_to_other_split_view")); + setUrlToOtherViewAction->setText(i18nc("@action:inmenu", "Sets the URL from the active view to the inactive view")); + setUrlToOtherViewAction->setWhatsThis(xi18nc("@info:whatsthis Copy", "This makes both view display the same URL. As if you had copy/pasted it manually.")); + setUrlToOtherViewAction->setIcon(QIcon::fromTheme(QStringLiteral("edit-copy"))); + setUrlToOtherViewAction->setIconText(i18nc("@action:inmenu Edit", "Sets the URL from the active view to the inactive view")); + actionCollection()->setDefaultShortcut(setUrlToOtherViewAction, Qt::SHIFT + Qt::Key_S ); + connect(setUrlToOtherViewAction, &QAction::triggered, m_tabWidget, &DolphinTabWidget::setUrlToOtherSplitView); + QAction* moveToOtherViewAction = actionCollection()->addAction(QStringLiteral("move_to_inactive_split_view")); moveToOtherViewAction->setText(i18nc("@action:inmenu", "Move to Inactive Split View")); moveToOtherViewAction->setWhatsThis(xi18nc("@info:whatsthis Move", "This moves the selected items from " diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp index 5ef39dac6..7d7b6b1ff 100644 --- a/src/dolphintabwidget.cpp +++ b/src/dolphintabwidget.cpp @@ -324,6 +324,22 @@ void DolphinTabWidget::copyToInactiveSplitView() } } +void DolphinTabWidget::setUrlToOtherSplitView() +{ + const DolphinTabPage* tabPage = tabPageAt(currentIndex()); + DolphinViewContainer* activeViewContainer = currentTabPage()->activeViewContainer(); + if (!tabPage->splitViewEnabled()) { + return; + } + + if (tabPage->primaryViewActive()) { + tabPage->secondaryViewContainer()->setUrl(activeViewContainer->view()->url()); + } else { + // copy from right panel to left + tabPage->primaryViewContainer()->setUrl(activeViewContainer->view()->url()); + } +} + void DolphinTabWidget::moveToInactiveSplitView() { const DolphinTabPage* tabPage = tabPageAt(currentIndex()); diff --git a/src/dolphintabwidget.h b/src/dolphintabwidget.h index 1eca71c5d..a9a9432ef 100644 --- a/src/dolphintabwidget.h +++ b/src/dolphintabwidget.h @@ -179,6 +179,9 @@ public slots: /** Copies all selected items to the inactive view. */ void copyToInactiveSplitView(); + /** Sets the URL from the active view to the inactive view. */ + void setUrlToOtherSplitView(); + /** Moves all selected items to the inactive view. */ void moveToInactiveSplitView(); diff --git a/src/dolphinui.rc b/src/dolphinui.rc index 46a4bac51..ec0ca97cb 100644 --- a/src/dolphinui.rc +++ b/src/dolphinui.rc @@ -31,6 +31,7 @@ +