]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
Fix build issues if Nepomuk is not available
[dolphin.git] / src / dolphinmainwindow.cpp
index e3f3a4d10483bd458f3c744484bdc2fe7e210a22..efae23d6e092e69fe96ba65be8edbdf305c41e9b 100644 (file)
@@ -28,6 +28,7 @@
 #include "dolphinnewfilemenu.h"
 #include "dolphinviewcontainer.h"
 #include "mainwindowadaptor.h"
+#include "panels/facets/facetpanel.h"
 #include "panels/folders/folderspanel.h"
 #include "panels/places/placespanel.h"
 #include "panels/information/informationpanel.h"
@@ -919,7 +920,7 @@ void DolphinMainWindow::compareFiles()
     case 0: {
         Q_ASSERT(m_viewTab[m_tabIndex].secondaryView != 0);
         items = m_viewTab[m_tabIndex].secondaryView->view()->selectedItems();
-        Q_ASSERT(urls.count() == 2);
+        Q_ASSERT(items.count() == 2);
         urlA = items[0].url();
         urlB = items[1].url();
         break;
@@ -1193,9 +1194,9 @@ void DolphinMainWindow::openContextMenu(const KFileItem& item,
                                         const KUrl& url,
                                         const QList<QAction*>& customActions)
 {
-    DolphinContextMenu contextMenu(this, item, url);
-    contextMenu.setCustomActions(customActions);
-    const DolphinContextMenu::Command command = contextMenu.open();
+    QPointer<DolphinContextMenu> contextMenu = new DolphinContextMenu(this, item, url);
+    contextMenu->setCustomActions(customActions);
+    const DolphinContextMenu::Command command = contextMenu->open();
 
     switch (command) {
     case DolphinContextMenu::OpenParentFolderInNewWindow: {
@@ -1213,6 +1214,8 @@ void DolphinMainWindow::openContextMenu(const KFileItem& item,
     default:
         break;
     }
+
+    delete contextMenu;
 }
 
 void DolphinMainWindow::init()
@@ -1560,6 +1563,22 @@ void DolphinMainWindow::setupDockWidgets()
     connect(foldersPanel, SIGNAL(changeUrl(KUrl, Qt::MouseButtons)),
             this, SLOT(handlePlacesClick(KUrl, Qt::MouseButtons)));
 
+    // setup "Facets"
+#ifdef HAVE_NEPOMUK
+   QDockWidget* facetDock = new QDockWidget(i18nc("@title:window", "Filter"));
+   facetDock->setObjectName("facetDock");
+   facetDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
+   Panel* facetPanel = new FacetPanel(facetDock);
+   connect(facetPanel, SIGNAL(urlActivated(KUrl)), this, SLOT(handleUrl(KUrl)));
+   facetDock->setWidget(facetPanel);
+
+   QAction* facetAction = facetDock->toggleViewAction();
+   facetAction->setIcon(KIcon("dialog-facet"));
+   addDockWidget(Qt::RightDockWidgetArea, facetDock);
+   connect(this, SIGNAL(urlChanged(KUrl)),
+           facetPanel, SLOT(setUrl(KUrl)));
+#endif
+
     // setup "Terminal"
 #ifndef Q_OS_WIN
     QDockWidget* terminalDock = new QDockWidget(i18nc("@title:window Shell terminal", "Terminal"));
@@ -1614,6 +1633,9 @@ void DolphinMainWindow::setupDockWidgets()
     panelsMenu->addAction(placesAction);
     panelsMenu->addAction(infoAction);
     panelsMenu->addAction(foldersAction);
+#ifdef HAVE_NEPOMUK
+    panelsMenu->addAction(facetAction);
+#endif
 #ifndef Q_OS_WIN
     panelsMenu->addAction(terminalAction);
 #endif