┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinmainwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dolphinmainwindow.cpp')
-rw-r--r--src/dolphinmainwindow.cpp75
1 files changed, 62 insertions, 13 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 72ed98f77..9e25f94e8 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -1117,7 +1117,21 @@ void DolphinMainWindow::popoutSplitView()
DolphinTabPage *tabPage = m_tabWidget->currentTabPage();
if (!tabPage->splitViewEnabled())
return;
- openNewWindow((GeneralSettings::closeActiveSplitView() ? tabPage->activeViewContainer() : tabPage->inactiveViewContainer())->url());
+ using Choice = GeneralSettings::EnumCloseSplitViewChoice;
+ switch (GeneralSettings::closeSplitViewChoice()) {
+ case Choice::ActiveView:
+ openNewWindow(tabPage->activeViewContainer()->url());
+ break;
+ case Choice::InactiveView:
+ openNewWindow(tabPage->inactiveViewContainer()->url());
+ break;
+ case Choice::RightView:
+ openNewWindow(tabPage->secondaryViewContainer()->url());
+ break;
+ default:
+ Q_UNREACHABLE();
+ }
+
tabPage->setSplitViewEnabled(false, WithAnimation);
updateSplitActions();
}
@@ -2805,22 +2819,57 @@ void DolphinMainWindow::updateSplitActions()
const DolphinTabPage *tabPage = m_tabWidget->currentTabPage();
if (tabPage->splitViewEnabled()) {
- if (GeneralSettings::closeActiveSplitView() ? tabPage->primaryViewActive() : !tabPage->primaryViewActive()) {
- 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")));
- m_splitViewMenuAction->setText(i18nc("@action:inmenu Close left view", "Close Left View"));
+ using Choice = GeneralSettings::EnumCloseSplitViewChoice;
+ switch (GeneralSettings::closeSplitViewChoice()) {
+ case Choice::ActiveView:
+ if (tabPage->primaryViewActive()) {
+ m_splitViewAction->setText(i18nc("@action:intoolbar Close left view", "Close"));
+ m_splitViewAction->setToolTip(i18nc("@info View refer here to split view", "Close Left View"));
+ m_splitViewAction->setIcon(QIcon::fromTheme(QStringLiteral("view-left-close")));
+ m_splitViewMenuAction->setText(i18nc("@action:inmenu View refer here to split view", "Close Left View"));
- popoutSplitAction->setText(i18nc("@action:intoolbar Move left view to a new window", "Pop out Left View"));
- popoutSplitAction->setToolTip(i18nc("@info", "Move left view to a new window"));
- } else {
+ popoutSplitAction->setText(i18nc("@action:intoolbar Move left split view to a new window", "Pop out Left View"));
+ popoutSplitAction->setToolTip(i18nc("@info View refer here to split view", "Move left split view to a new window"));
+ } else {
+ m_splitViewAction->setText(i18nc("@action:intoolbar Close right view", "Close"));
+ m_splitViewAction->setToolTip(i18nc("@info View refer here to split view", "Close Right View"));
+ m_splitViewAction->setIcon(QIcon::fromTheme(QStringLiteral("view-right-close")));
+ m_splitViewMenuAction->setText(i18nc("@action:inmenu View refer here to split view", "Close Right View"));
+
+ popoutSplitAction->setText(i18nc("@action:intoolbar Move right split view to a new window", "Pop out Right View"));
+ popoutSplitAction->setToolTip(i18nc("@info View refer here to split view", "Move right split view to a new window"));
+ }
+ break;
+ case Choice::InactiveView:
+ if (!tabPage->primaryViewActive()) {
+ m_splitViewAction->setText(i18nc("@action:intoolbar Close left view", "Close"));
+ m_splitViewAction->setToolTip(i18nc("@info View refer here to split view", "Close Left View"));
+ m_splitViewAction->setIcon(QIcon::fromTheme(QStringLiteral("view-left-close")));
+ m_splitViewMenuAction->setText(i18nc("@action:inmenu View refer here to split view", "Close Left View"));
+
+ popoutSplitAction->setText(i18nc("@action:intoolbar Move left split view to a new window", "Pop out Left View"));
+ popoutSplitAction->setToolTip(i18nc("@info View refer here to split view", "Move left split view to a new window"));
+ } else {
+ m_splitViewAction->setText(i18nc("@action:intoolbar Close right view", "Close"));
+ m_splitViewAction->setToolTip(i18nc("@info View refer here to split view", "Close Right View"));
+ m_splitViewAction->setIcon(QIcon::fromTheme(QStringLiteral("view-right-close")));
+ m_splitViewMenuAction->setText(i18nc("@action:inmenu View refer here to split view", "Close Right View"));
+
+ popoutSplitAction->setText(i18nc("@action:intoolbar Move right split view to a new window", "Pop out Right View"));
+ popoutSplitAction->setToolTip(i18nc("@info View refer here to split view", "Move right split view to a new window"));
+ }
+ break;
+ case Choice::RightView:
m_splitViewAction->setText(i18nc("@action:intoolbar Close right view", "Close"));
- m_splitViewAction->setToolTip(i18nc("@info", "Close right view"));
+ m_splitViewAction->setToolTip(i18nc("@info View refer here to split view", "Close Right View"));
m_splitViewAction->setIcon(QIcon::fromTheme(QStringLiteral("view-right-close")));
- m_splitViewMenuAction->setText(i18nc("@action:inmenu Close left view", "Close Right View"));
+ m_splitViewMenuAction->setText(i18nc("@action:inmenu View refer here to split view", "Close Right View"));
- popoutSplitAction->setText(i18nc("@action:intoolbar Move right view to a new window", "Pop out Right View"));
- popoutSplitAction->setToolTip(i18nc("@info", "Move right view to a new window"));
+ popoutSplitAction->setText(i18nc("@action:intoolbar Move right split view to a new window", "Pop out Right View"));
+ popoutSplitAction->setToolTip(i18nc("@info View refer here to split view", "Move right split view to a new window"));
+ break;
+ default:
+ Q_UNREACHABLE();
}
popoutSplitAction->setEnabled(true);
if (!m_splitViewAction->menu()) {