diff options
| author | David Faure <[email protected]> | 2007-10-10 23:01:35 +0000 |
|---|---|---|
| committer | David Faure <[email protected]> | 2007-10-10 23:01:35 +0000 |
| commit | 8d4fb3608927960d9e45e672ce1cbe1fa3a548f9 (patch) | |
| tree | fe8691ccdb83ece1bcfc6b9beabf218b5d7607c5 /src/dolphinmainwindow.cpp | |
| parent | 3b8c3c1b1e2d05d09aca2de0b0bf922fb9530b0d (diff) | |
DolphinPart: provide a way to switch between view modes in konqueror.
Factorized those actions between dolphinmainwindow and dolphinpart (see new methods in dolphinview), and simplified mainwindow code by using the signal from the action group and the QVariant data of the actions (standard Qt4 solution for a group of actions).
svn path=/trunk/KDE/kdebase/apps/; revision=723871
Diffstat (limited to 'src/dolphinmainwindow.cpp')
| -rw-r--r-- | src/dolphinmainwindow.cpp | 50 |
1 files changed, 8 insertions, 42 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index a7cbc527a..74869e967 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -698,19 +698,11 @@ void DolphinMainWindow::invertSelection() clearStatusBar(); m_activeViewContainer->view()->invertSelection(); } -void DolphinMainWindow::setIconsView() -{ - m_activeViewContainer->view()->setMode(DolphinView::IconsView); -} -void DolphinMainWindow::setDetailsView() +void DolphinMainWindow::setViewMode(QAction* action) { - m_activeViewContainer->view()->setMode(DolphinView::DetailsView); -} - -void DolphinMainWindow::setColumnView() -{ - m_activeViewContainer->view()->setMode(DolphinView::ColumnView); + const DolphinView::Mode mode = action->data().value<DolphinView::Mode>(); + m_activeViewContainer->view()->setMode(mode); } void DolphinMainWindow::sortByName() @@ -1149,28 +1141,16 @@ void DolphinMainWindow::setupActions() SLOT(zoomOut()), actionCollection()); - KToggleAction* iconsView = actionCollection()->add<KToggleAction>("icons"); - iconsView->setText(i18nc("@action:inmenu View Mode", "Icons")); - iconsView->setShortcut(Qt::CTRL | Qt::Key_1); - iconsView->setIcon(KIcon("fileview-icon")); - connect(iconsView, SIGNAL(triggered()), this, SLOT(setIconsView())); - - KToggleAction* detailsView = actionCollection()->add<KToggleAction>("details"); - detailsView->setText(i18nc("@action:inmenu View Mode", "Details")); - detailsView->setShortcut(Qt::CTRL | Qt::Key_2); - detailsView->setIcon(KIcon("fileview-detailed")); - connect(detailsView, SIGNAL(triggered()), this, SLOT(setDetailsView())); - KToggleAction* columnView = actionCollection()->add<KToggleAction>("columns"); - columnView->setText(i18nc("@action:inmenu View Mode", "Columns")); - columnView->setShortcut(Qt::CTRL | Qt::Key_3); - columnView->setIcon(KIcon("fileview-column")); - connect(columnView, SIGNAL(triggered()), this, SLOT(setColumnView())); + KToggleAction* iconsView = DolphinView::iconsModeAction(actionCollection()); + KToggleAction* detailsView = DolphinView::detailsModeAction(actionCollection()); + KToggleAction* columnView = DolphinView::columnsModeAction(actionCollection()); QActionGroup* viewModeGroup = new QActionGroup(this); viewModeGroup->addAction(iconsView); viewModeGroup->addAction(detailsView); viewModeGroup->addAction(columnView); + connect(viewModeGroup, SIGNAL(triggered(QAction*)), this, SLOT(setViewMode(QAction*))); KToggleAction* sortByName = actionCollection()->add<KToggleAction>("sort_by_name"); sortByName->setText(i18nc("@action:inmenu Sort By", "Name")); @@ -1469,21 +1449,7 @@ void DolphinMainWindow::updateViewActions() zoomOutAction->setEnabled(view->isZoomOutPossible()); } - QAction* action = 0; - switch (view->mode()) { - case DolphinView::IconsView: - action = actionCollection()->action("icons"); - break; - case DolphinView::DetailsView: - action = actionCollection()->action("details"); - break; - case DolphinView::ColumnView: - action = actionCollection()->action("columns"); - break; - default: - break; - } - + QAction* action = actionCollection()->action(view->currentViewModeActionName()); if (action != 0) { KToggleAction* toggleAction = static_cast<KToggleAction*>(action); toggleAction->setChecked(true); |
