1
0
mirror of https://invent.kde.org/system/dolphin synced 2024-07-04 17:30:55 +00:00

Move popout action into split action dropdown

This commit is contained in:
Loren Burkholder 2023-04-07 10:59:05 -04:00
parent 20dafcb101
commit 31fc08fe7f
3 changed files with 25 additions and 21 deletions

View File

@ -118,6 +118,7 @@ DolphinMainWindow::DolphinMainWindow()
, m_sessionSaveTimer(nullptr)
, m_sessionSaveWatcher(nullptr)
, m_sessionSaveScheduled(false)
, m_splitViewAction(nullptr)
{
Q_INIT_RESOURCE(dolphin);
@ -1830,14 +1831,15 @@ void DolphinMainWindow::setupActions()
// setup 'View' menu
// (note that most of it is set up in DolphinViewActionHandler)
QAction *split = actionCollection()->addAction(QStringLiteral("split_view"));
split->setWhatsThis(xi18nc("@info:whatsthis find",
"<para>This splits "
"the folder view below into two autonomous views.</para><para>This "
"way you can see two locations at once and move items between them "
"quickly.</para>Click this again afterwards to recombine the views."));
actionCollection()->setDefaultShortcut(split, Qt::Key_F3);
connect(split, &QAction::triggered, this, &DolphinMainWindow::toggleSplitView);
m_splitViewAction = actionCollection()->add<KActionMenu>(QStringLiteral("split_view"));
m_splitViewAction->setWhatsThis(xi18nc("@info:whatsthis find",
"<para>This splits "
"the folder view below into two autonomous views.</para><para>This "
"way you can see two locations at once and move items between them "
"quickly.</para>Click this again afterwards to recombine the views."));
m_splitViewAction->setPopupMode(QToolButton::MenuButtonPopup);
actionCollection()->setDefaultShortcut(m_splitViewAction, Qt::Key_F3);
connect(m_splitViewAction, &QAction::triggered, this, &DolphinMainWindow::toggleSplitView);
QAction *popoutSplit = actionCollection()->addAction(QStringLiteral("popout_split_view"));
popoutSplit->setWhatsThis(xi18nc("@info:whatsthis",
@ -1845,6 +1847,7 @@ void DolphinMainWindow::setupActions()
"view out into a new window."));
popoutSplit->setIcon(QIcon::fromTheme(QStringLiteral("window-new")));
actionCollection()->setDefaultShortcut(popoutSplit, Qt::SHIFT | Qt::Key_F3);
m_splitViewAction->addAction(popoutSplit);
connect(popoutSplit, &QAction::triggered, this, &DolphinMainWindow::popoutSplitView);
QAction *stashSplit = actionCollection()->addAction(QStringLiteral("split_stash"));
@ -2525,29 +2528,29 @@ void DolphinMainWindow::connectViewSignals(DolphinViewContainer *container)
void DolphinMainWindow::updateSplitActions()
{
QAction *splitAction = actionCollection()->action(QStringLiteral("split_view"));
QAction *popoutSplitAction = actionCollection()->action(QStringLiteral("popout_split_view"));
const DolphinTabPage *tabPage = m_tabWidget->currentTabPage();
if (tabPage->splitViewEnabled()) {
if (GeneralSettings::closeActiveSplitView() ? tabPage->primaryViewActive() : !tabPage->primaryViewActive()) {
splitAction->setText(i18nc("@action:intoolbar Close left view", "Close"));
splitAction->setToolTip(i18nc("@info", "Close left view"));
splitAction->setIcon(QIcon::fromTheme(QStringLiteral("view-left-close")));
m_splitViewAction->setText(i18nc("@action:intoolbar Close left view", "Close"));
m_splitViewAction->setToolTip(i18nc("@info", "Close left view"));
m_splitViewAction->setIcon(QIcon::fromTheme(QStringLiteral("view-left-close")));
popoutSplitAction->setText(i18nc("@action:intoolbar Move left split view to a new window", "Pop out"));
popoutSplitAction->setToolTip(i18nc("@info", "Move left split view to a new window"));
} else {
splitAction->setText(i18nc("@action:intoolbar Close right view", "Close"));
splitAction->setToolTip(i18nc("@info", "Close right view"));
splitAction->setIcon(QIcon::fromTheme(QStringLiteral("view-right-close")));
m_splitViewAction->setText(i18nc("@action:intoolbar Close right view", "Close"));
m_splitViewAction->setToolTip(i18nc("@info", "Close right view"));
m_splitViewAction->setIcon(QIcon::fromTheme(QStringLiteral("view-right-close")));
popoutSplitAction->setText(i18nc("@action:intoolbar Move right split view to a new window", "Pop out"));
popoutSplitAction->setToolTip(i18nc("@info", "Move right split view to a new window"));
}
popoutSplitAction->setVisible(true);
popoutSplitAction->setEnabled(true);
} else {
splitAction->setText(i18nc("@action:intoolbar Split view", "Split"));
splitAction->setToolTip(i18nc("@info", "Split view"));
splitAction->setIcon(QIcon::fromTheme(QStringLiteral("view-right-new")));
popoutSplitAction->setVisible(false);
m_splitViewAction->setText(i18nc("@action:intoolbar Split view", "Split"));
m_splitViewAction->setToolTip(i18nc("@info", "Split view"));
m_splitViewAction->setIcon(QIcon::fromTheme(QStringLiteral("view-right-new")));
popoutSplitAction->setText(i18nc("@action:intoolbar Move active split view to a new window", "Pop out"));
popoutSplitAction->setEnabled(false);
}
}

View File

@ -12,6 +12,7 @@
#include "config-dolphin.h"
#include "dolphintabwidget.h"
#include "selectionmode/bottombar.h"
#include <KActionMenu>
#include <KFileItemActions>
#include <kio/fileundomanager.h>
#include <kxmlguiwindow.h>
@ -735,6 +736,7 @@ private:
KToolBarPopupAction *m_backAction;
KToolBarPopupAction *m_forwardAction;
KActionMenu *m_splitViewAction;
QMenu m_searchTools;
KFileItemActions m_fileItemActions;

View File

@ -112,7 +112,6 @@
<Action name="details" />
<Action name="url_navigators" />
<Action name="split_view" />
<Action name="popout_split_view" />
<Action name="split_stash" />
<Action name="toggle_search" />
<Action name="hamburger_menu" />