summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancois Andriot <francois.andriot@free.fr>2013-05-09 19:05:10 +0200
committerSlávek Banko <slavek.banko@axis.cz>2013-05-09 19:56:16 +0200
commitb3928f85d5f291d620ad9924990235b2910556d0 (patch)
treeedb8b9234ed740d47c4e3db64b7c8ee4c0a66410
parentd05fbc1deab85c8465666d61b3ecea48d764a46d (diff)
downloadtdebase-b3928f85d5f291d620ad9924990235b2910556d0.tar.gz
tdebase-b3928f85d5f291d620ad9924990235b2910556d0.zip
Kickoff menu: Adds a distribution-specific link in 'computer' tab
(cherry picked from commit 14cd57f54a9228241204e230df715139bf922fc5)
-rw-r--r--CMakeLists.txt21
-rw-r--r--config.h.cmake4
-rw-r--r--kicker/kicker/ui/k_new_mnu.cpp9
3 files changed, 34 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9339d248f..d36ee0ea8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -229,6 +229,27 @@ else()
message( STATUS "Selected man-db for kio-man on your system" )
endif()
+##### Checks for a distribution-specific 1st menu item, generally a control center
+if(EXISTS "/usr/share/applications/YaST.desktop")
+ set( KICKOFF_DIST_CONFIG_SHORTCUT1 "/usr/share/applications/YaST.desktop" )
+endif()
+if(EXISTS "/usr/share/applications/mageia-drakconf.desktop")
+ set( KICKOFF_DIST_CONFIG_SHORTCUT1 "/usr/share/applications/mageia-drakconf.desktop" )
+endif()
+if(EXISTS "/usr/share/applications/pclinuxos-drakconf.desktop")
+ set( KICKOFF_DIST_CONFIG_SHORTCUT1 "/usr/share/applications/pclinuxos-drakconf.desktop" )
+endif()
+if(EXISTS "/usr/share/applications/mandriva-drakconf.desktop")
+ set( KICKOFF_DIST_CONFIG_SHORTCUT1 "/usr/share/applications/mandriva-drakconf.desktop" )
+endif()
+
+##### Checks for a distribution-specific 2nd menu item, generally a shortcut to graphical package manager
+if(EXISTS "/usr/share/applications/package-manager.desktop")
+ set( KICKOFF_DIST_CONFIG_SHORTCUT2 "/usr/share/applications/package-manager.desktop" )
+endif()
+if(EXISTS "/usr/share/applications/rpmdrake.desktop")
+ set( KICKOFF_DIST_CONFIG_SHORTCUT2 "/usr/share/applications/rpmdrake.desktop" )
+endif()
##### write configure files #####################
diff --git a/config.h.cmake b/config.h.cmake
index 6a65adfe5..d41643bed 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -184,3 +184,7 @@
// Use makewhatis manpage support
#cmakedefine WITH_MAKEWHATIS "@WITH_MAKEWHATIS@"
+
+// Kickoff menu
+#cmakedefine KICKOFF_DIST_CONFIG_SHORTCUT1 "@KICKOFF_DIST_CONFIG_SHORTCUT1@"
+#cmakedefine KICKOFF_DIST_CONFIG_SHORTCUT2 "@KICKOFF_DIST_CONFIG_SHORTCUT2@"
diff --git a/kicker/kicker/ui/k_new_mnu.cpp b/kicker/kicker/ui/k_new_mnu.cpp
index df777fda7..a07e92a35 100644
--- a/kicker/kicker/ui/k_new_mnu.cpp
+++ b/kicker/kicker/ui/k_new_mnu.cpp
@@ -1342,6 +1342,15 @@ void KMenu::insertStaticItems()
m_systemView->insertSeparator( nId++, i18n("Applications"), index++);
+#ifdef KICKOFF_DIST_CONFIG_SHORTCUT1
+ KService::Ptr kdcs1 = KService::serviceByStorageId(KICKOFF_DIST_CONFIG_SHORTCUT1);
+ m_systemView->insertMenuItem(kdcs1, nId++, index++);
+#endif
+#ifdef KICKOFF_DIST_CONFIG_SHORTCUT2
+ KService::Ptr kdcs2 = KService::serviceByStorageId(KICKOFF_DIST_CONFIG_SHORTCUT2);
+ m_systemView->insertMenuItem(kdcs2, nId++, index++);
+#endif
+
KService::Ptr p = KService::serviceByStorageId("KControl.desktop");
m_systemView->insertMenuItem(p, nId++, index++);