summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--src/FbTk/Menu.cc2
-rw-r--r--src/FbTk/MenuSeparator.cc6
-rw-r--r--src/FbTk/MenuSeparator.hh1
-rw-r--r--src/MenuCreator.cc3
5 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 86ee946..13e866e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
1(Format: Year/Month/Day) 1(Format: Year/Month/Day)
2Changes for 0.9.16: 2Changes for 0.9.16:
3*06/04/25: 3*06/04/25:
4 * Fix occasional highlighting of menu nops+separators, sf.net patch
5 #1475268 (thanks Scott Kuhl; skuhl AT cs utah edu)
6 FbTk/MenuSeparator.hh/cc FbTk/Menu.cc MenuCreator.cc
4 * fbrun: Move the cursor to the end when tab completing 7 * fbrun: Move the cursor to the end when tab completing
5 (Simon + thanks Jonas Koelker), sf.net rfe #1333003, patch #1475578 8 (Simon + thanks Jonas Koelker), sf.net rfe #1333003, patch #1475578
6 util/fbrun/FbRun.hh/cc 9 util/fbrun/FbRun.hh/cc
diff --git a/src/FbTk/Menu.cc b/src/FbTk/Menu.cc
index b08bfe9..d99c9ba 100644
--- a/src/FbTk/Menu.cc
+++ b/src/FbTk/Menu.cc
@@ -1182,7 +1182,7 @@ void Menu::openSubmenu() {
1182 return; 1182 return;
1183 1183
1184 int item = m_which_sbl * menu.persub + m_which_press; 1184 int item = m_which_sbl * menu.persub + m_which_press;
1185 if (!validIndex(item)) 1185 if (!validIndex(item) || !menuitems[item]->isEnabled())
1186 return; 1186 return;
1187 1187
1188 clearItem(item); 1188 clearItem(item);
diff --git a/src/FbTk/MenuSeparator.cc b/src/FbTk/MenuSeparator.cc
index 34c97fe..be43a87 100644
--- a/src/FbTk/MenuSeparator.cc
+++ b/src/FbTk/MenuSeparator.cc
@@ -38,8 +38,10 @@ void MenuSeparator::draw(FbDrawable &drawable,
38 38
39 if (draw_background) { 39 if (draw_background) {
40 const GContext &tgc = 40 const GContext &tgc =
41 (highlight ? theme.hiliteTextGC() : 41// its a separator, it shouldn't be highlighted! or shown as disabled
42 (isEnabled() ? theme.frameTextGC() : theme.disableTextGC() ) ); 42// (highlight ? theme.hiliteTextGC() :
43// (isEnabled() ? theme.frameTextGC() : theme.disableTextGC() ) );
44 theme.frameTextGC();
43 45
44 drawable.drawRectangle(tgc.gc(), 46 drawable.drawRectangle(tgc.gc(),
45 x + theme.bevelWidth() + height + 1, y + height / 2, 47 x + theme.bevelWidth() + height + 1, y + height / 2,
diff --git a/src/FbTk/MenuSeparator.hh b/src/FbTk/MenuSeparator.hh
index c35efc4..38f15d3 100644
--- a/src/FbTk/MenuSeparator.hh
+++ b/src/FbTk/MenuSeparator.hh
@@ -36,6 +36,7 @@ public:
36 bool highlight, bool draw_foreground, bool draw_background, 36 bool highlight, bool draw_foreground, bool draw_background,
37 int x, int y, 37 int x, int y,
38 unsigned int width, unsigned int height) const; 38 unsigned int width, unsigned int height) const;
39 virtual inline bool isEnabled() const { return false; }
39 40
40}; 41};
41 42
diff --git a/src/MenuCreator.cc b/src/MenuCreator.cc
index c97d51d..f920321 100644
--- a/src/MenuCreator.cc
+++ b/src/MenuCreator.cc
@@ -186,7 +186,8 @@ static void translateMenuItem(Parser &parse, ParseItem &pitem) {
186 if (str_key == "end") { 186 if (str_key == "end") {
187 return; 187 return;
188 } else if (str_key == "nop") { 188 } else if (str_key == "nop") {
189 menu.insert(str_label.c_str()); 189 int menuSize = menu.insert(str_label.c_str());
190 menu.setItemEnabled(menuSize-1, false);
190 } else if (str_key == "icons") { 191 } else if (str_key == "icons") {
191 FbTk::Menu *submenu = MenuCreator::createMenuType("iconmenu", menu.screenNumber()); 192 FbTk::Menu *submenu = MenuCreator::createMenuType("iconmenu", menu.screenNumber());
192 if (submenu == 0) 193 if (submenu == 0)