From ef5f41f73eb47d9e902046a7c44d413a44dcd898 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 27 Jul 2020 18:43:51 -0300 Subject: [PATCH] Loading/saving dialog responses from session file. --- locale/pt_BR.po | 28 +++++++++++++++------------- locale/pw3270.pot | 22 +++++++++++++++------- src/objects/window/terminal.c | 25 +++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 20 deletions(-) diff --git a/locale/pt_BR.po b/locale/pt_BR.po index db070a5..934b3ac 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-08 17:55-0300\n" +"POT-Creation-Date: 2020-07-27 18:43-0300\n" "PO-Revision-Date: 2020-06-06 11:11-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Português <>\n" @@ -143,6 +143,10 @@ msgstr "Fechar janela" msgid "Colors" msgstr "Cores" +#: src/objects/linux/savedesktopicon.c:93 +msgid "Comment" +msgstr "Comentário" + #: src/objects/window/actions/connect.c:59 msgid "Connect" msgstr "Conectar" @@ -175,7 +179,7 @@ msgstr "Copiar como tabela" msgid "Copy as text" msgstr "Copiar como texto" -#: src/objects/windows/savedesktopicon.c:79 +#: src/objects/linux/savedesktopicon.c:106 msgid "Create a desktop icon for the current session" msgstr "Criar ícone da área de trabalho para a sessão atual." @@ -256,7 +260,7 @@ msgstr "Apagar até o final da linha" msgid "Field attributes" msgstr "Mostra atributos de campo" -#: src/objects/windows/savedesktopicon.c:62 +#: src/objects/linux/savedesktopicon.c:72 msgid "File name" msgstr "Nome do arquivo" @@ -272,6 +276,10 @@ msgstr "Tela cheia" msgid "Function bar" msgstr "Barra de funções" +#: src/objects/linux/savedesktopicon.c:86 +msgid "Generic name" +msgstr "Nome genérico" + #: ui/application.xml:36 ui/application.xml:534 msgid "Help" msgstr "Ajuda" @@ -356,7 +364,7 @@ msgstr "Etiqueta" msgid "Large" msgstr "Grande" -#: src/objects/windows/savedesktopicon.c:67 +#: src/objects/linux/savedesktopicon.c:79 msgid "Launcher name" msgstr "Nome do lançador" @@ -533,7 +541,7 @@ msgstr "Salvar" msgid "Save As" msgstr "Salvar Como" -#: src/objects/windows/savedesktopicon.c:78 +#: src/objects/linux/savedesktopicon.c:105 msgid "Save desktop icon" msgstr "Salvar ícone da área de trabalho" @@ -804,7 +812,7 @@ msgstr "Janela com sessão padrão" msgid "_Apply" msgstr "_Aplicar" -#: src/objects/settings/dialog.c:83 src/objects/windows/savedesktopicon.c:104 +#: src/objects/settings/dialog.c:83 src/objects/linux/savedesktopicon.c:132 msgid "_Cancel" msgstr "_Cancelar" @@ -848,7 +856,7 @@ msgstr "_Propriedades" msgid "_Rename session" msgstr "Renomear sessão" -#: src/objects/windows/savedesktopicon.c:105 +#: src/objects/linux/savedesktopicon.c:133 msgid "_Save" msgstr "_Salvar" @@ -1508,9 +1516,6 @@ msgstr "translator-credits" #~ msgid "Command to execute" #~ msgstr "Comando a executar" -#~ msgid "Comment" -#~ msgstr "Comentário" - #~ msgid "Complete" #~ msgstr "Completo" @@ -1836,9 +1841,6 @@ msgstr "translator-credits" #~ msgid "GTK Version mismatch" #~ msgstr "Divergência de versão GTK" -#~ msgid "Generic name" -#~ msgstr "Nome genérico" - #~ msgid "Get transfer queue from an external XML file" #~ msgstr "Obtém a fila de transferência de um arquivo XML externo" diff --git a/locale/pw3270.pot b/locale/pw3270.pot index 454448e..b59ed5c 100644 --- a/locale/pw3270.pot +++ b/locale/pw3270.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-08 18:05-0300\n" +"POT-Creation-Date: 2020-07-27 18:43-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -140,6 +140,10 @@ msgstr "" msgid "Colors" msgstr "" +#: src/objects/linux/savedesktopicon.c:93 +msgid "Comment" +msgstr "" + #: src/objects/window/actions/connect.c:59 msgid "Connect" msgstr "" @@ -172,7 +176,7 @@ msgstr "" msgid "Copy as text" msgstr "" -#: src/objects/windows/savedesktopicon.c:79 +#: src/objects/linux/savedesktopicon.c:106 msgid "Create a desktop icon for the current session" msgstr "" @@ -253,7 +257,7 @@ msgstr "" msgid "Field attributes" msgstr "" -#: src/objects/windows/savedesktopicon.c:62 +#: src/objects/linux/savedesktopicon.c:72 msgid "File name" msgstr "" @@ -269,6 +273,10 @@ msgstr "" msgid "Function bar" msgstr "" +#: src/objects/linux/savedesktopicon.c:86 +msgid "Generic name" +msgstr "" + #: ui/application.xml:36 ui/application.xml:534 msgid "Help" msgstr "" @@ -353,7 +361,7 @@ msgstr "" msgid "Large" msgstr "" -#: src/objects/windows/savedesktopicon.c:67 +#: src/objects/linux/savedesktopicon.c:79 msgid "Launcher name" msgstr "" @@ -530,7 +538,7 @@ msgstr "" msgid "Save As" msgstr "" -#: src/objects/windows/savedesktopicon.c:78 +#: src/objects/linux/savedesktopicon.c:105 msgid "Save desktop icon" msgstr "" @@ -801,7 +809,7 @@ msgstr "" msgid "_Apply" msgstr "" -#: src/objects/settings/dialog.c:83 src/objects/windows/savedesktopicon.c:104 +#: src/objects/settings/dialog.c:83 src/objects/linux/savedesktopicon.c:132 msgid "_Cancel" msgstr "" @@ -845,7 +853,7 @@ msgstr "" msgid "_Rename session" msgstr "" -#: src/objects/windows/savedesktopicon.c:105 +#: src/objects/linux/savedesktopicon.c:133 msgid "_Save" msgstr "" diff --git a/src/objects/window/terminal.c b/src/objects/window/terminal.c index addd18e..9086041 100644 --- a/src/objects/window/terminal.c +++ b/src/objects/window/terminal.c @@ -232,6 +232,29 @@ return NULL; } + static GtkResponseType load_popup_response(v3270 G_GNUC_UNUSED(*widget), const gchar *popup_name, struct SessionDescriptor * session) { + + if(!session->key_file) + return 0; + + if(g_key_file_has_key(session->key_file,"dialogs",popup_name,NULL)) + return (GtkResponseType) g_key_file_get_integer(session->key_file,"dialogs",popup_name,NULL); + + return GTK_RESPONSE_NONE; + } + + static gboolean save_popup_response(v3270 G_GNUC_UNUSED(*widget), const gchar *popup_name, GtkResponseType response, struct SessionDescriptor * session) { + debug("%s(%s)",__FUNCTION__,popup_name); + + if(!session->key_file) + return FALSE; + + g_key_file_set_integer(session->key_file,"dialogs",popup_name,(gint) response); + v3270_emit_save_settings(widget); + + return TRUE; + } + GtkWidget * pw3270_terminal_new(const gchar *session_file) { GtkWidget * terminal = v3270_new(); @@ -341,6 +364,8 @@ g_signal_connect(G_OBJECT(terminal),"print-done",G_CALLBACK(print_done),descriptor); g_signal_connect(G_OBJECT(terminal),"print-setup",G_CALLBACK(print_setup),descriptor); g_signal_connect(G_OBJECT(terminal),"destroy", G_CALLBACK(destroy),descriptor); + g_signal_connect(G_OBJECT(terminal),"load-popup-response",G_CALLBACK(load_popup_response),descriptor); + g_signal_connect(G_OBJECT(terminal),"save-popup-response",G_CALLBACK(save_popup_response),descriptor); return terminal; } -- libgit2 0.21.2