Sophie

Sophie

distrib > Mageia > 2 > i586 > by-pkgid > 90728549cabd873c5d4f46286c03f734 > files > 1

kdebase4-4.8.5-1.1.mga2.src.rpm

Index: apps/dolphin/src/dolphincontextmenu.cpp
===================================================================
--- apps/dolphin/src/dolphincontextmenu.cpp (revision 1123572)
+++ apps/dolphin/src/dolphincontextmenu.cpp (working copy)
@@ -52,6 +52,9 @@
 #include <QtGui/QClipboard>
 #include <QtCore/QDir>
 
+#include <nepomuk/annotationmenu.h>
+
+
 DolphinContextMenu::DolphinContextMenu(DolphinMainWindow* parent,
                                        const KFileItem& fileInfo,
                                        const KUrl& baseUrl) :
@@ -234,6 +237,12 @@
         popup->addSeparator();
     }
 
+    // insert 'Annotation' sub menu
+    if ( !m_selectedItems.isEmpty() ) {
+        popup->addAction(m_mainWindow->actionCollection()->action("nepomuk_annotate"));
+        popup->addSeparator();
+    }
+
     // insert version control actions
     addVersionControlActions(popup);
 
Index: apps/dolphin/src/dolphinmainwindow.cpp
===================================================================
--- apps/dolphin/src/dolphinmainwindow.cpp  (revision 1123572)
+++ apps/dolphin/src/dolphinmainwindow.cpp  (working copy)
@@ -90,6 +90,9 @@
 #include <QDockWidget>
 #include <kacceleratormanager.h>
 
+#include <nepomuk/annotationmenu.h>
+#include <nepomuk/resource.h>
+
 /*
  * Remembers the tab configuration if a tab has been closed.
  * Each closed tab can be restored by the menu
@@ -1105,6 +1108,17 @@
 #endif
 }
 
+void DolphinMainWindow::annotationMenuAboutToBeConstructed(Nepomuk::AnnotationMenu* menu)
+{
+    QList<Nepomuk::Resource> resources;
+    Q_FOREACH( const KFileItem& item, m_activeViewContainer->view()->selectedItems() ) {
+        KUrl uri = item.nepomukUri();
+        if ( uri.isValid() )
+            resources << uri;
+    }
+    menu->setResources( resources );
+}
+
 void DolphinMainWindow::init()
 {
     DolphinSettings& settings = DolphinSettings::instance();
@@ -1438,6 +1452,18 @@
     search->setText(i18nc("@action:inmenu", "Search Bar"));
     search->setDefaultWidget(m_searchBox);
     search->setShortcutConfigurable(false);
+
+    // Nepomuk Annotate action
+    Nepomuk::AnnotationMenu* annotationSubMenu = new Nepomuk::AnnotationMenu(this);
+    annotationSubMenu->setConfigurationFlags( annotationSubMenu->configurationFlags() | Nepomuk::AnnotationMenu::UseSubMenus );
+    connect( annotationSubMenu, SIGNAL(aboutToBeConstructed(Nepomuk::AnnotationMenu*)),
+             this, SLOT(annotationMenuAboutToBeConstructed(Nepomuk::AnnotationMenu*)));
+    KActionMenu* annotationAction = new KActionMenu(this);
+    annotationAction->setText(i18nc("@title:menu Annotate files using Nepomuk", "Annotate"));
+    annotationAction->setIcon(KIcon("nepomuk"));
+    annotationAction->setMenu(annotationSubMenu);
+    annotationAction->setDelayed(false);
+    actionCollection()->addAction("nepomuk_annotate", annotationAction);
 }
 
 void DolphinMainWindow::setupDockWidgets()
Index: apps/dolphin/src/dolphinui.rc
===================================================================
--- apps/dolphin/src/dolphinui.rc   (revision 1123572)
+++ apps/dolphin/src/dolphinui.rc   (working copy)
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui name="dolphin" version="12">
+<kpartgui name="dolphin" version="13">
     <MenuBar>
         <Menu name="file">
             <Action name="create_new" />
@@ -105,6 +105,7 @@
             <Action name="move_to_trash" />
             <Action name="delete" />
             <Action name="invert_selection" />
+            <Action name="nepomuk_annotate" />
         </enable>
     </State>
     <State name="has_no_selection" >
@@ -116,6 +117,7 @@
             <Action name="delete" />
             <Action name="delete_shortcut" />
             <Action name="invert_selection" />
+            <Action name="nepomuk_annotate" />
         </disable>
     </State>
     <ToolBar noMerge="1" name="mainToolBar" >
@@ -129,6 +131,8 @@
         <Separator name="separator_0" />
         <Action name="show_preview" />
         <Action name="split_view" />
+        <Separator />
+        <Action name="nepomuk_annotate" />
     </ToolBar>
     <ToolBar iconText="icononly" name="searchToolBar" newline="false">
         <text context="@title:menu">Search Toolbar</text>
Index: apps/dolphin/src/dolphinmainwindow.h
===================================================================
--- apps/dolphin/src/dolphinmainwindow.h    (revision 1123572)
+++ apps/dolphin/src/dolphinmainwindow.h    (working copy)
@@ -50,7 +50,9 @@
 class KUrl;
 class QSplitter;
 class KJob;
-
+namespace Nepomuk {
+    class AnnotationMenu;
+}
 /**
  * @short Main window for Dolphin.
  *
@@ -436,6 +438,8 @@
      */
     void slotCaptionStatFinished(KJob* job);
 
+    void annotationMenuAboutToBeConstructed(Nepomuk::AnnotationMenu*);
+
 private:
     DolphinMainWindow(int id);
     void init();
Index: apps/dolphin/src/CMakeLists.txt
===================================================================
--- apps/dolphin/src/CMakeLists.txt (revision 1123572)
+++ apps/dolphin/src/CMakeLists.txt (working copy)
@@ -218,6 +218,7 @@
         ${NEPOMUK_LIBRARIES}
         ${SOPRANO_LIBRARIES}
         ${NEPOMUK_QUERY_LIBRARIES}
+        nepomukannotation
     )
 endif (Nepomuk_FOUND)