X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d79282c14cc49fc774dbcccfcb6bdfedcac03870..1304e17f34915b032dd75984a32e9589d6bfbc87:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 0accdfcaa..7fec6908d 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,16 @@ void DolphinMainWindow::sortByType() m_activeViewContainer->view()->setSorting(DolphinView::SortByType); } +void DolphinMainWindow::sortByRating() +{ + m_activeViewContainer->view()->setSorting(DolphinView::SortByRating); +} + +void DolphinMainWindow::sortByTags() +{ + m_activeViewContainer->view()->setSorting(DolphinView::SortByTags); +} + void DolphinMainWindow::toggleSortOrder() { DolphinView* view = m_activeViewContainer->view(); @@ -769,9 +788,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 +992,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 +1015,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 +1034,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 +1176,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 +1204,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"));