diff options
author | Glynn Foster <glynn.foster@sun.com> | 2003-03-10 17:11:18 +0000 |
---|---|---|
committer | Glynn Foster <gman@src.gnome.org> | 2003-03-10 17:11:18 +0000 |
commit | 49f89795349a47ae4e061666d84a715bf24f5373 (patch) | |
tree | fe33734a99bda00908c87cb8065c0dcd6644f51e | |
parent | aaf773626ebd98d6f71ccc536fd1358eb636bae5 (diff) | |
download | zenity-49f89795349a47ae4e061666d84a715bf24f5373.tar.gz |
Mass indentation cleanup. Make sure the glade dialogs aren't initially
2003-03-10 Glynn Foster <glynn.foster@sun.com>
* src/about.c, src/calendar.c, src/entry.c, src/fileselection.c,
src/main.c, src/msg.c, src/progress.c, src/text.c, src/tree.c,
src/util.c, src/util.h, src/zenity.glade, src/zenity.h:
Mass indentation cleanup. Make sure the glade dialogs aren't initially
visible because this avoids a visibility jump. Apparently == TRUE is
bad mojo. Fix up.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | src/about.c | 614 | ||||
-rw-r--r-- | src/calendar.c | 126 | ||||
-rw-r--r-- | src/entry.c | 113 | ||||
-rw-r--r-- | src/fileselection.c | 81 | ||||
-rw-r--r-- | src/main.c | 1922 | ||||
-rw-r--r-- | src/msg.c | 185 | ||||
-rw-r--r-- | src/progress.c | 194 | ||||
-rw-r--r-- | src/text.c | 113 | ||||
-rw-r--r-- | src/tree.c | 549 | ||||
-rw-r--r-- | src/util.c | 697 | ||||
-rw-r--r-- | src/util.h | 32 | ||||
-rw-r--r-- | src/zenity.glade | 17 | ||||
-rw-r--r-- | src/zenity.h | 92 |
14 files changed, 2371 insertions, 2374 deletions
@@ -1,3 +1,13 @@ +2003-03-10 Glynn Foster <glynn.foster@sun.com> + + * src/about.c, src/calendar.c, src/entry.c, src/fileselection.c, + src/main.c, src/msg.c, src/progress.c, src/text.c, src/tree.c, + src/util.c, src/util.h, src/zenity.glade, src/zenity.h: + + Mass indentation cleanup. Make sure the glade dialogs aren't initially + visible because this avoids a visibility jump. Apparently == TRUE is + bad mojo. Fix up. + 2003-03-08 Evandro Fernandes Giovanini <evandrofg@ig.com.br> * configure.in(ALL_LINGUAS): Added "pt_BR" (Brazilian Portuguese). diff --git a/src/about.c b/src/about.c index cf0f119..2adcf64 100644 --- a/src/about.c +++ b/src/about.c @@ -45,410 +45,416 @@ static void zenity_about_dialog_response (GtkWidget *widget, int response, gpoin /* Sync with the people in the THANKS file */ static const gchar *author_credits[] = { - "Author -", - "Glynn Foster <glynn.foster@sun.com>", - "", - "Thanks to -", - "Jonathan Blandford <jrb@redhat.com>", - "Ross Burton <ross@burtonini.com>", - "Anders Carlsson <andersca@codefactory.se>", - "John Fleck <jfleck@inkstain.net>", - "James Henstridge <james@daa.com.au>", - "Mihai T. Lazarescu <mihai@email.it>", - "Mike Newman <mike@gtnorthern.demon.co.uk>", - "Havoc Pennington <hp@redhat.com>", - "Kristian Rietveld <kris@gtk.org>", - "Jakub Steiner <jimmac@ximian.com>", - "Tom Tromey <tromey@redhat.com>", - NULL + "Author -", + "Glynn Foster <glynn.foster@sun.com>", + "", + "Thanks to -", + "Jonathan Blandford <jrb@redhat.com>", + "Ross Burton <ross@burtonini.com>", + "Anders Carlsson <andersca@codefactory.se>", + "John Fleck <jfleck@inkstain.net>", + "James Henstridge <james@daa.com.au>", + "Mihai T. Lazarescu <mihai@email.it>", + "Mike Newman <mike@gtnorthern.demon.co.uk>", + "Havoc Pennington <hp@redhat.com>", + "Kristian Rietveld <kris@gtk.org>", + "Jakub Steiner <jimmac@ximian.com>", + "Tom Tromey <tromey@redhat.com>", + NULL }; gchar *translator_credits; static gint -zenity_move_clothes_event (GnomeCanvasItem *item, GdkEvent *event, gpointer data) +zenity_move_clothes_event (GnomeCanvasItem *item, + GdkEvent *event, + gpointer data) { - static double x, y; - double new_x, new_y; - static int dragging; - double item_x, item_y; - - /* set item_[xy] to the event x,y position in the parent's item-relative coordinates */ - item_x = event->button.x; - item_y = event->button.y; - gnome_canvas_item_w2i (item->parent, &item_x, &item_y); - - switch (event->type) { - case GDK_BUTTON_PRESS: - x = item_x; - y = item_y; - gnome_canvas_item_ungrab (item, event->button.time); - gnome_canvas_item_raise_to_top (item); - dragging = TRUE; - break; - - case GDK_MOTION_NOTIFY: - if (dragging && (event->motion.state & GDK_BUTTON1_MASK)) { - new_x = item_x; - new_y = item_y; - - gnome_canvas_item_move (item, new_x - x, new_y - y); - x = new_x; - y = new_y; - } - break; - - case GDK_BUTTON_RELEASE: - gnome_canvas_item_ungrab (item, event->button.time); - dragging = FALSE; - break; - - default: - break; - } - - return FALSE; + static double x, y; + double new_x, new_y; + static int dragging; + double item_x, item_y; + + /* set item_[xy] to the event x,y position in the parent's + * item-relative coordinates + */ + + item_x = event->button.x; + item_y = event->button.y; + gnome_canvas_item_w2i (item->parent, &item_x, &item_y); + + switch (event->type) { + case GDK_BUTTON_PRESS: + x = item_x; + y = item_y; + gnome_canvas_item_ungrab (item, event->button.time); + gnome_canvas_item_raise_to_top (item); + dragging = TRUE; + break; + + case GDK_MOTION_NOTIFY: + if (dragging && (event->motion.state & GDK_BUTTON1_MASK)) { + new_x = item_x; + new_y = item_y; + + gnome_canvas_item_move (item, new_x - x, new_y - y); + x = new_x; + y = new_y; + } + break; + + case GDK_BUTTON_RELEASE: + gnome_canvas_item_ungrab (item, event->button.time); + dragging = FALSE; + break; + + default: + break; + } + + return FALSE; } typedef struct { - const gchar *filename; - gdouble x, y; + const gchar *filename; + gdouble x, y; } MonkClothes; static MonkClothes monk_clothes[] = { - {"gnome-tshirt.png", 30.0, 20.0}, - {"sunglasses.png", ZENITY_CANVAS_X - 100.0 , ZENITY_CANVAS_Y - 150.0 }, - {"surfboard.png", 30.0, ZENITY_CANVAS_Y - 200.0}, - {"hawaii-shirt.png", ZENITY_CANVAS_X - 50.0, 20.0} + {"gnome-tshirt.png", 30.0, 20.0}, + {"sunglasses.png", ZENITY_CANVAS_X - 100.0 , ZENITY_CANVAS_Y - 150.0 }, + {"surfboard.png", 30.0, ZENITY_CANVAS_Y - 200.0}, + {"hawaii-shirt.png", ZENITY_CANVAS_X - 50.0, 20.0} }; static void zenity_create_clothes (GtkWidget *canvas_board) { - GdkPixbuf *pixbuf; - GnomeCanvasItem *canvas_item; - gchar *pixbuf_path; - gint i; - - for (i = 0; i < G_N_ELEMENTS (monk_clothes); i++) { - pixbuf_path = g_strconcat (ZENITY_CLOTHES_PATH, monk_clothes[i].filename, NULL); - pixbuf = gdk_pixbuf_new_from_file (pixbuf_path, NULL); - - canvas_item = gnome_canvas_item_new (GNOME_CANVAS_GROUP (GNOME_CANVAS (canvas_board)->root), - gnome_canvas_pixbuf_get_type (), - "x", monk_clothes[i].x, - "y", monk_clothes[i].y, - "pixbuf", pixbuf, - "anchor", GTK_ANCHOR_NW, - NULL); - g_signal_connect (G_OBJECT (canvas_item), "event", - G_CALLBACK (zenity_move_clothes_event), NULL); - } + GdkPixbuf *pixbuf; + GnomeCanvasItem *canvas_item; + gchar *pixbuf_path; + gint i; + + for (i = 0; i < G_N_ELEMENTS (monk_clothes); i++) { + pixbuf_path = g_strconcat (ZENITY_CLOTHES_PATH, monk_clothes[i].filename, NULL); + pixbuf = gdk_pixbuf_new_from_file (pixbuf_path, NULL); + + canvas_item = gnome_canvas_item_new (GNOME_CANVAS_GROUP (GNOME_CANVAS (canvas_board)->root), + gnome_canvas_pixbuf_get_type (), + "x", monk_clothes[i].x, + "y", monk_clothes[i].y, + "pixbuf", pixbuf, + "anchor", GTK_ANCHOR_NW, + NULL); + g_signal_connect (G_OBJECT (canvas_item), "event", + G_CALLBACK (zenity_move_clothes_event), NULL); + } } static GtkWidget * zenity_create_monk (void) { - GtkWidget *canvas_board; - GnomeCanvasItem *canvas_item; - GnomeCanvasGroup *root; - GdkPixbuf *pixbuf; - GdkColor color = { 0, 0xffff, 0xffff, 0xffff }; + GtkWidget *canvas_board; + GnomeCanvasItem *canvas_item; + GnomeCanvasGroup *root; + GdkPixbuf *pixbuf; + GdkColor color = { 0, 0xffff, 0xffff, 0xffff }; - canvas_board = gnome_canvas_new (); + canvas_board = gnome_canvas_new (); - gnome_canvas_set_scroll_region (GNOME_CANVAS (canvas_board), 0, 0, - ZENITY_CANVAS_X, ZENITY_CANVAS_Y); + gnome_canvas_set_scroll_region (GNOME_CANVAS (canvas_board), 0, 0, + ZENITY_CANVAS_X, ZENITY_CANVAS_Y); - gtk_widget_set_size_request (canvas_board, ZENITY_CANVAS_X, ZENITY_CANVAS_Y); + gtk_widget_set_size_request (canvas_board, ZENITY_CANVAS_X, ZENITY_CANVAS_Y); - gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (canvas_board)), - &color, FALSE, TRUE); + gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (canvas_board)), + &color, FALSE, TRUE); - gtk_widget_modify_bg (GTK_WIDGET (canvas_board), GTK_STATE_NORMAL, &color); + gtk_widget_modify_bg (GTK_WIDGET (canvas_board), GTK_STATE_NORMAL, &color); - pixbuf = gdk_pixbuf_new_from_file (ZENITY_CLOTHES_PATH "monk.png", NULL); + pixbuf = gdk_pixbuf_new_from_file (ZENITY_CLOTHES_PATH "monk.png", NULL); - canvas_item = gnome_canvas_item_new (GNOME_CANVAS_GROUP (GNOME_CANVAS (canvas_board)->root), - gnome_canvas_pixbuf_get_type (), - "x", (ZENITY_CANVAS_X / 2.0)/2.0 + 10.0, - "y", (ZENITY_CANVAS_Y / 2.0)/2.0 - 50.0, - "pixbuf", pixbuf, - "anchor", GTK_ANCHOR_NW, - NULL); + canvas_item = gnome_canvas_item_new (GNOME_CANVAS_GROUP (GNOME_CANVAS (canvas_board)->root), + gnome_canvas_pixbuf_get_type (), + "x", (ZENITY_CANVAS_X / 2.0)/2.0 + 10.0, + "y", (ZENITY_CANVAS_Y / 2.0)/2.0 - 50.0, + "pixbuf", pixbuf, + "anchor", GTK_ANCHOR_NW, + NULL); - zenity_create_clothes (canvas_board); + zenity_create_clothes (canvas_board); - return canvas_board; + return canvas_board; } static GtkWidget * zenity_create_boutique (void) { - GtkWidget *window; - GtkWidget *canvas; + GtkWidget *window; + GtkWidget *canvas; - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - zenity_util_set_window_icon (window, ZENITY_IMAGE_FULLPATH ("zenity.png")); - canvas = zenity_create_monk (); - gtk_container_add (GTK_CONTAINER (window), canvas); + zenity_util_set_window_icon (window, ZENITY_IMAGE_FULLPATH ("zenity.png")); + canvas = zenity_create_monk (); + gtk_container_add (GTK_CONTAINER (window), canvas); - return window; + return window; } static gboolean zenity_zen_wisdom (GtkDialog *dialog, GdkEventKey *event, gpointer user_data) { - static gint string_count; - - if (string_count >= 3) - return FALSE; - - switch (event->keyval) { - case GDK_N: - case GDK_n: - if (string_count == 2) { - GtkWidget *window; - window = zenity_create_boutique (); - gtk_widget_show_all (window); - string_count++; - } else { - string_count = 0; - } - break; - case GDK_Z: - case GDK_z: - if (string_count == 0) - string_count++; - else - string_count = 0; - break; - case GDK_E: - case GDK_e: - if (string_count == 1) - string_count++; - else - string_count = 0; - break; - default: - string_count = 0; - } - - return FALSE; + static gint string_count; + + if (string_count >= 3) + return FALSE; + + switch (event->keyval) { + case GDK_N: + case GDK_n: + if (string_count == 2) { + GtkWidget *window; + window = zenity_create_boutique (); + gtk_widget_show_all (window); + string_count++; + } else { + string_count = 0; + } + break; + case GDK_Z: + case GDK_z: + if (string_count == 0) + string_count++; + else + string_count = 0; + break; + case GDK_E: + case GDK_e: + if (string_count == 1) + string_count++; + else + string_count = 0; + break; + default: + string_count = 0; + } + + return FALSE; } void zenity_about (ZenityData *data) { - GladeXML *glade_dialog = NULL; - GdkPixbuf *pixbuf; - GtkWidget *label; - GtkWidget *image; - gchar *text; + GladeXML *glade_dialog = NULL; + GdkPixbuf *pixbuf; + GtkWidget *label; + GtkWidget *image; + gchar *text; - glade_dialog = zenity_util_load_glade_file ("zenity_about_dialog"); + glade_dialog = zenity_util_load_glade_file ("zenity_about_dialog"); - if (glade_dialog == NULL) { - data->exit_code = -1; - return; - } + if (glade_dialog == NULL) { + data->exit_code = -1; + return; + } - translator_credits = _("translator_credits"); + translator_credits = _("translator_credits"); - glade_xml_signal_autoconnect (glade_dialog); + glade_xml_signal_autoconnect (glade_dialog); - dialog = glade_xml_get_widget (glade_dialog, "zenity_about_dialog"); + dialog = glade_xml_get_widget (glade_dialog, "zenity_about_dialog"); - g_signal_connect (G_OBJECT (dialog), "response", - G_CALLBACK (zenity_about_dialog_response), data); - g_signal_connect (G_OBJECT (dialog), "key_press_event", - G_CALLBACK (zenity_zen_wisdom), glade_dialog); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (zenity_about_dialog_response), data); + g_signal_connect (G_OBJECT (dialog), "key_press_event", + G_CALLBACK (zenity_zen_wisdom), glade_dialog); - zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity.png")); + zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity.png")); - image = glade_xml_get_widget (glade_dialog, "zenity_about_image"); + image = glade_xml_get_widget (glade_dialog, "zenity_about_image"); - pixbuf = gdk_pixbuf_new_from_file (ZENITY_IMAGE_FULLPATH ("zenity.png"), NULL); + pixbuf = gdk_pixbuf_new_from_file (ZENITY_IMAGE_FULLPATH ("zenity.png"), NULL); - if (pixbuf != NULL) { - gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf); - g_object_unref (pixbuf); - } - - label = glade_xml_get_widget (glade_dialog, "zenity_about_version"); - gtk_label_set_selectable (GTK_LABEL (label), FALSE); - text = g_strdup_printf ("<span size=\"xx-large\" weight=\"bold\">Zenity %s</span>", VERSION); - gtk_label_set_markup (GTK_LABEL (label), text); - g_free (text); - - label = glade_xml_get_widget (glade_dialog, "zenity_about_description"); - gtk_label_set_selectable (GTK_LABEL (label), FALSE); - gtk_label_set_text (GTK_LABEL (label), _("Display dialog boxes from shell scripts")); - - label = glade_xml_get_widget (glade_dialog, "zenity_about_copyright"); - gtk_label_set_selectable (GTK_LABEL (label), FALSE); - text = g_strdup_printf ("<span size=\"small\">%s</span>", _("(C) 2003 Sun Microsystems")); - gtk_label_set_markup (GTK_LABEL (label), text); - g_free (text); - - if (glade_dialog) - g_object_unref (glade_dialog); - - gtk_widget_show (dialog); - gtk_main (); + if (pixbuf != NULL) { + gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf); + g_object_unref (pixbuf); + } + + label = glade_xml_get_widget (glade_dialog, "zenity_about_version"); + gtk_label_set_selectable (GTK_LABEL (label), FALSE); + text = g_strdup_printf ("<span size=\"xx-large\" weight=\"bold\">Zenity %s</span>", VERSION); + gtk_label_set_markup (GTK_LABEL (label), text); + g_free (text); + + label = glade_xml_get_widget (glade_dialog, "zenity_about_description"); + gtk_label_set_selectable (GTK_LABEL (label), FALSE); + gtk_label_set_text (GTK_LABEL (label), _("Display dialog boxes from shell scripts")); + + label = glade_xml_get_widget (glade_dialog, "zenity_about_copyright"); + gtk_label_set_selectable (GTK_LABEL (label), FALSE); + text = g_strdup_printf ("<span size=\"small\">%s</span>", _("(C) 2003 Sun Microsystems")); + gtk_label_set_markup (GTK_LABEL (label), text); + g_free (text); + + if (glade_dialog) + g_object_unref (glade_dialog); + + gtk_widget_show (dialog); + gtk_main (); } static GtkWidget * zenity_about_create_label (void) { - GtkWidget *label; + GtkWidget *label; - label = gtk_label_new (""); - gtk_label_set_selectable (GTK_LABEL (label), TRUE); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); - gtk_misc_set_padding (GTK_MISC (label), 8, 8); + label = gtk_label_new (""); + gtk_label_set_selectable (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); + gtk_misc_set_padding (GTK_MISC (label), 8, 8); - gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); + gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); - return label; + return label; } static void zenity_about_update_author_label (GtkWidget *label) { - GString *string; - gchar *tmp; - gint i = 0; + GString *string; + gchar *tmp; + gint i = 0; - gtk_widget_show (label); + gtk_widget_show (label); - string = g_string_new (""); + string = g_string_new (""); - for (i = 0; author_credits[i] != NULL; i++) { - tmp = g_markup_escape_text (author_credits[i], -1); - g_string_append (string, tmp); + for (i = 0; author_credits[i] != NULL; i++) { + tmp = g_markup_escape_text (author_credits[i], -1); + g_string_append (string, tmp); - if (author_credits[i+1] != NULL) - g_string_append (string, "\n"); + if (author_credits[i+1] != NULL) + g_string_append (string, "\n"); - g_free (tmp); - } - gtk_label_set_markup (GTK_LABEL (label), string->str); - g_string_free (string, TRUE); + g_free (tmp); + } + gtk_label_set_markup (GTK_LABEL (label), string->str); + g_string_free (string, TRUE); } static void zenity_about_update_translator_label (GtkWidget *label) { - GString *string; - gchar *tmp; + GString *string; + gchar *tmp; - if (strcmp (translator_credits, "translator_credits") == 0) { - gtk_widget_hide (label); - return; - } else { - gtk_widget_show (label); - } + if (strcmp (translator_credits, "translator_credits") == 0) { + gtk_widget_hide (label); + return; + } else { + gtk_widget_show (label); + } - string = g_string_new (""); + string = g_string_new (""); - tmp = g_markup_escape_text (translator_credits, -1); - g_string_append (string, tmp); - g_free (tmp); + tmp = g_markup_escape_text (translator_credits, -1); + g_string_append (string, tmp); + g_free (tmp); - gtk_label_set_markup (GTK_LABEL (label), string->str); - g_string_free (string, TRUE); + gtk_label_set_markup (GTK_LABEL (label), string->str); + g_string_free (string, TRUE); } static void zenity_about_dialog_credits_response (GtkWidget *widget, int response, gpointer data) { - gtk_widget_destroy (widget); - widget = NULL; + gtk_widget_destroy (widget); + widget = NULL; } static void zenity_about_display_credits_dialog (void) { - GtkWidget *credits_dialog; - GtkWidget *label, *notebook, *sw; - - if (cred_dialog != NULL) { - gtk_window_present (GTK_WINDOW (cred_dialog)); - return; - } - - credits_dialog = gtk_dialog_new_with_buttons (_("Credits"), - GTK_WINDOW (dialog), GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); - - g_signal_connect (G_OBJECT (credits_dialog), "response", - G_CALLBACK (gtk_widget_destroy), credits_dialog); - g_signal_connect (G_OBJECT (credits_dialog), "destroy", - G_CALLBACK (gtk_widget_destroyed), &cred_dialog); - - cred_dialog = credits_dialog; - - gtk_window_set_default_size (GTK_WINDOW (credits_dialog), 360, 260); - gtk_dialog_set_default_response (GTK_DIALOG (credits_dialog), GTK_RESPONSE_OK); - - notebook = gtk_notebook_new (); - gtk_container_set_border_width (GTK_CONTAINER (notebook), 8); - gtk_box_pack_start (GTK_BOX (GTK_DIALOG (credits_dialog)->vbox), notebook, TRUE, TRUE, 0); - - if (author_credits != NULL) { - label = zenity_about_create_label (); - sw = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sw), label); - gtk_viewport_set_shadow_type (GTK_VIEWPORT (GTK_BIN (sw)->child), GTK_SHADOW_NONE); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), sw, - gtk_label_new (_("Written by"))); - zenity_about_update_author_label (label); - } - - if (translator_credits != NULL && strcmp (translator_credits, "translator_credits") != 0) { - label = zenity_about_create_label (); - sw = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sw), label); - gtk_viewport_set_shadow_type (GTK_VIEWPORT (GTK_BIN (sw)->child), GTK_SHADOW_NONE); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), sw, - gtk_label_new (_("Translated by"))); - zenity_about_update_translator_label (label); - } - - gtk_widget_show_all (credits_dialog); + GtkWidget *credits_dialog; + GtkWidget *label, *notebook, *sw; + + if (cred_dialog != NULL) { + gtk_window_present (GTK_WINDOW (cred_dialog)); + return; + } + + credits_dialog = gtk_dialog_new_with_buttons (_("Credits"), + GTK_WINDOW (dialog), GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); + + g_signal_connect (G_OBJECT (credits_dialog), "response", + G_CALLBACK (gtk_widget_destroy), credits_dialog); + g_signal_connect (G_OBJECT (credits_dialog), "destroy", + G_CALLBACK (gtk_widget_destroyed), &cred_dialog); + + cred_dialog = credits_dialog; + + gtk_window_set_default_size (GTK_WINDOW (credits_dialog), 360, 260); + gtk_dialog_set_default_response (GTK_DIALOG (credits_dialog), GTK_RESPONSE_OK); + + notebook = gtk_notebook_new (); + gtk_container_set_border_width (GTK_CONTAINER (notebook), 8); + gtk_box_pack_start (GTK_BOX (GTK_DIALOG (credits_dialog)->vbox), notebook, TRUE, TRUE, 0); + + if (author_credits != NULL) { + label = zenity_about_create_label (); + sw = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sw), label); + gtk_viewport_set_shadow_type (GTK_VIEWPORT (GTK_BIN (sw)->child), GTK_SHADOW_NONE); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), sw, + gtk_label_new (_("Written by"))); + zenity_about_update_author_label (label); + } + + if (translator_credits != NULL && strcmp (translator_credits, "translator_credits") != 0) { + label = zenity_about_create_label (); + sw = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sw), label); + gtk_viewport_set_shadow_type (GTK_VIEWPORT (GTK_BIN (sw)->child), GTK_SHADOW_NONE); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), sw, + gtk_label_new (_("Translated by"))); + zenity_about_update_translator_label (label); + } + + gtk_widget_show_all (credits_dialog); } static void zenity_about_dialog_response (GtkWidget *widget, int response, gpointer data) { - ZenityData *zen_data = data; - GError *error = NULL; - - switch (response) { - case GTK_RESPONSE_OK: - zen_data->exit_code = 0; - gtk_main_quit (); - break; - - case GTK_RESPONSE_HELP: - zenity_util_show_help (ZENITY_HELP_PATH, "zenity.xml", NULL); - break; - - case GTK_RESPONSE_CREDITS: - zenity_about_display_credits_dialog (); - break; - default: - /* Esc dialog */ - zen_data->exit_code = 1; - break; - } + ZenityData *zen_data = data; + GError *error = NULL; + + switch (response) { + case GTK_RESPONSE_OK: + zen_data->exit_code = 0; + gtk_main_quit (); + break; + + case GTK_RESPONSE_HELP: + zenity_util_show_help (ZENITY_HELP_PATH, "zenity.xml", NULL); + break; + + case GTK_RESPONSE_CREDITS: + zenity_about_display_credits_dialog (); + break; + + default: + /* Esc dialog */ + zen_data->exit_code = 1; + break; + } } diff --git a/src/calendar.c b/src/calendar.c index 68956e7..fc1c014 100644 --- a/src/calendar.c +++ b/src/calendar.c @@ -35,85 +35,87 @@ static void zenity_calendar_dialog_response (GtkWidget *widget, int response, gp void zenity_calendar (ZenityData *data, ZenityCalendarData *cal_data) { - GladeXML *glade_dialog = NULL; - GtkWidget *dialog; - GtkWidget *text; + GladeXML *glade_dialog = NULL; + GtkWidget *dialog; + GtkWidget *text; - zen_cal_data = cal_data; + zen_cal_data = cal_data; - glade_dialog = zenity_util_load_glade_file ("zenity_calendar_dialog"); + glade_dialog = zenity_util_load_glade_file ("zenity_calendar_dialog"); - if (glade_dialog == NULL) { - data->exit_code = -1; - return; - } + if (glade_dialog == NULL) { + data->exit_code = -1; + return; + } - glade_xml_signal_autoconnect (glade_dialog); + glade_xml_signal_autoconnect (glade_dialog); - dialog = glade_xml_get_widget (glade_dialog, "zenity_calendar_dialog"); + dialog = glade_xml_get_widget (glade_dialog, "zenity_calendar_dialog"); - g_signal_connect (G_OBJECT (dialog), "response", - G_CALLBACK (zenity_calendar_dialog_response), data); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (zenity_calendar_dialog_response), data); - if (data->dialog_title) - gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); + if (data->dialog_title) + gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); - if (data->window_icon) - zenity_util_set_window_icon (dialog, data->window_icon); - else - zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-calendar.png")); + if (data->window_icon) + zenity_util_set_window_icon (dialog, data->window_icon); + else + zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-calendar.png")); - text = glade_xml_get_widget (glade_dialog, "zenity_calendar_text"); + text = glade_xml_get_widget (glade_dialog, "zenity_calendar_text"); - if (cal_data->dialog_text) - gtk_label_set_text (GTK_LABEL (text), cal_data->dialog_text); + if (cal_data->dialog_text) + gtk_label_set_text (GTK_LABEL (text), cal_data->dialog_text); - calendar = glade_xml_get_widget (glade_dialog, "zenity_calendar"); + calendar = glade_xml_get_widget (glade_dialog, "zenity_calendar"); - if (glade_dialog) - g_object_unref (glade_dialog); + if (glade_dialog) + g_object_unref (glade_dialog); - if (cal_data->month > 0 && cal_data->year > 0) - gtk_calendar_select_month (GTK_CALENDAR (calendar), cal_data->month - 1, cal_data->year); - if (cal_data->day > 0) - gtk_calendar_select_day (GTK_CALENDAR (calendar), cal_data->day); + if (cal_data->month > 0 && cal_data->year > 0) + gtk_calendar_select_month (GTK_CALENDAR (calendar), cal_data->month - 1, cal_data->year); + if (cal_data->day > 0) + gtk_calendar_select_day (GTK_CALENDAR (calendar), cal_data->day); - gtk_label_set_mnemonic_widget (GTK_LABEL (text), calendar); - gtk_widget_show (dialog); - gtk_main (); + gtk_label_set_mnemonic_widget (GTK_LABEL (text), calendar); + gtk_widget_show (dialog); + gtk_main (); } static void zenity_calendar_dialog_response (GtkWidget *widget, int response, gpointer data) { - ZenityData *zen_data; - gint day, month, year; - gchar time_string[128]; - GDate *date = NULL; - - zen_data = data; - - switch (response) { - case GTK_RESPONSE_OK: - gtk_calendar_get_date (GTK_CALENDAR (calendar), &day, &month, &year); - date = g_date_new_dmy (year, month + 1, day); - g_date_strftime (time_string, 127, - zen_cal_data->date_format, date); - g_printerr ("%s\n", time_string); - if (date != NULL) - g_date_free (date); - zen_data->exit_code = 0; - gtk_main_quit (); - break; - - case GTK_RESPONSE_CANCEL: - zen_data->exit_code = 1; - gtk_main_quit (); - break; - - default: - /* Esc dialog */ - zen_data->exit_code = 1; - break; - } + ZenityData *zen_data; + gint day, month, year; + gchar time_string[128]; + GDate *date = NULL; + + zen_data = data; + + switch (response) { + case GTK_RESPONSE_OK: + gtk_calendar_get_date (GTK_CALENDAR (calendar), &day, &month, &year); + date = g_date_new_dmy (year, month + 1, day); + g_date_strftime (time_string, 127, + zen_cal_data->date_format, date); + g_printerr ("%s\n", time_string); + + if (date != NULL) + g_date_free (date); + + zen_data->exit_code = 0; + gtk_main_quit (); + break; + + case GTK_RESPONSE_CANCEL: + zen_data->exit_code = 1; + gtk_main_quit (); + break; + + default: + /* Esc dialog */ + zen_data->exit_code = 1; + break; + } } diff --git a/src/entry.c b/src/entry.c index 893fbf6..0ccd4c0 100644 --- a/src/entry.c +++ b/src/entry.c @@ -32,79 +32,80 @@ static GtkWidget *entry; void zenity_entry (ZenityData *data, ZenityEntryData *entry_data) { - GladeXML *glade_dialog = NULL; - GtkWidget *dialog; - GtkWidget *text; + GladeXML *glade_dialog = NULL; + GtkWidget *dialog; + GtkWidget *text; - glade_dialog = zenity_util_load_glade_file ("zenity_entry_dialog"); + glade_dialog = zenity_util_load_glade_file ("zenity_entry_dialog"); - if (glade_dialog == NULL) { - data->exit_code = -1; - return; - } + if (glade_dialog == NULL) { + data->exit_code = -1; + return; + } - glade_xml_signal_autoconnect (glade_dialog); - - dialog = glade_xml_get_widget (glade_dialog, "zenity_entry_dialog"); + glade_xml_signal_autoconnect (glade_dialog); + + dialog = glade_xml_get_widget (glade_dialog, "zenity_entry_dialog"); - g_signal_connect (G_OBJECT (dialog), "response", - G_CALLBACK (zenity_entry_dialog_response), data); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (zenity_entry_dialog_response), data); - if (data->dialog_title) - gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); + if (data->dialog_title) + gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); - if (data->window_icon) - zenity_util_set_window_icon (dialog, data->window_icon); - else - zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-entry.png")); + if (data->window_icon) + zenity_util_set_window_icon (dialog, data->window_icon); + else + zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-entry.png")); - text = glade_xml_get_widget (glade_dialog, "zenity_entry_text"); + text = glade_xml_get_widget (glade_dialog, "zenity_entry_text"); - if (entry_data->dialog_text) - gtk_label_set_text_with_mnemonic (GTK_LABEL (text), entry_data->dialog_text); + if (entry_data->dialog_text) + gtk_label_set_text_with_mnemonic (GTK_LABEL (text), entry_data->dialog_text); - entry = glade_xml_get_widget (glade_dialog, "zenity_entry_input"); + entry = glade_xml_get_widget (glade_dialog, "zenity_entry_input"); - if (glade_dialog) - g_object_unref (glade_dialog); + if (glade_dialog) + g_object_unref (glade_dialog); - if (entry_data->entry_text) - gtk_entry_set_text (GTK_ENTRY (entry), entry_data->entry_text); + if (entry_data->entry_text) + gtk_entry_set_text (GTK_ENTRY (entry), entry_data->entry_text); - if (entry_data->visible == FALSE) - g_object_set (G_OBJECT (entry), "visibility", entry_data->visible, NULL); + if (!entry_data->visible) + g_object_set (G_OBJECT (entry), "visibility", entry_data->visible, NULL); - gtk_label_set_mnemonic_widget (GTK_LABEL (text), entry); + gtk_label_set_mnemonic_widget (GTK_LABEL (text), entry); - gtk_widget_show (dialog); - gtk_main (); + gtk_widget_show (dialog); + gtk_main (); } static void zenity_entry_dialog_response (GtkWidget *widget, int response, gpointer data) { - ZenityData *zen_data = data; - const gchar *text; - - switch (response) { - case GTK_RESPONSE_OK: - zen_data->exit_code = 0; - text = gtk_entry_get_text (GTK_ENTRY (entry)); - - if (text != NULL) - g_printerr ("%s\n", gtk_entry_get_text (GTK_ENTRY (entry))); - - gtk_main_quit (); - break; - - case GTK_RESPONSE_CANCEL: - zen_data->exit_code = 1; - gtk_main_quit (); - break; - - default: - /* Esc dialog */ - zen_data->exit_code = 1; - break; - } + ZenityData *zen_data = data; + const gchar *text; + + switch (response) { + case GTK_RESPONSE_OK: + zen_data->exit_code = 0; + text = gtk_entry_get_text (GTK_ENTRY (entry)); + + if (text != NULL) + g_printerr ("%s\n", gtk_entry_get_text (GTK_ENTRY (entry))); + + gtk_main_quit (); + break; + + case GTK_RESPONSE_CANCEL: + zen_data->exit_code = 1; + gtk_main_quit (); + break; + + default: + /* Esc dialog */ + zen_data->exit_code = 1; + break; + } } diff --git a/src/fileselection.c b/src/fileselection.c index 74122f8..6655f92 100644 --- a/src/fileselection.c +++ b/src/fileselection.c @@ -29,60 +29,61 @@ static void zenity_fileselection_dialog_response (GtkWidget *widget, int respons void zenity_fileselection (ZenityData *data, ZenityFileData *file_data) { - GladeXML *glade_dialog; - GtkWidget *dialog; + GladeXML *glade_dialog; + GtkWidget *dialog; - glade_dialog = zenity_util_load_glade_file ("zenity_fileselection_dialog"); + glade_dialog = zenity_util_load_glade_file ("zenity_fileselection_dialog"); - if (glade_dialog == NULL) { - data->exit_code = -1; - return; - } + if (glade_dialog == NULL) { + data->exit_code = -1; + return; + } - glade_xml_signal_autoconnect (glade_dialog); - - dialog = glade_xml_get_widget (glade_dialog, "zenity_fileselection_dialog"); + glade_xml_signal_autoconnect (glade_dialog); + + dialog = glade_xml_get_widget (glade_dialog, "zenity_fileselection_dialog"); - if (glade_dialog) - g_object_unref (glade_dialog); + if (glade_dialog) + g_object_unref (glade_dialog); - g_signal_connect (G_OBJECT (dialog), "response", - G_CALLBACK (zenity_fileselection_dialog_response), data); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (zenity_fileselection_dialog_response), data); - if (data->dialog_title) - gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); + if (data->dialog_title) + gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); - if (data->window_icon) - zenity_util_set_window_icon (dialog, data->window_icon); - else - zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-file.png")); + if (data->window_icon) + zenity_util_set_window_icon (dialog, data->window_icon); + else + zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-file.png")); - if (file_data->uri) - gtk_file_selection_set_filename (GTK_FILE_SELECTION (dialog), file_data->uri); + if (file_data->uri) + gtk_file_selection_set_filename (GTK_FILE_SELECTION (dialog), file_data->uri); - gtk_widget_show (dialog); - gtk_main (); + gtk_widget_show (dialog); + gtk_main (); } static void zenity_fileselection_dialog_response (GtkWidget *widget, int response, gpointer data) { - ZenityData *zen_data = data; - - switch (response) { - case GTK_RESPONSE_OK: - zen_data->exit_code = 0; - g_printerr ("%s\n", gtk_file_selection_get_filename (GTK_FILE_SELECTION (widget))); - gtk_main_quit (); - break; + ZenityData *zen_data = data; + + switch (response) { + case GTK_RESPONSE_OK: + zen_data->exit_code = 0; + g_printerr ("%s\n", gtk_file_selection_get_filename (GTK_FILE_SELECTION (widget))); + gtk_main_quit (); + break; - case GTK_RESPONSE_CANCEL: - zen_data->exit_code = 1; - gtk_main_quit (); - break; + case GTK_RESPONSE_CANCEL: + zen_data->exit_code = 1; + gtk_main_quit (); + break; - default: - zen_data->exit_code = 1; - break; - } + default: + /* Esc dialog */ + zen_data->exit_code = 1; + break; + } } @@ -27,844 +27,844 @@ #include <langinfo.h> typedef enum { - MODE_CALENDAR, - MODE_ENTRY, - MODE_ERROR, - MODE_FILE, - MODE_LIST, - MODE_PROGRESS, - MODE_QUESTION, - MODE_TEXTINFO, - MODE_WARNING, - MODE_INFO, - MODE_ABOUT, - MODE_LAST + MODE_CALENDAR, + MODE_ENTRY, + MODE_ERROR, + MODE_FILE, + MODE_LIST, + MODE_PROGRESS, + MODE_QUESTION, + MODE_TEXTINFO, + MODE_WARNING, + MODE_INFO, + MODE_ABOUT, + MODE_LAST } ZenityDialogMode; typedef enum { - ERROR_DUPLICATE, - ERROR_SUPPORT, - ERROR_DIALOG, - ERROR_LAST + ERROR_DUPLICATE, + ERROR_SUPPORT, + ERROR_DIALOG, + ERROR_LAST } ZenityError; typedef struct { - ZenityDialogMode mode; - ZenityData *data; - - ZenityCalendarData *calendar_data; - ZenityMsgData *msg_data; - ZenityFileData *file_data; - ZenityEntryData *entry_data; - ZenityProgressData *progress_data; - ZenityTextData *text_data; - ZenityTreeData *tree_data; + ZenityDialogMode mode; + ZenityData *data; + + ZenityCalendarData *calendar_data; + ZenityMsgData *msg_data; + ZenityFileData *file_data; + ZenityEntryData *entry_data; + ZenityProgressData *progress_data; + ZenityTextData *text_data; + ZenityTreeData *tree_data; } ZenityParsingOptions; enum { - OPTION_CALENDAR = 1, - OPTION_DATEFORMAT, - OPTION_ENTRY, - OPTION_ERROR, - OPTION_INFO, - OPTION_FILE, - OPTION_LIST, - OPTION_PROGRESS, - OPTION_QUESTION, - OPTION_TEXTINFO, - OPTION_TEXTEDIT, - OPTION_WARNING, - OPTION_TITLE, - OPTION_ICON, - OPTION_CALENDARTEXT, - OPTION_DAY, - OPTION_MONTH, - OPTION_YEAR, - OPTION_ENTRYTEXT, - OPTION_INPUTTEXT, - OPTION_HIDETEXT, - OPTION_ERRORTEXT, - OPTION_INFOTEXT, - OPTION_FILENAME, - OPTION_COLUMN, - OPTION_SEPERATOR, - OPTION_LISTEDIT, - OPTION_CHECKLIST, - OPTION_RADIOLIST, - OPTION_PROGRESSTEXT, - OPTION_PERCENTAGE, - OPTION_PULSATE, - OPTION_QUESTIONTEXT, - OPTION_TEXTFILE, - OPTION_WARNINGTEXT, - OPTION_ABOUT, - OPTION_VERSION, - OPTION_LAST, + OPTION_CALENDAR = 1, + OPTION_DATEFORMAT, + OPTION_ENTRY, + OPTION_ERROR, + OPTION_INFO, + OPTION_FILE, + OPTION_LIST, + OPTION_PROGRESS, + OPTION_QUESTION, + OPTION_TEXTINFO, + OPTION_TEXTEDIT, + OPTION_WARNING, + OPTION_TITLE, + OPTION_ICON, + OPTION_CALENDARTEXT, + OPTION_DAY, + OPTION_MONTH, + OPTION_YEAR, + OPTION_ENTRYTEXT, + OPTION_INPUTTEXT, + OPTION_HIDETEXT, + OPTION_ERRORTEXT, + OPTION_INFOTEXT, + OPTION_FILENAME, + OPTION_COLUMN, + OPTION_SEPERATOR, + OPTION_LISTEDIT, + OPTION_CHECKLIST, + OPTION_RADIOLIST, + OPTION_PROGRESSTEXT, + OPTION_PERCENTAGE, + OPTION_PULSATE, + OPTION_QUESTIONTEXT, + OPTION_TEXTFILE, + OPTION_WARNINGTEXT, + OPTION_ABOUT, + OPTION_VERSION, + OPTION_LAST, }; static void zenity_parse_options_callback (poptContext ctx, - enum poptCallbackReason reason, - const struct poptOption *opt, - const char *arg, - void *data); + enum poptCallbackReason reason, + const struct poptOption *opt, + const char *arg, + void *data); struct poptOption options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "calendar", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_CALENDAR, - N_("Display calendar dialog"), - NULL - }, - { - "entry", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_ENTRY, - N_("Display text entry dialog"), - NULL - }, - { - "error", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_ERROR, - N_("Display error dialog"), - NULL - }, - { - "file-selection", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_FILE, - N_("Display file selection dialog"), - NULL - }, - { - "info", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_INFO, - N_("Display info dialog"), - NULL - }, - { - "list", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_LIST, - N_("Display list dialog"), - NULL - }, - { - "progress", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_PROGRESS, - N_("Display progress indication dialog"), - NULL - }, - { - "question", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_QUESTION, - N_("Display question dialog"), - NULL - }, - { - "text-info", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_TEXTINFO, - N_("Display text information dialog"), - NULL - }, - { - "warning", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_WARNING, - N_("Display warning dialog"), - NULL - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "calendar", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_CALENDAR, + N_("Display calendar dialog"), + NULL + }, + { + "entry", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_ENTRY, + N_("Display text entry dialog"), + NULL + }, + { + "error", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_ERROR, + N_("Display error dialog"), + NULL + }, + { + "file-selection", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_FILE, + N_("Display file selection dialog"), + NULL + }, + { + "info", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_INFO, + N_("Display info dialog"), + NULL + }, + { + "list", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_LIST, + N_("Display list dialog"), + NULL + }, + { + "progress", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_PROGRESS, + N_("Display progress indication dialog"), + NULL + }, + { + "question", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_QUESTION, + N_("Display question dialog"), + NULL + }, + { + "text-info", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_TEXTINFO, + N_("Display text information dialog"), + NULL + }, + { + "warning", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_WARNING, + N_("Display warning dialog"), + NULL + }, + POPT_TABLEEND }; struct poptOption general_options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "title", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_TITLE, - N_("Set the dialog title"), - N_("TITLE") - }, - { - "window-icon", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_ICON, - N_("Set the window icon"), - N_("ICONPATH") - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "title", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_TITLE, + N_("Set the dialog title"), + N_("TITLE") + }, + { + "window-icon", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_ICON, + N_("Set the window icon"), + N_("ICONPATH") + }, + POPT_TABLEEND }; struct poptOption calendar_options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "text", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_CALENDARTEXT, - N_("Set the dialog text"), - NULL - }, - { - "day", - '\0', - POPT_ARG_INT, - NULL, - OPTION_DAY, - N_("Set the calendar day"), - NULL - }, - { - "month", - '\0', - POPT_ARG_INT, - NULL, - OPTION_MONTH, - N_("Set the calendar month"), - NULL - }, - { - "year", - '\0', - POPT_ARG_INT, - NULL, - OPTION_YEAR, - N_("Set the calendar year"), - NULL - }, - { "date-format", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_DATEFORMAT, - N_("Set the format for the returned date"), - NULL - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "text", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_CALENDARTEXT, + N_("Set the dialog text"), + NULL + }, + { + "day", + '\0', + POPT_ARG_INT, + NULL, + OPTION_DAY, + N_("Set the calendar day"), + NULL + }, + { + "month", + '\0', + POPT_ARG_INT, + NULL, + OPTION_MONTH, + N_("Set the calendar month"), + NULL + }, + { + "year", + '\0', + POPT_ARG_INT, + NULL, + OPTION_YEAR, + N_("Set the calendar year"), + NULL + }, + { "date-format", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_DATEFORMAT, + N_("Set the format for the returned date"), + NULL + }, + POPT_TABLEEND }; struct poptOption entry_options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "text", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_ENTRYTEXT, - N_("Set the dialog text"), - NULL - }, - { - "entry-text", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_INPUTTEXT, - N_("Set the entry text"), - NULL - }, - { - "hide-text", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_HIDETEXT, - N_("Hide the entry text"), - NULL - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "text", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_ENTRYTEXT, + N_("Set the dialog text"), + NULL + }, + { + "entry-text", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_INPUTTEXT, + N_("Set the entry text"), + NULL + }, + { + "hide-text", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_HIDETEXT, + N_("Hide the entry text"), + NULL + }, + POPT_TABLEEND }; struct poptOption error_options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "text", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_ERRORTEXT, - N_("Set the dialog text"), - NULL - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "text", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_ERRORTEXT, + N_("Set the dialog text"), + NULL + }, + POPT_TABLEEND }; struct poptOption info_options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "text", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_INFOTEXT, - N_("Set the dialog text"), - NULL - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "text", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_INFOTEXT, + N_("Set the dialog text"), + NULL + }, + POPT_TABLEEND }; struct poptOption file_selection_options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "filename", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_FILENAME, - N_("Set the filename"), - N_("FILENAME") - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "filename", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_FILENAME, + N_("Set the filename"), + N_("FILENAME") + }, + POPT_TABLEEND }; struct poptOption list_options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "column", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_COLUMN, - N_("Set the column header"), - NULL - }, - { - "checklist", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_CHECKLIST, - N_("Use check boxes for first column"), - NULL - }, - { - "radiolist", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_RADIOLIST, - N_("Use radio buttons for first column"), - NULL - }, - { - "separator", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_SEPERATOR, - N_("Set output separator character"), - NULL - }, - { - "editable", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_LISTEDIT, - N_("Allow changes to text"), - NULL - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "column", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_COLUMN, + N_("Set the column header"), + NULL + }, + { + "checklist", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_CHECKLIST, + N_("Use check boxes for first column"), + NULL + }, + { + "radiolist", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_RADIOLIST, + N_("Use radio buttons for first column"), + NULL + }, + { + "separator", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_SEPERATOR, + N_("Set output separator character"), + NULL + }, + { + "editable", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_LISTEDIT, + N_("Allow changes to text"), + NULL + }, + POPT_TABLEEND }; struct poptOption progress_options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "text", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_PROGRESSTEXT, - N_("Set the dialog text"), - NULL - }, - { - "percentage", - '\0', - POPT_ARG_INT, - NULL, - OPTION_PERCENTAGE, - N_("Set initial percentage"), - NULL - }, - { - "pulsate", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_PULSATE, - N_("Pulsate progress bar"), - NULL - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "text", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_PROGRESSTEXT, + N_("Set the dialog text"), + NULL + }, + { + "percentage", + '\0', + POPT_ARG_INT, + NULL, + OPTION_PERCENTAGE, + N_("Set initial percentage"), + NULL + }, + { + "pulsate", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_PULSATE, + N_("Pulsate progress bar"), + NULL + }, + POPT_TABLEEND }; - + struct poptOption question_options[] = { - { - "text", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_QUESTIONTEXT, - N_("Set the dialog text"), - NULL - }, - POPT_TABLEEND + { + "text", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_QUESTIONTEXT, + N_("Set the dialog text"), + NULL + }, + POPT_TABLEEND }; struct poptOption text_options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "filename", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_TEXTFILE, - N_("Open file"), - N_("FILENAME") - }, - { - "editable", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_TEXTEDIT, - N_("Allow changes to text"), - NULL - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "filename", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_TEXTFILE, + N_("Open file"), + N_("FILENAME") + }, + { + "editable", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_TEXTEDIT, + N_("Allow changes to text"), + NULL + }, + POPT_TABLEEND }; struct poptOption warning_options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "text", - '\0', - POPT_ARG_STRING, - NULL, - OPTION_WARNINGTEXT, - N_("Set the dialog text"), - NULL - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "text", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_WARNINGTEXT, + N_("Set the dialog text"), + NULL + }, + POPT_TABLEEND }; struct poptOption gtk_options[] = { - { - "gdk-debug", - '\0', - POPT_ARG_STRING, - NULL, - 0, - N_("Gdk debugging flags to set"), - N_("FLAGS") - }, - { - "gdk-no-debug", - '\0', - POPT_ARG_STRING, - NULL, - 0, - N_("Gdk debugging flags to unset"), - N_("FLAGS") - }, - /* X11 only */ - { - "display", - '\0', - POPT_ARG_STRING, - NULL, - 0, - N_("X display to use"), - N_("DISPLAY") - }, + { + "gdk-debug", + '\0', + POPT_ARG_STRING, + NULL, + 0, + N_("Gdk debugging flags to set"), + N_("FLAGS") + }, + { + "gdk-no-debug", + '\0', + POPT_ARG_STRING, + NULL, + 0, + N_("Gdk debugging flags to unset"), + N_("FLAGS") + }, + /* X11 only */ + { + "display", + '\0', + POPT_ARG_STRING, + NULL, + 0, + N_("X display to use"), + N_("DISPLAY") + }, #ifdef HAVE_GTK_MULTIHEAD - /* X11 & multi-head only */ - { - "screen", - '\0', - POPT_ARG_INT, - NULL, - 0, - N_("X screen to use"), - N_("SCREEN") - }, + /* X11 & multi-head only */ + { + "screen", + '\0', + POPT_ARG_INT, + NULL, + 0, + N_("X screen to use"), + N_("SCREEN") + }, #endif - /* X11 only */ - { - "sync", - '\0', - POPT_ARG_NONE, - NULL, - 0, - N_("Make X calls synchronous"), - NULL - }, - { - "name", - '\0', - POPT_ARG_STRING, - NULL, - 0, - N_("Program name as used by the window manager"), - N_("NAME") - }, - { - "class", - '\0', - POPT_ARG_STRING, - NULL, - 0, - N_("Program class as used by the window manager"), - N_("CLASS") - }, - /* X11 only */ - { - "gxid-host", - '\0', - POPT_ARG_STRING, - NULL, - 0, - NULL, - N_("HOST") - }, - /* X11 only */ - { - "gxid-port", - '\0', - POPT_ARG_STRING, - NULL, - 0, - NULL, - N_("PORT") - }, - { - "gtk-debug", - '\0', - POPT_ARG_STRING, - NULL, - 0, - N_("Gtk+ debugging flags to set"), - N_("FLAGS") - }, - { - "gtk-no-debug", - '\0', - POPT_ARG_STRING, - NULL, - 0, - N_("Gtk+ debugging flags to unset"), - N_("FLAGS") - }, - { - "g-fatal-warnings", - '\0', - POPT_ARG_NONE, - NULL, - 0, - N_("Make all warnings fatal"), - NULL - }, - { - "gtk-module", - '\0', - POPT_ARG_STRING, - NULL, - 0, - N_("Load an additional Gtk module"), - N_("MODULE") - }, - POPT_TABLEEND + /* X11 only */ + { + "sync", + '\0', + POPT_ARG_NONE, + NULL, + 0, + N_("Make X calls synchronous"), + NULL + }, + { + "name", + '\0', + POPT_ARG_STRING, + NULL, + 0, + N_("Program name as used by the window manager"), + N_("NAME") + }, + { + "class", + '\0', + POPT_ARG_STRING, + NULL, + 0, + N_("Program class as used by the window manager"), + N_("CLASS") + }, + /* X11 only */ + { + "gxid-host", + '\0', + POPT_ARG_STRING, + NULL, + 0, + NULL, + N_("HOST") + }, + /* X11 only */ + { + "gxid-port", + '\0', + POPT_ARG_STRING, + NULL, + 0, + NULL, + N_("PORT") + }, + { + "gtk-debug", + '\0', + POPT_ARG_STRING, + NULL, + 0, + N_("Gtk+ debugging flags to set"), + N_("FLAGS") + }, + { + "gtk-no-debug", + '\0', + POPT_ARG_STRING, + NULL, + 0, + N_("Gtk+ debugging flags to unset"), + N_("FLAGS") + }, + { + "g-fatal-warnings", + '\0', + POPT_ARG_NONE, + NULL, + 0, + N_("Make all warnings fatal"), + NULL + }, + { + "gtk-module", + '\0', + POPT_ARG_STRING, + NULL, + 0, + N_("Load an additional Gtk module"), + N_("MODULE") + }, + POPT_TABLEEND }; struct poptOption miscellaneous_options[] = { - { - NULL, - '\0', - POPT_ARG_CALLBACK | POPT_CBFLAG_POST, - zenity_parse_options_callback, - 0, - NULL, - NULL - }, - { - "about", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_ABOUT, - N_("About zenity"), - NULL - }, - { - "version", - '\0', - POPT_ARG_NONE, - NULL, - OPTION_VERSION, - N_("Print version"), - NULL - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_CALLBACK | POPT_CBFLAG_POST, + zenity_parse_options_callback, + 0, + NULL, + NULL + }, + { + "about", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_ABOUT, + N_("About zenity"), + NULL + }, + { + "version", + '\0', + POPT_ARG_NONE, + NULL, + OPTION_VERSION, + N_("Print version"), + NULL + }, + POPT_TABLEEND }; struct poptOption application_options[] = { - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - options, - 0, - N_("Dialog options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - general_options, - 0, - N_("General options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - calendar_options, - 0, - N_("Calendar options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - entry_options, - 0, - N_("Text entry options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - error_options, - 0, - N_("Error options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - file_selection_options, - 0, - N_("File selection options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - info_options, - 0, - N_("Info options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - list_options, - 0, - N_("List options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - progress_options, - 0, - N_("Progress options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - question_options, - 0, - N_("Question options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - text_options, - 0, - N_("Text options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - warning_options, - 0, - N_("Warning options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - gtk_options, - 0, - N_("GTK+ options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - miscellaneous_options, - 0, - N_("Miscellaneous options"), - NULL - }, - { - NULL, - '\0', - POPT_ARG_INCLUDE_TABLE, - poptHelpOptions, - 0, - N_("Help options"), - NULL - }, - POPT_TABLEEND + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + options, + 0, + N_("Dialog options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + general_options, + 0, + N_("General options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + calendar_options, + 0, + N_("Calendar options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + entry_options, + 0, + N_("Text entry options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + error_options, + 0, + N_("Error options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + file_selection_options, + 0, + N_("File selection options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + info_options, + 0, + N_("Info options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + list_options, + 0, + N_("List options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + progress_options, + 0, + N_("Progress options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + question_options, + 0, + N_("Question options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + text_options, + 0, + N_("Text options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + warning_options, + 0, + N_("Warning options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + gtk_options, + 0, + N_("GTK+ options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + miscellaneous_options, + 0, + N_("Miscellaneous options"), + NULL + }, + { + NULL, + '\0', + POPT_ARG_INCLUDE_TABLE, + poptHelpOptions, + 0, + N_("Help options"), + NULL + }, + POPT_TABLEEND }; ZenityParsingOptions *results; @@ -872,189 +872,189 @@ ZenityParsingOptions *results; static void zenity_init_parsing_options (void) { - results = g_new0 (ZenityParsingOptions, 1); - - /* Initialize the various dialog structures */ - results->mode = MODE_LAST; - results->data = g_new0 (ZenityData, 1); - results->calendar_data = g_new0 (ZenityCalendarData, 1); - results->msg_data = g_new0 (ZenityMsgData, 1); - results->file_data = g_new0 (ZenityFileData, 1); - results->entry_data = g_new0 (ZenityEntryData, 1); - results->progress_data = g_new0 (ZenityProgressData, 1); - results->text_data = g_new0 (ZenityTextData, 1); - results->tree_data = g_new0 (ZenityTreeData, 1); - - /* Give some sensible defaults */ - results->calendar_data->date_format = g_strdup (nl_langinfo (D_FMT)); - results->calendar_data->day = 0; - results->calendar_data->month = 0; - results->calendar_data->year = 0; - results->calendar_data->dialog_text = NULL; - results->text_data->editable = FALSE; - results->tree_data->separator = g_strdup ("/"); - results->progress_data->percentage = -1; - results->progress_data->pulsate = FALSE; - results->entry_data->visible = TRUE; - results->tree_data->checkbox = FALSE; - results->tree_data->radiobox = FALSE; - results->tree_data->editable = FALSE; + results = g_new0 (ZenityParsingOptions, 1); + + /* Initialize the various dialog structures */ + results->mode = MODE_LAST; + results->data = g_new0 (ZenityData, 1); + results->calendar_data = g_new0 (ZenityCalendarData, 1); + results->msg_data = g_new0 (ZenityMsgData, 1); + results->file_data = g_new0 (ZenityFileData, 1); + results->entry_data = g_new0 (ZenityEntryData, 1); + results->progress_data = g_new0 (ZenityProgressData, 1); + results->text_data = g_new0 (ZenityTextData, 1); + results->tree_data = g_new0 (ZenityTreeData, 1); + + /* Give some sensible defaults */ + results->calendar_data->date_format = g_strdup (nl_langinfo (D_FMT)); + results->calendar_data->day = 0; + results->calendar_data->month = 0; + results->calendar_data->year = 0; + results->calendar_data->dialog_text = NULL; + results->text_data->editable = FALSE; + results->tree_data->separator = g_strdup ("/"); + results->progress_data->percentage = -1; + results->progress_data->pulsate = FALSE; + results->entry_data->visible = TRUE; + results->tree_data->checkbox = FALSE; + results->tree_data->radiobox = FALSE; + results->tree_data->editable = FALSE; } static void zenity_free_parsing_options (void) { - /* General options */ - if (results->data->dialog_title) - g_free (results->data->dialog_title); - if (results->data->window_icon) - g_free (results->data->window_icon); - - /* Dialog options */ - switch (results->mode) { - case MODE_CALENDAR: - if (results->calendar_data->dialog_text) - g_free (results->calendar_data->dialog_text); - if (results->calendar_data->date_format) - g_free (results->calendar_data->date_format); - break; - case MODE_ENTRY: - if (results->entry_data->dialog_text) - g_free (results->entry_data->dialog_text); - if (results->entry_data->entry_text) - g_free (results->entry_data->entry_text); - break; - case MODE_ERROR: - case MODE_QUESTION: - case MODE_WARNING: - case MODE_INFO: - if (results->msg_data->dialog_text) - g_free (results->msg_data->dialog_text); - break; - case MODE_FILE: - if (results->file_data->uri) - g_free (results->file_data->uri); - break; - case MODE_TEXTINFO: - if (results->text_data->uri) - g_free (results->text_data->uri); - break; - case MODE_LIST: - if (results->tree_data->columns) - g_slist_foreach (results->tree_data->columns, (GFunc) g_free, NULL); - if (results->tree_data->separator) - g_free (results->tree_data->separator); - break; - default: - break; - } + /* General options */ + if (results->data->dialog_title) + g_free (results->data->dialog_title); + if (results->data->window_icon) + g_free (results->data->window_icon); + + /* Dialog options */ + switch (results->mode) { + case MODE_CALENDAR: + if (results->calendar_data->dialog_text) + g_free (results->calendar_data->dialog_text); + if (results->calendar_data->date_format) + g_free (results->calendar_data->date_format); + break; + case MODE_ENTRY: + if (results->entry_data->dialog_text) + g_free (results->entry_data->dialog_text); + if (results->entry_data->entry_text) + g_free (results->entry_data->entry_text); + break; + case MODE_ERROR: + case MODE_QUESTION: + case MODE_WARNING: + case MODE_INFO: + if (results->msg_data->dialog_text) + g_free (results->msg_data->dialog_text); + break; + case MODE_FILE: + if (results->file_data->uri) + g_free (results->file_data->uri); + break; + case MODE_TEXTINFO: + if (results->text_data->uri) + g_free (results->text_data->uri); + break; + case MODE_LIST: + if (results->tree_data->columns) + g_slist_foreach (results->tree_data->columns, (GFunc) g_free, NULL); + if (results->tree_data->separator) + g_free (results->tree_data->separator); + break; + default: + break; + } } gint main (gint argc, gchar **argv) { - ZenityData *general; - ZenityCalendarData *cal_data; - poptContext ctx; - gchar **args; - gint nextopt, retval; - - bindtextdomain(GETTEXT_PACKAGE, GNOMELOCALEDIR); - bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); - textdomain(GETTEXT_PACKAGE); - - zenity_init_parsing_options (); - - /* FIXME: popt doesn't like passing stuff through data - * but it doesn't seem to cope with the data that I try - * to pass in, not quite sure why though. If someone knows - * what I'm doing wrong, we could probably put this back: - * options[0].descrip = (void*) results; - */ - - ctx = poptGetContext ("zenity", argc, (const char **)argv, application_options, 0); - - poptReadDefaultConfig(ctx, TRUE); - while((nextopt = poptGetNextOpt(ctx)) > 0) - /*nothing*/; - - if (nextopt != -1) { - g_printerr (_("%s in an invalid option for this dialog. See zenity --help for more details\n"), - poptBadOption (ctx, 0)); - zenity_free_parsing_options (); - exit (-1); - } - gtk_init (&argc, &argv); - - if (argc < 2) { - g_printerr (_("You must specify more arguments. See zenity --help for more details\n")); - zenity_free_parsing_options (); - exit (-1); - } - - switch (results->mode) { - case MODE_CALENDAR: - zenity_calendar (results->data, results->calendar_data); - break; - case MODE_ENTRY: - zenity_entry (results->data, results->entry_data); - break; - case MODE_ERROR: - case MODE_QUESTION: - case MODE_WARNING: - case MODE_INFO: - zenity_msg (results->data, results->msg_data); - break; - case MODE_FILE: - zenity_fileselection (results->data, results->file_data); - break; - case MODE_LIST: - results->tree_data->data = poptGetArgs (ctx); - zenity_tree (results->data, results->tree_data); - break; - case MODE_PROGRESS: - zenity_progress (results->data, results->progress_data); - break; - case MODE_TEXTINFO: - zenity_text (results->data, results->text_data); - break; - case MODE_ABOUT: - zenity_about (results->data); - break; - case MODE_LAST: - g_printerr (_("You must specify a dialog type. See 'zenity --help' for details\n")); - zenity_free_parsing_options (); - exit (-1); - default: - g_assert_not_reached (); - zenity_free_parsing_options (); - exit (-1); - } - - retval = results->data->exit_code; - poptFreeContext(ctx); - zenity_free_parsing_options (); - exit (retval); + ZenityData *general; + ZenityCalendarData *cal_data; + poptContext ctx; + gchar **args; + gint nextopt, retval; + + bindtextdomain(GETTEXT_PACKAGE, GNOMELOCALEDIR); + bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); + textdomain(GETTEXT_PACKAGE); + + zenity_init_parsing_options (); + + /* FIXME: popt doesn't like passing stuff through data + * but it doesn't seem to cope with the data that I try + * to pass in, not quite sure why though. If someone knows + * what I'm doing wrong, we could probably put this back: + * options[0].descrip = (void*) results; + */ + + ctx = poptGetContext ("zenity", argc, (const char **)argv, application_options, 0); + + poptReadDefaultConfig(ctx, TRUE); + while((nextopt = poptGetNextOpt(ctx)) > 0) + /*nothing*/; + + if (nextopt != -1) { + g_printerr (_("%s in an invalid option for this dialog. See zenity --help for more details\n"), + poptBadOption (ctx, 0)); + zenity_free_parsing_options (); + exit (-1); + } + gtk_init (&argc, &argv); + + if (argc < 2) { + g_printerr (_("You must specify more arguments. See zenity --help for more details\n")); + zenity_free_parsing_options (); + exit (-1); + } + + switch (results->mode) { + case MODE_CALENDAR: + zenity_calendar (results->data, results->calendar_data); + break; + case MODE_ENTRY: + zenity_entry (results->data, results->entry_data); + break; + case MODE_ERROR: + case MODE_QUESTION: + case MODE_WARNING: + case MODE_INFO: + zenity_msg (results->data, results->msg_data); + break; + case MODE_FILE: + zenity_fileselection (results->data, results->file_data); + break; + case MODE_LIST: + results->tree_data->data = poptGetArgs (ctx); + zenity_tree (results->data, results->tree_data); + break; + case MODE_PROGRESS: + zenity_progress (results->data, results->progress_data); + break; + case MODE_TEXTINFO: + zenity_text (results->data, results->text_data); + break; + case MODE_ABOUT: + zenity_about (results->data); + break; + case MODE_LAST: + g_printerr (_("You must specify a dialog type. See 'zenity --help' for details\n")); + zenity_free_parsing_options (); + exit (-1); + default: + g_assert_not_reached (); + zenity_free_parsing_options (); + exit (-1); + } + + retval = results->data->exit_code; + poptFreeContext(ctx); + zenity_free_parsing_options (); + exit (retval); } static void zenity_error (gchar *string, ZenityError error) { - switch (error) { - case ERROR_DUPLICATE: - g_printerr (_("%s given twice for the same dialog\n"), string); - zenity_free_parsing_options (); - exit (-1); - case ERROR_SUPPORT: - g_printerr (_("%s is not supported for this dialog\n"), string); - zenity_free_parsing_options (); - exit (-1); - case ERROR_DIALOG: - g_printerr (_("Two or more dialog options specified\n")); - zenity_free_parsing_options (); - exit (-1); - default: - return; - } + switch (error) { + case ERROR_DUPLICATE: + g_printerr (_("%s given twice for the same dialog\n"), string); + zenity_free_parsing_options (); + exit (-1); + case ERROR_SUPPORT: + g_printerr (_("%s is not supported for this dialog\n"), string); + zenity_free_parsing_options (); + exit (-1); + case ERROR_DIALOG: + g_printerr (_("Two or more dialog options specified\n")); + zenity_free_parsing_options (); + exit (-1); + default: + return; + } } static void @@ -1064,13 +1064,13 @@ zenity_parse_options_callback (poptContext ctx, const char *arg, void *data) { - static gboolean parse_option_dateformat = FALSE; - static gboolean parse_option_separator = FALSE; - static gint parse_option_text = 0; - static gint parse_option_file = 0; - static gint parse_option_editable = 0; + static gboolean parse_option_dateformat = FALSE; + static gboolean parse_option_separator = FALSE; + static gint parse_option_text = 0; + static gint parse_option_file = 0; + static gint parse_option_editable = 0; - if (reason == POPT_CALLBACK_REASON_POST) { + if (reason == POPT_CALLBACK_REASON_POST) { return; } else if (reason != POPT_CALLBACK_REASON_OPTION) @@ -1221,7 +1221,7 @@ zenity_parse_options_callback (poptContext ctx, if (results->mode != MODE_CALENDAR) zenity_error ("--date-format", ERROR_SUPPORT); - if (parse_option_dateformat == TRUE) + if (parse_option_dateformat) zenity_error ("--date-format", ERROR_DUPLICATE); results->calendar_data->date_format = g_strdup (arg); @@ -1240,7 +1240,7 @@ zenity_parse_options_callback (poptContext ctx, if (results->mode != MODE_ENTRY) zenity_error ("--hide-text", ERROR_SUPPORT); - if (results->entry_data->visible == FALSE) + if (!results->entry_data->visible) zenity_error ("--hide-text", ERROR_DUPLICATE); results->entry_data->visible = FALSE; @@ -1301,7 +1301,7 @@ zenity_parse_options_callback (poptContext ctx, if (results->mode != MODE_LIST) zenity_error ("--checkbox", ERROR_SUPPORT); - if (results->tree_data->checkbox == TRUE) + if (results->tree_data->checkbox) zenity_error ("--checkbox", ERROR_DUPLICATE); results->tree_data->checkbox = TRUE; @@ -1310,7 +1310,7 @@ zenity_parse_options_callback (poptContext ctx, if (results->mode != MODE_LIST) zenity_error ("--radiobox", ERROR_SUPPORT); - if (results->tree_data->radiobox == TRUE) + if (results->tree_data->radiobox) zenity_error ("--radiobox", ERROR_DUPLICATE); results->tree_data->radiobox = TRUE; @@ -1319,7 +1319,7 @@ zenity_parse_options_callback (poptContext ctx, if (results->mode != MODE_LIST) zenity_error ("--separator", ERROR_SUPPORT); - if (parse_option_separator == TRUE) + if (parse_option_separator) zenity_error ("--separator", ERROR_DUPLICATE); results->tree_data->separator = g_strdup (arg); @@ -30,105 +30,108 @@ static void zenity_msg_dialog_response (GtkWidget *widget, int response, gpointe void zenity_msg (ZenityData *data, ZenityMsgData *msg_data) { - GladeXML *glade_dialog; - GtkWidget *dialog; - GtkWidget *text; - - switch (msg_data->mode) { - - case ZENITY_MSG_WARNING: - glade_dialog = zenity_util_load_glade_file ("zenity_warning_dialog"); - dialog = glade_xml_get_widget (glade_dialog, "zenity_warning_dialog"); - text = glade_xml_get_widget (glade_dialog, "zenity_warning_text"); - break; - - case ZENITY_MSG_QUESTION: - glade_dialog = zenity_util_load_glade_file ("zenity_question_dialog"); - dialog = glade_xml_get_widget (glade_dialog, "zenity_question_dialog"); - text = glade_xml_get_widget (glade_dialog, "zenity_question_text"); - break; - - case ZENITY_MSG_ERROR: - glade_dialog = zenity_util_load_glade_file ("zenity_error_dialog"); - dialog = glade_xml_get_widget (glade_dialog, "zenity_error_dialog"); - text = glade_xml_get_widget (glade_dialog, "zenity_error_text"); - break; - - case ZENITY_MSG_INFO: - glade_dialog = zenity_util_load_glade_file ("zenity_info_dialog"); - dialog = glade_xml_get_widget (glade_dialog, "zenity_info_dialog"); - text = glade_xml_get_widget (glade_dialog, "zenity_info_text"); - break; + GladeXML *glade_dialog; + GtkWidget *dialog; + GtkWidget *text; + + switch (msg_data->mode) { + case ZENITY_MSG_WARNING: + glade_dialog = zenity_util_load_glade_file ("zenity_warning_dialog"); + dialog = glade_xml_get_widget (glade_dialog, "zenity_warning_dialog"); + text = glade_xml_get_widget (glade_dialog, "zenity_warning_text"); + break; + + case ZENITY_MSG_QUESTION: + glade_dialog = zenity_util_load_glade_file ("zenity_question_dialog"); + dialog = glade_xml_get_widget (glade_dialog, "zenity_question_dialog"); + text = glade_xml_get_widget (glade_dialog, "zenity_question_text"); + break; + + case ZENITY_MSG_ERROR: + glade_dialog = zenity_util_load_glade_file ("zenity_error_dialog"); + dialog = glade_xml_get_widget (glade_dialog, "zenity_error_dialog"); + text = glade_xml_get_widget (glade_dialog, "zenity_error_text"); + break; + + case ZENITY_MSG_INFO: + glade_dialog = zenity_util_load_glade_file ("zenity_info_dialog"); + dialog= glade_xml_get_widget (glade_dialog, "zenity_info_dialog"); + text = glade_xml_get_widget (glade_dialog, "zenity_info_text"); + break; - default: - g_assert_not_reached (); - break; - } - - g_signal_connect (G_OBJECT (dialog), "response", - G_CALLBACK (zenity_msg_dialog_response), data); - - if (glade_dialog == NULL) { - data->exit_code = -1; - return; - } - - glade_xml_signal_autoconnect (glade_dialog); - - if (glade_dialog) - g_object_unref (glade_dialog); - - if (data->dialog_title) - gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); + default: + g_assert_not_reached (); + break; + } - if (data->window_icon) - zenity_util_set_window_icon (dialog, data->window_icon); - else { - GdkPixbuf *pixbuf = NULL; - switch (msg_data->mode) { + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (zenity_msg_dialog_response), data); - case ZENITY_MSG_WARNING: - zenity_util_set_window_icon_from_stock (dialog, GTK_STOCK_DIALOG_WARNING); - break; - case ZENITY_MSG_QUESTION: - zenity_util_set_window_icon_from_stock (dialog, GTK_STOCK_DIALOG_QUESTION); - break; - case ZENITY_MSG_ERROR: - zenity_util_set_window_icon_from_stock (dialog, GTK_STOCK_DIALOG_ERROR); - break; - case ZENITY_MSG_INFO: - zenity_util_set_window_icon_from_stock (dialog, GTK_STOCK_DIALOG_INFO); - break; - default: - break; - } - } + if (glade_dialog == NULL) { + data->exit_code = -1; + return; + } + + glade_xml_signal_autoconnect (glade_dialog); + + if (glade_dialog) + g_object_unref (glade_dialog); + + if (data->dialog_title) + gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); + + if (data->window_icon) + zenity_util_set_window_icon (dialog, data->window_icon); + else { + GdkPixbuf *pixbuf = NULL; + + switch (msg_data->mode) { + case ZENITY_MSG_WARNING: + zenity_util_set_window_icon_from_stock (dialog, GTK_STOCK_DIALOG_WARNING); + break; + + case ZENITY_MSG_QUESTION: + zenity_util_set_window_icon_from_stock (dialog, GTK_STOCK_DIALOG_QUESTION); + break; + + case ZENITY_MSG_ERROR: + zenity_util_set_window_icon_from_stock (dialog, GTK_STOCK_DIALOG_ERROR); + break; + + case ZENITY_MSG_INFO: + zenity_util_set_window_icon_from_stock (dialog, GTK_STOCK_DIALOG_INFO); + break; + + default: + break; + } + } - if (msg_data->dialog_text) - gtk_label_set_text (GTK_LABEL (text), msg_data->dialog_text); + if (msg_data->dialog_text) + gtk_label_set_text (GTK_LABEL (text), msg_data->dialog_text); - gtk_widget_show (dialog); - gtk_main (); + gtk_widget_show (dialog); + gtk_main (); } static void zenity_msg_dialog_response (GtkWidget *widget, int response, gpointer data) { - ZenityData *zen_data = data; - - switch (response) { - case GTK_RESPONSE_OK: - zen_data->exit_code = 0; - gtk_main_quit (); - break; - - case GTK_RESPONSE_CANCEL: - zen_data->exit_code = 1; - gtk_main_quit (); - break; - - default: - zen_data->exit_code = 1; - break; - } + ZenityData *zen_data = data; + + switch (response) { + case GTK_RESPONSE_OK: + zen_data->exit_code = 0; + gtk_main_quit (); + break; + + case GTK_RESPONSE_CANCEL: + zen_data->exit_code = 1; + gtk_main_quit (); + break; + + default: + zen_data->exit_code = 1; + break; + } } diff --git a/src/progress.c b/src/progress.c index bf730bc..41153bc 100644 --- a/src/progress.c +++ b/src/progress.c @@ -37,142 +37,142 @@ static void zenity_progress_dialog_response (GtkWidget *widget, int response, gp void zenity_progress (ZenityData *data, ZenityProgressData *progress_data) { - GtkWidget *dialog; - GtkWidget *text; - GtkWidget *progress_bar; - guint input; + GtkWidget *dialog; + GtkWidget *text; + GtkWidget *progress_bar; + guint input; - glade_dialog = zenity_util_load_glade_file ("zenity_progress_dialog"); + glade_dialog = zenity_util_load_glade_file ("zenity_progress_dialog"); - if (glade_dialog == NULL) { - data->exit_code = -1; - return; - } + if (glade_dialog == NULL) { + data->exit_code = -1; + return; + } - glade_xml_signal_autoconnect (glade_dialog); - - dialog = glade_xml_get_widget (glade_dialog, "zenity_progress_dialog"); + glade_xml_signal_autoconnect (glade_dialog); + + dialog = glade_xml_get_widget (glade_dialog, "zenity_progress_dialog"); - g_signal_connect (G_OBJECT (dialog), "response", - G_CALLBACK (zenity_progress_dialog_response), data); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (zenity_progress_dialog_response), data); - if (data->dialog_title) - gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); + if (data->dialog_title) + gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); - if (data->window_icon) - zenity_util_set_window_icon (dialog, data->window_icon); - else { - zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-progress.png")); - } + if (data->window_icon) + zenity_util_set_window_icon (dialog, data->window_icon); + else { + zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-progress.png")); + } - text = glade_xml_get_widget (glade_dialog, "zenity_progress_text"); - gtk_label_set_text (GTK_LABEL (text), progress_data->dialog_text); + text = glade_xml_get_widget (glade_dialog, "zenity_progress_text"); + gtk_label_set_text (GTK_LABEL (text), progress_data->dialog_text); - progress_bar = glade_xml_get_widget (glade_dialog, "zenity_progress_bar"); + progress_bar = glade_xml_get_widget (glade_dialog, "zenity_progress_bar"); - if (progress_data->percentage > -1) - gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), - progress_data->percentage/100.0); + if (progress_data->percentage > -1) + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), + progress_data->percentage/100.0); - gtk_widget_show (dialog); - if (progress_data->pulsate != TRUE) - timer = gtk_timeout_add (100, zenity_progress_timeout, progress_bar); - else - timer = gtk_timeout_add (100, zenity_progress_pulsate_timeout, progress_bar); + gtk_widget_show (dialog); + if (!progress_data->pulsate) + timer = gtk_timeout_add (100, zenity_progress_timeout, progress_bar); + else + timer = gtk_timeout_add (100, zenity_progress_pulsate_timeout, progress_bar); - gtk_main (); + gtk_main (); } gint zenity_progress_timeout (gpointer data) { - gchar buffer[256]; - float percentage; - - while(gtk_events_pending()) { - gtk_main_iteration(); + gchar buffer[256]; + float percentage; - if (timer == 0) - return FALSE; - } + while(gtk_events_pending()) { + gtk_main_iteration(); - if (scanf ("%255s", buffer) == EOF) { - GtkWidget *button; + if (timer == 0) + return FALSE; + } - button = glade_xml_get_widget (glade_dialog, "zenity_progress_ok_button"); - gtk_widget_set_sensitive (button, TRUE); - gtk_widget_grab_focus (button); + if (scanf ("%255s", buffer) == EOF) { + GtkWidget *button; - button = glade_xml_get_widget (glade_dialog, "zenity_progress_cancel_button"); - gtk_widget_set_sensitive (button, FALSE); + button = glade_xml_get_widget (glade_dialog, "zenity_progress_ok_button"); + gtk_widget_set_sensitive (button, TRUE); + gtk_widget_grab_focus (button); - if (glade_dialog) - g_object_unref (glade_dialog); + button = glade_xml_get_widget (glade_dialog, "zenity_progress_cancel_button"); + gtk_widget_set_sensitive (button, FALSE); + + if (glade_dialog) + g_object_unref (glade_dialog); - return FALSE; - } else { - percentage = atoi (buffer); + return FALSE; + } else { + percentage = atoi (buffer); - if (percentage > 100) - gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (data), 1.0); - else - gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (data), percentage / 100.0); + if (percentage > 100) + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (data), 1.0); + else + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (data), percentage / 100.0); - return TRUE; - } + return TRUE; + } } gint zenity_progress_pulsate_timeout (gpointer data) { - while(gtk_events_pending()) { - gtk_main_iteration(); - - if (timer == 0) - return FALSE; - } - - if (feof (stdin)) { - gtk_progress_bar_pulse (GTK_PROGRESS_BAR (data)); + while(gtk_events_pending()) { + gtk_main_iteration(); - return FALSE; - } else { - GtkWidget *button; + if (timer == 0) + return FALSE; + } - /* We stop the pulsating and switch the focus on the dialog buttons */ + if (feof (stdin)) { + gtk_progress_bar_pulse (GTK_PROGRESS_BAR (data)); + return FALSE; + } else { + GtkWidget *button; - gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (data), 1.0); + /* We stop the pulsating and switch the focus on the dialog buttons */ + + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (data), 1.0); - button = glade_xml_get_widget (glade_dialog, "zenity_progress_ok_button"); - gtk_widget_set_sensitive (button, TRUE); - gtk_widget_grab_focus (button); + button = glade_xml_get_widget (glade_dialog, "zenity_progress_ok_button"); + gtk_widget_set_sensitive (button, TRUE); + gtk_widget_grab_focus (button); - button = glade_xml_get_widget (glade_dialog, "zenity_progress_cancel_button"); - gtk_widget_set_sensitive (button, FALSE); + button = glade_xml_get_widget (glade_dialog, "zenity_progress_cancel_button"); + gtk_widget_set_sensitive (button, FALSE); - return TRUE; - } + return TRUE; + } } static void zenity_progress_dialog_response (GtkWidget *widget, int response, gpointer data) { - ZenityData *zen_data = data; - - switch (response) { - case GTK_RESPONSE_OK: - zen_data->exit_code = 0; - gtk_main_quit (); - break; - - case GTK_RESPONSE_CANCEL: - zen_data->exit_code = 1; - gtk_main_quit (); - break; - - default: - zen_data->exit_code = 1; - break; - } + ZenityData *zen_data = data; + + switch (response) { + case GTK_RESPONSE_OK: + zen_data->exit_code = 0; + gtk_main_quit (); + break; + + case GTK_RESPONSE_CANCEL: + zen_data->exit_code = 1; + gtk_main_quit (); + break; + + default: + /* Esc dialog */ + zen_data->exit_code = 1; + break; + } } @@ -32,74 +32,75 @@ static void zenity_text_dialog_response (GtkWidget *widget, int response, gpoint void zenity_text (ZenityData *data, ZenityTextData *text_data) { - GladeXML *glade_dialog = NULL; - GtkWidget *dialog; - GtkWidget *text_view; - GtkTextBuffer *text_buffer; - - zen_text_data = text_data; - glade_dialog = zenity_util_load_glade_file ("zenity_text_dialog"); - - if (glade_dialog == NULL) { - data->exit_code = -1; - return; - } - - glade_xml_signal_autoconnect (glade_dialog); + GladeXML *glade_dialog = NULL; + GtkWidget *dialog; + GtkWidget *text_view; + GtkTextBuffer *text_buffer; - dialog = glade_xml_get_widget (glade_dialog, "zenity_text_dialog"); + zen_text_data = text_data; + glade_dialog = zenity_util_load_glade_file ("zenity_text_dialog"); + + if (glade_dialog == NULL) { + data->exit_code = -1; + return; + } + + glade_xml_signal_autoconnect (glade_dialog); + + dialog = glade_xml_get_widget (glade_dialog, "zenity_text_dialog"); - g_signal_connect (G_OBJECT (dialog), "response", - G_CALLBACK (zenity_text_dialog_response), data); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (zenity_text_dialog_response), data); - if (data->dialog_title) - gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); + if (data->dialog_title) + gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); + + if (data->window_icon) + zenity_util_set_window_icon (dialog, data->window_icon); + else + zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-text.png")); + + gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE); - if (data->window_icon) - zenity_util_set_window_icon (dialog, data->window_icon); - else - zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-text.png")); + text_buffer = gtk_text_buffer_new (NULL); + text_view = glade_xml_get_widget (glade_dialog, "zenity_text_view"); + gtk_text_view_set_buffer (GTK_TEXT_VIEW (text_view), text_buffer); + gtk_text_view_set_editable (GTK_TEXT_VIEW(text_view), text_data->editable); - gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE); + if (text_data->uri) + zenity_util_fill_file_buffer (text_buffer, text_data->uri); - text_buffer = gtk_text_buffer_new (NULL); - text_view = glade_xml_get_widget (glade_dialog, "zenity_text_view"); - gtk_text_view_set_buffer (GTK_TEXT_VIEW (text_view), text_buffer); - gtk_text_view_set_editable (GTK_TEXT_VIEW(text_view), text_data->editable); - if (text_data->uri) { - zenity_util_fill_file_buffer (text_buffer, text_data->uri); - } + if (text_data->editable) + zen_text_data->buffer = text_buffer; - if (text_data->editable) { - zen_text_data->buffer = text_buffer; - } - gtk_widget_show (dialog); + gtk_widget_show (dialog); - if (glade_dialog) - g_object_unref (glade_dialog); + if (glade_dialog) + g_object_unref (glade_dialog); - gtk_main (); + gtk_main (); } static void zenity_text_dialog_response (GtkWidget *widget, int response, gpointer data) { - ZenityData *zen_data = data; - - switch (response) { - case GTK_RESPONSE_CLOSE: - if (zen_text_data->editable) { - GtkTextIter start, end; - - gtk_text_buffer_get_bounds (zen_text_data->buffer, &start, &end); - g_printerr (gtk_text_buffer_get_text (zen_text_data->buffer, &start, &end, 0)); - } - zen_data->exit_code = 0; - gtk_main_quit (); - break; - - default: - zen_data->exit_code = 1; - break; - } + ZenityData *zen_data = data; + + switch (response) { + case GTK_RESPONSE_CLOSE: + if (zen_text_data->editable) { + GtkTextIter start, end; + + gtk_text_buffer_get_bounds (zen_text_data->buffer, &start, &end); + g_printerr (gtk_text_buffer_get_text (zen_text_data->buffer, &start, &end, 0)); + } + zen_data->exit_code = 0; + gtk_main_quit (); + break; + + default: + /* Esc dialog */ + zen_data->exit_code = 1; + break; + } } @@ -39,351 +39,352 @@ static void zenity_tree_dialog_response (GtkWidget *widget, int response, gpoint static void zenity_tree_toggled_callback (GtkCellRendererToggle *cell, gchar *path_string, gpointer data) { - GtkTreeModel *model; - GtkTreeIter iter; - GtkTreePath *path; - gboolean value; + GtkTreeModel *model; + GtkTreeIter iter; + GtkTreePath *path; + gboolean value; - model = GTK_TREE_MODEL (data); - path = gtk_tree_path_new_from_string (path_string); + model = GTK_TREE_MODEL (data); + path = gtk_tree_path_new_from_string (path_string); - gtk_tree_model_get_iter (model, &iter, path); - gtk_tree_model_get (model, &iter, 0, &value, -1); + gtk_tree_model_get_iter (model, &iter, path); + gtk_tree_model_get (model, &iter, 0, &value, -1); - value = !value; - gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, value, -1); + value = !value; + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, value, -1); - gtk_tree_path_free (path); + gtk_tree_path_free (path); } static void -zenity_tree_fill_entries (GtkTreeView *tree_view, const gchar **args, gint n_columns, gboolean toggles, gboolean editable) +zenity_tree_fill_entries (GtkTreeView *tree_view, + const gchar **args, + gint n_columns, + gboolean toggles, + gboolean editable) { - GtkTreeModel *model; - GtkTreeIter iter; - gint i = 0; + GtkTreeModel *model; + GtkTreeIter iter; + gint i = 0; - model = gtk_tree_view_get_model (tree_view); + model = gtk_tree_view_get_model (tree_view); - while (args[i] != NULL) { - gint j; + while (args[i] != NULL) { + gint j; - gtk_list_store_append (GTK_LIST_STORE (model), &iter); + gtk_list_store_append (GTK_LIST_STORE (model), &iter); - for (j = 0; j < n_columns; j++) { + for (j = 0; j < n_columns; j++) { - if (toggles && j == 0) { - if (strcmp (args[i+j], "TRUE") == 0) - gtk_list_store_set (GTK_LIST_STORE (model), &iter, j, TRUE, -1); - else - gtk_list_store_set (GTK_LIST_STORE (model), &iter, j, FALSE, -1); - } - else - gtk_list_store_set (GTK_LIST_STORE (model), &iter, j, args[i+j], -1); - } - - if (editable) - gtk_list_store_set (GTK_LIST_STORE (model), &iter, n_columns, TRUE, -1); - - if (i == MAX_ELEMENTS_BEFORE_SCROLLING) { - GtkWidget *scrolled_window; - GtkRequisition rectangle; - - gtk_widget_size_request (GTK_WIDGET (tree_view), &rectangle); - scrolled_window = glade_xml_get_widget (glade_dialog, "zenity_tree_window"); - gtk_widget_set_size_request (scrolled_window, -1, rectangle.height); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), - GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); - } - i += n_columns; - - } + if (toggles && j == 0) { + if (strcmp (args[i+j], "TRUE") == 0) + gtk_list_store_set (GTK_LIST_STORE (model), &iter, j, TRUE, -1); + else + gtk_list_store_set (GTK_LIST_STORE (model), &iter, j, FALSE, -1); + } + else + gtk_list_store_set (GTK_LIST_STORE (model), &iter, j, args[i+j], -1); + } + + if (editable) + gtk_list_store_set (GTK_LIST_STORE (model), &iter, n_columns, TRUE, -1); + + if (i == MAX_ELEMENTS_BEFORE_SCROLLING) { + GtkWidget *scrolled_window; + GtkRequisition rectangle; + + gtk_widget_size_request (GTK_WIDGET (tree_view), &rectangle); + scrolled_window = glade_xml_get_widget (glade_dialog, "zenity_tree_window"); + gtk_widget_set_size_request (scrolled_window, -1, rectangle.height); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + } + i += n_columns; + + } } static void -zenity_cell_edited_callback (GtkCellRendererText *cell, const gchar *path_string, const gchar *new_text, gpointer data) +zenity_cell_edited_callback (GtkCellRendererText *cell, + const gchar *path_string, + const gchar *new_text, + gpointer data) { - GtkTreeModel *model; - GtkTreePath *path; - GtkTreeIter iter; - gint column; + GtkTreeModel *model; + GtkTreePath *path; + GtkTreeIter iter; + gint column; - model = GTK_TREE_MODEL (data); - path = gtk_tree_path_new_from_string (path_string); + model = GTK_TREE_MODEL (data); + path = gtk_tree_path_new_from_string (path_string); - column = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (cell), "column")); - gtk_tree_model_get_iter (model, &iter, path); - - gtk_list_store_set (GTK_LIST_STORE (model), &iter, - column, new_text, -1); + column = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (cell), "column")); + gtk_tree_model_get_iter (model, &iter, path); + + gtk_list_store_set (GTK_LIST_STORE (model), &iter, column, new_text, -1); - gtk_tree_path_free (path); + gtk_tree_path_free (path); } void zenity_tree (ZenityData *data, ZenityTreeData *tree_data) { - GtkWidget *dialog; - GtkWidget *tree_view; - GtkTreeViewColumn *column; - GtkListStore *model; - GType *column_types; - GSList *tmp; - gboolean first_column = FALSE; - gint i, column_index, n_columns; - - glade_dialog = zenity_util_load_glade_file ("zenity_tree_dialog"); - - if (glade_dialog == NULL) { - data->exit_code = -1; - return; - } + GtkWidget *dialog; + GtkWidget *tree_view; + GtkTreeViewColumn *column; + GtkListStore *model; + GType *column_types; + GSList *tmp; + gboolean first_column = FALSE; + gint i, column_index, n_columns; + + glade_dialog = zenity_util_load_glade_file ("zenity_tree_dialog"); + + if (glade_dialog == NULL) { + data->exit_code = -1; + return; + } - separator = g_strdup (tree_data->separator); + separator = g_strdup (tree_data->separator); - n_columns = g_slist_length (tree_data->columns); + n_columns = g_slist_length (tree_data->columns); - if (n_columns == 0) { - g_printerr (_("No column titles specified for --list\n")); - data->exit_code = -1; - return; - } + if (n_columns == 0) { + g_printerr (_("No column titles specified for --list\n")); + data->exit_code = -1; + return; + } - if (tree_data->data == NULL) { - g_printerr (_("No contents specified for --list\n")); - data->exit_code = -1; - return; - } + if (tree_data->data == NULL) { + g_printerr (_("No contents specified for --list\n")); + data->exit_code = -1; + return; + } - glade_xml_signal_autoconnect (glade_dialog); + glade_xml_signal_autoconnect (glade_dialog); - dialog = glade_xml_get_widget (glade_dialog, "zenity_tree_dialog"); + dialog = glade_xml_get_widget (glade_dialog, "zenity_tree_dialog"); - g_signal_connect (G_OBJECT (dialog), "response", - G_CALLBACK (zenity_tree_dialog_response), data); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (zenity_tree_dialog_response), data); - if (data->dialog_title) - gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); + if (data->dialog_title) + gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); - if (data->window_icon) - zenity_util_set_window_icon (dialog, data->window_icon); - else - zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-list.png")); + if (data->window_icon) + zenity_util_set_window_icon (dialog, data->window_icon); + else + zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH ("zenity-list.png")); - tree_view = glade_xml_get_widget (glade_dialog, "zenity_tree_view"); + tree_view = glade_xml_get_widget (glade_dialog, "zenity_tree_view"); - /* Create an empty list store */ - model = g_object_new (GTK_TYPE_LIST_STORE, NULL); + /* Create an empty list store */ + model = g_object_new (GTK_TYPE_LIST_STORE, NULL); - if (tree_data->editable) - column_types = g_new (GType, n_columns + 1); - else - column_types = g_new (GType, n_columns); + if (tree_data->editable) + column_types = g_new (GType, n_columns + 1); + else + column_types = g_new (GType, n_columns); - for (i = 0; i < n_columns; i++) { - /* Have the limitation that the radioboxes and checkboxes are in the first column */ - if (i == 0 && (tree_data->checkbox || tree_data->radiobox)) - column_types[i] = G_TYPE_BOOLEAN; - else - column_types[i] = G_TYPE_STRING; - } + for (i = 0; i < n_columns; i++) { + /* Have the limitation that the radioboxes and checkboxes are in the first column */ + if (i == 0 && (tree_data->checkbox || tree_data->radiobox)) + column_types[i] = G_TYPE_BOOLEAN; + else + column_types[i] = G_TYPE_STRING; + } - if (tree_data->editable) - column_types[n_columns] = G_TYPE_BOOLEAN; + if (tree_data->editable) + column_types[n_columns] = G_TYPE_BOOLEAN; - if (tree_data->editable) - gtk_list_store_set_column_types (model, n_columns + 1, column_types); - else - gtk_list_store_set_column_types (model, n_columns, column_types); + if (tree_data->editable) + gtk_list_store_set_column_types (model, n_columns + 1, column_types); + else + gtk_list_store_set_column_types (model, n_columns, column_types); - gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (model)); + gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (model)); - gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)), - GTK_SELECTION_MULTIPLE); + gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)), + GTK_SELECTION_MULTIPLE); - column_index = 0; + column_index = 0; - for (tmp = tree_data->columns; tmp; tmp = tmp->next) { - if (first_column == FALSE) { - if (tree_data->checkbox || tree_data->radiobox) { - GtkCellRenderer *cell_renderer; - - cell_renderer = gtk_cell_renderer_toggle_new (); + for (tmp = tree_data->columns; tmp; tmp = tmp->next) { + if (!first_column) { + if (tree_data->checkbox || tree_data->radiobox) { + GtkCellRenderer *cell_renderer; + + cell_renderer = gtk_cell_renderer_toggle_new (); - if (tree_data->radiobox) - g_object_set (G_OBJECT (cell_renderer), "radio", TRUE, NULL); - - g_signal_connect (cell_renderer, "toggled", - G_CALLBACK (zenity_tree_toggled_callback), model); - - column = gtk_tree_view_column_new_with_attributes (tmp->data, - cell_renderer, - "active", column_index, NULL); - } - - else { - if (tree_data->editable == TRUE) { - GtkCellRenderer *cell_renderer; - - cell_renderer = gtk_cell_renderer_text_new (); - g_signal_connect (G_OBJECT (cell_renderer), "edited", - G_CALLBACK (zenity_cell_edited_callback), - gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view))); - g_object_set_data (G_OBJECT (cell_renderer), "column", - (gint *) column_index); - - column = gtk_tree_view_column_new_with_attributes (tmp->data, - cell_renderer, - "text", column_index, - "editable", n_columns, - NULL); - } - else { - column = gtk_tree_view_column_new_with_attributes (tmp->data, - gtk_cell_renderer_text_new (), - "text", column_index, NULL); - } - - gtk_tree_view_column_set_sort_column_id (column, column_index); - gtk_tree_view_column_set_resizable (column, TRUE); - } - - first_column = TRUE; - } - else { - if (tree_data->editable == TRUE) { - GtkCellRenderer *cell_renderer; - - cell_renderer = gtk_cell_renderer_text_new (); - g_signal_connect (G_OBJECT (cell_renderer), "edited", - G_CALLBACK (zenity_cell_edited_callback), - gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view))); - g_object_set_data (G_OBJECT (cell_renderer), "column", - (gint *) column_index); - - column = gtk_tree_view_column_new_with_attributes (tmp->data, - cell_renderer, - "text", column_index, - "editable", n_columns, - NULL); - } - else { - column = gtk_tree_view_column_new_with_attributes (tmp->data, - gtk_cell_renderer_text_new (), - "text", column_index, NULL); - } - - gtk_tree_view_column_set_sort_column_id (column, column_index); - gtk_tree_view_column_set_resizable (column, TRUE); + if (tree_data->radiobox) + g_object_set (G_OBJECT (cell_renderer), "radio", TRUE, NULL); + + g_signal_connect (cell_renderer, "toggled", + G_CALLBACK (zenity_tree_toggled_callback), model); + + column = gtk_tree_view_column_new_with_attributes (tmp->data, + cell_renderer, + "active", column_index, NULL); + } + else { + if (tree_data->editable) { + GtkCellRenderer *cell_renderer; + + cell_renderer = gtk_cell_renderer_text_new (); + g_signal_connect (G_OBJECT (cell_renderer), "edited", + G_CALLBACK (zenity_cell_edited_callback), + gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view))); + g_object_set_data (G_OBJECT (cell_renderer), "column", (gint *) column_index); + + column = gtk_tree_view_column_new_with_attributes (tmp->data, + cell_renderer, + "text", column_index, + "editable", n_columns, + NULL); + } + else { + column = gtk_tree_view_column_new_with_attributes (tmp->data, + gtk_cell_renderer_text_new (), + "text", column_index, + NULL); + } + + gtk_tree_view_column_set_sort_column_id (column, column_index); + gtk_tree_view_column_set_resizable (column, TRUE); + } - } + first_column = TRUE; + } + else { + if (tree_data->editable) { + GtkCellRenderer *cell_renderer; + + cell_renderer = gtk_cell_renderer_text_new (); + g_signal_connect (G_OBJECT (cell_renderer), "edited", + G_CALLBACK (zenity_cell_edited_callback), + gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view))); + g_object_set_data (G_OBJECT (cell_renderer), "column", (gint *) column_index); + + column = gtk_tree_view_column_new_with_attributes (tmp->data, + cell_renderer, + "text", column_index, + "editable", n_columns, + NULL); + } + else { + column = gtk_tree_view_column_new_with_attributes (tmp->data, + gtk_cell_renderer_text_new (), + "text", column_index, NULL); + } + + gtk_tree_view_column_set_sort_column_id (column, column_index); + gtk_tree_view_column_set_resizable (column, TRUE); + } - gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column); - column_index++; - } + gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column); + column_index++; + } - gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (tree_view), TRUE); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (tree_view), TRUE); - if (tree_data->radiobox || tree_data->checkbox) - zenity_tree_fill_entries (GTK_TREE_VIEW (tree_view), tree_data->data, n_columns, TRUE, tree_data->editable); - else - zenity_tree_fill_entries (GTK_TREE_VIEW (tree_view), tree_data->data, n_columns, FALSE, tree_data->editable); + if (tree_data->radiobox || tree_data->checkbox) + zenity_tree_fill_entries (GTK_TREE_VIEW (tree_view), tree_data->data, n_columns, TRUE, tree_data->editable); + else + zenity_tree_fill_entries (GTK_TREE_VIEW (tree_view), tree_data->data, n_columns, FALSE, tree_data->editable); - gtk_widget_show (dialog); - gtk_main (); + gtk_widget_show (dialog); + gtk_main (); - if (glade_dialog) - g_object_unref (glade_dialog); + if (glade_dialog) + g_object_unref (glade_dialog); } static void zenity_tree_dialog_get_selected (GtkTreeModel *model, GtkTreePath *path_buf, GtkTreeIter *iter, GtkTreeView *tree_view) { - GValue value = {0, }; + GValue value = {0, }; - gtk_tree_model_get_value (model, iter, 0, &value); + gtk_tree_model_get_value (model, iter, 0, &value); - selected = g_slist_append (selected, g_strdup (g_value_get_string (&value))); - g_value_unset (&value); + selected = g_slist_append (selected, g_strdup (g_value_get_string (&value))); + g_value_unset (&value); } static gboolean zenity_tree_dialog_toggle_get_selected (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) { - GValue toggle_value = {0, }; - - gtk_tree_model_get_value (model, iter, 0, &toggle_value); - - if (g_value_get_boolean (&toggle_value) == TRUE) { - GValue value = {0, }; - gtk_tree_model_get_value (model, iter, 1, &value); - selected = g_slist_append (selected, g_strdup (g_value_get_string (&value))); - g_value_unset (&value); - } - g_value_unset (&toggle_value); - return FALSE; + GValue toggle_value = {0, }; + + gtk_tree_model_get_value (model, iter, 0, &toggle_value); + + if (g_value_get_boolean (&toggle_value)) { + GValue value = {0, }; + gtk_tree_model_get_value (model, iter, 1, &value); + selected = g_slist_append (selected, g_strdup (g_value_get_string (&value))); + g_value_unset (&value); + } + g_value_unset (&toggle_value); + return FALSE; } static void zenity_tree_dialog_output (void) { - GSList *tmp; - - for (tmp = selected; tmp; tmp = tmp->next) { - if (tmp->next != NULL) { - /* FIXME: There must be a nicer way to do this. This is just arse */ - if (strstr ((const gchar *) separator, (const gchar *) "\\n") != NULL) - g_printerr ("%s\n", tmp->data); - else if (strstr ((const gchar *) separator, (const gchar *) "\\t") != NULL) - g_printerr ("%s\t", tmp->data); - else - g_printerr ("%s%s", tmp->data, separator); - } - else - g_printerr ("%s\n", tmp->data); - } - - g_free (separator); - g_slist_foreach (selected, (GFunc) g_free, NULL); - selected = NULL; + GSList *tmp; + + for (tmp = selected; tmp; tmp = tmp->next) { + if (tmp->next != NULL) { + /* FIXME: There must be a nicer way to do this. This is just arse */ + if (strstr ((const gchar *) separator, (const gchar *) "\\n") != NULL) + g_printerr ("%s\n", tmp->data); + else if (strstr ((const gchar *) separator, (const gchar *) "\\t") != NULL) + g_printerr ("%s\t", tmp->data); + else + g_printerr ("%s%s", tmp->data, separator); + } + else + g_printerr ("%s\n", tmp->data); + } + + g_free (separator); + g_slist_foreach (selected, (GFunc) g_free, NULL); + selected = NULL; } static void zenity_tree_dialog_response (GtkWidget *widget, int response, gpointer data) { - ZenityData *zen_data = data; - GtkWidget *tree_view; - GtkTreeSelection *selection; - GtkTreeModel *model; - - switch (response) { - case GTK_RESPONSE_OK: - tree_view = glade_xml_get_widget (glade_dialog, "zenity_tree_view"); - model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view)); - - if (gtk_tree_model_get_column_type (model, 0) == G_TYPE_BOOLEAN) { - gtk_tree_model_foreach (model, - (GtkTreeModelForeachFunc) zenity_tree_dialog_toggle_get_selected, - NULL); - } - else { - selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)); - gtk_tree_selection_selected_foreach (selection, - (GtkTreeSelectionForeachFunc) zenity_tree_dialog_get_selected, - GTK_TREE_VIEW (tree_view)); - } - zenity_tree_dialog_output (); - zen_data->exit_code = 0; - gtk_main_quit (); - break; - - case GTK_RESPONSE_CANCEL: - zen_data->exit_code = 1; - gtk_main_quit (); - break; - - default: - zen_data->exit_code = 1; - break; - } + ZenityData *zen_data = data; + GtkWidget *tree_view; + GtkTreeSelection *selection; + GtkTreeModel *model; + + switch (response) { + case GTK_RESPONSE_OK: + tree_view = glade_xml_get_widget (glade_dialog, "zenity_tree_view"); + model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view)); + + if (gtk_tree_model_get_column_type (model, 0) == G_TYPE_BOOLEAN) + gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc) zenity_tree_dialog_toggle_get_selected, NULL); + else { + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)); + gtk_tree_selection_selected_foreach (selection, + (GtkTreeSelectionForeachFunc) zenity_tree_dialog_get_selected, + GTK_TREE_VIEW (tree_view)); + } + zenity_tree_dialog_output (); + zen_data->exit_code = 0; + gtk_main_quit (); + break; + + case GTK_RESPONSE_CANCEL: + zen_data->exit_code = 1; + gtk_main_quit (); + break; + + default: + /* Esc dialog */ + zen_data->exit_code = 1; + break; + } } @@ -41,131 +41,131 @@ GladeXML* zenity_util_load_glade_file (const gchar *widget_root) { - GladeXML *xml = NULL; + GladeXML *xml = NULL; - if (g_file_test (ZENITY_GLADE_FILE_RELATIVEPATH, - G_FILE_TEST_EXISTS)) { - /* Try current dir, for debugging */ - xml = glade_xml_new (ZENITY_GLADE_FILE_RELATIVEPATH, widget_root, GETTEXT_PACKAGE); - } + if (g_file_test (ZENITY_GLADE_FILE_RELATIVEPATH, G_FILE_TEST_EXISTS)) { + /* Try current dir, for debugging */ + xml = glade_xml_new (ZENITY_GLADE_FILE_RELATIVEPATH, widget_root, GETTEXT_PACKAGE); + } - if (xml == NULL) - xml = glade_xml_new (ZENITY_GLADE_FILE_FULLPATH, widget_root, GETTEXT_PACKAGE); + if (xml == NULL) + xml = glade_xml_new (ZENITY_GLADE_FILE_FULLPATH, widget_root, GETTEXT_PACKAGE); - if (xml == NULL) { - g_warning ("Could not load glade file : %s", ZENITY_GLADE_FILE_FULLPATH); - return NULL; - } + if (xml == NULL) { + g_warning ("Could not load glade file : %s", ZENITY_GLADE_FILE_FULLPATH); + return NULL; + } - return xml; + return xml; } gboolean zenity_util_fill_file_buffer (GtkTextBuffer *buffer, const gchar *filename) { - GtkTextIter iter, end; - FILE* f; - gchar buf[2048]; - gint remaining = 0; + GtkTextIter iter, end; + FILE *f; + gchar buf[2048]; + gint remaining = 0; - if (filename == NULL) - return FALSE; + if (filename == NULL) + return FALSE; - f = fopen (filename, "r"); + f = fopen (filename, "r"); - if (f == NULL) { - g_warning ("Cannot open file '%s': %s", filename, g_strerror (errno)); - return FALSE; - } + if (f == NULL) { + g_warning ("Cannot open file '%s': %s", filename, g_strerror (errno)); + return FALSE; + } - gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0); + gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0); - while (!feof (f)) { - gint count; - const char *leftover; - int to_read = 2047 - remaining; + while (!feof (f)) { + gint count; + const char *leftover; + int to_read = 2047 - remaining; - count = fread (buf + remaining, 1, to_read, f); - buf[count + remaining] = '\0'; + count = fread (buf + remaining, 1, to_read, f); + buf[count + remaining] = '\0'; - g_utf8_validate (buf, count + remaining, &leftover); + g_utf8_validate (buf, count + remaining, &leftover); - g_assert (g_utf8_validate (buf, leftover - buf, NULL)); - gtk_text_buffer_insert (buffer, &iter, buf, leftover - buf); + g_assert (g_utf8_validate (buf, leftover - buf, NULL)); + gtk_text_buffer_insert (buffer, &iter, buf, leftover - buf); - remaining = (buf + remaining + count) - leftover; - g_memmove (buf, leftover, remaining); + remaining = (buf + remaining + count) - leftover; + g_memmove (buf, leftover, remaining); - if (remaining > 6 || count < to_read) - break; - } + if (remaining > 6 || count < to_read) + break; + } - if (remaining) { - g_warning ("Invalid UTF-8 data encountered reading file '%s'", filename); - return FALSE; - } + if (remaining) { + g_warning ("Invalid UTF-8 data encountered reading file '%s'", filename); + return FALSE; + } - /* We had a newline in the buffer to begin with. (The buffer always contains - * a newline, so we delete to the end of the buffer to clean up. - */ - gtk_text_buffer_get_end_iter (buffer, &end); - gtk_text_buffer_delete (buffer, &iter, &end); + /* We had a newline in the buffer to begin with. (The buffer always contains + * a newline, so we delete to the end of the buffer to clean up. + */ + + gtk_text_buffer_get_end_iter (buffer, &end); + gtk_text_buffer_delete (buffer, &iter, &end); - gtk_text_buffer_set_modified (buffer, FALSE); + gtk_text_buffer_set_modified (buffer, FALSE); - return TRUE; + return TRUE; } static GList * zenity_util_list_from_char_array (const char **s) { - GList *list = NULL; - gint i; + GList *list = NULL; + gint i; - for (i = 0; s[i]; i++) { - GdkPixbuf *pixbuf; + for (i = 0; s[i]; i++) { + GdkPixbuf *pixbuf; - pixbuf = gdk_pixbuf_new_from_file (s[i], NULL); - if (pixbuf) - list = g_list_prepend (list, pixbuf); - } + pixbuf = gdk_pixbuf_new_from_file (s[i], NULL); + if (pixbuf) + list = g_list_prepend (list, pixbuf); + } - return list; + return list; } static void zenity_util_free_list (GList *list) { - g_list_foreach (list, (GFunc) g_object_unref, NULL); - g_list_free (list); + g_list_foreach (list, (GFunc) g_object_unref, NULL); + g_list_free (list); } void zenity_util_set_window_icon (GtkWidget *widget, const gchar *filename) { - const gchar *filenames[2] = { NULL}; - GList *list; + const gchar *filenames[2] = { NULL}; + GList *list; - g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_WINDOW (widget)); + g_return_if_fail (widget != NULL); + g_return_if_fail (GTK_IS_WINDOW (widget)); - if (filename == NULL) - return; + if (filename == NULL) + return; - filenames[0] = filename; - list = zenity_util_list_from_char_array (filenames); - gtk_window_set_icon_list (GTK_WINDOW (widget), list); - zenity_util_free_list (list); + filenames[0] = filename; + list = zenity_util_list_from_char_array (filenames); + gtk_window_set_icon_list (GTK_WINDOW (widget), list); + zenity_util_free_list (list); } void zenity_util_set_window_icon_from_stock (GtkWidget *widget, const gchar *stock_id) { - GdkPixbuf *pixbuf; + GdkPixbuf *pixbuf; - pixbuf = gtk_widget_render_icon (widget, stock_id, (GtkIconSize) -1, NULL); - gtk_window_set_icon (GTK_WINDOW (widget), pixbuf); - g_object_unref (pixbuf); + pixbuf = gtk_widget_render_icon (widget, stock_id, (GtkIconSize) -1, NULL); + gtk_window_set_icon (GTK_WINDOW (widget), pixbuf); + g_object_unref (pixbuf); } /* This is copied from libgnome/gnome-i18n.c since we try and avoid using @@ -178,70 +178,70 @@ static GHashTable *alias_table = NULL; static void zenity_read_aliases (char *file) { - FILE *fp; - char buf[256]; + FILE *fp; + char buf[256]; - if (!alias_table) - alias_table = g_hash_table_new (g_str_hash, g_str_equal); + if (!alias_table) + alias_table = g_hash_table_new (g_str_hash, g_str_equal); - fp = fopen (file,"r"); + fp = fopen (file,"r"); - if (!fp) - return; + if (!fp) + return; - while (fgets (buf,256,fp)) { - gchar *p; - g_strstrip (buf); + while (fgets (buf,256,fp)) { + gchar *p; + g_strstrip (buf); - if (buf[0]=='#' || buf[0]=='\0') - continue; + if (buf[0]=='#' || buf[0]=='\0') + continue; - p = (gchar *) strtok (buf, "\t "); + p = (gchar *) strtok (buf, "\t "); - if (!p) - continue; + if (!p) + continue; - p = (gchar *) strtok (NULL, "\t "); + p = (gchar *) strtok (NULL, "\t "); - if(!p) - continue; + if(!p) + continue; - if (!g_hash_table_lookup (alias_table, buf)) - g_hash_table_insert (alias_table, g_strdup (buf), g_strdup (p)); - } + if (!g_hash_table_lookup (alias_table, buf)) + g_hash_table_insert (alias_table, g_strdup (buf), g_strdup (p)); + } - fclose (fp); + fclose (fp); } /*return the un-aliased language as a newly allocated string*/ static char * zenity_unalias_lang (char *lang) { - char *p; - int i; - - if (!alias_table) { - zenity_read_aliases ("/usr/share/locale/locale.alias"); - zenity_read_aliases ("/usr/local/share/locale/locale.alias"); - zenity_read_aliases ("/usr/lib/X11/locale/locale.alias"); - zenity_read_aliases ("/usr/openwin/lib/locale/locale.alias"); - } + char *p; + int i; + + if (!alias_table) { + zenity_read_aliases ("/usr/share/locale/locale.alias"); + zenity_read_aliases ("/usr/local/share/locale/locale.alias"); + zenity_read_aliases ("/usr/lib/X11/locale/locale.alias"); + zenity_read_aliases ("/usr/openwin/lib/locale/locale.alias"); + } - i = 0; - while ((p = g_hash_table_lookup (alias_table,lang)) && strcmp (p, lang)) { - lang = p; + i = 0; + while ((p = g_hash_table_lookup (alias_table,lang)) && strcmp (p, lang)) { + lang = p; - if (i++ == 30) { - static gboolean said_before = FALSE; + if (i++ == 30) { + static gboolean said_before = FALSE; - if (!said_before) - g_warning (_("Too many alias levels for a locale may indicate a loop")); + if (!said_before) + g_warning (_("Too many alias levels for a locale may indicate a loop")); - said_before = TRUE; - return lang; - } - } - return lang; + said_before = TRUE; + return lang; + } + } + return lang; } /* Mask for components of locale spec. The ordering here is from @@ -249,137 +249,139 @@ zenity_unalias_lang (char *lang) */ enum { - COMPONENT_CODESET = 1 << 0, - COMPONENT_TERRITORY = 1 << 1, - COMPONENT_MODIFIER = 1 << 2 + COMPONENT_CODESET = 1 << 0, + COMPONENT_TERRITORY = 1 << 1, + COMPONENT_MODIFIER = 1 << 2 }; /* Break an X/Open style locale specification into components */ static guint zenity_explode_locale (const gchar *locale, - gchar **language, - gchar **territory, - gchar **codeset, - gchar **modifier) + gchar **language, + gchar **territory, + gchar **codeset, + gchar **modifier) { - const gchar *uscore_pos; - const gchar *at_pos; - const gchar *dot_pos; - guint mask = 0; - - uscore_pos = (const gchar *) strchr (locale, '_'); - dot_pos = (const gchar *) strchr (uscore_pos ? uscore_pos : locale, '.'); - at_pos = (const gchar *) strchr (dot_pos ? dot_pos : (uscore_pos ? uscore_pos : locale), '@'); - - if (at_pos) { - mask |= COMPONENT_MODIFIER; - *modifier = g_strdup (at_pos); - } else - at_pos = locale + strlen (locale); - - if (dot_pos) { - mask |= COMPONENT_CODESET; - *codeset = g_new (gchar, 1 + at_pos - dot_pos); - strncpy (*codeset, dot_pos, at_pos - dot_pos); - (*codeset) [at_pos - dot_pos] = '\0'; - } else - dot_pos = at_pos; - - if (uscore_pos) { - mask |= COMPONENT_TERRITORY; - *territory = g_new (gchar, 1 + dot_pos - uscore_pos); - strncpy (*territory, uscore_pos, dot_pos - uscore_pos); - (*territory)[dot_pos - uscore_pos] = '\0'; - } else - uscore_pos = dot_pos; - - *language = g_new (gchar, 1 + uscore_pos - locale); - strncpy (*language, locale, uscore_pos - locale); - (*language) [uscore_pos - locale] = '\0'; - - return mask; + const gchar *uscore_pos; + const gchar *at_pos; + const gchar *dot_pos; + guint mask = 0; + + uscore_pos = (const gchar *) strchr (locale, '_'); + dot_pos = (const gchar *) strchr (uscore_pos ? uscore_pos : locale, '.'); + at_pos = (const gchar *) strchr (dot_pos ? dot_pos : (uscore_pos ? uscore_pos : locale), '@'); + + if (at_pos) { + mask |= COMPONENT_MODIFIER; + *modifier = g_strdup (at_pos); + } + else + at_pos = locale + strlen (locale); + + if (dot_pos) { + mask |= COMPONENT_CODESET; + *codeset = g_new (gchar, 1 + at_pos - dot_pos); + strncpy (*codeset, dot_pos, at_pos - dot_pos); + (*codeset) [at_pos - dot_pos] = '\0'; + } + else + dot_pos = at_pos; + + if (uscore_pos) { + mask |= COMPONENT_TERRITORY; + *territory = g_new (gchar, 1 + dot_pos - uscore_pos); + strncpy (*territory, uscore_pos, dot_pos - uscore_pos); + (*territory)[dot_pos - uscore_pos] = '\0'; + } + else + uscore_pos = dot_pos; + + *language = g_new (gchar, 1 + uscore_pos - locale); + strncpy (*language, locale, uscore_pos - locale); + (*language) [uscore_pos - locale] = '\0'; + + return mask; } static GList * zenity_compute_locale_variants (const gchar *locale) { - GList *retval = NULL; - gchar *language; - gchar *territory; - gchar *codeset; - gchar *modifier; - guint mask; - guint i; + GList *retval = NULL; + gchar *language; + gchar *territory; + gchar *codeset; + gchar *modifier; + guint mask; + guint i; - g_return_val_if_fail (locale != NULL, NULL); + g_return_val_if_fail (locale != NULL, NULL); - mask = zenity_explode_locale (locale, &language, &territory, &codeset, &modifier); + mask = zenity_explode_locale (locale, &language, &territory, &codeset, &modifier); - /* Iterate through all possible combinations, from least attractive - * to most attractive. - */ + /* Iterate through all possible combinations, from least attractive + * to most attractive. + */ - for (i = 0; i <= mask; i++) - if ((i & ~mask) == 0) { - gchar *val = g_strconcat (language, - (i & COMPONENT_TERRITORY) ? territory : "", - (i & COMPONENT_CODESET) ? codeset : "", - (i & COMPONENT_MODIFIER) ? modifier : "", NULL); - retval = g_list_prepend (retval, val); - } - - g_free (language); + for (i = 0; i <= mask; i++) + if ((i & ~mask) == 0) { + gchar *val = g_strconcat (language, (i & COMPONENT_TERRITORY) ? territory : "", + (i & COMPONENT_CODESET) ? codeset : "", + (i & COMPONENT_MODIFIER) ? modifier : "", NULL); + retval = g_list_prepend (retval, val); + } + + g_free (language); - if (mask & COMPONENT_CODESET) - g_free (codeset); - if (mask & COMPONENT_TERRITORY) - g_free (territory); - if (mask & COMPONENT_MODIFIER) - g_free (modifier); - - return retval; + if (mask & COMPONENT_CODESET) + g_free (codeset); + if (mask & COMPONENT_TERRITORY) + g_free (territory); + if (mask & COMPONENT_MODIFIER) + g_free (modifier); + + return retval; } static const gchar * zenity_guess_category_value (const gchar *categoryname) { - const gchar *retval; + const gchar *retval; - /* The highest priority value is the `LANGUAGE' environment - * variable. This is a GNU extension. - */ + /* The highest priority value is the `LANGUAGE' environment + * variable. This is a GNU extension. + */ - retval = g_getenv ("LANGUAGE"); + retval = g_getenv ("LANGUAGE"); - if (retval != NULL && retval[0] != '\0') - return retval; + if (retval != NULL && retval[0] != '\0') + return retval; - /* `LANGUAGE' is not set. So we have to proceed with the POSIX - * methods of looking to `LC_ALL', `LC_xxx', and `LANG'. On some - * systems this can be done by the `setlocale' function itself. - */ + /* `LANGUAGE' is not set. So we have to proceed with the POSIX + * methods of looking to `LC_ALL', `LC_xxx', and `LANG'. On some + * systems this can be done by the `setlocale' function itself. + */ - /* Setting of LC_ALL overwrites all other. */ + /* Setting of LC_ALL overwrites all other. */ - retval = g_getenv ("LC_ALL"); + retval = g_getenv ("LC_ALL"); - if (retval != NULL && retval[0] != '\0') - return retval; + if (retval != NULL && retval[0] != '\0') + return retval; - /* Next comes the name of the desired category. */ - retval = g_getenv (categoryname); + /* Next comes the name of the desired category. */ + retval = g_getenv (categoryname); - if (retval != NULL && retval[0] != '\0') - return retval; + if (retval != NULL && retval[0] != '\0') + return retval; - /* Last possibility is the LANG environment variable. */ - retval = g_getenv ("LANG"); - if (retval != NULL && retval[0] != '\0') - return retval; + /* Last possibility is the LANG environment variable. */ + retval = g_getenv ("LANG"); + if (retval != NULL && retval[0] != '\0') + return retval; - return NULL; + return NULL; } @@ -388,61 +390,61 @@ static GHashTable *category_table= NULL; static const GList * zenity_i18n_get_language_list (const gchar *category_name) { - GList *list; + GList *list; - if (!category_name) - category_name= "LC_ALL"; + if (!category_name) + category_name= "LC_ALL"; - if (category_table) { - list= g_hash_table_lookup (category_table, (const gpointer) category_name); - } else { - category_table= g_hash_table_new (g_str_hash, g_str_equal); - list= NULL; - } - - if (!list) { - gint c_locale_defined= FALSE; - const gchar *category_value; - gchar *category_memory, *orig_category_memory; + if (category_table) { + list= g_hash_table_lookup (category_table, (const gpointer) category_name); + } else { + category_table= g_hash_table_new (g_str_hash, g_str_equal); + list= NULL; + } + + if (!list) { + gint c_locale_defined= FALSE; + const gchar *category_value; + gchar *category_memory, *orig_category_memory; - category_value = zenity_guess_category_value (category_name); + category_value = zenity_guess_category_value (category_name); - if (! category_value) - category_value = "C"; + if (! category_value) + category_value = "C"; - orig_category_memory = category_memory = g_malloc (strlen (category_value) + 1); + orig_category_memory = category_memory = g_malloc (strlen (category_value) + 1); - while (category_value[0] != '\0') { - while (category_value[0] != '\0' && category_value[0] == ':') - ++category_value; + while (category_value[0] != '\0') { + while (category_value[0] != '\0' && category_value[0] == ':') + ++category_value; - if (category_value[0] != '\0') { - char *cp= category_memory; + if (category_value[0] != '\0') { + char *cp= category_memory; - while (category_value[0] != '\0' && category_value[0] != ':') - *category_memory++= *category_value++; + while (category_value[0] != '\0' && category_value[0] != ':') + *category_memory++= *category_value++; - category_memory[0]= '\0'; - category_memory++; + category_memory[0]= '\0'; + category_memory++; - cp = zenity_unalias_lang (cp); + cp = zenity_unalias_lang (cp); - if (strcmp (cp, "C") == 0) - c_locale_defined= TRUE; + if (strcmp (cp, "C") == 0) + c_locale_defined= TRUE; - list= g_list_concat (list, zenity_compute_locale_variants (cp)); - } - } + list= g_list_concat (list, zenity_compute_locale_variants (cp)); + } + } - g_free (orig_category_memory); + g_free (orig_category_memory); - if (!c_locale_defined) - list= g_list_append (list, "C"); + if (!c_locale_defined) + list= g_list_append (list, "C"); - g_hash_table_insert (category_table, (gpointer) category_name, list); - } + g_hash_table_insert (category_table, (gpointer) category_name, list); + } - return list; + return list; } /* This is copied from libgnome/gnome-help.c since we try and avoid using @@ -452,37 +454,37 @@ zenity_i18n_get_language_list (const gchar *category_name) static char * zenity_locate_help_file (const char *path, const char *doc_name) { - int i; - char *exts[] = { ".xml", ".docbook", ".sgml", ".html", "", NULL }; - const GList *lang_list = zenity_i18n_get_language_list ("LC_MESSAGES"); + int i; + char *exts[] = { ".xml", ".docbook", ".sgml", ".html", "", NULL }; + const GList *lang_list = zenity_i18n_get_language_list ("LC_MESSAGES"); - for (;lang_list != NULL; lang_list = lang_list->next) { - const char *lang = lang_list->data; + for (;lang_list != NULL; lang_list = lang_list->next) { + const char *lang = lang_list->data; - /* This has to be a valid language AND a language with - * no encoding postfix. The language will come up without - * encoding next - */ + /* This has to be a valid language AND a language with + * no encoding postfix. The language will come up without + * encoding next + */ - if (lang == NULL || (gchar *) strchr (lang, '.') != NULL) - continue; + if (lang == NULL || (gchar *) strchr (lang, '.') != NULL) + continue; - for (i = 0; exts[i] != NULL; i++) { - char *name; - char *full; + for (i = 0; exts[i] != NULL; i++) { + char *name; + char *full; - name = g_strconcat (doc_name, exts[i], NULL); - full = g_build_filename (path, lang, name, NULL); + name = g_strconcat (doc_name, exts[i], NULL); + full = g_build_filename (path, lang, name, NULL); - if (g_file_test (full, G_FILE_TEST_EXISTS)) - return full; + if (g_file_test (full, G_FILE_TEST_EXISTS)) + return full; - g_free (full); + g_free (full); - } - } + } + } - return NULL; + return NULL; } /* This is copied from libgnome/gnome-url.c since we try and avoid using @@ -492,96 +494,81 @@ zenity_locate_help_file (const char *path, const char *doc_name) gboolean zenity_util_show_help (const gchar *path, const gchar *document, GError **error) { - GConfClient *client; - gint i; - gchar *pos, *template; - int argc; - char **argv; - gboolean ret; - char *url; + GConfClient *client; + gint i; + gchar *pos, *template; + int argc; + char **argv; + gboolean ret; + char *url; - g_return_val_if_fail (path != NULL, FALSE); - g_return_val_if_fail (document != NULL, FALSE); + g_return_val_if_fail (path != NULL, FALSE); + g_return_val_if_fail (document != NULL, FALSE); - url = g_strconcat ("ghelp:///", zenity_locate_help_file (path, document), NULL); - pos = (gchar *) strchr (url, ':'); + url = g_strconcat ("ghelp:///", zenity_locate_help_file (path, document), NULL); + pos = (gchar *) strchr (url, ':'); - client = gconf_client_get_default (); + client = gconf_client_get_default (); - if (pos != NULL) { - gchar *protocol, *path; - - g_return_val_if_fail (pos >= url, FALSE); + if (pos != NULL) { + gchar *protocol, *path; - protocol = g_new (gchar, pos - url + 1); - strncpy (protocol, url, pos - url); - protocol[pos - url] = '\0'; - g_ascii_strdown (protocol, -1); + g_return_val_if_fail (pos >= url, FALSE); - path = g_strconcat (URL_HANDLER_DIR, protocol, "/command", NULL); - template = gconf_client_get_string (client, path, NULL); + protocol = g_new (gchar, pos - url + 1); + strncpy (protocol, url, pos - url); + protocol[pos - url] = '\0'; + g_ascii_strdown (protocol, -1); + + path = g_strconcat (URL_HANDLER_DIR, protocol, "/command", NULL); + template = gconf_client_get_string (client, path, NULL); - if (template == NULL) { - gchar* template_temp; + if (template == NULL) { + gchar* template_temp; - template_temp = gconf_client_get_string (client, - DEFAULT_HANDLER_PATH, - NULL); + template_temp = gconf_client_get_string (client, DEFAULT_HANDLER_PATH, NULL); - /* Retry to get the right url handler */ - template = gconf_client_get_string (client, path, NULL); + /* Retry to get the right url handler */ + template = gconf_client_get_string (client, path, NULL); - if (template == NULL) - template = template_temp; - else - g_free (template_temp); + if (template == NULL) + template = template_temp; + else + g_free (template_temp); - } + } - g_free (path); - g_free (protocol); - - } else { - /* no ':' ? this shouldn't happen. Use default handler */ - template = gconf_client_get_string (client, - DEFAULT_HANDLER_PATH, - NULL); - } - - g_object_unref (G_OBJECT (client)); - - if (!g_shell_parse_argv (template, - &argc, - &argv, - error)) { - g_free (template); - return FALSE; - } - - g_free (template); - - for (i = 0; i < argc; i++) { - char *arg; - - if (strcmp (argv[i], "%s") != 0) - continue; - - arg = argv[i]; - argv[i] = g_strdup (url); - g_free (arg); - } + g_free (path); + g_free (protocol); + + } else { + /* no ':' ? this shouldn't happen. Use default handler */ + template = gconf_client_get_string (client, DEFAULT_HANDLER_PATH, NULL); + } + + g_object_unref (G_OBJECT (client)); + + if (!g_shell_parse_argv (template, &argc, &argv, error)) { + g_free (template); + return FALSE; + } + + g_free (template); + + for (i = 0; i < argc; i++) { + char *arg; + + if (strcmp (argv[i], "%s") != 0) + continue; + + arg = argv[i]; + argv[i] = g_strdup (url); + g_free (arg); + } - /* This can return some errors */ - ret = g_spawn_async (NULL /* working directory */, - argv, - NULL, - G_SPAWN_SEARCH_PATH /* flags */, - NULL /* child_setup */, - NULL /* data */, - NULL /* child_pid */, - error); - - g_strfreev (argv); - - return ret; + /* This can return some errors */ + ret = g_spawn_async (NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, error); + g_strfreev (argv); + + return ret; } @@ -6,24 +6,20 @@ G_BEGIN_DECLS -#define ZENITY_GLADE_FILE_FULLPATH ZENITY_DATADIR "/zenity.glade" -#define ZENITY_GLADE_FILE_RELATIVEPATH "./zenity.glade" -#define ZENITY_IMAGE_FULLPATH(filename) (g_strconcat (ZENITY_DATADIR, "/", filename, NULL)) - -GladeXML* zenity_util_load_glade_file (const gchar *widget_root); - -gboolean zenity_util_fill_file_buffer (GtkTextBuffer *buffer, - const gchar *filename); - -void zenity_util_set_window_icon (GtkWidget *widget, - const gchar *filename); - -void zenity_util_set_window_icon_from_stock (GtkWidget *widget, - const gchar *stock_id); - -gboolean zenity_util_show_help (const gchar *path, - const gchar *document, - GError **error); +#define ZENITY_GLADE_FILE_FULLPATH ZENITY_DATADIR "/zenity.glade" +#define ZENITY_GLADE_FILE_RELATIVEPATH "./zenity.glade" +#define ZENITY_IMAGE_FULLPATH(filename) (g_strconcat (ZENITY_DATADIR, "/", filename, NULL)) + +GladeXML* zenity_util_load_glade_file (const gchar *widget_root); +gboolean zenity_util_fill_file_buffer (GtkTextBuffer *buffer, + const gchar *filename); +void zenity_util_set_window_icon (GtkWidget *widget, + const gchar *filename); +void zenity_util_set_window_icon_from_stock (GtkWidget *widget, + const gchar *stock_id); +gboolean zenity_util_show_help (const gchar *path, + const gchar *document, + GError **error); G_END_DECLS #endif /* UTIL_H */ diff --git a/src/zenity.glade b/src/zenity.glade index 46eda5a..8a4999c 100644 --- a/src/zenity.glade +++ b/src/zenity.glade @@ -4,7 +4,6 @@ <glade-interface> <widget class="GtkDialog" id="zenity_calendar_dialog"> - <property name="visible">True</property> <property name="title" translatable="yes">Calendar selection</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER</property> @@ -148,7 +147,6 @@ </widget> <widget class="GtkDialog" id="zenity_warning_dialog"> - <property name="visible">True</property> <property name="title" translatable="yes">Warning</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER</property> @@ -259,7 +257,6 @@ <widget class="GtkFileSelection" id="zenity_fileselection_dialog"> <property name="border_width">10</property> - <property name="visible">True</property> <property name="title" translatable="yes">Select a file</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER</property> @@ -290,7 +287,6 @@ </widget> <widget class="GtkDialog" id="zenity_question_dialog"> - <property name="visible">True</property> <property name="title" translatable="yes">Question</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER</property> @@ -400,7 +396,6 @@ </widget> <widget class="GtkDialog" id="zenity_entry_dialog"> - <property name="visible">True</property> <property name="title" translatable="yes">Add a new entry</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER</property> @@ -528,7 +523,6 @@ </widget> <widget class="GtkDialog" id="zenity_text_dialog"> - <property name="visible">True</property> <property name="title" translatable="yes">Text View</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER</property> @@ -623,7 +617,6 @@ </widget> <widget class="GtkDialog" id="zenity_progress_dialog"> - <property name="visible">True</property> <property name="title" translatable="yes">Progress</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER</property> @@ -745,7 +738,6 @@ </widget> <widget class="GtkDialog" id="zenity_error_dialog"> - <property name="visible">True</property> <property name="title" translatable="yes">Error</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER</property> @@ -855,7 +847,6 @@ </widget> <widget class="GtkDialog" id="zenity_tree_dialog"> - <property name="visible">True</property> <property name="title" translatable="yes">Select items from the list</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER</property> @@ -990,7 +981,6 @@ </widget> <widget class="GtkDialog" id="zenity_info_dialog"> - <property name="visible">True</property> <property name="title" translatable="yes">Information</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER</property> @@ -1100,7 +1090,6 @@ </widget> <widget class="GtkDialog" id="zenity_about_dialog"> - <property name="visible">True</property> <property name="title" translatable="yes">About Zenity</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_NONE</property> @@ -1192,7 +1181,7 @@ <widget class="GtkLabel" id="zenity_about_version"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="label" translatable="no">zenity_about_version</property> + <property name="label" translatable="yes">zenity_about_version</property> <property name="use_underline">False</property> <property name="use_markup">True</property> <property name="justify">GTK_JUSTIFY_CENTER</property> @@ -1214,7 +1203,7 @@ <widget class="GtkLabel" id="zenity_about_description"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="label" translatable="no">zenity_about_description</property> + <property name="label" translatable="yes">zenity_about_description</property> <property name="use_underline">False</property> <property name="use_markup">True</property> <property name="justify">GTK_JUSTIFY_CENTER</property> @@ -1236,7 +1225,7 @@ <widget class="GtkLabel" id="zenity_about_copyright"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="label" translatable="no">zenity_about_copyright</property> + <property name="label" translatable="yes">zenity_about_copyright</property> <property name="use_underline">False</property> <property name="use_markup">True</property> <property name="justify">GTK_JUSTIFY_CENTER</property> diff --git a/src/zenity.h b/src/zenity.h index 2894416..16dcab7 100644 --- a/src/zenity.h +++ b/src/zenity.h @@ -24,78 +24,78 @@ G_BEGIN_DECLS #endif typedef struct { - gchar *dialog_title; - gchar *window_icon; - gint exit_code; + gchar *dialog_title; + gchar *window_icon; + gint exit_code; } ZenityData; typedef struct { - gchar *dialog_text; - gint day; - gint month; - gint year; - gchar *date_format; + gchar *dialog_text; + gint day; + gint month; + gint year; + gchar *date_format; } ZenityCalendarData; typedef enum { - ZENITY_MSG_WARNING, - ZENITY_MSG_QUESTION, - ZENITY_MSG_ERROR, - ZENITY_MSG_INFO + ZENITY_MSG_WARNING, + ZENITY_MSG_QUESTION, + ZENITY_MSG_ERROR, + ZENITY_MSG_INFO } MsgMode; typedef struct { - gchar *dialog_text; - MsgMode mode; + gchar *dialog_text; + MsgMode mode; } ZenityMsgData; typedef struct { - gchar *uri; + gchar *uri; } ZenityFileData; typedef struct { - gchar *dialog_text; - gchar *entry_text; - gboolean visible; + gchar *dialog_text; + gchar *entry_text; + gboolean visible; } ZenityEntryData; typedef struct { - gchar *dialog_text; - gchar *entry_text; - gboolean pulsate; - gdouble percentage; + gchar *dialog_text; + gchar *entry_text; + gboolean pulsate; + gdouble percentage; } ZenityProgressData; typedef struct { - gchar *uri; - gboolean editable; - GtkTextBuffer *buffer; + gchar *uri; + gboolean editable; + GtkTextBuffer *buffer; } ZenityTextData; typedef struct { - gchar *dialog_text; - GSList *columns; - gboolean checkbox; - gboolean radiobox; - gchar *separator; - gboolean editable; - const gchar **data; + gchar *dialog_text; + GSList *columns; + gboolean checkbox; + gboolean radiobox; + gchar *separator; + gboolean editable; + const gchar **data; } ZenityTreeData; -void zenity_calendar (ZenityData *data, - ZenityCalendarData *calendar_data); -void zenity_msg (ZenityData *data, - ZenityMsgData *msg_data); -void zenity_fileselection (ZenityData *data, - ZenityFileData *file_data); -void zenity_entry (ZenityData *data, - ZenityEntryData *entry_data); -void zenity_progress (ZenityData *data, - ZenityProgressData *progress_data); -void zenity_text (ZenityData *data, - ZenityTextData *text_data); -void zenity_tree (ZenityData *data, - ZenityTreeData *tree_data); +void zenity_calendar (ZenityData *data, + ZenityCalendarData *calendar_data); +void zenity_msg (ZenityData *data, + ZenityMsgData *msg_data); +void zenity_fileselection (ZenityData *data, + ZenityFileData *file_data); +void zenity_entry (ZenityData *data, + ZenityEntryData *entry_data); +void zenity_progress (ZenityData *data, + ZenityProgressData *progress_data); +void zenity_text (ZenityData *data, + ZenityTextData *text_data); +void zenity_tree (ZenityData *data, + ZenityTreeData *tree_data); void zenity_about (ZenityData *data); G_END_DECLS |