mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-28 16:01:10 +02:00
glcdsettup: rework and fix driver selection menu
Origin commit data
------------------
Commit: bba91389d2
Author: vanhofen <vanhofen@gmx.de>
Date: 2020-06-26 (Fri, 26 Jun 2020)
Origin message was:
------------------
- glcdsettup: rework and fix driver selection menu
This commit is contained in:
@@ -148,6 +148,8 @@ GLCD_Menu::GLCD_Menu()
|
|||||||
{
|
{
|
||||||
width = 40;
|
width = 40;
|
||||||
selected = -1;
|
selected = -1;
|
||||||
|
|
||||||
|
select_driver = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GLCD_Menu::exec(CMenuTarget* parent, const std::string & actionKey)
|
int GLCD_Menu::exec(CMenuTarget* parent, const std::string & actionKey)
|
||||||
@@ -164,15 +166,7 @@ int GLCD_Menu::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
cglcd->Rescan();
|
cglcd->Rescan();
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
if (actionKey == "select_driver")
|
else if (actionKey == "select_font")
|
||||||
{
|
|
||||||
if (parent)
|
|
||||||
parent->hide();
|
|
||||||
res = GLCD_Menu_Select_Driver();
|
|
||||||
cglcd->Exit();
|
|
||||||
return menu_return::RETURN_EXIT; // FIXME
|
|
||||||
}
|
|
||||||
if (actionKey == "select_font")
|
|
||||||
{
|
{
|
||||||
CFileBrowser fileBrowser;
|
CFileBrowser fileBrowser;
|
||||||
CFileFilter fileFilter;
|
CFileFilter fileFilter;
|
||||||
@@ -194,6 +188,10 @@ int GLCD_Menu::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
cglcd->UpdateBrightness();
|
cglcd->UpdateBrightness();
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
else if (actionKey == "select_driver")
|
||||||
|
{
|
||||||
|
return GLCD_Menu_Select_Driver();
|
||||||
|
}
|
||||||
else if (actionKey == "theme_settings")
|
else if (actionKey == "theme_settings")
|
||||||
{
|
{
|
||||||
return GLCD_Theme_Settings();
|
return GLCD_Theme_Settings();
|
||||||
@@ -312,8 +310,11 @@ int GLCD_Menu::GLCD_Menu_Settings()
|
|||||||
|
|
||||||
m.addItem(new CMenuOptionChooser(LOCALE_GLCD_ENABLE, &g_settings.glcd_enable,
|
m.addItem(new CMenuOptionChooser(LOCALE_GLCD_ENABLE, &g_settings.glcd_enable,
|
||||||
OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this, CRCInput::RC_red));
|
OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this, CRCInput::RC_red));
|
||||||
m.addItem(new CMenuForwarder(LOCALE_GLCD_DISPLAY, (cGLCD::getInstance()->GetConfigSize() > 1),
|
|
||||||
cGLCD::getInstance()->GetConfigName(g_settings.glcd_selected_config).c_str(), this, "select_driver"));
|
select_driver = new CMenuForwarder(LOCALE_GLCD_DISPLAY, (cGLCD::getInstance()->GetConfigSize() > 1),
|
||||||
|
cGLCD::getInstance()->GetConfigName(g_settings.glcd_selected_config).c_str(), this, "select_driver");
|
||||||
|
m.addItem(select_driver);
|
||||||
|
|
||||||
m.addItem(GenericMenuSeparatorLine);
|
m.addItem(GenericMenuSeparatorLine);
|
||||||
|
|
||||||
int shortcut = 1;
|
int shortcut = 1;
|
||||||
@@ -575,14 +576,20 @@ int GLCD_Menu::GLCD_Menu_Select_Driver()
|
|||||||
for (int i = 0; i < cGLCD::getInstance()->GetConfigSize(); i++)
|
for (int i = 0; i < cGLCD::getInstance()->GetConfigSize(); i++)
|
||||||
{
|
{
|
||||||
mf = new CMenuForwarder(cGLCD::getInstance()->GetConfigName(i), true, NULL, selector, to_string(i).c_str());
|
mf = new CMenuForwarder(cGLCD::getInstance()->GetConfigName(i), true, NULL, selector, to_string(i).c_str());
|
||||||
|
mf->setInfoIconRight(i == g_settings.glcd_selected_config ? NEUTRINO_ICON_MARKER_DIALOG_OK : NULL);
|
||||||
m->addItem(mf);
|
m->addItem(mf);
|
||||||
}
|
}
|
||||||
|
|
||||||
m->enableSaveScreen();
|
m->enableSaveScreen();
|
||||||
res = m->exec(NULL, "");
|
res = m->exec(NULL, "");
|
||||||
|
|
||||||
delete selector;
|
delete selector;
|
||||||
m->hide();
|
|
||||||
}
|
if (!m->gotAction() || g_settings.glcd_selected_config == select)
|
||||||
g_settings.glcd_selected_config = select;
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
g_settings.glcd_selected_config = select;
|
||||||
|
select_driver->setOption(cGLCD::getInstance()->GetConfigName(g_settings.glcd_selected_config).c_str());
|
||||||
|
cGLCD::getInstance()->Respawn();
|
||||||
|
return menu_return::RETURN_REPAINT;
|
||||||
|
}
|
||||||
|
@@ -39,6 +39,7 @@ class GLCD_Menu : public CMenuTarget, public CChangeObserver
|
|||||||
int selected;
|
int selected;
|
||||||
SNeutrinoGlcdTheme oldTheme;
|
SNeutrinoGlcdTheme oldTheme;
|
||||||
int GLCD_Menu_Select_Driver();
|
int GLCD_Menu_Select_Driver();
|
||||||
|
CMenuForwarder *select_driver;
|
||||||
public:
|
public:
|
||||||
GLCD_Menu();
|
GLCD_Menu();
|
||||||
void hide();
|
void hide();
|
||||||
|
Reference in New Issue
Block a user