[cheese/netbook-mode: 2/3] window: reparent the icon view into the right aligment
- From: Filippo Argiolas <fargiolas src gnome org>
- To: svn-commits-list gnome org
- Subject: [cheese/netbook-mode: 2/3] window: reparent the icon view into the right aligment
- Date: Wed, 29 Jul 2009 07:17:58 +0000 (UTC)
commit 5c98f88c8767ed7e2c20d42f1bb123ffab488d5c
Author: Filippo Argiolas <filippo argiolas gmail com>
Date: Wed Jul 29 08:54:04 2009 +0200
window: reparent the icon view into the right aligment
First experiment of an horizontal mode suited for netbooks, define
NETBOOK to test. Completely drop obsolete HILDON mode, if anyone still
wants it should provide an updated patch.
src/cheese-window.c | 54 +++++++++++---------------------------------------
1 files changed, 12 insertions(+), 42 deletions(-)
---
diff --git a/src/cheese-window.c b/src/cheese-window.c
index a2e48db..08830c6 100644
--- a/src/cheese-window.c
+++ b/src/cheese-window.c
@@ -43,10 +43,6 @@
#include <X11/XF86keysym.h>
#endif /* HAVE_MMKEYS */
-#ifdef HILDON
- #include <hildon/hildon-program.h>
-#endif
-
#include "cheese-countdown.h"
#include "cheese-effect-chooser.h"
#include "cheese-fileutil.h"
@@ -112,6 +108,7 @@ typedef struct
GtkWidget *fullscreen_bar;
GtkWidget *main_vbox;
+ GtkWidget *netbook_alignment;
GtkWidget *video_vbox;
GtkWidget *effect_frame;
@@ -155,11 +152,6 @@ typedef struct
GtkWidget *take_picture;
GtkWidget *take_picture_fullscreen;
-#ifdef HILDON
- GtkWidget *main_hbox;
- GtkWidget *subwindow;
-#endif
-
GtkActionGroup *actions_account_photo;
GtkActionGroup *actions_countdown;
GtkActionGroup *actions_effects;
@@ -1606,15 +1598,7 @@ cheese_window_create_window (CheeseWindow *cheese_window)
GError *error = NULL;
char *path;
GtkBuilder *builder;
-
-#ifdef HILDON
- HildonProgram *program = hildon_program_get_instance ();
- GtkWidget *menu;
- GtkWidget *menuitem;
-#else
GtkWidget *menubar;
-#endif
-
cheese_window->info_bar = NULL;
@@ -1638,6 +1622,7 @@ cheese_window_create_window (CheeseWindow *cheese_window)
cheese_window->label_take_photo = GTK_WIDGET (gtk_builder_get_object (builder, "label_take_photo"));
cheese_window->label_video = GTK_WIDGET (gtk_builder_get_object (builder, "label_video"));
cheese_window->main_vbox = GTK_WIDGET (gtk_builder_get_object (builder, "main_vbox"));
+ cheese_window->netbook_alignment = GTK_WIDGET (gtk_builder_get_object (builder, "netbook_alignment"));
cheese_window->video_vbox = GTK_WIDGET (gtk_builder_get_object (builder, "video_vbox"));
cheese_window->notebook = GTK_WIDGET (gtk_builder_get_object (builder, "notebook"));
cheese_window->notebook_bar = GTK_WIDGET (gtk_builder_get_object (builder, "notebook_bar"));
@@ -1666,6 +1651,8 @@ cheese_window_create_window (CheeseWindow *cheese_window)
GTK_WIDGET (gtk_builder_get_object (builder, "countdown_frame_fullscreen"));
cheese_window->button_exit_fullscreen = GTK_WIDGET (gtk_builder_get_object (builder, "button_exit_fullscreen"));
+ g_object_unref (builder);
+
/* configure the popup position and size */
GdkScreen *screen = gtk_window_get_screen (GTK_WINDOW (cheese_window->fullscreen_popup));
gtk_window_set_default_size (GTK_WINDOW (cheese_window->fullscreen_popup),
@@ -1682,30 +1669,6 @@ cheese_window_create_window (CheeseWindow *cheese_window)
G_CALLBACK (cheese_window_exit_fullscreen_button_clicked_cb),
cheese_window);
-#ifdef HILDON
- /* Reparent widgets in case we use hildon. This saves us maintaining two
- * GtkBuilder ui files
- */
- cheese_window->window = hildon_window_new ();
- cheese_window->main_hbox = gtk_hbox_new (FALSE, 0);
- hildon_program_add_window (program, HILDON_WINDOW (cheese_window->window));
- gtk_container_add (GTK_CONTAINER (cheese_window->window), cheese_window->main_hbox);
- g_object_ref (cheese_window->thumb_scrollwindow);
- g_object_ref (cheese_window->video_vbox);
- gtk_container_remove (GTK_CONTAINER (cheese_window->video_vbox), cheese_window->thumb_scrollwindow);
- gtk_container_remove (GTK_CONTAINER (cheese_window->main_vbox), cheese_window->video_vbox);
- gtk_box_pack_start (GTK_BOX (cheese_window->main_hbox), cheese_window->video_vbox, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (cheese_window->main_hbox), GTK_WIDGET (cheese_window->thumb_scrollwindow),
- FALSE, FALSE, 0);
- gtk_widget_destroy (cheese_window->main_vbox);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (cheese_window->thumb_scrollwindow),
- GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
- g_object_unref (cheese_window->thumb_scrollwindow);
- g_object_unref (cheese_window->video_vbox);
-#endif
-
- g_object_unref (builder);
-
char *str = g_strconcat ("<b>", _("_Take a photo"), "</b>", NULL);
gtk_label_set_text_with_mnemonic (GTK_LABEL (cheese_window->label_take_photo), str);
gtk_label_set_text_with_mnemonic (GTK_LABEL (cheese_window->label_take_photo_fullscreen), str);
@@ -1716,7 +1679,7 @@ cheese_window_create_window (CheeseWindow *cheese_window)
gtk_widget_set_sensitive (GTK_WIDGET (cheese_window->take_picture_fullscreen), FALSE);
cheese_window->thumb_view = cheese_thumb_view_new ();
- cheese_window->thumb_nav = eog_thumb_nav_new (cheese_window->thumb_view, TRUE);
+ cheese_window->thumb_nav = eog_thumb_nav_new (cheese_window->thumb_view, FALSE);
gtk_container_add (GTK_CONTAINER (cheese_window->thumb_scrollwindow), cheese_window->thumb_nav);
/* show the scroll window to get it included in the size requisition done later */
@@ -2069,6 +2032,13 @@ cheese_window_init (char *hal_dev_udi, CheeseDbus *dbus_server)
cheese_window->webcam_mode = WEBCAM_MODE_PHOTO;
cheese_window->recording = FALSE;
+#ifdef NETBOOK
+ g_object_ref (cheese_window->thumb_scrollwindow);
+ gtk_container_remove (GTK_CONTAINER (cheese_window->video_vbox), cheese_window->thumb_scrollwindow);
+ gtk_container_add (GTK_CONTAINER (cheese_window->netbook_alignment), cheese_window->thumb_scrollwindow);
+ g_object_unref (cheese_window->thumb_scrollwindow);
+#endif
+
/* handy trick to set default size of the drawing area while not
* limiting its minimum size, thanks Owen! */
GtkRequisition req;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]