summaryrefslogtreecommitdiffstats
path: root/kicker/kicker/ui/k_mnu.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-10-08 00:33:34 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-10-08 00:33:34 -0500
commitf4dab230c4d9f9e2aca86df98d2ee7398f9988aa (patch)
tree0d2b9292ae4ba365aab22c59a2de05146e407ee7 /kicker/kicker/ui/k_mnu.cpp
parent4724b1a838bf20c85309d8812c1a0bd23bbf2f90 (diff)
downloadtdebase-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.cpp40
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()