glcdsetup: use menu return values

Origin commit data
------------------
Commit: dd724b0518
Author: vanhofen <vanhofen@gmx.de>
Date: 2020-06-26 (Fri, 26 Jun 2020)

Origin message was:
------------------
- glcdsetup: use menu return values
This commit is contained in:
vanhofen
2020-06-26 00:44:55 +02:00
parent b25bf184be
commit 9b3d9c24d4
2 changed files with 63 additions and 43 deletions

View File

@@ -155,51 +155,64 @@ int GLCD_Menu::exec(CMenuTarget* parent, const std::string & actionKey)
int res = menu_return::RETURN_REPAINT; int res = menu_return::RETURN_REPAINT;
cGLCD *cglcd = cGLCD::getInstance(); cGLCD *cglcd = cGLCD::getInstance();
SNeutrinoGlcdTheme &t = g_settings.glcd_theme; SNeutrinoGlcdTheme &t = g_settings.glcd_theme;
if(parent)
if (parent)
parent->hide(); parent->hide();
if(actionKey == "rescan") {
if (actionKey == "rescan")
{
cglcd->Rescan(); cglcd->Rescan();
return res; return res;
} }
if(actionKey == "select_driver") { if (actionKey == "select_driver")
if(parent) {
if (parent)
parent->hide(); parent->hide();
GLCD_Menu_Select_Driver(); res = GLCD_Menu_Select_Driver();
cglcd->Exit(); cglcd->Exit();
return menu_return::RETURN_EXIT; return menu_return::RETURN_EXIT; // FIXME
} }
if(actionKey == "select_font") { if (actionKey == "select_font")
{
CFileBrowser fileBrowser; CFileBrowser fileBrowser;
CFileFilter fileFilter; CFileFilter fileFilter;
fileFilter.addFilter("ttf"); fileFilter.addFilter("ttf");
fileBrowser.Filter = &fileFilter; fileBrowser.Filter = &fileFilter;
if (fileBrowser.exec(FONTDIR) == true) { if (fileBrowser.exec(FONTDIR) == true)
{
t.glcd_font = fileBrowser.getSelectedFile()->Name; t.glcd_font = fileBrowser.getSelectedFile()->Name;
cglcd->Rescan(); cglcd->Rescan();
} }
return res; return res;
} else if (actionKey == "theme_settings") { }
GLCD_Theme_Settings(); else if (actionKey == "brightness_default")
return res; {
} else if (actionKey == "brightness_default") {
g_settings.glcd_brightness = GLCD_DEFAULT_BRIGHTNESS; g_settings.glcd_brightness = GLCD_DEFAULT_BRIGHTNESS;
g_settings.glcd_brightness_standby = GLCD_DEFAULT_BRIGHTNESS_STANDBY; g_settings.glcd_brightness_standby = GLCD_DEFAULT_BRIGHTNESS_STANDBY;
g_settings.glcd_brightness_dim = GLCD_DEFAULT_BRIGHTNESS_DIM; g_settings.glcd_brightness_dim = GLCD_DEFAULT_BRIGHTNESS_DIM;
g_settings.glcd_brightness_dim_time = GLCD_DEFAULT_BRIGHTNESS_DIM_TIME; g_settings.glcd_brightness_dim_time = GLCD_DEFAULT_BRIGHTNESS_DIM_TIME;
cglcd->UpdateBrightness(); cglcd->UpdateBrightness();
return res; return res;
} else if (actionKey == "brightness_settings") { }
GLCD_Brightness_Settings(); else if (actionKey == "theme_settings")
return res; {
} else if (actionKey == "standby_settings") { return GLCD_Theme_Settings();
GLCD_Standby_Settings(); }
return res; else if (actionKey == "brightness_settings")
} else if (actionKey == "position_settings") { {
GLCD_Theme_Position_Settings(); return GLCD_Brightness_Settings();
return res; }
} else { else if (actionKey == "standby_settings")
GLCD_Menu_Settings(); {
return res; return GLCD_Standby_Settings();
}
else if (actionKey == "position_settings")
{
return GLCD_Theme_Position_Settings();
}
else
{
return GLCD_Menu_Settings();
} }
return res; return res;
@@ -289,7 +302,7 @@ bool GLCD_Menu::changeNotify (const neutrino_locale_t OptionName, void *Data)
return true; return true;
} }
void GLCD_Menu::GLCD_Menu_Settings() int GLCD_Menu::GLCD_Menu_Settings()
{ {
CMenuWidget m(LOCALE_GLCD_HEAD, NEUTRINO_ICON_SETTINGS, width); CMenuWidget m(LOCALE_GLCD_HEAD, NEUTRINO_ICON_SETTINGS, width);
m.addIntroItems(); m.addIntroItems();
@@ -325,13 +338,14 @@ void GLCD_Menu::GLCD_Menu_Settings()
m.addItem(new CMenuForwarder(LOCALE_GLCD_RESTART, true, NULL, this, "rescan", CRCInput::RC_blue)); m.addItem(new CMenuForwarder(LOCALE_GLCD_RESTART, true, NULL, this, "rescan", CRCInput::RC_blue));
m.exec(NULL, ""); int res = m.exec(NULL, "");
selected = m.getSelected(); selected = m.getSelected();
cGLCD::getInstance()->StandbyMode(false); cGLCD::getInstance()->StandbyMode(false);
m.hide(); m.hide();
return res;
} }
void GLCD_Menu::GLCD_Standby_Settings() int GLCD_Menu::GLCD_Standby_Settings()
{ {
CMenuWidget m(LOCALE_GLCD_STANDBY_SETTINGS, NEUTRINO_ICON_SETTINGS, width); CMenuWidget m(LOCALE_GLCD_STANDBY_SETTINGS, NEUTRINO_ICON_SETTINGS, width);
m.addIntroItems(); m.addIntroItems();
@@ -354,13 +368,14 @@ void GLCD_Menu::GLCD_Standby_Settings()
m.addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_SIMPLE_CLOCK_Y_POSITION, m.addItem(new CMenuOptionNumberChooser(LOCALE_GLCD_SIMPLE_CLOCK_Y_POSITION,
&t.glcd_simple_clock_y_position, true, 0, 500, this)); &t.glcd_simple_clock_y_position, true, 0, 500, this));
} }
m.exec(NULL, ""); int res = m.exec(NULL, "");
selected = m.getSelected(); selected = m.getSelected();
cGLCD::getInstance()->StandbyMode(false); cGLCD::getInstance()->StandbyMode(false);
m.hide(); m.hide();
return res;
} }
void GLCD_Menu::GLCD_Brightness_Settings() int GLCD_Menu::GLCD_Brightness_Settings()
{ {
CMenuWidget m(LOCALE_GLCD_BRIGHTNESS_SETTINGS, NEUTRINO_ICON_SETTINGS, width); CMenuWidget m(LOCALE_GLCD_BRIGHTNESS_SETTINGS, NEUTRINO_ICON_SETTINGS, width);
m.addIntroItems(); m.addIntroItems();
@@ -381,13 +396,14 @@ void GLCD_Menu::GLCD_Brightness_Settings()
m.addItem(GenericMenuSeparatorLine); m.addItem(GenericMenuSeparatorLine);
m.addItem(new CMenuForwarder(LOCALE_OPTIONS_DEFAULT, true, NULL, this, "brightness_default", CRCInput::RC_nokey)); m.addItem(new CMenuForwarder(LOCALE_OPTIONS_DEFAULT, true, NULL, this, "brightness_default", CRCInput::RC_nokey));
m.exec(NULL, ""); int res = m.exec(NULL, "");
selected = m.getSelected(); selected = m.getSelected();
cGLCD::getInstance()->StandbyMode(false); cGLCD::getInstance()->StandbyMode(false);
m.hide(); m.hide();
return res;
} }
void GLCD_Menu::GLCD_Theme_Settings() int GLCD_Menu::GLCD_Theme_Settings()
{ {
CMenuWidget m(LOCALE_GLCD_THEME_SETTINGS, NEUTRINO_ICON_SETTINGS, width); CMenuWidget m(LOCALE_GLCD_THEME_SETTINGS, NEUTRINO_ICON_SETTINGS, width);
m.addIntroItems(); m.addIntroItems();
@@ -419,13 +435,14 @@ void GLCD_Menu::GLCD_Theme_Settings()
CRCInput::convertDigitToKey(shortcut++))); CRCInput::convertDigitToKey(shortcut++)));
//delete colorSetupNotifier; //delete colorSetupNotifier;
m.exec(NULL, ""); int res = m.exec(NULL, "");
selected = m.getSelected(); selected = m.getSelected();
cGLCD::getInstance()->StandbyMode(false); cGLCD::getInstance()->StandbyMode(false);
m.hide(); m.hide();
return res;
} }
void GLCD_Menu::GLCD_Theme_Position_Settings() int GLCD_Menu::GLCD_Theme_Position_Settings()
{ {
CMenuWidget m(LOCALE_GLCD_THEME_POSITION_SETTINGS, NEUTRINO_ICON_SETTINGS, width); CMenuWidget m(LOCALE_GLCD_THEME_POSITION_SETTINGS, NEUTRINO_ICON_SETTINGS, width);
m.addIntroItems(); m.addIntroItems();
@@ -534,15 +551,17 @@ void GLCD_Menu::GLCD_Theme_Position_Settings()
m.addItem(new CMenuOptionChooser(LOCALE_GLCD_SHOW_WEATHER, &t.glcd_show_weather, m.addItem(new CMenuOptionChooser(LOCALE_GLCD_SHOW_WEATHER, &t.glcd_show_weather,
OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this)); OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this));
m.exec(NULL, ""); int res = m.exec(NULL, "");
selected = m.getSelected(); selected = m.getSelected();
cGLCD::getInstance()->StandbyMode(false); cGLCD::getInstance()->StandbyMode(false);
m.hide(); m.hide();
return res;
} }
void GLCD_Menu::GLCD_Menu_Select_Driver() int GLCD_Menu::GLCD_Menu_Select_Driver()
{ {
int select = 0; int select = 0;
int res = menu_return::RETURN_NONE;
if (cGLCD::getInstance()->GetConfigSize() > 1) if (cGLCD::getInstance()->GetConfigSize() > 1)
{ {
@@ -560,13 +579,14 @@ void GLCD_Menu::GLCD_Menu_Select_Driver()
} }
m->enableSaveScreen(); m->enableSaveScreen();
m->exec(NULL, ""); res = m->exec(NULL, "");
if (!m->gotAction()) if (!m->gotAction())
return; return res;
delete selector; delete selector;
m->hide(); m->hide();
} }
g_settings.glcd_selected_config = select; g_settings.glcd_selected_config = select;
return res;
} }

View File

@@ -38,17 +38,17 @@ class GLCD_Menu : public CMenuTarget, public CChangeObserver
int width; int width;
int selected; int selected;
SNeutrinoGlcdTheme oldTheme; SNeutrinoGlcdTheme oldTheme;
void GLCD_Menu_Select_Driver(); int GLCD_Menu_Select_Driver();
public: public:
GLCD_Menu(); GLCD_Menu();
void hide(); void hide();
int exec(CMenuTarget* parent, const std::string & actionKey); int exec(CMenuTarget* parent, const std::string & actionKey);
bool changeNotify(const neutrino_locale_t, void *); bool changeNotify(const neutrino_locale_t, void *);
void GLCD_Menu_Settings(); int GLCD_Menu_Settings();
void GLCD_Standby_Settings(); int GLCD_Standby_Settings();
void GLCD_Brightness_Settings(); int GLCD_Brightness_Settings();
void GLCD_Theme_Settings(); int GLCD_Theme_Settings();
void GLCD_Theme_Position_Settings(); int GLCD_Theme_Position_Settings();
}; };
#endif // __glcdsetup_h__ #endif // __glcdsetup_h__
#endif // ENABLE_GRAPHLCD #endif // ENABLE_GRAPHLCD