[cheese] nocamera: drop GEditMessageArea in favor of GtkInfoBar



commit c2473c4df9926dfd79fef8660b23c29f4ca2bd72
Author: Filippo Argiolas <filippo argiolas gmail com>
Date:   Thu Jul 2 18:03:54 2009 +0200

    nocamera: drop GEditMessageArea in favor of GtkInfoBar
    
    Drop GEditMessageArea since it recently entered gtk+. Fixes bug #586545

 data/cheese.glade        |    2 +-
 data/cheese.ui           |    2 +-
 src/Makefile.am          |    2 -
 src/cheese-no-camera.c   |   31 +--
 src/cheese-no-camera.h   |    2 +-
 src/cheese-window.c      |   39 ++--
 src/gedit-message-area.c |  537 ----------------------------------------------
 src/gedit-message-area.h |  129 -----------
 8 files changed, 34 insertions(+), 710 deletions(-)
---
diff --git a/data/cheese.glade b/data/cheese.glade
index d094471..94d5877 100644
--- a/data/cheese.glade
+++ b/data/cheese.glade
@@ -26,7 +26,7 @@
                   <widget class="GtkVBox" id="video_frame_vbox">
                     <property name="visible">True</property>
                     <child>
-                      <widget class="GtkAlignment" id="message_area_frame">
+                      <widget class="GtkAlignment" id="info_bar_frame">
                         <property name="visible">True</property>
                         <child>
                           <placeholder/>
diff --git a/data/cheese.ui b/data/cheese.ui
index 0400060..b86ea82 100644
--- a/data/cheese.ui
+++ b/data/cheese.ui
@@ -26,7 +26,7 @@
                   <object class="GtkVBox" id="video_frame_vbox">
                     <property name="visible">True</property>
                     <child>
-                      <object class="GtkAlignment" id="message_area_frame">
+                      <object class="GtkAlignment" id="info_bar_frame">
                         <property name="visible">True</property>
                         <child>
                           <placeholder/>
diff --git a/src/Makefile.am b/src/Makefile.am
index afe1b90..b8ae4f5 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -38,8 +38,6 @@ cheese_SOURCES = \
 	ephy-spinner.h \
 	gst-audio-play.c \
 	gst-audio-play.h \
-	gedit-message-area.c \
-	gedit-message-area.h \
 	cheese-no-camera.c \
 	cheese-no-camera.h \
 	cheese-prefs-widget.h \
diff --git a/src/cheese-no-camera.c b/src/cheese-no-camera.c
index 2f2431f..2ddb18f 100644
--- a/src/cheese-no-camera.c
+++ b/src/cheese-no-camera.c
@@ -26,16 +26,15 @@
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
 
-#include "gedit-message-area.h"
 #include "cheese-no-camera.h"
 
 static void
-cheese_no_camera_set_message_area_text_and_icon (GeditMessageArea *message_area,
+cheese_no_camera_set_info_bar_text_and_icon (GtkInfoBar       *info_bar,
                                                  const gchar      *icon_stock_id,
                                                  const gchar      *primary_text,
                                                  const gchar      *secondary_text)
 {
-  GtkWidget *hbox_content;
+  GtkWidget *content_area;
   GtkWidget *image;
   GtkWidget *vbox;
   gchar     *primary_markup;
@@ -43,17 +42,16 @@ cheese_no_camera_set_message_area_text_and_icon (GeditMessageArea *message_area,
   GtkWidget *primary_label;
   GtkWidget *secondary_label;
 
-  hbox_content = gtk_hbox_new (FALSE, 8);
-  gtk_widget_show (hbox_content);
+  content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (info_bar));
 
   image = gtk_image_new_from_stock (icon_stock_id, GTK_ICON_SIZE_DIALOG);
   gtk_widget_show (image);
-  gtk_box_pack_start (GTK_BOX (hbox_content), image, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (content_area), image, FALSE, FALSE, 0);
   gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0);
 
   vbox = gtk_vbox_new (FALSE, 6);
   gtk_widget_show (vbox);
-  gtk_box_pack_start (GTK_BOX (hbox_content), vbox, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
 
   primary_markup = g_strdup_printf ("<b>%s</b>", primary_text);
   primary_label  = gtk_label_new (primary_markup);
@@ -80,25 +78,20 @@ cheese_no_camera_set_message_area_text_and_icon (GeditMessageArea *message_area,
     gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE);
     gtk_misc_set_alignment (GTK_MISC (secondary_label), 0, 0.5);
   }
-
-  gedit_message_area_set_contents (GEDIT_MESSAGE_AREA (message_area),
-                                   hbox_content);
 }
 
 GtkWidget *
-cheese_no_camera_message_area ()
+cheese_no_camera_info_bar_new ()
 {
-  GtkWidget *message_area;
+  GtkWidget *info_bar;
 
-  message_area = gedit_message_area_new ();
-  cheese_no_camera_set_message_area_text_and_icon (GEDIT_MESSAGE_AREA (message_area),
+  info_bar = gtk_info_bar_new_with_buttons (GTK_STOCK_HELP, GTK_RESPONSE_HELP, NULL);
+  gtk_info_bar_set_message_type (GTK_INFO_BAR (info_bar),
+                                 GTK_MESSAGE_ERROR);
+  cheese_no_camera_set_info_bar_text_and_icon (GTK_INFO_BAR (info_bar),
                                                    "gtk-dialog-error",
                                                    _("No camera found!"),
                                                    _("Please refer to the help for further information."));
 
-  gedit_message_area_add_stock_button_with_text (GEDIT_MESSAGE_AREA (message_area),
-                                                 _("Help"), GTK_STOCK_HELP,
-                                                 GTK_RESPONSE_HELP);
-
-  return message_area;
+  return info_bar;
 }
diff --git a/src/cheese-no-camera.h b/src/cheese-no-camera.h
index ccf9e50..33b2267 100644
--- a/src/cheese-no-camera.h
+++ b/src/cheese-no-camera.h
@@ -23,7 +23,7 @@
 
 G_BEGIN_DECLS
 
-GtkWidget *cheese_no_camera_message_area (void);
+GtkWidget *cheese_no_camera_info_bar_new (void);
 
 G_END_DECLS
 
diff --git a/src/cheese-window.c b/src/cheese-window.c
index 7607cc5..106d5af 100644
--- a/src/cheese-window.c
+++ b/src/cheese-window.c
@@ -56,7 +56,6 @@
 #include "cheese-window.h"
 #include "ephy-spinner.h"
 #include "gst-audio-play.h"
-#include "gedit-message-area.h"
 #include "cheese-no-camera.h"
 #include "cheese-prefs-dialog.h"
 #include "cheese-flash.h"
@@ -123,8 +122,8 @@ typedef struct
   GtkWidget *countdown_frame_fullscreen;
   GtkWidget *countdown;
   GtkWidget *countdown_fullscreen;
-  GtkWidget *message_area_frame;
-  GtkWidget *message_area;
+  GtkWidget *info_bar_frame;
+  GtkWidget *info_bar;
 
   GtkWidget *button_effects;
   GtkWidget *button_photo;
@@ -1250,7 +1249,7 @@ cheese_window_countdown_picture_cb (gpointer data)
 }
 
 static void
-cheese_window_no_camera_message_area_response (GtkWidget *widget, gint response_id, CheeseWindow *cheese_window)
+cheese_window_no_camera_info_bar_response (GtkWidget *widget, gint response_id, CheeseWindow *cheese_window)
 {
   GError  *error = NULL;
   gboolean ret;
@@ -1565,22 +1564,22 @@ cheese_window_radio_action_group_new (CheeseWindow *cheese_window, char *name,
 }
 
 static void
-cheese_window_set_message_area (CheeseWindow *cheese_window,
-                                GtkWidget    *message_area)
+cheese_window_set_info_bar (CheeseWindow *cheese_window,
+                                GtkWidget    *info_bar)
 {
-  if (cheese_window->message_area == message_area)
+  if (cheese_window->info_bar == info_bar)
     return;
 
-  if (cheese_window->message_area != NULL)
-    gtk_widget_destroy (cheese_window->message_area);
+  if (cheese_window->info_bar != NULL)
+    gtk_widget_destroy (cheese_window->info_bar);
 
-  cheese_window->message_area = message_area;
+  cheese_window->info_bar = info_bar;
 
-  if (message_area == NULL)
+  if (info_bar == NULL)
     return;
 
-  gtk_container_add (GTK_CONTAINER (cheese_window->message_area_frame), cheese_window->message_area);
-  gtk_widget_show (GTK_WIDGET (cheese_window->message_area));
+  gtk_container_add (GTK_CONTAINER (cheese_window->info_bar_frame), cheese_window->info_bar);
+  gtk_widget_show (GTK_WIDGET (cheese_window->info_bar));
 }
 
 static void
@@ -1599,7 +1598,7 @@ cheese_window_create_window (CheeseWindow *cheese_window)
 #endif
 
 
-  cheese_window->message_area = NULL;
+  cheese_window->info_bar = NULL;
 
   builder = gtk_builder_new ();
   gtk_builder_add_from_file (builder, PACKAGE_DATADIR "/cheese.ui", &error);
@@ -1630,7 +1629,7 @@ cheese_window_create_window (CheeseWindow *cheese_window)
   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"));
-  cheese_window->message_area_frame          = GTK_WIDGET (gtk_builder_get_object (builder, "message_area_frame"));
+  cheese_window->info_bar_frame              = GTK_WIDGET (gtk_builder_get_object (builder, "info_bar_frame"));
   cheese_window->fullscreen_popup            = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_popup"));
   cheese_window->fullscreen_bar              = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_notebook_bar"));
   cheese_window->button_effects_fullscreen   = GTK_WIDGET (gtk_builder_get_object (builder, "button_effects_fullscreen"));
@@ -1911,7 +1910,7 @@ setup_camera (CheeseWindow *cheese_window)
   gdouble    contrast;
   gdouble    saturation;
   gdouble    hue;
-  GtkWidget *message_area;
+  GtkWidget *info_bar;
 
   GError *error;
 
@@ -1985,14 +1984,14 @@ setup_camera (CheeseWindow *cheese_window)
   ephy_spinner_stop (EPHY_SPINNER (cheese_window->throbber));
   if (cheese_webcam_get_num_webcam_devices (cheese_window->webcam) == 0)
   {
-    message_area = cheese_no_camera_message_area ();
+    info_bar = cheese_no_camera_info_bar_new ();
 
-    g_signal_connect (message_area,
+    g_signal_connect (info_bar,
                       "response",
-                      G_CALLBACK (cheese_window_no_camera_message_area_response),
+                      G_CALLBACK (cheese_window_no_camera_info_bar_response),
                       cheese_window);
 
-    cheese_window_set_message_area (cheese_window, message_area);
+    cheese_window_set_info_bar (cheese_window, info_bar);
   }
   gtk_widget_set_sensitive (GTK_WIDGET (cheese_window->take_picture), TRUE);
   gtk_widget_set_sensitive (GTK_WIDGET (cheese_window->take_picture_fullscreen), TRUE);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]