move installer strings to an unselectable theme for easier exporting via tools.exe

This commit is contained in:
Chris Danford
2006-06-14 07:42:40 +00:00
parent 288d9c70e5
commit daf48e67bc
9 changed files with 61 additions and 174 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
#include "RageUtil.h"
#include "IniFile.h"
const RString INSTALLER_LANGUAGES_DIR = "Installer/Languages/";
const RString INSTALLER_LANGUAGES_DIR = "Themes/Installer/Languages/";
void ExportNsisStrings::Do()
{
+9 -4
View File
@@ -190,7 +190,9 @@ static void Language( int &sel, bool ToSel, const ConfOption *pConfOption )
static void ThemeChoices( vector<RString> &out )
{
THEME->GetThemeNames( out );
THEME->GetSelectableThemeNames( out );
FOREACH( RString, out, s )
*s = THEME->GetThemeDisplayName( *s );
}
static void DisplayResolutionChoices( vector<RString> &out )
@@ -210,14 +212,17 @@ static void Theme( int &sel, bool ToSel, const ConfOption *pConfOption )
vector<RString> choices;
pConfOption->MakeOptionsList( choices );
vector<RString> vsThemeNames;
THEME->GetSelectableThemeNames( vsThemeNames );
if( ToSel )
{
sel = 0;
for( unsigned i=1; i<choices.size(); i++ )
if( !stricmp(choices[i], THEME->GetCurThemeName()) )
for( unsigned i=1; i<vsThemeNames.size(); i++ )
if( !stricmp(vsThemeNames[i], THEME->GetCurThemeName()) )
sel = i;
} else {
const RString sNewTheme = choices[sel];
const RString sNewTheme = vsThemeNames[sel];
if( THEME->GetCurThemeName() != sNewTheme )
THEME->SwitchThemeAndLanguage( sNewTheme, THEME->GetCurLanguage(), PREFSMAN->m_bPseudoLocalize );
}
+47
View File
@@ -25,6 +25,8 @@
ThemeManager* THEME = NULL; // global object accessable from anywhere in the program
static const RString THEME_INFO_INI = "ThemeInfo.ini";
static const char *ElementCategoryNames[] = {
"BGAnimations",
"Fonts",
@@ -154,6 +156,23 @@ void ThemeManager::GetThemeNames( vector<RString>& AddTo )
StripCvs( AddTo );
}
void ThemeManager::GetSelectableThemeNames( vector<RString>& AddTo )
{
GetThemeNames( AddTo );
for( int i=AddTo.size()-1; i>=0; i-- )
{
if( !IsThemeSelectable(AddTo[i]) )
AddTo.erase( AddTo.begin()+i );
}
}
int ThemeManager::GetNumSelectableThemes()
{
vector<RString> vs;
GetSelectableThemeNames( vs );
return vs.size();
}
bool ThemeManager::DoesThemeExist( const RString &sThemeName )
{
vector<RString> asThemeNames;
@@ -166,6 +185,32 @@ bool ThemeManager::DoesThemeExist( const RString &sThemeName )
return false;
}
bool ThemeManager::IsThemeSelectable( const RString &sThemeName )
{
RString sDir = GetThemeDirFromName(sThemeName);
IniFile ini;
ini.ReadFile( sDir + THEME_INFO_INI );
bool b;
if( ini.GetValue("ThemeInfo","Selectable",b) && !b )
return false;
return true;
}
RString ThemeManager::GetThemeDisplayName( const RString &sThemeName )
{
RString sDir = GetThemeDirFromName(sThemeName);
IniFile ini;
ini.ReadFile( sDir + THEME_INFO_INI );
RString s;
if( ini.GetValue("ThemeInfo","DisplayName",s) )
return s;
return sThemeName;
}
void ThemeManager::GetLanguages( vector<RString>& AddTo )
{
AddTo.clear();
@@ -1070,6 +1115,7 @@ public:
static int GetPathG( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathG(SArg(1),SArg(2)) ); return 1; }
static int GetPathB( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathB(SArg(1),SArg(2)) ); return 1; }
static int GetPathS( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathS(SArg(1),SArg(2)) ); return 1; }
static int GetNumSelectableThemes( T* p, lua_State *L ) { lua_pushnumber(L, p->GetNumSelectableThemes() ); return 1; }
static void Register(lua_State *L)
{
@@ -1078,6 +1124,7 @@ public:
ADD_METHOD( GetPathG );
ADD_METHOD( GetPathB );
ADD_METHOD( GetPathS );
ADD_METHOD( GetNumSelectableThemes );
Luna<T>::Register( L );
+4
View File
@@ -38,7 +38,11 @@ public:
~ThemeManager();
void GetThemeNames( vector<RString>& AddTo );
void GetSelectableThemeNames( vector<RString>& AddTo );
int GetNumSelectableThemes();
bool DoesThemeExist( const RString &sThemeName );
bool ThemeIsSelectable( const RString &sThemeName );
RString GetThemeDisplayName( const RString &sThemeName );
void GetLanguages( vector<RString>& AddTo );
bool DoesLanguageExist( const RString &sLanguage );
void SwitchThemeAndLanguage( const RString &sThemeName, const RString &sLanguage, bool bPseudoLocalize );