From 19dadee2cfd4471d795b2b72ac0541124aa505ce Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sun, 3 Jun 2007 14:07:45 +0000 Subject: [PATCH] also toggle the text between "Split" and "Join" for the split action svn path=/trunk/KDE/kdebase/apps/; revision=671018 --- src/dolphinmainwindow.cpp | 32 +++++++++++++++----------------- src/dolphinmainwindow.h | 8 ++++++++ 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 66794e3a4..f00641681 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -986,16 +986,7 @@ void DolphinMainWindow::init() void DolphinMainWindow::loadSettings() { GeneralSettings* settings = DolphinSettings::instance().generalSettings(); - - KToggleAction* splitAction = static_cast(actionCollection()->action("split_view")); - const bool isSplit = settings->splitView(); - if (isSplit) { - splitAction->setChecked(true); - toggleSplitView(); - } - const KIcon splitIcon(isSplit ? "fileview-join" : "fileview-split"); - splitAction->setIcon(splitIcon); - + updateSplitAction(settings->splitView()); updateViewActions(); } @@ -1168,9 +1159,8 @@ void DolphinMainWindow::setupActions() connect(showHiddenFiles, SIGNAL(triggered()), this, SLOT(toggleShowHiddenFiles())); KToggleAction* split = actionCollection()->add("split_view"); - split->setText(i18n("Split")); split->setShortcut(Qt::Key_F10); - split->setIcon(KIcon("fileview-split")); + updateSplitAction(false); connect(split, SIGNAL(triggered()), this, SLOT(toggleSplitView())); QAction* reload = actionCollection()->addAction("reload"); @@ -1405,11 +1395,7 @@ void DolphinMainWindow::updateViewActions() static_cast(actionCollection()->action("show_hidden_files")); showHiddenFilesAction->setChecked(m_activeView->showHiddenFiles()); - KToggleAction* splitAction = static_cast(actionCollection()->action("split_view")); - const bool isSplit = (m_view[SecondaryIdx] != 0); - splitAction->setChecked(isSplit); - const KIcon splitIcon(isSplit ? "fileview-join" : "fileview-split"); - splitAction->setIcon(splitIcon); + updateSplitAction(m_view[SecondaryIdx] != 0); KToggleAction* editableLocactionAction = static_cast(actionCollection()->action("editable_location")); @@ -1479,6 +1465,18 @@ void DolphinMainWindow::connectViewSignals(int viewIndex) this, SLOT(slotHistoryChanged())); } +void DolphinMainWindow::updateSplitAction(bool isSplit) +{ + KToggleAction* splitAction = static_cast(actionCollection()->action("split_view")); + if (isSplit) { + splitAction->setText(i18n("Join")); + splitAction->setIcon(KIcon("fileview-join")); + } else { + splitAction->setText(i18n("Split")); + splitAction->setIcon(KIcon("fileview-split")); + } +} + DolphinMainWindow::UndoUiInterface::UndoUiInterface(DolphinMainWindow* mainWin) : KonqUndoManager::UiInterface(mainWin), m_mainWin(mainWin) diff --git a/src/dolphinmainwindow.h b/src/dolphinmainwindow.h index 8d44a1086..6838b61b0 100644 --- a/src/dolphinmainwindow.h +++ b/src/dolphinmainwindow.h @@ -431,6 +431,14 @@ private: */ void connectViewSignals(int viewIndex); + /** + * Updates the text of the split action: + * If \a isSplit is true, the text is set to "Split", + * otherwise the text is set to "Join". The icon + * is updated to match with the text. + */ + void updateSplitAction(bool isSplit); + private: /** * DolphinMainWindowsupports only one or two views, which -- 2.47.3