[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:43:58
Message-ID: 20041107174358.9782316DFA () office ! kde ! org
[Download RAW message or body]

CVS commit by binner: 

+"Add Menu to Desktop" (programs:/ link)


  M +17 -0     service_mnu.cpp   1.82
  M +1 -1      service_mnu.h   1.33


--- kdebase/kicker/ui/service_mnu.cpp  #1.81:1.82
@@ -532,4 +532,5 @@ void PanelServiceMenu::mouseReleaseEvent
 
             case KST_KServiceGroup:
+                popupMenu_->insertItem( SmallIconSet("desktop"), i18n("Add Menu to \
                Desktop"), AddMenuToDesktop );
                 popupMenu_->insertItem( SmallIconSet("kicker"), i18n("Add Menu to \
                Main Panel"), AddMenuToPanel );
                 popupMenu_->insertItem( SmallIconSet("kmenuedit"), i18n("Edit \
Menu"), EditMenu ); @@ -559,4 +560,5 @@ void PanelServiceMenu::slotContextMenu(i
     KURL src,dest;
     KIO::CopyJob *job;
+    KDesktopFile *df;
     
     switch (selected) {
@@ -584,4 +586,19 @@ void PanelServiceMenu::slotContextMenu(i
             break;
 
+        case AddMenuToDesktop:
+            g = static_cast<KServiceGroup *>(contextKSycocaEntry_);
+            dest.setPath( KGlobalSettings::desktopPath() );
+            dest.setFileName( g->caption() );
+            
+            df = new KDesktopFile( dest.path() );
+            df->writeEntry( "Icon", g->icon() );
+            df->writePathEntry( "URL", "programs:/"+g->name() );
+            df->writeEntry( "Name", g->caption() );
+            df->writeEntry( "Type", "Link" );
+            df->sync();
+            delete df;
+
+            break;
+            
         case AddMenuToPanel:
             g = static_cast<KServiceGroup *>(contextKSycocaEntry_);

--- kdebase/kicker/ui/service_mnu.h  #1.32:1.33
@@ -111,5 +111,5 @@ private slots:
     
 private:
-    enum ContextMenuEntry { AddItemToPanel, EditItem, AddMenuToPanel, EditMenu, \
AddItemToDesktop }; +    enum ContextMenuEntry { AddItemToPanel, EditItem, \
AddMenuToPanel, EditMenu, AddItemToDesktop, AddMenuToDesktop };  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