From 08b24a7c04176e76ab74e95397c39dfa06771bf8 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Tue, 6 Aug 2019 14:13:30 -0300 Subject: [PATCH] Updating dialogs. --- src/pw3270/dialog.c | 35 +++++++++++++++++++++++++++++++++-- src/pw3270/tools.c | 6 ++++++ src/pw3270/window.c | 9 +++++++-- 3 files changed, 46 insertions(+), 4 deletions(-) diff --git a/src/pw3270/dialog.c b/src/pw3270/dialog.c index 22ced36..7a67548 100644 --- a/src/pw3270/dialog.c +++ b/src/pw3270/dialog.c @@ -32,7 +32,9 @@ #include #include "private.h" #include + #include + /* #ifdef _WIN32 #include @@ -46,14 +48,18 @@ #endif // _WIN32 + */ + /* #if defined(HAVE_LIBSSL) #include #include #endif + */ /*--[ Globals ]--------------------------------------------------------------------------------------*/ +/* static const struct _charset { const gchar *name; @@ -67,10 +73,11 @@ { NULL, NULL } }; - +*/ /*--[ Implement ]------------------------------------------------------------------------------------*/ +/* static void charset_changed(GtkComboBox *widget,gchar **encoding) { gchar *new_encoding = NULL; @@ -101,6 +108,9 @@ *encoding = new_encoding; } +*/ + + /* static void add_option_menus(GtkWidget *widget, GtkAction *action, gchar **encoding) { #if GTK_CHECK_VERSION(3,0,0) @@ -184,6 +194,7 @@ gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(widget),box); } + */ void save_all_action(GtkAction *action, GtkWidget *widget) { @@ -200,6 +211,7 @@ v3270_save_copy(widget,g_object_get_data(G_OBJECT(action),"filename"),NULL); } + /* static void paste_filename(GtkWidget *widget, const gchar *filename, const gchar *encoding) { GError *error = NULL; @@ -235,9 +247,22 @@ } } - + */ void paste_file_action(GtkAction *action, GtkWidget *widget) { + const gchar * user_title = g_object_get_data(G_OBJECT(action),"title"); + + GtkWidget * dialog = v3270_load_dialog_new(widget,g_object_get_data(G_OBJECT(action),"filename")); + + if(user_title) + gtk_window_set_title(GTK_WINDOW(dialog),user_title); + + gtk_widget_show_all(dialog); + v3270_load_dialog_run(dialog); + + gtk_widget_destroy(dialog); + + /* const gchar * user_title = g_object_get_data(G_OBJECT(action),"title"); const gchar * filename = g_object_get_data(G_OBJECT(action),"filename"); gchar * encattr = NULL; @@ -289,6 +314,7 @@ if(encattr) g_free(encattr); + */ } G_GNUC_INTERNAL void about_dialog_action(GtkAction *action, GtkWidget *widget) @@ -366,9 +392,14 @@ gtk_about_dialog_set_authors(dialog,authors); gtk_about_dialog_set_translator_credits(dialog,_("translator-credits")); + g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL); + g_signal_connect(dialog,"response",G_CALLBACK(gtk_widget_destroy),NULL); gtk_widget_show_all(GTK_WIDGET(dialog)); + + /* gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(GTK_WIDGET(dialog)); + */ } diff --git a/src/pw3270/tools.c b/src/pw3270/tools.c index b0e94b1..8dfde8e 100644 --- a/src/pw3270/tools.c +++ b/src/pw3270/tools.c @@ -312,8 +312,14 @@ LIB3270_EXPORT void pw3270_set_host_charset(GtkWidget *widget, const gchar *name gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),_( "There's no available settings for charset \"%s\"" ),name); gtk_window_set_title(GTK_WINDOW(dialog),_( "Charset error" )); + g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL); + g_signal_connect(dialog,"response",G_CALLBACK(gtk_widget_destroy),NULL); + gtk_widget_show_all(dialog); + + /* gtk_dialog_run(GTK_DIALOG (dialog)); gtk_widget_destroy(dialog); + */ } diff --git a/src/pw3270/window.c b/src/pw3270/window.c index 7b5c73d..85577bd 100644 --- a/src/pw3270/window.c +++ b/src/pw3270/window.c @@ -417,10 +417,15 @@ static GtkWidget * trace_window = NULL; gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(popup),_( "The known types are %s" ),text); - gtk_dialog_run(GTK_DIALOG(popup)); - gtk_widget_destroy(popup); + g_signal_connect(popup,"close",G_CALLBACK(gtk_widget_destroy),NULL); + g_signal_connect(popup,"response",G_CALLBACK(gtk_widget_destroy),NULL); + gtk_widget_show_all(popup); + /* + gtk_dialog_run(GTK_DIALOG(popup)); + gtk_widget_destroy(popup); + */ } -- libgit2 0.21.2