[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/kicker/ui
From:       Stephan Binner <binner () kde ! org>
Date:       2004-11-07 17:02:14
Message-ID: 20041107170214.B7F5F16DC0 () office ! kde ! org
[Download RAW message or body]

CVS commit by binner: 

+"Add Item to Desktop"


  M +19 -3     service_mnu.cpp   1.81
  M +1 -1      service_mnu.h   1.32


--- kdebase/kicker/ui/service_mnu.cpp  #1.80:1.81
@@ -43,4 +43,5 @@ CONNECTION WITH THE SOFTWARE OR THE USE 
 #include <kservice.h>
 #include <kurldrag.h>
+#include <kio/job.h>
 
 #include "kicker.h"
@@ -525,10 +526,11 @@ void PanelServiceMenu::mouseReleaseEvent
         switch (contextKSycocaEntry_->sycocaType()) {
             case KST_KService:
-                popupMenu_->insertItem( SmallIconSet("ok"), i18n("Add Item to Main \
Panel"), AddItemToPanel ); +                popupMenu_->insertItem( \
SmallIconSet("desktop"), i18n("Add Item to Desktop"), AddItemToDesktop ); +           \
popupMenu_->insertItem( SmallIconSet("kicker"), i18n("Add Item to Main Panel"), \
                AddItemToPanel );
                 popupMenu_->insertItem( SmallIconSet("kmenuedit"), i18n("Edit \
Item"), EditItem );  break;
 
             case KST_KServiceGroup:
-                popupMenu_->insertItem( SmallIconSet("ok"), i18n("Add Menu to Main \
Panel"), AddMenuToPanel ); +                popupMenu_->insertItem( \
                SmallIconSet("kicker"), i18n("Add Menu to Main Panel"), \
                AddMenuToPanel );
                 popupMenu_->insertItem( SmallIconSet("kmenuedit"), i18n("Edit \
Menu"), EditMenu );  break;
@@ -555,5 +557,19 @@ void PanelServiceMenu::slotContextMenu(i
     QDataStream ds(ba, IO_WriteOnly);
     
+    KURL src,dest;
+    KIO::CopyJob *job;
+    
     switch (selected) {
+        case AddItemToDesktop:
+            service = static_cast<KService *>(contextKSycocaEntry_);
+            
+            src.setPath( KGlobal::dirs()->findResource( "apps", \
service->desktopEntryPath() ) ); +            dest.setPath( \
KGlobalSettings::desktopPath() ); +            dest.setFileName( src.fileName() );
+                
+            job = KIO::copyAs( src, dest );
+            job->setDefaultPermissions( true );
+            break;
+        
         case AddItemToPanel:    
             service = static_cast<KService *>(contextKSycocaEntry_);

--- kdebase/kicker/ui/service_mnu.h  #1.31:1.32
@@ -111,5 +111,5 @@ private slots:
     
 private:
-    enum ContextMenuEntry { AddItemToPanel, EditItem, AddMenuToPanel, EditMenu };
+    enum ContextMenuEntry { AddItemToPanel, EditItem, AddMenuToPanel, EditMenu, \
AddItemToDesktop };  KPopupMenu* popupMenu_;
     KSycocaEntry* contextKSycocaEntry_;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic