[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