add an allow_fallback option when opening a theme
This commit is contained in:
parent
5e50b406d0
commit
5588c49335
3 changed files with 7 additions and 2 deletions
|
@ -261,7 +261,7 @@ gint main(gint argc, gchar **argv)
|
|||
/* load the theme specified in the rc file */
|
||||
{
|
||||
RrTheme *theme;
|
||||
if ((theme = RrThemeNew(ob_rr_inst, config_theme,
|
||||
if ((theme = RrThemeNew(ob_rr_inst, config_theme, TRUE,
|
||||
config_font_activewindow,
|
||||
config_font_inactivewindow,
|
||||
config_font_menutitle,
|
||||
|
|
|
@ -65,6 +65,7 @@ static gboolean find_appearance(ParseState *ps, xmlNodePtr n, const gchar *names
|
|||
#define FIND(type, args...) find_##type(&ps, root, args)
|
||||
|
||||
RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
|
||||
gboolean allow_fallback,
|
||||
RrFont *active_window_font, RrFont *inactive_window_font,
|
||||
RrFont *menu_title_font, RrFont *menu_item_font,
|
||||
RrFont *osd_font)
|
||||
|
@ -85,12 +86,15 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
|
|||
name = NULL;
|
||||
}
|
||||
}
|
||||
if (!name) {
|
||||
if (name == NULL && allow_fallback) {
|
||||
if (!parse_load_theme(DEFAULT_THEME, &ps.doc, &root, &ps.path)) {
|
||||
g_message("Unable to load the theme '%s'", DEFAULT_THEME);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
if (name == NULL)
|
||||
return NULL;
|
||||
|
||||
ps.inst = inst;
|
||||
|
||||
theme = g_new0(RrTheme, 1);
|
||||
|
|
|
@ -236,6 +236,7 @@ struct _RrTheme {
|
|||
/*! The font values are all optional. If a NULL is used for any of them, then
|
||||
the default font will be used. */
|
||||
RrTheme* RrThemeNew(const RrInstance *inst, const gchar *theme,
|
||||
gboolean allow_fallback,
|
||||
RrFont *active_window_font, RrFont *inactive_window_font,
|
||||
RrFont *menu_title_font, RrFont *menu_item_font,
|
||||
RrFont *osd_font);
|
||||
|
|
Loading…
Reference in a new issue