// swad_theme.c: themes (colour layouts)
/*
SWAD (Shared Workspace At a Distance),
is a web platform developed at the University of Granada (Spain),
and used to support university teaching.
This file is part of SWAD core.
Copyright (C) 1999-2016 Antonio Caņas Vargas
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
/*****************************************************************************/
/********************************** Headers **********************************/
/*****************************************************************************/
#include // For fprintf, etc.
#include
#include "swad_config.h"
#include "swad_database.h"
#include "swad_global.h"
#include "swad_layout.h"
#include "swad_parameter.h"
#include "swad_preference.h"
#include "swad_theme.h"
/*****************************************************************************/
/*************** External global variables from others modules ***************/
/*****************************************************************************/
extern struct Globals Gbl;
/*****************************************************************************/
/******************************** Private constants **************************/
/*****************************************************************************/
#define MAX_THEME_ID 16
const char *The_ThemeId[The_NUM_THEMES] =
{
"white",
"grey",
"blue",
"yellow",
};
const char *The_ThemeNames[The_NUM_THEMES] =
{
"White",
"Grey",
"Blue",
"Yellow",
};
const char *The_TabOnBgColors[The_NUM_THEMES] =
{
"TAB_ON_WHITE",
"TAB_ON_GREY",
"TAB_ON_BLUE",
"TAB_ON_YELLOW",
};
const char *The_TabOffBgColors[The_NUM_THEMES] =
{
"TAB_OFF_WHITE",
"TAB_OFF_GREY",
"TAB_OFF_BLUE",
"TAB_OFF_YELLOW",
};
const char *The_ClassSeparator[The_NUM_THEMES] =
{
"WHITE_SEPARA",
"GREY_SEPARA",
"BLUE_SEPARA",
"YELLOW_SEPARA",
};
const char *The_ClassHead[The_NUM_THEMES] =
{
"WHITE_HEAD",
"GREY_HEAD",
"BLUE_HEAD",
"YELLOW_HEAD",
};
const char *The_ClassCurrentTime[The_NUM_THEMES] =
{
"WHITE_CUR_TIME",
"GREY_CUR_TIME",
"BLUE_CUR_TIME",
"YELLOW_CUR_TIME",
};
const char *The_ClassNotif[The_NUM_THEMES] =
{
"WHITE_NOTIF",
"GREY_NOTIF",
"BLUE_NOTIF",
"YELLOW_NOTIF",
};
const char *The_ClassUsr[The_NUM_THEMES] =
{
"WHITE_USR",
"GREY_USR",
"BLUE_USR",
"YELLOW_USR",
};
const char *The_ClassBreadcrumb[The_NUM_THEMES] =
{
"BC_WHITE",
"BC_GREY",
"BC_BLUE",
"BC_YELLOW",
};
const char *The_ClassCourse[The_NUM_THEMES] =
{
"WHITE_COURSE",
"GREY_COURSE",
"BLUE_COURSE",
"YELLOW_COURSE",
};
const char *The_ClassConnected[The_NUM_THEMES] =
{
"WHITE_CONNECTED",
"GREY_CONNECTED",
"BLUE_CONNECTED",
"YELLOW_CONNECTED",
};
const char *The_ClassTxtMenuOff[The_NUM_THEMES] =
{
"WHITE_MENU_OFF",
"GREY_MENU_OFF",
"BLUE_MENU_OFF",
"YELLOW_MENU_OFF",
};
const char *The_ClassTxtMenuOn[The_NUM_THEMES] =
{
"WHITE_MENU_ON",
"GREY_MENU_ON",
"BLUE_MENU_ON",
"YELLOW_MENU_ON",
};
const char *The_ClassTxtTabOff[The_NUM_THEMES] =
{
"WHITE_TAB_OFF",
"GREY_TAB_OFF",
"BLUE_TAB_OFF",
"YELLOW_TAB_OFF",
};
const char *The_ClassTxtTabOn[The_NUM_THEMES] =
{
"WHITE_TAB_ON",
"GREY_TAB_ON",
"BLUE_TAB_ON",
"YELLOW_TAB_ON",
};
const char *The_ClassTitleAction[The_NUM_THEMES] =
{
"WHITE_TITLE_ACTION",
"GREY_TITLE_ACTION",
"BLUE_TITLE_ACTION",
"YELLOW_TITLE_ACTION",
};
const char *The_ClassSubtitleAction[The_NUM_THEMES] =
{
"WHITE_SUBTITLE_ACTION",
"GREY_SUBTITLE_ACTION",
"BLUE_SUBTITLE_ACTION",
"YELLOW_SUBTITLE_ACTION",
};
const char *The_ClassTitle[The_NUM_THEMES] =
{
"WHITE_TITLE",
"GREY_TITLE",
"BLUE_TITLE",
"YELLOW_TITLE",
};
const char *The_ClassForm[The_NUM_THEMES] =
{
"WHITE_FORM",
"GREY_FORM",
"BLUE_FORM",
"YELLOW_FORM",
};
const char *The_ClassFormDark[The_NUM_THEMES] =
{
"WHITE_FORM_DARK",
"GREY_FORM_DARK",
"BLUE_FORM_DARK",
"YELLOW_FORM_DARK",
};
const char *The_ClassFormNoWrap[The_NUM_THEMES] =
{
"WHITE_FORM_NOWRAP",
"GREY_FORM_NOWRAP",
"BLUE_FORM_NOWRAP",
"YELLOW_FORM_NOWRAP",
};
const char *The_ClassFormBold[The_NUM_THEMES] =
{
"WHITE_FORM_BOLD",
"GREY_FORM_BOLD",
"BLUE_FORM_BOLD",
"YELLOW_FORM_BOLD",
};
/*****************************************************************************/
/************************ Put icons to select a theme ***********************/
/*****************************************************************************/
void The_PutIconsToSelectTheme (void)
{
extern const char *Txt_Theme_SKIN;
The_Theme_t Theme;
Lay_StartRoundFrameTable (NULL,0,Txt_Theme_SKIN);
fprintf (Gbl.F.Out,"