Skip to content

Commit

Permalink
widget: Cycle through menu lists consistently.
Browse files Browse the repository at this point in the history
Together with b6baadb and 630c624, fixes ticket:3318.
  • Loading branch information
Cyp committed May 28, 2016
1 parent f03488e commit 95d5bb5
Show file tree
Hide file tree
Showing 5 changed files with 160 additions and 333 deletions.
10 changes: 3 additions & 7 deletions lib/framework/i18n.cpp
Expand Up @@ -371,17 +371,13 @@ bool setLanguage(const char *language)
}


void setNextLanguage()
void setNextLanguage(bool prev)
{
selectedLanguage++;
if (selectedLanguage > ARRAY_SIZE(map) - 1)
{
selectedLanguage = 0;
}
selectedLanguage = (selectedLanguage + ARRAY_SIZE(map) + (prev? -1 : 1)) % ARRAY_SIZE(map);

if (!setLanguage(map[selectedLanguage].language) && selectedLanguage != 0)
{
setNextLanguage(); // try next
setNextLanguage(prev); // try next
}
}

Expand Down
2 changes: 1 addition & 1 deletion lib/framework/i18n.h
Expand Up @@ -52,7 +52,7 @@
WZ_DECL_PURE const char *getLanguage();
WZ_DECL_PURE const char *getLanguageName();
WZ_DECL_NONNULL(1) bool setLanguage(const char *name);
void setNextLanguage();
void setNextLanguage(bool prev = false);
void initI18n();

#endif // _i18n_h

0 comments on commit 95d5bb5

Please sign in to comment.