diff options
author | Francois Andriot <francois.andriot@free.fr> | 2013-05-09 19:05:10 +0200 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2013-05-09 19:05:10 +0200 |
commit | 14cd57f54a9228241204e230df715139bf922fc5 (patch) | |
tree | a60c77bffddc3a4cc1c807c048c06e016f5c0b20 | |
parent | 8e144348bbcc8b259094e20a62b3b7b9becd6178 (diff) | |
download | tdebase-14cd57f54a9228241204e230df715139bf922fc5.tar.gz tdebase-14cd57f54a9228241204e230df715139bf922fc5.zip |
Kickoff menu: Adds a distribution-specific link in 'computer' tab
-rw-r--r-- | CMakeLists.txt | 21 | ||||
-rw-r--r-- | config.h.cmake | 4 | ||||
-rw-r--r-- | kicker/kicker/ui/k_new_mnu.cpp | 9 |
3 files changed, 34 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ff608393..df16178e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -278,6 +278,27 @@ else() message( STATUS "Selected man-db for tdeio-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 282e3a80d..4fbb33915 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -195,3 +195,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 e2ecf40cb..24d751a33 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++); |