Disable the filter-dock if Nepomuk is not active.

svn path=/trunk/KDE/kdebase/apps/; revision=1193611
This commit is contained in:
Peter Penz 2010-11-06 14:33:23 +00:00
parent 22b050a1d0
commit 369eb4117d
2 changed files with 8 additions and 4 deletions

View file

@ -30,6 +30,7 @@
#include "mainwindowadaptor.h" #include "mainwindowadaptor.h"
#ifdef HAVE_NEPOMUK #ifdef HAVE_NEPOMUK
#include "panels/filter/filterpanel.h" #include "panels/filter/filterpanel.h"
#include <nepomuk/resourcemanager.h>
#endif #endif
#include "panels/folders/folderspanel.h" #include "panels/folders/folderspanel.h"
#include "panels/places/placespanel.h" #include "panels/places/placespanel.h"
@ -1218,7 +1219,7 @@ void DolphinMainWindow::slotWriteStateChanged(bool isFolderWritable)
void DolphinMainWindow::slotSearchModeChanged(bool enabled) void DolphinMainWindow::slotSearchModeChanged(bool enabled)
{ {
QDockWidget* filterDock = findChild<QDockWidget*>("filterDock"); QDockWidget* filterDock = findChild<QDockWidget*>("filterDock");
if (filterDock == 0) { if ((filterDock == 0) || !filterDock->isEnabled()) {
return; return;
} }
@ -1629,9 +1630,11 @@ void DolphinMainWindow::setupDockWidgets()
// setup "Filter" // setup "Filter"
#ifdef HAVE_NEPOMUK #ifdef HAVE_NEPOMUK
const bool nepomukActivated = (Nepomuk::ResourceManager::instance()->init() == 0);
QDockWidget* filterDock = new QDockWidget(i18nc("@title:window", "Filter")); QDockWidget* filterDock = new QDockWidget(i18nc("@title:window", "Filter"));
filterDock->setObjectName("filterDock"); filterDock->setObjectName("filterDock");
filterDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); filterDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
filterDock->setEnabled(nepomukActivated);
Panel* filterPanel = new FilterPanel(filterDock); Panel* filterPanel = new FilterPanel(filterDock);
connect(filterPanel, SIGNAL(urlActivated(KUrl)), this, SLOT(handleUrl(KUrl))); connect(filterPanel, SIGNAL(urlActivated(KUrl)), this, SLOT(handleUrl(KUrl)));
filterDock->setWidget(filterPanel); filterDock->setWidget(filterPanel);
@ -1639,9 +1642,10 @@ void DolphinMainWindow::setupDockWidgets()
QAction* filterAction = filterDock->toggleViewAction(); QAction* filterAction = filterDock->toggleViewAction();
filterAction->setShortcut(Qt::Key_F12); filterAction->setShortcut(Qt::Key_F12);
filterAction->setIcon(KIcon("view-filter")); filterAction->setIcon(KIcon("view-filter"));
filterAction->setEnabled(nepomukActivated);
addDockWidget(Qt::RightDockWidgetArea, filterDock); addDockWidget(Qt::RightDockWidgetArea, filterDock);
connect(this, SIGNAL(urlChanged(KUrl)), connect(this, SIGNAL(urlChanged(KUrl)),
filterPanel, SLOT(setUrl(KUrl))); filterPanel, SLOT(setUrl(KUrl)));
#endif #endif
const bool firstRun = DolphinSettings::instance().generalSettings()->firstRun(); const bool firstRun = DolphinSettings::instance().generalSettings()->firstRun();

View file

@ -80,7 +80,7 @@ QString DolphinSearchBox::text() const
void DolphinSearchBox::setSearchPath(const KUrl& url) void DolphinSearchBox::setSearchPath(const KUrl& url)
{ {
m_searchPath = url; m_searchPath = url;
m_filterButton->setVisible(isSearchPathIndexed()); m_filterButton->setVisible(m_nepomukActivated && isSearchPathIndexed());
} }
KUrl DolphinSearchBox::searchPath() const KUrl DolphinSearchBox::searchPath() const
@ -91,7 +91,7 @@ KUrl DolphinSearchBox::searchPath() const
KUrl DolphinSearchBox::urlForSearching() const KUrl DolphinSearchBox::urlForSearching() const
{ {
KUrl url; KUrl url;
if (isSearchPathIndexed()) { if (m_nepomukActivated && isSearchPathIndexed()) {
url = nepomukUrlForSearching(); url = nepomukUrlForSearching();
} else { } else {
url = m_searchPath; url = m_searchPath;