From d8c13e00d38c5f60052339f31c44b199445efb5f Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Thu, 7 Nov 2019 17:21:14 -0300 Subject: [PATCH] Workin on settings dialogs. --- src/dialogs/settings/dialog.c | 22 ++++++++++++++++++++++ src/include/v3270/settings.h | 3 +++ 2 files changed, 25 insertions(+), 0 deletions(-) diff --git a/src/dialogs/settings/dialog.c b/src/dialogs/settings/dialog.c index 0a8265a..44d0422 100644 --- a/src/dialogs/settings/dialog.c +++ b/src/dialogs/settings/dialog.c @@ -276,4 +276,26 @@ void v3270_settings_popup_dialog(GtkWidget *widget, GtkWidget *terminal, gboolea } +GtkWidget * v3270_settings_get_edit_dialog(GtkWidget *settings, GtkWidget *terminal, gboolean modal) { + + const gchar * title = GTK_V3270_SETTINGS(settings)->title; + + GtkWidget * dialog = v3270_settings_dialog_new(); + + if(title) + gtk_window_set_title(GTK_WINDOW(dialog), title); + + gtk_container_add(GTK_CONTAINER(dialog), settings); + + gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(terminal))); + gtk_window_set_modal(GTK_WINDOW(dialog),modal); + + v3270_settings_dialog_set_terminal_widget(dialog, terminal); + + g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL); + g_signal_connect(dialog,"response",G_CALLBACK(v3270_setttings_dialog_response),settings); + + return dialog; + + } diff --git a/src/include/v3270/settings.h b/src/include/v3270/settings.h index 402d7db..b11023c 100644 --- a/src/include/v3270/settings.h +++ b/src/include/v3270/settings.h @@ -73,6 +73,9 @@ /// @brief Popup a settings dialog for the terminal. LIB3270_EXPORT void v3270_settings_popup_dialog(GtkWidget *settings, GtkWidget *terminal, gboolean modal); + /// @brief Get an edit dialog for the settings widget. + LIB3270_EXPORT GtkWidget * v3270_settings_get_edit_dialog(GtkWidget *settings, GtkWidget *terminal, gboolean modal); + /*--[ V3270 Settings Dialog ]------------------------------------------------------------------------*/ #define GTK_TYPE_V3270_SETTINGS_DIALOG (V3270SettingsDialog_get_type()) -- libgit2 0.21.2