From cc4b37d1ac531863ce90b4a133e9d2da09341ee6 Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Sun, 21 Sep 2014 19:32:10 +0200 Subject: [PATCH] Add new built-in theme "No comets" This theme displays all aspects and antiscia, but only planets. No comets and dwarves are displayed. --- src/ag-display-theme.c | 62 ++++++++++++++++++++++++++++++++++++++++++ src/ag-display-theme.h | 7 +++-- 2 files changed, 66 insertions(+), 3 deletions(-) diff --git a/src/ag-display-theme.c b/src/ag-display-theme.c index dde34d1..94f2f36 100644 --- a/src/ag-display-theme.c +++ b/src/ag-display-theme.c @@ -44,6 +44,7 @@ static AgDisplayTheme **builtin_themes = NULL; static gchar *builtin_theme_name[AG_DISPLAY_THEME_COUNT] = { NC_("Display theme name", "Everything"), NC_("Display theme name", "Classic"), + NC_("Display theme name", "No comets"), }; gchar * @@ -224,6 +225,67 @@ ag_display_theme_get_builtin(gint id) break; + case AG_DISPLAY_THEME_NO_COMETS: + // TODO: If SWE-GLib would support it, we could programatically get + // classic planets and aspects here, thus, if it is messed up, + // we need to fix it only once. + theme->id = id; + theme->name = gettext(builtin_theme_name[-id - 1]); + theme->builtin = TRUE; + theme->planets_include = TRUE; + theme->planets = NULL; + theme->aspects_include = FALSE; + theme->aspects = NULL; + theme->antiscia_include = FALSE; + theme->antiscia = NULL; + + theme->planets = g_list_prepend( + theme->planets, + GINT_TO_POINTER(GSWE_PLANET_SUN) + ); + theme->planets = g_list_prepend( + theme->planets, + GINT_TO_POINTER(GSWE_PLANET_MOON) + ); + theme->planets = g_list_prepend( + theme->planets, + GINT_TO_POINTER(GSWE_PLANET_MERCURY) + ); + theme->planets = g_list_prepend( + theme->planets, + GINT_TO_POINTER(GSWE_PLANET_VENUS) + ); + theme->planets = g_list_prepend( + theme->planets, + GINT_TO_POINTER(GSWE_PLANET_MARS) + ); + theme->planets = g_list_prepend( + theme->planets, + GINT_TO_POINTER(GSWE_PLANET_JUPITER) + ); + theme->planets = g_list_prepend( + theme->planets, + GINT_TO_POINTER(GSWE_PLANET_SATURN) + ); + theme->planets = g_list_prepend( + theme->planets, + GINT_TO_POINTER(GSWE_PLANET_URANUS) + ); + theme->planets = g_list_prepend( + theme->planets, + GINT_TO_POINTER(GSWE_PLANET_NEPTUNE) + ); + theme->planets = g_list_prepend( + theme->planets, + GINT_TO_POINTER(GSWE_PLANET_PLUTO) + ); + theme->planets = g_list_prepend( + theme->planets, + GINT_TO_POINTER(GSWE_PLANET_MOON_NODE) + ); + + break; + default: g_free(theme); g_warning("Trying to instantiate unknown builtin theme %d", id); diff --git a/src/ag-display-theme.h b/src/ag-display-theme.h index 801384c..416e003 100644 --- a/src/ag-display-theme.h +++ b/src/ag-display-theme.h @@ -16,10 +16,11 @@ typedef struct _AgDisplayTheme { } AgDisplayTheme; enum { - AG_DISPLAY_THEME_ALL = -1, - AG_DISPLAY_THEME_CLASSIC = -2, + AG_DISPLAY_THEME_ALL = -1, + AG_DISPLAY_THEME_CLASSIC = -2, + AG_DISPLAY_THEME_NO_COMETS = -3, AG_DISPLAY_THEME_PREV, - AG_DISPLAY_THEME_COUNT = - AG_DISPLAY_THEME_PREV + 1 + AG_DISPLAY_THEME_COUNT = - AG_DISPLAY_THEME_PREV + 1 }; gchar *ag_display_theme_to_css(AgDisplayTheme *display_theme);