diff options
author | James Willcox <jwillcox@gnome.org> | 2003-02-22 07:13:28 +0800 |
---|---|---|
committer | James Willcox <jwillcox@src.gnome.org> | 2003-02-22 07:13:28 +0800 |
commit | 4278f80b4cd2937dac80a12c727e21be3aceae1f (patch) | |
tree | 5c2cbdcb8da6141a9802f55ba0623e5d317c337f | |
parent | 95620115f1a1939b0ac8cd91d22a2827abb4a741 (diff) | |
download | gsoc2013-epiphany-4278f80b4cd2937dac80a12c727e21be3aceae1f.tar.gz gsoc2013-epiphany-4278f80b4cd2937dac80a12c727e21be3aceae1f.tar.zst gsoc2013-epiphany-4278f80b4cd2937dac80a12c727e21be3aceae1f.zip |
Make the start-here: page use the theme colors.
2003-02-21 James Willcox <jwillcox@gnome.org>
* data/starthere/section.xsl:
* lib/ephy-start-here.c: (color_to_string), (build_content):
Make the start-here: page use the theme colors.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | data/starthere/section.css | 29 | ||||
-rw-r--r-- | data/starthere/section.xsl | 40 | ||||
-rw-r--r-- | lib/ephy-start-here.c | 57 |
4 files changed, 100 insertions, 33 deletions
@@ -1,3 +1,10 @@ +2003-02-21 James Willcox <jwillcox@gnome.org> + + * data/starthere/section.xsl: + * lib/ephy-start-here.c: (color_to_string), (build_content): + + Make the start-here: page use the theme colors. + 2003-02-21 Marco Pesenti Gritti <marco@it.gnome.org> * lib/widgets/ephy-editable-toolbar.c: diff --git a/data/starthere/section.css b/data/starthere/section.css deleted file mode 100644 index 6b0cf8608..000000000 --- a/data/starthere/section.css +++ /dev/null @@ -1,29 +0,0 @@ -body { - margin-left: 150; - margin-right: 150; - background: #000000; - color: #FFFFFF; - font-family: Verdana, Helvetica, Arial, sans-serif; - font-size: 14px; -} - -div.topbar { - height: 25px; - padding: 7px; - color: #000000; - background-color: #e57f20; - font-weight: bold; - margin-bottom: 50; -} - -div.topbar a { - margin-right: 15; - font-size: 20px; - font-weight: bold; - color: #000000; -} - -h2 { - color: #e57f20; - font-size: 18px; -} diff --git a/data/starthere/section.xsl b/data/starthere/section.xsl index d9d9091e2..b7c6377ee 100644 --- a/data/starthere/section.xsl +++ b/data/starthere/section.xsl @@ -10,7 +10,45 @@ <xsl:template match="section"> <html> <head> - <link rel="stylesheet" href="section.css" type="text/css"/> + <style type="text/css"> + body { + margin-left: 150; + margin-right: 150; + background: <xsl:value-of select="@bg"/>; + color: <xsl:value-of select="@text"/>; + font-family: Verdana, Helvetica, Arial, sans-serif; + font-size: 14px; + } + + div.topbar { + height: 25px; + padding: 7px; + color: <xsl:value-of select="@title"/>; + background-color: <xsl:value-of select="@title-bg"/>; + font-weight: bold; + margin-bottom: 50; + } + + div.topbar a { + margin-right: 15; + font-size: 20px; + font-weight: bold; + color: <xsl:value-of select="@title"/>; + } + + h2 { + color: <xsl:value-of select="@headings"/>; + font-size: 18px; + } + + a { + color: <xsl:value-of select="@link"/> + } + + a.visited { + color: <xsl:value-of select="@link"/> + } + </style> </head> <body> <xsl:apply-templates/> diff --git a/lib/ephy-start-here.c b/lib/ephy-start-here.c index 06d08de38..3de8dffa3 100644 --- a/lib/ephy-start-here.c +++ b/lib/ephy-start-here.c @@ -16,6 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include <gtk/gtk.h> #include <libxml/tree.h> #include <libgnome/gnome-i18n.h> #include <string.h> @@ -303,15 +304,21 @@ attach_content (EphyStartHere *sh, xmlNodePtr node, xmlChar *id) } } +static char * +color_to_string (GdkColor color) +{ + return g_strdup_printf ("#%.2x%.2x%.2x", + color.red >> 8, + color.green >> 8, + color.blue >> 8); +} + static void build_content (EphyStartHere *sh, xmlNodePtr node) { while (node) { xmlChar *id; - xmlNodePtr next; - - next = node->next; id = xmlGetProp (node, "id"); if (id) @@ -320,6 +327,50 @@ build_content (EphyStartHere *sh, xmlNodePtr node) xmlFree (id); } + if (xmlStrEqual (node->name, "section")) + { + GtkWidget *widget, *window; + GdkColor color; + char *str; + + /* create a random widget that we will use to get + * the current style + */ + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + widget = gtk_label_new (""); + gtk_container_add (GTK_CONTAINER (window), widget); + gtk_widget_realize (window); + gtk_widget_realize (widget); + gtk_widget_ensure_style (widget); + + color = widget->style->bg[GTK_STATE_NORMAL]; + str = color_to_string (color); + xmlSetProp (node, "bg", str); + g_free (str); + + color = widget->style->text[GTK_STATE_SELECTED]; + str = color_to_string (color); + xmlSetProp (node, "title", str); + g_free (str); + + color = widget->style->bg[GTK_STATE_ACTIVE]; + str = color_to_string (color); + xmlSetProp (node, "title-bg", str); + g_free (str); + + color = widget->style->bg[GTK_STATE_SELECTED]; + str = color_to_string (color); + xmlSetProp (node, "link", str); + g_free (str); + + color = widget->style->text[GTK_STATE_NORMAL]; + str = color_to_string (color); + xmlSetProp (node, "text", str); + g_free (str); + + gtk_widget_destroy (window); + } + build_content (sh, node->children); node = node->next; } |