diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 9e170db..19f63d6 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-01-23 09:01-0300\n" -"PO-Revision-Date: 2020-01-23 09:05-0300\n" +"POT-Creation-Date: 2020-01-23 09:02-0300\n" +"PO-Revision-Date: 2020-01-23 09:52-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Português <>\n" "Language: pt_BR\n" @@ -257,7 +257,7 @@ msgstr "Clique para carregar arquivo" msgid "Click to save file" msgstr "Clique para salvar arquivo" -#: src/dialogs/settings/clipboard.c:349 +#: src/dialogs/settings/clipboard.c:365 msgid "Clipboard" msgstr "Área de transferência" @@ -265,7 +265,7 @@ msgstr "Área de transferência" msgid "Clipboard name" msgstr "Nome da área de transferência" -#: src/dialogs/settings/clipboard.c:348 +#: src/dialogs/settings/clipboard.c:364 msgid "Clipboard properties" msgstr "Configuração da área de transferência" @@ -297,7 +297,7 @@ msgstr "Arquivo separado por vírgulas (CSV)" msgid "Command to execute" msgstr "Comando a executar" -#: src/dialogs/settings/clipboard.c:315 +#: src/dialogs/settings/clipboard.c:331 msgid "Complete with terminal attributes" msgstr "Completo incluindo atributos do terminal" @@ -321,7 +321,7 @@ msgstr "Copiar como texto puro" msgid "Copy as table" msgstr "Copiar como tabela" -#: src/dialogs/settings/clipboard.c:184 +#: src/dialogs/settings/clipboard.c:199 msgid "Copy options" msgstr "Opções da cópia" @@ -527,7 +527,7 @@ msgstr "Cinza" msgid "Green" msgstr "Verde" -#: src/dialogs/settings/clipboard.c:186 +#: src/dialogs/settings/clipboard.c:201 msgid "HTML options" msgstr "Opções HTML" @@ -693,11 +693,11 @@ msgstr "Nenhuma transferência" msgid "No transfer in progress" msgstr "Nenhuma transferência em andamento" -#: src/dialogs/settings/clipboard.c:248 +#: src/dialogs/settings/clipboard.c:264 msgid "None (Don't export color)" msgstr "Nenhum (Não exporta cores)" -#: src/dialogs/settings/clipboard.c:366 +#: src/dialogs/settings/clipboard.c:382 msgid "None (Don't export font name)" msgstr "Nenhuma (Não exporta fontes)" @@ -801,7 +801,7 @@ msgstr "Colar de um arquivo" msgid "Paste from text file" msgstr "Colar de um arquivo texto" -#: src/dialogs/settings/clipboard.c:185 +#: src/dialogs/settings/clipboard.c:200 msgid "Paste options" msgstr "Opções para colar" @@ -825,7 +825,7 @@ msgstr "Rosa" msgid "Plain text" msgstr "Texto puro" -#: src/dialogs/settings/clipboard.c:314 +#: src/dialogs/settings/clipboard.c:330 msgid "Plain text only" msgstr "Apenas texto puro" @@ -982,7 +982,7 @@ msgstr "" "SPACE can be specified in units of TRACKS, CYLINDERS, or AVBLOCK, and only " "one option can be used." -#: src/dialogs/settings/clipboard.c:249 src/dialogs/settings/clipboard.c:367 +#: src/dialogs/settings/clipboard.c:265 src/dialogs/settings/clipboard.c:383 msgid "Same of the screen" msgstr "Igual ao terminal" @@ -1482,6 +1482,11 @@ msgstr "Documento sem título" msgid "Use host default record format." msgstr "Utilizar o formato de registro padrão do servidor." +# Tradução copiada do libre-office +#: src/dialogs/settings/clipboard.c:135 +msgid "Use non-breaking Spaces" +msgstr "Usar espaço inseparável" + #: src/filetransfer/tables.c:86 msgid "Variable" msgstr "Variável" @@ -1490,6 +1495,14 @@ msgstr "Variável" msgid "Western Europe (ISO 8859-1)" msgstr "Europa ocidental (ISO 8859-1)" +#: src/dialogs/settings/clipboard.c:136 +msgid "" +"When set the terminal spaces are exported as non-breaking spaces to prevent " +"line breaks" +msgstr "" +"Quando selecionada os espaços do terminal são exportados como inseparáveis " +"para prevenir quebras de linha" + #: src/dialogs/settings/colors.c:162 msgid "White" msgstr "Branco" diff --git a/src/dialogs/settings/clipboard.c b/src/dialogs/settings/clipboard.c index 05e10a9..4c3a71e 100644 --- a/src/dialogs/settings/clipboard.c +++ b/src/dialogs/settings/clipboard.c @@ -129,6 +129,20 @@ }; + static const struct CheckBoxDefinition checkboxes[] = { + + { + .label = N_("Use non-breaking Spaces"), + .tooltip = N_("When set the terminal spaces are exported as non-breaking spaces to prevent line breaks"), + .left = 1, + .top = 2, + .width = 1, + .height = 1, + .grid = 2 + } + + }; + /*--[ Globals ]--------------------------------------------------------------------------------------*/ typedef struct _V3270ClipboardSettings { @@ -136,8 +150,9 @@ V3270Settings parent; struct { - GtkToggleButton * toggles[G_N_ELEMENTS(toggles)]; ///< @brief Toggle checks. - GtkComboBox * combos[G_N_ELEMENTS(combos)]; ///< @brief Combo-boxes. + GtkToggleButton * toggles[G_N_ELEMENTS(toggles)]; ///< @brief Toggle checks. + GtkComboBox * combos[G_N_ELEMENTS(combos)]; ///< @brief Combo-boxes. + GtkToggleButton * checkboxes[G_N_ELEMENTS(checkboxes)]; ///< @brief Checkboxes. } input; @@ -231,6 +246,7 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) { v3270_settings_create_toggle_buttons(toggles, G_N_ELEMENTS(toggles), grids, widget->input.toggles); v3270_settings_create_combos(combos, G_N_ELEMENTS(combos), grids, widget->input.combos); + v3270_settings_create_checkboxes(checkboxes, G_N_ELEMENTS(checkboxes), grids, widget->input.checkboxes); // Setup combos { @@ -409,6 +425,8 @@ static void load(GtkWidget *w, GtkWidget *t) { debug("Plain text: %s",((terminal->selection.options & V3270_SELECTION_PLAIN_TEXT) ? "0" : "1")); gtk_combo_box_set_active_id(widget->input.combos[2],(terminal->selection.options & (V3270_SELECTION_ENABLE_HTML|V3270_SELECTION_DIALOG_STATE)) == 0 ? "0" : "1"); + gtk_toggle_button_set_active(widget->input.checkboxes[0],(terminal->selection.options & V3270_SELECTION_NON_BREAKABLE_SPACE) != 0); + // // Set font combo-box // @@ -474,7 +492,12 @@ static void apply(GtkWidget *w, GtkWidget *t) { } else { terminal->selection.options |= V3270_SELECTION_DIALOG_STATE; - terminal->selection.options |= V3270_SELECTION_NON_BREAKABLE_SPACE; // TODO: Use a checkbox to enable-it + + if(gtk_toggle_button_get_active(widget->input.checkboxes[0])) { + terminal->selection.options |= V3270_SELECTION_NON_BREAKABLE_SPACE; + } else { + terminal->selection.options &= ~V3270_SELECTION_NON_BREAKABLE_SPACE; + } // Get font settings switch(get_active_id(widget,0)) { diff --git a/src/dialogs/settings/private.h b/src/dialogs/settings/private.h index 5e2b939..44a0014 100644 --- a/src/dialogs/settings/private.h +++ b/src/dialogs/settings/private.h @@ -74,4 +74,13 @@ G_GNUC_INTERNAL void v3270_settings_create_combos(const struct ComboBoxDefinition * definitions, size_t length, GtkWidget **grids, GtkComboBox **combos); + /// @brief Checkbox factory + struct CheckBoxDefinition { + ENTRY_FIELD_HEAD + + unsigned short grid; + }; + + G_GNUC_INTERNAL void v3270_settings_create_checkboxes(const struct CheckBoxDefinition * definitions, size_t length, GtkWidget **grids, GtkToggleButton **buttons); + #endif // PRIVATE_H_INCLUDED diff --git a/src/dialogs/settings/tools.c b/src/dialogs/settings/tools.c index 1fc2a02..cf2515d 100644 --- a/src/dialogs/settings/tools.c +++ b/src/dialogs/settings/tools.c @@ -131,4 +131,21 @@ } + void v3270_settings_create_checkboxes(const struct CheckBoxDefinition * definitions, size_t length, GtkWidget **grids, GtkToggleButton **buttons) { + + size_t checkbox; + + for(checkbox = 0; checkbox < length; checkbox++) { + + buttons[checkbox] = GTK_TOGGLE_BUTTON(gtk_check_button_new_with_label(definitions[checkbox].label)); + + if(definitions[checkbox].tooltip) + gtk_widget_set_tooltip_text(GTK_WIDGET(buttons[checkbox]),definitions[checkbox].tooltip); + + gtk_widget_set_halign(GTK_WIDGET(buttons[checkbox]),GTK_ALIGN_START); + gtk_grid_attach(GTK_GRID(grids[definitions[checkbox].grid]),GTK_WIDGET(buttons[checkbox]),definitions[checkbox].left,definitions[checkbox].top,definitions[checkbox].width,1); + + } + + } -- libgit2 0.21.2