[cheese] Invert spinner and scale it down a little
- From: Filippo Argiolas <fargiolas src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [cheese] Invert spinner and scale it down a little
- Date: Wed, 23 Dec 2009 08:09:27 +0000 (UTC)
commit 691aae18683a85a8aa9709da3c150ccf0c3a2b21
Author: Filippo Argiolas <filippo argiolas gmail com>
Date: Mon Dec 14 22:12:15 2009 +0100
Invert spinner and scale it down a little
src/cheese-window.c | 45 +++++++++++++++++++++++++++++++++++++++++----
1 files changed, 41 insertions(+), 4 deletions(-)
---
diff --git a/src/cheese-window.c b/src/cheese-window.c
index 9de0d62..1e514a7 100644
--- a/src/cheese-window.c
+++ b/src/cheese-window.c
@@ -118,7 +118,8 @@ typedef struct
GtkWidget *effect_frame;
GtkWidget *effect_alignment;
GtkWidget *effect_chooser;
- GtkWidget *throbber_frame;
+ GtkWidget *throbber_align;
+ GtkWidget *throbber_box;
GtkWidget *throbber;
GtkWidget *countdown_frame;
GtkWidget *countdown_frame_fullscreen;
@@ -277,6 +278,29 @@ cheese_window_set_problem_page (CheeseWindow *window,
G_CALLBACK (cheese_window_logo_expose), window);
}
+static void
+cheese_window_spinner_invert (GtkWidget *spinner, GtkWidget *parent)
+{
+ GtkStyle *style;
+ guint i;
+
+ for (i = GTK_STATE_NORMAL; i <= GTK_STATE_INSENSITIVE; i++) {
+ GdkColor *fg, *bg;
+
+ style = gtk_widget_get_style (spinner);
+ fg = gdk_color_copy (&style->fg[i]);
+ bg = gdk_color_copy (&style->bg[i]);
+
+ gtk_widget_modify_fg (spinner, i, bg);
+ gtk_widget_modify_bg (spinner, i, fg);
+
+ gtk_widget_modify_fg (parent, i, bg);
+ gtk_widget_modify_bg (parent, i, fg);
+
+ gdk_color_free (fg);
+ gdk_color_free (bg);
+ }
+}
static void cheese_window_action_button_clicked_cb (GtkWidget *widget, CheeseWindow *cheese_window);
@@ -1816,7 +1840,6 @@ cheese_window_create_window (CheeseWindow *cheese_window)
cheese_window->screen = GTK_WIDGET (gtk_builder_get_object (builder, "video_screen"));
cheese_window->take_picture = GTK_WIDGET (gtk_builder_get_object (builder, "take_picture"));
cheese_window->thumb_scrollwindow = GTK_WIDGET (gtk_builder_get_object (builder, "thumb_scrollwindow"));
- cheese_window->throbber_frame = GTK_WIDGET (gtk_builder_get_object (builder, "throbber_frame"));
cheese_window->countdown_frame = GTK_WIDGET (gtk_builder_get_object (builder, "countdown_frame"));
cheese_window->effect_frame = GTK_WIDGET (gtk_builder_get_object (builder, "effect_frame"));
cheese_window->effect_alignment = GTK_WIDGET (gtk_builder_get_object (builder, "effect_alignment"));
@@ -1898,9 +1921,23 @@ cheese_window_create_window (CheeseWindow *cheese_window)
gtk_container_add (GTK_CONTAINER (cheese_window->effect_frame), cheese_window->effect_chooser);
g_free (gconf_effects);
+/* uncomment to debug */
+/*
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (cheese_window->notebook), TRUE);
+ gtk_notebook_set_show_border (GTK_NOTEBOOK (cheese_window->notebook), TRUE);
+*/
+
cheese_window->throbber = gtk_spinner_new ();
- gtk_container_add (GTK_CONTAINER (cheese_window->throbber_frame), cheese_window->throbber);
- gtk_widget_show (cheese_window->throbber);
+ cheese_window->throbber_box = gtk_event_box_new ();
+ cheese_window->throbber_align = gtk_alignment_new (0.5, 0.5, 0.6, 0.6);
+ gtk_container_add (GTK_CONTAINER (cheese_window->throbber_box), cheese_window->throbber_align);
+ gtk_container_add (GTK_CONTAINER (cheese_window->throbber_align), cheese_window->throbber);
+ gtk_notebook_insert_page (GTK_NOTEBOOK (cheese_window->notebook),
+ cheese_window->throbber_box,
+ gtk_label_new ("spinner"),
+ PAGE_SPINNER);
+ cheese_window_spinner_invert (cheese_window->throbber, cheese_window->throbber_box);
+ gtk_widget_show_all (cheese_window->throbber_box);
cheese_window->countdown = cheese_countdown_new ();
gtk_container_add (GTK_CONTAINER (cheese_window->countdown_frame), cheese_window->countdown);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]