diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2014-10-08 00:33:34 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2014-10-08 00:33:34 -0500 |
commit | f4dab230c4d9f9e2aca86df98d2ee7398f9988aa (patch) | |
tree | 0d2b9292ae4ba365aab22c59a2de05146e407ee7 /kicker/kicker/ui/k_mnu.cpp | |
parent | 4724b1a838bf20c85309d8812c1a0bd23bbf2f90 (diff) | |
download | tdebase-f4dab230c4d9f9e2aca86df98d2ee7398f9988aa.tar.gz tdebase-f4dab230c4d9f9e2aca86df98d2ee7398f9988aa.zip |
Push the top menu banner support patches from Bug 1499
These are disabled by default and need additional repair but this is a good start
Diffstat (limited to 'kicker/kicker/ui/k_mnu.cpp')
-rw-r--r-- | kicker/kicker/ui/k_mnu.cpp | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/kicker/kicker/ui/k_mnu.cpp b/kicker/kicker/ui/k_mnu.cpp index a39da3051..6f8ddc4aa 100644 --- a/kicker/kicker/ui/k_mnu.cpp +++ b/kicker/kicker/ui/k_mnu.cpp @@ -51,6 +51,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include <kstandarddirs.h> #include <tdetoolbarbutton.h> #include <twin.h> +#include <popupmenutop.h> #include "client_mnu.h" #include "container_base.h" @@ -156,7 +157,7 @@ void PanelKMenu::windowClearTimeout() bool PanelKMenu::loadSidePixmap() { - if (!KickerSettings::useSidePixmap()) + if (!KickerSettings::useSidePixmap() || KickerSettings::useTopSide()) { return false; } @@ -754,8 +755,15 @@ void PanelKMenu::createRecentMenuItems() if (RecentApps.count() > 0) { bool bSeparator = KickerSettings::showMenuTitles(); + bool bTitleTop = KickerSettings::useTopSide(); int nId = serviceMenuEndId() + 1; - int nIndex = KickerSettings::showMenuTitles() ? 1 : 0; + + int nIndex; + if( bTitleTop ) { + nIndex = KickerSettings::showMenuTitles() ? 2 : 0; + } else { + nIndex = KickerSettings::showMenuTitles() ? 1 : 0; + } for (TQValueList<TQString>::ConstIterator it = RecentApps.fromLast(); /*nop*/; --it) @@ -775,6 +783,10 @@ void PanelKMenu::createRecentMenuItems() RecentlyLaunchedApps::the().caption(), font()), serviceMenuEndId(), 0); setItemEnabled( id, false ); + if( bTitleTop) { + id = insertItem(new PopupMenuTop(),serviceMenuEndId(),0); + setItemEnabled( id, false ); + } } insertMenuItem(s, nId++, nIndex); RecentlyLaunchedApps::the().m_nNumMenuItems++; @@ -791,6 +803,11 @@ void PanelKMenu::createRecentMenuItems() insertSeparator(RecentlyLaunchedApps::the().m_nNumMenuItems); } } + else if(KickerSettings::useTopSide()) + { + int id = insertItem(new PopupMenuTop(),serviceMenuEndId(),0); + setItemEnabled( id, false ); + } } void PanelKMenu::clearSubmenus() @@ -822,6 +839,8 @@ void PanelKMenu::updateRecent() RecentlyLaunchedApps::the().m_bNeedToUpdate = false; + bool bTitleTop = KickerSettings::useTopSide(); + int nId = serviceMenuEndId() + 1; // remove previous items @@ -829,6 +848,10 @@ void PanelKMenu::updateRecent() { // -1 --> menu title int i = KickerSettings::showMenuTitles() ? -1 : 0; + if(bTitleTop) { + i = KickerSettings::showMenuTitles() ? -2 : 0; + } + for (; i < RecentlyLaunchedApps::the().m_nNumMenuItems; i++) { removeItem(nId + i); @@ -842,6 +865,10 @@ void PanelKMenu::updateRecent() } } + if(bTitleTop) { + removeItemAt(0); + } + // insert new items TQStringList RecentApps; RecentlyLaunchedApps::the().getRecentApps(RecentApps); @@ -866,6 +893,10 @@ void PanelKMenu::updateRecent() RecentlyLaunchedApps::the().caption(), font()), nId - 1, 0); setItemEnabled( id, false ); + if(bTitleTop) { + id = insertItem(new PopupMenuTop(),nId - 1,0); + setItemEnabled( id, false ); + } } insertMenuItem(s, nId++, KickerSettings::showMenuTitles() ? 1 : 0); @@ -881,6 +912,11 @@ void PanelKMenu::updateRecent() insertSeparator(RecentlyLaunchedApps::the().m_nNumMenuItems); } } + else if(bTitleTop) + { + int id = insertItem(new PopupMenuTop(),serviceMenuEndId(),0); + setItemEnabled( id, false ); + } } void PanelKMenu::clearRecentMenuItems() |