From 785c5623554a3dbfc58e3b792ea265db079f07fc Mon Sep 17 00:00:00 2001 From: Paul Mangan Date: Wed, 31 Jul 2002 07:32:00 +0000 Subject: [PATCH] sync with 0.8.1cvs5 --- ChangeLog | 6 ++++ ChangeLog.claws | 5 +++ ChangeLog.jp | 6 ++++ configure.in | 2 +- src/prefs_actions.c | 77 +++++++++++++++++++++------------------------ 5 files changed, 53 insertions(+), 43 deletions(-) diff --git a/ChangeLog b/ChangeLog index b430042b8..dbb03a531 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2002-07-31 + + * src/prefs_actions.c: made the action's input/output dialog display + without delay. Made the dialog modal instead of making window + insensitive. Also cleaned up its UI. + 2002-07-29 * implemented --attach command line option. diff --git a/ChangeLog.claws b/ChangeLog.claws index b288db127..9a85462bd 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,3 +1,8 @@ +2002-07-31 [paul] 0.8.1claws2 + + * sync with 0.8.1cvs5 + see ChangeLog 2002-07-31 + 2002-07-31 [christoph] 0.8.1claws1 * src/folderview.[ch] diff --git a/ChangeLog.jp b/ChangeLog.jp index d1a80393b..82d3e7170 100644 --- a/ChangeLog.jp +++ b/ChangeLog.jp @@ -1,3 +1,9 @@ +2002-07-31 + + * src/prefs_actions.c: ¥¢¥¯¥·¥ç¥ó¤ÎÆþ½ÐÎÏ¥À¥¤¥¢¥í¥°¤òÃٱ䤵¤»¤º¤Ë + ɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£¥¦¥£¥ó¥É¥¦¤ò¥¤¥ó¥»¥ó¥·¥Æ¥£¥ô¤Ë¤¹¤ëÂå¤ï¤ê¤Ë + ¥À¥¤¥¢¥í¥°¤ò¥â¡¼¥À¥ë¤Ë¤·¤¿¡£ UI ¤òÀ°Íý¡£ + 2002-07-29 * --attach ¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ò¼ÂÁõ¡£ diff --git a/configure.in b/configure.in index 3cdaa8684..13c6083d4 100644 --- a/configure.in +++ b/configure.in @@ -8,7 +8,7 @@ MINOR_VERSION=8 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=claws1 +EXTRA_VERSION=claws2 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl set $target diff --git a/src/prefs_actions.c b/src/prefs_actions.c index e097335c8..21488ccc4 100644 --- a/src/prefs_actions.c +++ b/src/prefs_actions.c @@ -87,7 +87,7 @@ struct _Children GtkWidget *input_entry; GtkWidget *input_hbox; GtkWidget *abort_btn; - GtkWidget *hide_btn; + GtkWidget *close_btn; GtkWidget *scrolledwin; gchar *action; @@ -192,7 +192,6 @@ static void free_children (Children *children); static void childinfo_close_pipes (ChildInfo *child_info); static void create_io_dialog (Children *children); - static void update_io_dialog (Children *children); static void hide_io_dialog_cb (GtkWidget *widget, @@ -1148,10 +1147,6 @@ static gboolean execute_actions(gchar *action, GtkWidget *window, return FALSE; /* ERR: pipe and no displayed text */ } - if (!(action_type & ACTION_ASYNC) && window) { - gtk_widget_set_sensitive(window, FALSE); - } - children = g_new0(Children, 1); if (action_type & ACTION_SINGLE) { @@ -1199,9 +1194,6 @@ static gboolean execute_actions(gchar *action, GtkWidget *window, if (!children_list) { /* If not waiting for children, return */ g_free(children); - if (!(action_type & ACTION_ASYNC) && window) { - gtk_widget_set_sensitive(window, TRUE); - } } else { GSList *cur; @@ -1219,6 +1211,7 @@ static gboolean execute_actions(gchar *action, GtkWidget *window, catch_status, child_info); } } + create_io_dialog(children); return is_ok; @@ -1458,11 +1451,11 @@ static gint wait_for_children(gpointer data) return FALSE; if (!children->dialog) { - gtk_widget_set_sensitive(children->window, TRUE); free_children(children); } else if (!children->output) { gtk_widget_destroy(children->dialog); } + return FALSE; } @@ -1489,7 +1482,6 @@ static void hide_io_dialog_cb(GtkWidget *w, gpointer data) Children *children = (Children *)data; if (!children->nb) { - gtk_widget_set_sensitive(children->window, TRUE); gtk_signal_disconnect_by_data(GTK_OBJECT(children->dialog), children); gtk_widget_destroy(children->dialog); @@ -1538,8 +1530,7 @@ static void update_io_dialog(Children *children) if (!children->nb) { gtk_widget_set_sensitive(children->abort_btn, FALSE); - gtk_widget_set_sensitive(children->hide_btn, TRUE); - gtk_widget_set_sensitive(children->window, TRUE); + gtk_widget_set_sensitive(children->close_btn, TRUE); if (children->input_hbox) gtk_widget_set_sensitive(children->input_hbox, FALSE); } @@ -1579,6 +1570,7 @@ static void update_io_dialog(Children *children) static void create_io_dialog(Children *children) { GtkWidget *dialog; + GtkWidget *vbox; GtkWidget *entry = NULL; GtkWidget *input_hbox = NULL; GtkWidget *send_button; @@ -1587,29 +1579,37 @@ static void create_io_dialog(Children *children) GtkWidget *scrolledwin; GtkWidget *hbox; GtkWidget *abort_button; - GtkWidget *hide_button; + GtkWidget *close_button; - debug_print(_("Creating actions dialog\n")); + debug_print("Creating action IO dialog\n"); dialog = gtk_dialog_new(); - label = gtk_label_new(children->action); - gtk_misc_set_padding(GTK_MISC(label), 8, 8); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), label, FALSE, - FALSE, 0); - - gtk_window_set_title(GTK_WINDOW(dialog), _("Actions' input/output")); + gtk_container_set_border_width + (GTK_CONTAINER(GTK_DIALOG(dialog)->action_area), 5); + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); + gtk_window_set_title(GTK_WINDOW(dialog), _("Action's input/output")); + gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); + manage_window_set_transient(GTK_WINDOW(dialog)); gtk_signal_connect(GTK_OBJECT(dialog), "delete_event", GTK_SIGNAL_FUNC(delete_io_dialog_cb), children); gtk_signal_connect(GTK_OBJECT(dialog), "destroy", GTK_SIGNAL_FUNC(hide_io_dialog_cb), children); + vbox = gtk_vbox_new(FALSE, 8); + gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), vbox); + gtk_container_set_border_width(GTK_CONTAINER(vbox), 8); + gtk_widget_show(vbox); + + label = gtk_label_new(children->action); + gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); + gtk_widget_show(label); + scrolledwin = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwin), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), scrolledwin, TRUE, - TRUE, 0); - gtk_widget_set_usize(scrolledwin, 600, 200); + gtk_box_pack_start(GTK_BOX(vbox), scrolledwin, TRUE, TRUE, 0); + gtk_widget_set_usize(scrolledwin, 480, 200); gtk_widget_hide(scrolledwin); text = gtk_text_new(gtk_scrolled_window_get_hadjustment @@ -1625,42 +1625,35 @@ static void create_io_dialog(Children *children) gtk_widget_show(input_hbox); entry = gtk_entry_new(); + gtk_widget_set_usize(entry, 320, -1); gtk_signal_connect(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(send_input), children); - gtk_box_pack_start(GTK_BOX(input_hbox), entry, TRUE, TRUE, 8); + gtk_box_pack_start(GTK_BOX(input_hbox), entry, TRUE, TRUE, 0); if (children->open_in & ACTION_HIDE_IN) gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); gtk_widget_show(entry); - send_button = gtk_button_new_with_label(_("Send")); + send_button = gtk_button_new_with_label(_(" Send ")); gtk_signal_connect(GTK_OBJECT(send_button), "clicked", GTK_SIGNAL_FUNC(send_input), children); gtk_box_pack_start(GTK_BOX(input_hbox), send_button, FALSE, - FALSE, 8); + FALSE, 0); gtk_widget_show(send_button); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), - input_hbox, FALSE, FALSE, 8); + gtk_box_pack_start(GTK_BOX(vbox), input_hbox, FALSE, FALSE, 0); gtk_widget_grab_focus(entry); } - hbox = gtk_hbox_new(TRUE, 0); - gtk_widget_show(hbox); - - abort_button = gtk_button_new_with_label(_("Abort actions")); + gtkut_button_set_create(&hbox, &abort_button, _("Abort"), + &close_button, _("Close"), NULL, NULL); gtk_signal_connect(GTK_OBJECT(abort_button), "clicked", GTK_SIGNAL_FUNC(kill_children_cb), children); - gtk_box_pack_start(GTK_BOX(hbox), abort_button, TRUE, TRUE, 8); - gtk_widget_show(abort_button); - - hide_button = gtk_button_new_with_label(_("Close window")); - gtk_signal_connect(GTK_OBJECT(hide_button), "clicked", + gtk_signal_connect(GTK_OBJECT(close_button), "clicked", GTK_SIGNAL_FUNC(hide_io_dialog_cb), children); - gtk_box_pack_start(GTK_BOX(hbox), hide_button, TRUE, TRUE, 8); - gtk_widget_show(hide_button); + gtk_widget_show(hbox); if (children->nb) - gtk_widget_set_sensitive(hide_button, FALSE); + gtk_widget_set_sensitive(close_button, FALSE); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area), hbox); @@ -1670,7 +1663,7 @@ static void create_io_dialog(Children *children) children->input_hbox = children->open_in ? input_hbox : NULL; children->input_entry = children->open_in ? entry : NULL; children->abort_btn = abort_button; - children->hide_btn = hide_button; + children->close_btn = close_button; gtk_widget_show(dialog); } -- 2.25.1