X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/5926d0fddd94d25a5546eee82a6dd8f072196b83..0abbaf9e11d166da461bb33bc6abeb5ddfb5fa2c:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 386e99944..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(); @@ -996,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 @@ -1010,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])); @@ -1159,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); @@ -1167,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"));