");
for (Theme = (The_Theme_t) 0;
Theme < The_NUM_THEMES;
Theme++)
{
fprintf (Gbl.F.Out,"
",
Theme == Gbl.Prefs.Theme ? "PREF_ON" :
"PREF_OFF");
Act_FormStart (ActChgThe);
Par_PutHiddenParamString ("Theme",The_ThemeId[Theme]);
fprintf (Gbl.F.Out,"",
Gbl.Prefs.IconsURL,
Cfg_ICON_FOLDER_THEMES,
The_ThemeId[Theme],
The_ThemeNames[Theme],
The_ThemeNames[Theme]);
Act_FormEnd ();
fprintf (Gbl.F.Out,"
");
}
fprintf (Gbl.F.Out,"
");
Lay_EndRoundFrame ();
}
/*****************************************************************************/
/***************** Put contextual icons in theme preference ******************/
/*****************************************************************************/
static void The_PutIconsTheme (void)
{
/***** Put icon to show a figure *****/
Gbl.Stat.FigureType = Sta_THEMES;
Sta_PutIconToShowFigure ();
}
/*****************************************************************************/
/********************************* Change theme ******************************/
/*****************************************************************************/
void The_ChangeTheme (void)
{
char Query[512];
/***** Get param theme *****/
Gbl.Prefs.Theme = The_GetParamTheme ();
sprintf (Gbl.Prefs.PathTheme,"%s/%s/%s",
Gbl.Prefs.IconsURL,Cfg_ICON_FOLDER_THEMES,The_ThemeId[Gbl.Prefs.Theme]);
/***** Store theme in database *****/
if (Gbl.Usrs.Me.Logged)
{
sprintf (Query,"UPDATE usr_data SET Theme='%s'"
" WHERE UsrCod='%ld'",
The_ThemeId[Gbl.Prefs.Theme],Gbl.Usrs.Me.UsrDat.UsrCod);
DB_QueryUPDATE (Query,"can not update your preference about theme");
}
/***** Set preferences from current IP *****/
Pre_SetPrefsFromIP ();
}
/*****************************************************************************/
/***************************** Get parameter theme ***************************/
/*****************************************************************************/
The_Theme_t The_GetParamTheme (void)
{
char ThemeId[MAX_THEME_ID+1];
The_Theme_t Theme;
Par_GetParToText ("Theme",ThemeId,MAX_THEME_ID);
for (Theme = (The_Theme_t) 0;
Theme < The_NUM_THEMES;
Theme++)
if (!strcmp (ThemeId,The_ThemeId[Theme]))
return Theme;
return The_THEME_UNKNOWN;
}
/*****************************************************************************/
/**************************** Get theme from string **************************/
/*****************************************************************************/
The_Theme_t The_GetThemeFromStr (const char *Str)
{
The_Theme_t Theme;
for (Theme = (The_Theme_t) 0;
Theme < The_NUM_THEMES;
Theme++)
if (!strcasecmp (Str,The_ThemeId[Theme]))
return Theme;
return The_THEME_UNKNOWN;
}