From fb8d3df421b7bb4e0b894988e3b9bad362dcc17d Mon Sep 17 00:00:00 2001 From: Markus Gans Date: Sun, 8 Nov 2015 02:01:35 +0100 Subject: [PATCH] Menu supports newfont --- ChangeLog | 3 ++- doc/newfont1.png | Bin 4554 -> 4740 bytes src/fmenu.cpp | 37 ++++++++++++++++++++++--------------- src/fmenuitem.cpp | 7 +++++-- test/ui.cpp | 2 +- 5 files changed, 30 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index d0fab07b..44bd956a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ -2015-11-05 Markus Gans +2015-11-07 Markus Gans * Improved menu focus handling + * Menu supports newfont 2015-11-05 Markus Gans * Menu bar navigation without menu drop down diff --git a/doc/newfont1.png b/doc/newfont1.png index 2eeb228b0c0613a0142611bc8e248bccea8ae998..bf14870021e0847c5f2c8ad9f0ba3c21346f3a78 100644 GIT binary patch literal 4740 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 lube?5K#c?hw$Azm^_tQ1M@raq3S;XV% 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 bSMTT%zZ1Xn>fUqyUx4vZQ~g(mY1jS-Hh(cJ diff --git a/src/fmenu.cpp b/src/fmenu.cpp index 51602022..a7d997c9 100644 --- a/src/fmenu.cpp +++ b/src/fmenu.cpp @@ -433,17 +433,14 @@ void FMenu::drawBorder() // border right⎹ print (fc::NF_rev_border_line_right); } - if ( (flags & SHADOW) == 0 ) - { - gotoxy (x1, y2); - // lower left corner border ⎣ - print (fc::NF_border_corner_lower_left); - for (int x=1; x < width-1; x++) // low line _ - print (fc::NF_border_line_bottom); - gotoxy (x2, y2); - // lower right corner border ⎦ - print (fc::NF_rev_border_corner_lower_right); - } + gotoxy (x1, y2); + // lower left corner border ⎣ + print (fc::NF_border_corner_lower_left); + for (int x=1; x < width-1; x++) // low line _ + print (fc::NF_border_line_bottom); + gotoxy (x2, y2); + // lower right corner border ⎦ + print (fc::NF_rev_border_corner_lower_right); } else { @@ -602,10 +599,20 @@ inline void FMenu::drawSeparator(int y) setColor (wc.menu_active_fg, wc.menu_active_bg); if ( isMonochron() ) setReverse(true); - print(fc::BoxDrawingsVerticalAndRight); - FString line(width-2, wchar_t(fc::BoxDrawingsHorizontal)); - print (line); - print(fc::BoxDrawingsVerticalAndLeft); + if ( isNewFont() ) + { + print(fc::NF_border_line_vertical_right); + FString line(width-2, wchar_t(fc::BoxDrawingsHorizontal)); + print (line); + print(fc::NF_rev_border_line_vertical_left); + } + else + { + print(fc::BoxDrawingsVerticalAndRight); + FString line(width-2, wchar_t(fc::BoxDrawingsHorizontal)); + print (line); + print(fc::BoxDrawingsVerticalAndLeft); + } if ( isMonochron() ) setReverse(false); } diff --git a/src/fmenuitem.cpp b/src/fmenuitem.cpp index 819f37d2..baeb073d 100644 --- a/src/fmenuitem.cpp +++ b/src/fmenuitem.cpp @@ -445,9 +445,12 @@ bool FMenuItem::setFocus (bool on) if ( ! selected ) { FMenuList* menu_list = dynamic_cast(getSuperMenu()); - menu_list->unselectItem(); setSelected(); - menu_list->setSelectedItem(this); + if ( menu_list ) + { + menu_list->unselectItem(); + menu_list->setSelectedItem(this); + } if ( statusBar() ) statusBar()->drawMessage(); diff --git a/test/ui.cpp b/test/ui.cpp index e4035315..e824d5d0 100644 --- a/test/ui.cpp +++ b/test/ui.cpp @@ -706,7 +706,7 @@ void MyDialog::adjustSize() if ( X < 1 ) X = 1; setX (X, false); - myList->setHeight (getHeight() - 4, false); + myList->setHeight (getHeight() - 3, false); FDialog::adjustSize(); }