[Xfce4-commits] <design:master> Change packing.

Nick Schermer noreply at xfce.org
Tue May 31 21:08:01 CEST 2011


Updating branch refs/heads/master
         to 52f2c69912b5c503f2307a280db32cee23f77529 (commit)
       from 40bda5ac7af96684177512a87436796b205f713e (commit)

commit 52f2c69912b5c503f2307a280db32cee23f77529
Author: Nick Schermer <nick at xfce.org>
Date:   Tue May 31 21:06:30 2011 +0200

    Change packing.

 .../merge-with-xfrun/demo-code/c/Makefile          |    2 +-
 .../demo-code/c/appfinder-window.c                 |  100 ++++++++++++++------
 2 files changed, 73 insertions(+), 29 deletions(-)

diff --git a/xfce4-appfinder/merge-with-xfrun/demo-code/c/Makefile b/xfce4-appfinder/merge-with-xfrun/demo-code/c/Makefile
index b92b7db..794912b 100644
--- a/xfce4-appfinder/merge-with-xfrun/demo-code/c/Makefile
+++ b/xfce4-appfinder/merge-with-xfrun/demo-code/c/Makefile
@@ -1,6 +1,6 @@
 
 all:
-	gcc -Wall -Werror -O0 -g -ggdb -pipe \
+	gcc -Wall -Werror -O2 -pipe \
 	`pkg-config --libs --cflags gtk+-2.0` \
 	`pkg-config --libs --cflags libxfce4util-1.0` \
 	`pkg-config --libs --cflags garcon-1` \
diff --git a/xfce4-appfinder/merge-with-xfrun/demo-code/c/appfinder-window.c b/xfce4-appfinder/merge-with-xfrun/demo-code/c/appfinder-window.c
index eff77dc..1ad6fd8 100644
--- a/xfce4-appfinder/merge-with-xfrun/demo-code/c/appfinder-window.c
+++ b/xfce4-appfinder/merge-with-xfrun/demo-code/c/appfinder-window.c
@@ -9,11 +9,15 @@
 
 
 
-static void xfce_appfinder_window_finalize            (GObject              *object);
-static void xfce_appfinder_window_entry_icon_released (GtkEntry             *entry,
-                                                       GtkEntryIconPosition  icon_pos,
-                                                       GdkEvent             *event,
-                                                       XfceAppfinderWindow  *window);
+static void       xfce_appfinder_window_finalize            (GObject              *object);
+static void       xfce_appfinder_window_set_padding         (GtkWidget            *entry,
+                                                             GtkWidget            *align);
+static GtkWidget *xfce_appfinder_window_buttonbox           (void);
+static void       xfce_appfinder_window_entry_icon_released (GtkEntry             *entry,
+                                                             GtkEntryIconPosition  icon_pos,
+                                                             GdkEvent             *event,
+                                                             XfceAppfinderWindow  *window);
+
 
 
 struct _XfceAppfinderWindowClass
@@ -28,6 +32,8 @@ struct _XfceAppfinderWindow
   GtkWidget *paned;
   GtkWidget *entry;
   GtkWidget *vbox;
+  GtkWidget *bbox1;
+  GtkWidget *bbox2;
 };
 
 
@@ -50,16 +56,15 @@ xfce_appfinder_window_class_init (XfceAppfinderWindowClass *klass)
 static void
 xfce_appfinder_window_init (XfceAppfinderWindow *window)
 {
-  GtkWidget          *vbox;
+  GtkWidget          *vbox, *vbox2;
   GtkWidget          *entry;
   GtkWidget          *pane;
   GtkWidget          *scroll;
   GtkWidget          *sidepane;
-  GtkWidget          *bbox;
-  GtkWidget          *button;
   GtkWidget          *treeview;
   GtkWidget          *image;
   GtkWidget          *hbox;
+  GtkWidget          *align;
   /*GtkTreeViewColumn  *column;
   GtkCellRenderer    *renderer;*/
 
@@ -68,7 +73,7 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
   gtk_window_set_icon_name (GTK_WINDOW (window), GTK_STOCK_EXECUTE);
   g_signal_connect (G_OBJECT (window), "delete-event", G_CALLBACK (gtk_main_quit), NULL);
 
-  window->vbox = vbox = gtk_vbox_new (FALSE, 0);
+  window->vbox = vbox = gtk_vbox_new (FALSE, 6);
   gtk_container_add (GTK_CONTAINER (window), vbox);
   gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
   gtk_widget_show (vbox);
@@ -77,16 +82,31 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
   gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
   gtk_widget_show (hbox);
 
-  image = gtk_image_new_from_icon_name ("terminal", GTK_ICON_SIZE_DIALOG);
-  gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
+  align = gtk_alignment_new (0.5, 0.0, 0.0, 0.0);
+  gtk_box_pack_start (GTK_BOX (hbox), align, FALSE, FALSE, 0);
+  gtk_widget_show (align);
+
+  image = gtk_image_new_from_icon_name ("preferences-desktop-theme", GTK_ICON_SIZE_DIALOG);
+  gtk_container_add (GTK_CONTAINER (align), image);
   gtk_widget_show (image);
 
+  vbox2 = gtk_vbox_new (FALSE, 6);
+  gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
+  gtk_widget_show (vbox2);
+
+  align = gtk_alignment_new (0.0, 0.0, 1.0, 0.0);
+  gtk_box_pack_start (GTK_BOX (vbox2), align, TRUE, TRUE, 0);
+  gtk_widget_show (align);
+
   window->entry = entry = gtk_entry_new ();
-  gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
-  g_signal_connect (G_OBJECT (entry), "icon-release",
-      G_CALLBACK (xfce_appfinder_window_entry_icon_released), window);
+  gtk_container_add (GTK_CONTAINER (align), entry);
+  g_signal_connect (G_OBJECT (entry), "icon-release", G_CALLBACK (xfce_appfinder_window_entry_icon_released), window);
+  g_signal_connect (G_OBJECT (entry), "realize", G_CALLBACK (xfce_appfinder_window_set_padding), align);
   gtk_widget_show (entry);
 
+  window->bbox1 = xfce_appfinder_window_buttonbox ();
+  gtk_box_pack_start (GTK_BOX (vbox2), window->bbox1, FALSE, TRUE, 0);
+
   window->paned = pane = gtk_hpaned_new ();
   gtk_box_pack_start (GTK_BOX (vbox), pane, TRUE, TRUE, 0);
   gtk_paned_set_position (GTK_PANED (pane), 180 /* todo remember */);
@@ -143,16 +163,47 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
   column = gtk_tree_view_column_new_with_attributes (NULL, renderer, "markup", XFCE_APPFINDER_MODEL_COLUMN_NAME, NULL);
   gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), GTK_TREE_VIEW_COLUMN (column));*/
 
+  window->bbox2 = xfce_appfinder_window_buttonbox ();
+  gtk_box_pack_start (GTK_BOX (vbox), window->bbox2, FALSE, TRUE, 0);
+}
+
+
+
+static void
+xfce_appfinder_window_finalize (GObject *object)
+{
+  //XfceAppfinderWindow *window = XFCE_APPFINDER_WINDOW (object);
+
+  (*G_OBJECT_CLASS (xfce_appfinder_window_parent_class)->finalize) (object);
+}
+
+
+
+static void
+xfce_appfinder_window_set_padding (GtkWidget *entry,
+                                   GtkWidget *align)
+{
+  gint padding;
+
+  padding = (48 - entry->allocation.height) / 2;
+  gtk_alignment_set_padding (GTK_ALIGNMENT (align), MAX (0, padding), 0, 0, 0);
+}
+
+static GtkWidget *
+xfce_appfinder_window_buttonbox (void)
+{
+
+  GtkWidget *image;
+  GtkWidget *button;
+  GtkWidget *bbox;
+
   bbox = gtk_hbutton_box_new ();
-  gtk_box_pack_start (GTK_BOX (vbox), bbox, FALSE, TRUE, 0);
   gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
   gtk_button_box_set_spacing (GTK_BUTTON_BOX (bbox), 6);
-  gtk_widget_show (bbox);
 
   button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
   gtk_container_add (GTK_CONTAINER (bbox), button);
-  g_signal_connect (G_OBJECT (button), "clicked",
-      G_CALLBACK (gtk_main_quit), NULL);
+  g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (gtk_main_quit), NULL);
   gtk_widget_show (button);
 
   button = gtk_button_new_with_mnemonic ("La_unch");
@@ -162,16 +213,8 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
   image = gtk_image_new_from_stock (GTK_STOCK_EXECUTE, GTK_ICON_SIZE_BUTTON);
   gtk_button_set_image (GTK_BUTTON (button), image);
   gtk_widget_show (image);
-}
-
-
 
-static void
-xfce_appfinder_window_finalize (GObject *object)
-{
-  //XfceAppfinderWindow *window = XFCE_APPFINDER_WINDOW (object);
-
-  (*G_OBJECT_CLASS (xfce_appfinder_window_parent_class)->finalize) (object);
+  return bbox;
 }
 
 
@@ -217,7 +260,8 @@ xfce_appfinder_window_set_expanded (XfceAppfinderWindow *window,
     }
 
   gtk_widget_set_visible (window->paned, expanded);
-  gtk_box_set_spacing (GTK_BOX (window->vbox), expanded ? 6 : 0);
+  gtk_widget_set_visible (window->bbox1, !expanded);
+  gtk_widget_set_visible (window->bbox2, expanded);
   gtk_entry_set_icon_from_icon_name (GTK_ENTRY (window->entry), GTK_ENTRY_ICON_SECONDARY,
                                      expanded ? GTK_STOCK_GO_UP : GTK_STOCK_GO_DOWN);
   gtk_entry_set_icon_tooltip_text (GTK_ENTRY (window->entry), GTK_ENTRY_ICON_SECONDARY,



More information about the Xfce4-commits mailing list