diff -u -r kdebase-3.5.8.orig/kicker/kicker/ui/appletop_mnu.cpp kdebase-3.5.8/kicker/kicker/ui/appletop_mnu.cpp --- kdebase-3.5.8.orig/kicker/kicker/ui/appletop_mnu.cpp 2005-06-11 01:51:23.000000000 -0400 +++ kdebase-3.5.8/kicker/kicker/ui/appletop_mnu.cpp 2008-01-08 10:43:31.000000000 -0400 @@ -159,6 +159,11 @@ } } + if (KickerSettings::defaultKButton()) + insertItem(SmallIcon("menuk-mdk"), i18n("Switch to Mandriva Button"), this, SLOT(toggleIcon())); + else + insertItem(SmallIcon("about_kde"), i18n("Switch to Default KDE Button"), this, SLOT(toggleIcon())); + if ((actions & PanelAppletOpMenu::KMenuEditor) && kapp->authorizeKAction("menuedit")) { if (needSeparator) @@ -205,4 +210,21 @@ QPopupMenu::keyPressEvent(e); } +void PanelAppletOpMenu::toggleIcon() +{ + bool legacy = !KickerSettings::defaultKButton(); + + + KickerSettings::setDefaultKButton(legacy); + KickerSettings::setShowKMenuText(!legacy); + KickerSettings::setKMenuButtonScale(true); + KickerSettings::setKMenuButtonRotate(!legacy); + if (legacy) + KickerSettings::setKMenuIcon("kmenu"); + else + KickerSettings::setKMenuIcon("mdv_kmenu"); + KickerSettings::writeConfig(); + Kicker::the()->restart(); +} + #include "appletop_mnu.moc" diff -u -r kdebase-3.5.8.orig/kicker/kicker/ui/appletop_mnu.h kdebase-3.5.8/kicker/kicker/ui/appletop_mnu.h --- kdebase-3.5.8.orig/kicker/kicker/ui/appletop_mnu.h 2005-02-05 01:36:54.000000000 -0400 +++ kdebase-3.5.8/kicker/kicker/ui/appletop_mnu.h 2008-01-08 10:41:55.000000000 -0400 @@ -47,6 +47,9 @@ signals: void escapePressed(); +protected slots: + void toggleIcon(); + protected: void keyPressEvent(QKeyEvent* e); }; diff -u -r kdebase-3.5.8.orig/kicker/libkicker/kickerSettings.kcfg kdebase-3.5.8/kicker/libkicker/kickerSettings.kcfg --- kdebase-3.5.8.orig/kicker/libkicker/kickerSettings.kcfg 2008-01-08 10:37:46.000000000 -0400 +++ kdebase-3.5.8/kicker/libkicker/kickerSettings.kcfg 2008-01-08 10:41:07.000000000 -0400 @@ -9,6 +9,11 @@ <kcfgfile arg="true" /> <group name="General"> + +<entry name="DefaultKButton" type="Bool" > + <label>When this option is enabled, the classic K Menu button is used.</label> + <default>false</default> + </entry> <entry name="Locked" type="Bool" > <label>When this option is enabled, the panels may not be moved and items cannot be removed or added</label> @@ -249,6 +254,21 @@ </group> <group name="KMenu" > + +<entry name="KMenuIcon" key="KMenuIcon" type="String" > + <label>Icon to be shown on K Menu Button</label> + <default>kmenu</default> +</entry> + +<entry name="KMenuButtonRotate" key="KMenuButtonRotate" type="Bool" > + <label>Enable rotation in the K Menu Button</label> + <default>true</default> +</entry> + +<entry name="KMenuButtonScale" key="KMenuButtonScale" type="Bool" > + <label>Enable scaling in the K Menu Button</label> + <default>true</default> +</entry> <entry name="UseSidePixmap" type="Bool" > <label>Use side image in Kmenu</label>