[PATCH 3/4] Add a topbar design to SpokeWindows. (#1045250)
Máirín Duffy
duffy at redhat.com
Wed Feb 5 21:46:58 UTC 2014
This adds a topbar design to the SpokeWindows to complement the
sidebar on the StandaloneWindows and the HubWindows. The style
is set in the anaconda-gtk.css file.
---
data/anaconda-gtk.css | 37 ++++++++++++++++++++++++++-----------
widgets/src/BaseWindow.c | 3 ++-
widgets/src/SpokeWindow.c | 34 ----------------------------------
3 files changed, 28 insertions(+), 46 deletions(-)
diff --git a/data/anaconda-gtk.css b/data/anaconda-gtk.css
index a56ddf6..af51e45 100644
--- a/data/anaconda-gtk.css
+++ b/data/anaconda-gtk.css
@@ -1,32 +1,47 @@
/* vendor-specific colors/images */
- at define-color sidebar_redhat #41413e;
- at define-color sidebar_fedora #006eb4;
+ at define-color redhat #41413e;
+ at define-color fedora #006eb4;
/* logo and sidebar classes for RHEL */
+
+.sidebar {
+ background-image: url('/usr/share/anaconda/pixmaps/sidebar-bg.png');
+ background-color: @redhat;
+}
+
.logo {
- background-image: url('/usr/share/anaconda/pixmaps/redhat-logo.png');
+ background-image: url('/usr/share/anaconda/pixmaps/sidebar-logo.png');
background-position: 50% 20px;
background-repeat: no-repeat;
background-color: transparent;
}
-.sidebar {
- background-image: url('/usr/share/anaconda/pixmaps/redhat-bg.png');
- background-color: @sidebar_redhat;
+AnacondaSpokeWindow #nav-box {
+ background-color: @redhat;
+ background-image: url('/usr/share/anaconda/pixmaps/topbar-bg.png');
+ background-repeat: repeat;
+ color: white;
+}
+
+AnacondaSpokeWindow #layout-indicator {
+ color: black;
}
/* swap these into logo & sidebar classes for Fedora */
/*
-.logo-fedora {
- background-image: url('/usr/share/anaconda/pixmaps/fedora-logo.png');
+.logo{
+ background-image: url('/usr/share/anaconda/pixmaps/logo.png');
background-position: 50% 20px;
background-repeat: no-repeat;
background-color: transparent;
}
-.sidebar-fedora {
- background-image: url('/usr/share/anaconda/pixmaps/noise-texture.png');
- background-color: @sidebar_fedora;
+.sidebar {
+ background-color: @fedora;
+}
+
+AnacondaSpokeWindow #nav-box {
+ background-color: @fedora;
}
*/
diff --git a/widgets/src/BaseWindow.c b/widgets/src/BaseWindow.c
index 0fcf4e8..c9080c4 100644
--- a/widgets/src/BaseWindow.c
+++ b/widgets/src/BaseWindow.c
@@ -221,7 +221,7 @@ static void anaconda_base_window_init(AnacondaBaseWindow *win) {
*/
win->priv->nav_box = gtk_event_box_new();
- gtk_widget_set_app_paintable(win->priv->nav_box, TRUE);
+ gtk_widget_set_name(win->priv->nav_box, "nav-box");
gtk_box_pack_start(GTK_BOX(win->priv->main_box), win->priv->nav_box, FALSE, FALSE, 0);
win->priv->nav_area = gtk_grid_new();
@@ -281,6 +281,7 @@ static void anaconda_base_window_init(AnacondaBaseWindow *win) {
win->priv->layout_indicator = anaconda_layout_indicator_new();
anaconda_layout_indicator_set_label_width(ANACONDA_LAYOUT_INDICATOR(win->priv->layout_indicator),
LAYOUT_INDICATOR_LABEL_WIDTH);
+ gtk_widget_set_name(win->priv->layout_indicator, "layout-indicator");
gtk_widget_set_halign(win->priv->layout_indicator, GTK_ALIGN_START);
gtk_widget_set_hexpand(win->priv->layout_indicator, FALSE);
gtk_widget_set_margin_top(win->priv->layout_indicator, 6);
diff --git a/widgets/src/SpokeWindow.c b/widgets/src/SpokeWindow.c
index 93f1b30..dc32915 100644
--- a/widgets/src/SpokeWindow.c
+++ b/widgets/src/SpokeWindow.c
@@ -165,44 +165,10 @@ static void anaconda_spoke_window_init(AnacondaSpokeWindow *win) {
}
static void anaconda_spoke_window_realize(GtkWidget *widget, gpointer user_data) {
- GtkWidget *nav_box;
GtkAccelGroup *accel_group;
- GError *error;
- GdkPixbuf *pixbuf;
- cairo_pattern_t *pattern;
- cairo_surface_t *surface;
- cairo_t *cr;
AnacondaSpokeWindow *window = ANACONDA_SPOKE_WINDOW(widget);
- /* Set the background gradient in the header. If we fail to load the
- * background for any reason, just print an error message and display the
- * header without an image.
- */
- error = NULL;
- nav_box = anaconda_base_window_get_nav_area_background_window(ANACONDA_BASE_WINDOW(window));
- pixbuf = gdk_pixbuf_new_from_file_at_scale("/usr/share/anaconda/pixmaps/anaconda_spoke_header.png",
- -1, gdk_window_get_height(gtk_widget_get_window(nav_box)),
- FALSE, &error);
-
- if (!pixbuf) {
- fprintf(stderr, "could not load header background: %s\n", error->message);
- g_error_free(error);
- } else {
- surface = gdk_window_create_similar_surface(gtk_widget_get_window(nav_box), CAIRO_CONTENT_COLOR_ALPHA,
- gdk_pixbuf_get_width(pixbuf), gdk_pixbuf_get_height(pixbuf));
- cr = cairo_create(surface);
-
- gdk_cairo_set_source_pixbuf(cr, pixbuf, 0, 0);
- cairo_paint(cr);
- cairo_destroy(cr);
- pattern = cairo_pattern_create_for_surface(surface);
- cairo_surface_destroy(surface);
-
- cairo_pattern_set_extend(pattern, CAIRO_EXTEND_REPEAT);
- gdk_window_set_background_pattern(gtk_widget_get_window(nav_box), pattern);
- }
-
/* Pressing F12 should send you back to the hub, similar to how the old UI worked. */
accel_group = gtk_accel_group_new();
gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);
--
1.8.4.2
More information about the anaconda-patches
mailing list