X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d79282c14cc49fc774dbcccfcb6bdfedcac03870..0abbaf9e11d166da461bb33bc6abeb5ddfb5fa2c:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 0accdfcaa..bfde4da66 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -21,7 +21,7 @@ #include "dolphinmainwindow.h" -#include "config-nepomuk.h" +#include #include "dolphinapplication.h" #include "dolphinnewmenu.h" @@ -292,6 +292,15 @@ void DolphinMainWindow::slotSortingChanged(DolphinView::Sorting sorting) break; case DolphinView::SortByType: action = actionCollection()->action("by_type"); + break; +#ifdef HAVE_NEPOMUK + case DolphinView::SortByRating: + action = actionCollection()->action("by_rating"); + break; + case DolphinView::SortByTags: + action = actionCollection()->action("by_tags"); + break; +#endif default: break; } @@ -722,6 +731,20 @@ void DolphinMainWindow::sortByType() m_activeViewContainer->view()->setSorting(DolphinView::SortByType); } +void DolphinMainWindow::sortByRating() +{ +#ifdef HAVE_NEPOMUK + m_activeViewContainer->view()->setSorting(DolphinView::SortByRating); +#endif +} + +void DolphinMainWindow::sortByTags() +{ +#ifdef HAVE_NEPOMUK + m_activeViewContainer->view()->setSorting(DolphinView::SortByTags); +#endif +} + void DolphinMainWindow::toggleSortOrder() { DolphinView* view = m_activeViewContainer->view(); @@ -769,9 +792,7 @@ void DolphinMainWindow::toggleSplitView() const DolphinView* view = m_viewContainer[PrimaryView]->view(); m_viewContainer[SecondaryView] = new DolphinViewContainer(this, 0, - view->rootUrl(), - view->mode(), - view->showHiddenFiles()); + view->rootUrl()); connectViewSignals(SecondaryView); m_splitter->addWidget(m_viewContainer[SecondaryView]); m_splitter->setSizes(QList() << newWidth << newWidth); @@ -975,10 +996,8 @@ void DolphinMainWindow::init() setCaption(homeUrl.fileName()); ViewProperties props(homeUrl); m_viewContainer[PrimaryView] = new DolphinViewContainer(this, - m_splitter, - homeUrl, - props.viewMode(), - props.showHiddenFiles()); + m_splitter, + homeUrl); m_activeViewContainer = m_viewContainer[PrimaryView]; connectViewSignals(PrimaryView); @@ -1000,7 +1019,12 @@ void DolphinMainWindow::init() updatePasteAction(); updateGoActions(); - loadSettings(); + const bool split = generalSettings->splitView(); + if (split) { + toggleSplitView(); + } + updateSplitAction(split); + updateViewActions(); if (firstRun) { // assure a proper default size if Dolphin runs the first time @@ -1014,13 +1038,6 @@ void DolphinMainWindow::init() emit urlChanged(homeUrl); } -void DolphinMainWindow::loadSettings() -{ - GeneralSettings* settings = DolphinSettings::instance().generalSettings(); - updateSplitAction(settings->splitView()); - updateViewActions(); -} - void DolphinMainWindow::setActiveViewContainer(DolphinViewContainer* view) { Q_ASSERT((view == m_viewContainer[PrimaryView]) || (view == m_viewContainer[SecondaryView])); @@ -1163,6 +1180,26 @@ void DolphinMainWindow::setupActions() sortByType->setText(i18n("By Type")); connect(sortByType, SIGNAL(triggered()), this, SLOT(sortByType())); + KToggleAction* sortByRating = actionCollection()->add("by_rating"); + sortByRating->setText(i18n("By Rating")); + + KToggleAction* sortByTags = actionCollection()->add("by_tags"); + sortByTags->setText(i18n("By Tags")); + +#ifdef HAVE_NEPOMUK + if (MetaDataWidget::metaDataAvailable()) { + connect(sortByRating, SIGNAL(triggered()), this, SLOT(sortByRating())); + connect(sortByTags, SIGNAL(triggered()), this, SLOT(sortByTags())); + } + else { + sortByRating->setEnabled(false); + sortByTags->setEnabled(false); + } +#else + sortByRating->setEnabled(false); + sortByTags->setEnabled(false); +#endif + QActionGroup* sortGroup = new QActionGroup(this); sortGroup->addAction(sortByName); sortGroup->addAction(sortBySize); @@ -1171,6 +1208,8 @@ void DolphinMainWindow::setupActions() sortGroup->addAction(sortByOwner); sortGroup->addAction(sortByGroup); sortGroup->addAction(sortByType); + sortGroup->addAction(sortByRating); + sortGroup->addAction(sortByTags); KToggleAction* sortDescending = actionCollection()->add("descending"); sortDescending->setText(i18n("Descending"));