X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fhildon-edit-toolbar.c;h=ff11687907f427197ae41ed9a60edf0dca6c0e98;hb=e3a8bb2cb36fb7ee162c1e57333b7a77a8c15e70;hp=9c970c996f5010a968826644db9dd5cfa1f1a9d8;hpb=078678beca732ad157f9f9904a45d089c38686ce;p=hildon diff --git a/src/hildon-edit-toolbar.c b/src/hildon-edit-toolbar.c index 9c970c9..ff11687 100644 --- a/src/hildon-edit-toolbar.c +++ b/src/hildon-edit-toolbar.c @@ -30,22 +30,24 @@ * actually peform actions the developer must provide callbacks for * them. * + * To add a #HildonEditToolbar to a window use + * hildon_window_set_edit_toolbar(). + * * * HildonEditToolbar example * * GtkWidget *window; - * GtkWidget *vbox; * GtkWidget *toolbar; * // Declare more widgets here ... * * window = hildon_stackable_window_new (); - * vbox = gtk_vbox_new (FALSE, 10); * toolbar = hildon_edit_toolbar_new_with_text ("Choose items to delete", "Delete"); * // Create more widgets here ... * - * gtk_container_add (GTK_CONTAINER (window), vbox); - * gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, FALSE, 0); - * // Pack more widgets here ... + * // Add toolbar to window + * hildon_window_set_edit_toolbar (HILDON_WINDOW (window), HILDON_EDIT_TOOLBAR (toolbar)); + * + * // Add other widgets ... * * g_signal_connect (toolbar, "button-clicked", G_CALLBACK (delete_button_clicked), someparameter); * g_signal_connect_swapped (toolbar, "arrow-clicked", G_CALLBACK (gtk_widget_destroy), window); @@ -61,6 +63,9 @@ G_DEFINE_TYPE (HildonEditToolbar, hildon_edit_toolbar, GTK_TYPE_HBOX); +#define TOOLBAR_LEFT_PADDING 8 +#define TOOLBAR_RIGHT_PADDING 8 + #define HILDON_EDIT_TOOLBAR_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ HILDON_TYPE_EDIT_TOOLBAR, HildonEditToolbarPrivate)); @@ -180,32 +185,42 @@ static void hildon_edit_toolbar_init (HildonEditToolbar *self) { HildonEditToolbarPrivate *priv = HILDON_EDIT_TOOLBAR_GET_PRIVATE (self); + GtkWidget *separator; + GtkAlignment *align; GtkBox *hbox = GTK_BOX (self); + GtkBox *hbox2; + hbox2 = GTK_BOX (gtk_hbox_new (FALSE, 0)); + align = GTK_ALIGNMENT (gtk_alignment_new (0, 0.5, 1, 1)); priv->label = GTK_LABEL (gtk_label_new (NULL)); - priv->button = GTK_BUTTON (hildon_gtk_button_new (HILDON_SIZE_AUTO_WIDTH | HILDON_SIZE_FINGER_HEIGHT)); + priv->button = GTK_BUTTON (hildon_gtk_button_new (HILDON_SIZE_AUTO)); + separator = gtk_vseparator_new (); priv->arrow = GTK_BUTTON (gtk_button_new ()); - gtk_button_set_image (priv->arrow, gtk_image_new_from_stock (GTK_STOCK_GO_BACK, GTK_ICON_SIZE_LARGE_TOOLBAR)); - gtk_button_set_relief (priv->arrow, GTK_RELIEF_NONE); gtk_button_set_focus_on_click (priv->arrow, FALSE); g_signal_connect (priv->button, "clicked", G_CALLBACK (button_clicked_cb), self); g_signal_connect (priv->arrow, "clicked", G_CALLBACK (arrow_clicked_cb), self); - gtk_box_set_spacing (hbox, 10); + gtk_box_set_spacing (hbox, 0); + gtk_alignment_set_padding (align, 0, 0, TOOLBAR_LEFT_PADDING, TOOLBAR_RIGHT_PADDING); + gtk_widget_set_name (GTK_WIDGET (self), "toolbar-edit-mode"); gtk_widget_set_name (GTK_WIDGET (priv->arrow), "hildon-edit-toolbar-arrow"); - gtk_box_pack_start (hbox, GTK_WIDGET (priv->label), TRUE, TRUE, 0); - gtk_box_pack_start (hbox, GTK_WIDGET (priv->button), FALSE, FALSE, 0); + gtk_container_add (GTK_CONTAINER (align), GTK_WIDGET (hbox2)); + gtk_box_pack_start (hbox2, GTK_WIDGET (priv->label), TRUE, TRUE, 0); + gtk_box_pack_start (hbox2, GTK_WIDGET (priv->button), FALSE, FALSE, 0); + + gtk_box_pack_start (hbox, GTK_WIDGET (align), TRUE, TRUE, 0); + gtk_box_pack_start (hbox, separator, FALSE, FALSE, 0); gtk_box_pack_start (hbox, GTK_WIDGET (priv->arrow), FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (priv->label), 0, 0.5); - gtk_widget_show (GTK_WIDGET (priv->label)); - gtk_widget_show (GTK_WIDGET (priv->button)); - gtk_widget_show (GTK_WIDGET (priv->arrow)); + gtk_widget_show_all (GTK_WIDGET (align)); + gtk_widget_show_all (separator); + gtk_widget_show_all (GTK_WIDGET (priv->arrow)); } /**