Return menu result, to close all menus

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@1875 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
focus
2011-11-22 11:23:39 +00:00
parent 7e7e7e218f
commit 294f597fb7
4 changed files with 11 additions and 9 deletions

View File

@@ -121,7 +121,7 @@ int CNetworkSetup::exec(CMenuTarget* parent, const std::string &actionKey)
} }
printf("[neutrino] init network setup...\n"); printf("[neutrino] init network setup...\n");
showNetworkSetup(); res = showNetworkSetup();
return res; return res;
} }
@@ -175,7 +175,7 @@ static int my_filter(const struct dirent * dent)
return 1; return 1;
} }
void CNetworkSetup::showNetworkSetup() int CNetworkSetup::showNetworkSetup()
{ {
struct dirent **namelist; struct dirent **namelist;
@@ -308,9 +308,10 @@ void CNetworkSetup::showNetworkSetup()
//proxyserver submenu //proxyserver submenu
networkSettings->addItem(new CMenuForwarder(LOCALE_FLASHUPDATE_PROXYSERVER_SEP, true, NULL, new CProxySetup(LOCALE_MAINSETTINGS_NETWORK), NULL, CRCInput::RC_0, NEUTRINO_ICON_BUTTON_0)); networkSettings->addItem(new CMenuForwarder(LOCALE_FLASHUPDATE_PROXYSERVER_SEP, true, NULL, new CProxySetup(LOCALE_MAINSETTINGS_NETWORK), NULL, CRCInput::RC_0, NEUTRINO_ICON_BUTTON_0));
int ret = 0;
while(true) { while(true) {
int res = menu_return::RETURN_EXIT; int res = menu_return::RETURN_EXIT;
networkSettings->exec(NULL, ""); ret = networkSettings->exec(NULL, "");
networkSettings->hide(); networkSettings->hide();
if (settingsChanged()) if (settingsChanged())
@@ -320,6 +321,7 @@ void CNetworkSetup::showNetworkSetup()
} }
selected = networkSettings->getSelected(); selected = networkSettings->getSelected();
delete networkSettings; delete networkSettings;
return ret;
} }
void CNetworkSetup::showNetworkNTPSetup(CMenuWidget *menu_ntp) void CNetworkSetup::showNetworkNTPSetup(CMenuWidget *menu_ntp)

View File

@@ -82,7 +82,7 @@ class CNetworkSetup : public CMenuTarget, CChangeObserver
void prepareSettings(); void prepareSettings();
void readNetworkSettings(); void readNetworkSettings();
void backupNetworkSettings(); void backupNetworkSettings();
void showNetworkSetup(); int showNetworkSetup();
void showNetworkNTPSetup(CMenuWidget *menu_ntp); void showNetworkNTPSetup(CMenuWidget *menu_ntp);
void showNetworkNFSMounts(CMenuWidget *menu_nfs); void showNetworkNFSMounts(CMenuWidget *menu_nfs);
int saveChangesDialog(); int saveChangesDialog();

View File

@@ -66,14 +66,13 @@ int CProxySetup::exec(CMenuTarget* parent, const std::string &/*actionKey*/)
parent->hide(); parent->hide();
} }
showProxySetup(); res = showProxySetup();
return res; return res;
} }
/* shows entries for proxy settings */ /* shows entries for proxy settings */
void CProxySetup::showProxySetup() int CProxySetup::showProxySetup()
{ {
//init //init
CMenuWidget * mn = new CMenuWidget(menue_title, menue_icon, width); CMenuWidget * mn = new CMenuWidget(menue_title, menue_icon, width);
@@ -90,8 +89,9 @@ void CProxySetup::showProxySetup()
CStringInputSMS * softUpdate_proxypass = new CStringInputSMS(LOCALE_FLASHUPDATE_PROXYPASSWORD, g_settings.softupdate_proxypassword, 20, LOCALE_FLASHUPDATE_PROXYPASSWORD_HINT1, LOCALE_FLASHUPDATE_PROXYPASSWORD_HINT2, "abcdefghijklmnopqrstuvwxyz0123456789!""§$%&/()=?-. "); CStringInputSMS * softUpdate_proxypass = new CStringInputSMS(LOCALE_FLASHUPDATE_PROXYPASSWORD, g_settings.softupdate_proxypassword, 20, LOCALE_FLASHUPDATE_PROXYPASSWORD_HINT1, LOCALE_FLASHUPDATE_PROXYPASSWORD_HINT2, "abcdefghijklmnopqrstuvwxyz0123456789!""§$%&/()=?-. ");
mn->addItem(new CMenuForwarder(LOCALE_FLASHUPDATE_PROXYPASSWORD, true, g_settings.softupdate_proxypassword, softUpdate_proxypass, NULL, CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW)); mn->addItem(new CMenuForwarder(LOCALE_FLASHUPDATE_PROXYPASSWORD, true, g_settings.softupdate_proxypassword, softUpdate_proxypass, NULL, CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW));
mn->exec(NULL, ""); int res = mn->exec(NULL, "");
mn->hide(); mn->hide();
delete mn; delete mn;
return res;
} }

View File

@@ -44,7 +44,7 @@ class CProxySetup : public CMenuTarget
neutrino_locale_t menue_title; neutrino_locale_t menue_title;
std::string menue_icon; std::string menue_icon;
void showProxySetup(); int showProxySetup();
public: public:
CProxySetup(const neutrino_locale_t title = LOCALE_FLASHUPDATE_PROXYSERVER_SEP, const char * const IconName = NEUTRINO_ICON_SETTINGS); CProxySetup(const neutrino_locale_t title = LOCALE_FLASHUPDATE_PROXYSERVER_SEP, const char * const IconName = NEUTRINO_ICON_SETTINGS);