Commit 9b571be365028d8c004e17f09853b73da94c4a6b
Committed by
GitHub
Exists in
master
and in
1 other branch
Merge pull request #14 from PerryWerneck/develop
Updating master after testing the develop version.
Showing
30 changed files
with
186 additions
and
148 deletions
Show diff stats
README.md
@@ -39,36 +39,36 @@ For the supported distributions get the install repositories and instructions fr | @@ -39,36 +39,36 @@ For the supported distributions get the install repositories and instructions fr | ||
39 | 1. Add the MinGW Repositories | 39 | 1. Add the MinGW Repositories |
40 | 40 | ||
41 | ``` | 41 | ``` |
42 | - $ sudo zypper ar obs://windows:mingw:win32 mingw32 | ||
43 | - $ sudo zypper ar obs://windows:mingw:win64 mingw64 | ||
44 | - $ sudo zypper ar obs://home:PerryWerneck:pw3270 pw3270 | ||
45 | - $ sudo zypper ref | 42 | + sudo zypper ar obs://windows:mingw:win32 mingw32 |
43 | + sudo zypper ar obs://windows:mingw:win64 mingw64 | ||
44 | + sudo zypper ar obs://home:PerryWerneck:pw3270 pw3270 | ||
45 | + sudo zypper ref | ||
46 | ``` | 46 | ``` |
47 | 47 | ||
48 | 2. Get libv3270 sources from git | 48 | 2. Get libv3270 sources from git |
49 | 49 | ||
50 | ``` | 50 | ``` |
51 | - $ git clone https://github.com/PerryWerneck/libv3270.git ./v3270 | 51 | + git clone https://github.com/PerryWerneck/libv3270.git ./v3270 |
52 | ``` | 52 | ``` |
53 | 53 | ||
54 | 3. Install 64 bits cross compilers | 54 | 3. Install 64 bits cross compilers |
55 | 55 | ||
56 | ``` | 56 | ``` |
57 | - $ ./v3270/win/install-cross.sh --64 | 57 | + ./v3270/win/install-cross.sh --64 |
58 | ``` | 58 | ``` |
59 | 59 | ||
60 | 4. Configure 64 bits build environment | 60 | 4. Configure 64 bits build environment |
61 | 61 | ||
62 | ``` | 62 | ``` |
63 | - $ ./v3270/win/win-configure.sh --64 | 63 | + ./v3270/win/win-configure.sh --64 |
64 | ``` | 64 | ``` |
65 | 65 | ||
66 | 5. Build | 66 | 5. Build |
67 | 67 | ||
68 | ``` | 68 | ``` |
69 | - $ cd v3270 | ||
70 | - $ make clean | ||
71 | - $ make all | 69 | + cd v3270 |
70 | + make clean | ||
71 | + make all | ||
72 | ``` | 72 | ``` |
73 | 73 | ||
74 | ### Windows native with MSYS2 | 74 | ### Windows native with MSYS2 |
@@ -78,21 +78,21 @@ For the supported distributions get the install repositories and instructions fr | @@ -78,21 +78,21 @@ For the supported distributions get the install repositories and instructions fr | ||
78 | 2. Install the required libraries | 78 | 2. Install the required libraries |
79 | 79 | ||
80 | ``` | 80 | ``` |
81 | - $ pacman -S mingw-w64-x86_64-gtk3 | 81 | + pacman -S mingw-w64-x86_64-gtk3 |
82 | ``` | 82 | ``` |
83 | 83 | ||
84 | 2. Get libv3270 sources from git | 84 | 2. Get libv3270 sources from git |
85 | 85 | ||
86 | ``` | 86 | ``` |
87 | - $ git clone https://github.com/PerryWerneck/libv3270.git ./libv3270 | 87 | + git clone https://github.com/PerryWerneck/libv3270.git ./libv3270 |
88 | ``` | 88 | ``` |
89 | 89 | ||
90 | 4. Build library using the mingw shell | 90 | 4. Build library using the mingw shell |
91 | 91 | ||
92 | ``` | 92 | ``` |
93 | - $ cd libv3270 | ||
94 | - $ ./autogen.sh | ||
95 | - $ make all | 93 | + cd libv3270 |
94 | + ./autogen.sh | ||
95 | + make all | ||
96 | ``` | 96 | ``` |
97 | 97 | ||
98 | ## Building for macOS (using homebrew) | 98 | ## Building for macOS (using homebrew) |
@@ -102,15 +102,15 @@ For the supported distributions get the install repositories and instructions fr | @@ -102,15 +102,15 @@ For the supported distributions get the install repositories and instructions fr | ||
102 | 2. Install additional dependencies | 102 | 2. Install additional dependencies |
103 | 103 | ||
104 | ```shell | 104 | ```shell |
105 | - $ brew install gtk+3 | 105 | + brew install gtk+3 |
106 | ``` | 106 | ``` |
107 | 107 | ||
108 | 3. Configure, build and install | 108 | 3. Configure, build and install |
109 | 109 | ||
110 | ```shell | 110 | ```shell |
111 | - $ ./autogen.sh --prefix="$(brew --cellar)/libv3270/5.3" | ||
112 | - $ make all && make install | ||
113 | - $ brew link libv3270 | 111 | + ./autogen.sh --prefix="$(brew --cellar)/libv3270/5.3" |
112 | + make all && make install | ||
113 | + brew link libv3270 | ||
114 | ``` | 114 | ``` |
115 | 115 | ||
116 | ### Uninstalling | 116 | ### Uninstalling |
@@ -118,7 +118,7 @@ For the supported distributions get the install repositories and instructions fr | @@ -118,7 +118,7 @@ For the supported distributions get the install repositories and instructions fr | ||
118 | 1. To uninstall | 118 | 1. To uninstall |
119 | 119 | ||
120 | ```shell | 120 | ```shell |
121 | - $ brew unlink libv3270 | ||
122 | - $ rm -fr "$(brew --cellar)/libv3270" | 121 | + brew unlink libv3270 |
122 | + rm -fr "$(brew --cellar)/libv3270" | ||
123 | ``` | 123 | ``` |
124 | 124 |
locale/pt_BR.po
@@ -6,7 +6,7 @@ msgstr "" | @@ -6,7 +6,7 @@ msgstr "" | ||
6 | "Project-Id-Version: pw3270 5.0\n" | 6 | "Project-Id-Version: pw3270 5.0\n" |
7 | "Report-Msgid-Bugs-To: \n" | 7 | "Report-Msgid-Bugs-To: \n" |
8 | "POT-Creation-Date: 2021-04-19 00:14-0300\n" | 8 | "POT-Creation-Date: 2021-04-19 00:14-0300\n" |
9 | -"PO-Revision-Date: 2021-04-19 00:49-0300\n" | 9 | +"PO-Revision-Date: 2021-09-01 23:54-0300\n" |
10 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" | 10 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" |
11 | "Language-Team: Português <perry.werneck@gmail.com>\n" | 11 | "Language-Team: Português <perry.werneck@gmail.com>\n" |
12 | "Language: pt_BR\n" | 12 | "Language: pt_BR\n" |
@@ -886,11 +886,11 @@ msgstr "Operação de impressão falhou" | @@ -886,11 +886,11 @@ msgstr "Operação de impressão falhou" | ||
886 | 886 | ||
887 | #: src/terminal/actions/table.c:312 | 887 | #: src/terminal/actions/table.c:312 |
888 | msgid "Print screen" | 888 | msgid "Print screen" |
889 | -msgstr "Imrpimir tela" | 889 | +msgstr "Imprimir tela" |
890 | 890 | ||
891 | #: src/terminal/actions/table.c:302 | 891 | #: src/terminal/actions/table.c:302 |
892 | msgid "Print screen or selection" | 892 | msgid "Print screen or selection" |
893 | -msgstr "Imrpimir tela ou seleção" | 893 | +msgstr "Imprimir tela ou seleção" |
894 | 894 | ||
895 | #: src/terminal/actions/table.c:323 | 895 | #: src/terminal/actions/table.c:323 |
896 | msgid "Print selected" | 896 | msgid "Print selected" |
@@ -906,7 +906,7 @@ msgstr "Imprimir marca de seleção" | @@ -906,7 +906,7 @@ msgstr "Imprimir marca de seleção" | ||
906 | 906 | ||
907 | #: src/terminal/actions/table.c:313 | 907 | #: src/terminal/actions/table.c:313 |
908 | msgid "Print the entire screen" | 908 | msgid "Print the entire screen" |
909 | -msgstr "Imrpimir toda a tela" | 909 | +msgstr "Imprimir toda a tela" |
910 | 910 | ||
911 | #: src/filetransfer/v3270ftprogress.c:407 | 911 | #: src/filetransfer/v3270ftprogress.c:407 |
912 | msgid "Progress" | 912 | msgid "Progress" |
@@ -1513,7 +1513,6 @@ msgid "UTF-8" | @@ -1513,7 +1513,6 @@ msgid "UTF-8" | ||
1513 | msgstr "UTF-8" | 1513 | msgstr "UTF-8" |
1514 | 1514 | ||
1515 | #: src/selection/linux/paste.c:116 | 1515 | #: src/selection/linux/paste.c:116 |
1516 | -#, fuzzy | ||
1517 | msgid "Unable to paste formatted data." | 1516 | msgid "Unable to paste formatted data." |
1518 | msgstr "Incapaz de colar dados formatados." | 1517 | msgstr "Incapaz de colar dados formatados." |
1519 | 1518 |
src/dialogs/dialog.c
@@ -80,9 +80,9 @@ | @@ -80,9 +80,9 @@ | ||
80 | // Setup window | 80 | // Setup window |
81 | gtk_window_set_title(GTK_WINDOW(dialog),title); | 81 | gtk_window_set_title(GTK_WINDOW(dialog),title); |
82 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); | 82 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); |
83 | - gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(widget))); | ||
84 | - gtk_window_set_modal(GTK_WINDOW(dialog),TRUE); | ||
85 | 83 | ||
84 | + gtk_dialog_set_toplevel(dialog,widget); | ||
85 | + gtk_window_set_modal(GTK_WINDOW(dialog),TRUE); | ||
86 | 86 | ||
87 | g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL); | 87 | g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL); |
88 | 88 |
src/dialogs/load.c
@@ -246,7 +246,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | @@ -246,7 +246,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | ||
246 | if(filename && *filename) | 246 | if(filename && *filename) |
247 | gtk_entry_set_text(GTK_ENTRY(dialog->filename),filename); | 247 | gtk_entry_set_text(GTK_ENTRY(dialog->filename),filename); |
248 | 248 | ||
249 | - gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(gtk_widget_get_toplevel(widget))); | 249 | + gtk_dialog_set_toplevel(GTK_WIDGET(dialog),widget); |
250 | gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); | 250 | gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); |
251 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); | 251 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); |
252 | 252 |
src/dialogs/popups.c
@@ -47,14 +47,19 @@ | @@ -47,14 +47,19 @@ | ||
47 | // https://developer.gnome.org/hig/stable/dialogs.html.en | 47 | // https://developer.gnome.org/hig/stable/dialogs.html.en |
48 | // https://developer.gnome.org/hig/stable/visual-layout.html.en | 48 | // https://developer.gnome.org/hig/stable/visual-layout.html.en |
49 | 49 | ||
50 | + // For some reason we can't pass 'null' to gtk_message_dialog_new_with_markup!! | ||
50 | g_return_val_if_fail(GTK_IS_WIDGET(widget),GTK_RESPONSE_NONE); | 51 | g_return_val_if_fail(GTK_IS_WIDGET(widget),GTK_RESPONSE_NONE); |
51 | 52 | ||
52 | // Check if the dialog is enabled | 53 | // Check if the dialog is enabled |
53 | - gboolean allow_disabling = (popup->name && GTK_IS_V3270(widget)); | 54 | + gboolean allow_disabling = FALSE; |
55 | + | ||
56 | + if(widget && GTK_IS_WIDGET(widget)) { | ||
57 | + allow_disabling = (popup->name && GTK_IS_V3270(widget)); | ||
58 | + } | ||
54 | 59 | ||
55 | debug("%s: name=%s allow-disabling: %s", __FUNCTION__, popup->name, allow_disabling ? "Yes" : "No"); | 60 | debug("%s: name=%s allow-disabling: %s", __FUNCTION__, popup->name, allow_disabling ? "Yes" : "No"); |
56 | 61 | ||
57 | - if(allow_disabling) { | 62 | + if(widget && allow_disabling) { |
58 | 63 | ||
59 | GtkResponseType response = 0; | 64 | GtkResponseType response = 0; |
60 | 65 | ||
@@ -109,11 +114,19 @@ | @@ -109,11 +114,19 @@ | ||
109 | 114 | ||
110 | }; | 115 | }; |
111 | 116 | ||
117 | + // Get toplevel | ||
118 | + GtkDialogFlags flags = 0; | ||
119 | + GtkWindow *window = NULL; | ||
120 | + if(widget) { | ||
121 | + flags = GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT; | ||
122 | + window = GTK_WINDOW(gtk_widget_get_toplevel(widget)); | ||
123 | + } | ||
124 | + | ||
112 | // Create dialog | 125 | // Create dialog |
113 | GtkWidget * dialog = | 126 | GtkWidget * dialog = |
114 | gtk_message_dialog_new_with_markup( | 127 | gtk_message_dialog_new_with_markup( |
115 | - GTK_WINDOW(gtk_widget_get_toplevel(widget)), | ||
116 | - GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, | 128 | + window, |
129 | + flags, | ||
117 | settings[popup->type].type, | 130 | settings[popup->type].type, |
118 | GTK_BUTTONS_NONE, | 131 | GTK_BUTTONS_NONE, |
119 | (popup->body ? "<b><big>%s</big></b>" : "%s"), | 132 | (popup->body ? "<b><big>%s</big></b>" : "%s"), |
src/dialogs/print/settingsdialog.c
@@ -463,7 +463,7 @@ LIB3270_EXPORT GtkWidget * v3270_ft_settings_dialog_new(GtkWidget *parent) | @@ -463,7 +463,7 @@ LIB3270_EXPORT GtkWidget * v3270_ft_settings_dialog_new(GtkWidget *parent) | ||
463 | 463 | ||
464 | if(parent) | 464 | if(parent) |
465 | { | 465 | { |
466 | - gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(gtk_widget_get_toplevel(parent))); | 466 | + gtk_dialog_set_toplevel(dialog,parent); |
467 | gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); | 467 | gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); |
468 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); | 468 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); |
469 | } | 469 | } |
src/dialogs/save/save.c
@@ -386,7 +386,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | @@ -386,7 +386,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | ||
386 | gtk_window_set_deletable(GTK_WINDOW(dialog),FALSE); | 386 | gtk_window_set_deletable(GTK_WINDOW(dialog),FALSE); |
387 | #endif // G_OS_UNIX | 387 | #endif // G_OS_UNIX |
388 | 388 | ||
389 | - gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(gtk_widget_get_toplevel(widget))); | 389 | + gtk_dialog_set_toplevel(dialog,widget); |
390 | gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); | 390 | gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); |
391 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); | 391 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); |
392 | 392 |
src/dialogs/security.c
@@ -36,6 +36,7 @@ | @@ -36,6 +36,7 @@ | ||
36 | #include <glib/gi18n-lib.h> | 36 | #include <glib/gi18n-lib.h> |
37 | #include <internals.h> | 37 | #include <internals.h> |
38 | #include <lib3270/ssl.h> | 38 | #include <lib3270/ssl.h> |
39 | + #include <v3270/tools.h> | ||
39 | 40 | ||
40 | #include <v3270.h> | 41 | #include <v3270.h> |
41 | 42 | ||
@@ -237,7 +238,7 @@ | @@ -237,7 +238,7 @@ | ||
237 | 238 | ||
238 | gtk_window_set_title(GTK_WINDOW(dialog),_("About security")); | 239 | gtk_window_set_title(GTK_WINDOW(dialog),_("About security")); |
239 | gtk_window_set_default_size(GTK_WINDOW(dialog), 800, 500); | 240 | gtk_window_set_default_size(GTK_WINDOW(dialog), 800, 500); |
240 | - gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(widget))); | 241 | + gtk_dialog_set_toplevel(dialog,widget); |
241 | gtk_window_set_modal(GTK_WINDOW(dialog),TRUE); | 242 | gtk_window_set_modal(GTK_WINDOW(dialog),TRUE); |
242 | 243 | ||
243 | gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),v3270_security_dialog_new(widget),TRUE,TRUE,2); | 244 | gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),v3270_security_dialog_new(widget),TRUE,TRUE,2); |
src/dialogs/settings/dialog.c
@@ -344,7 +344,7 @@ void v3270_settings_popup_dialog(GtkWidget *widget, GtkWidget *terminal, gboolea | @@ -344,7 +344,7 @@ void v3270_settings_popup_dialog(GtkWidget *widget, GtkWidget *terminal, gboolea | ||
344 | gtk_window_set_title(GTK_WINDOW(dialog),settings->title); | 344 | gtk_window_set_title(GTK_WINDOW(dialog),settings->title); |
345 | 345 | ||
346 | gtk_container_add(GTK_CONTAINER(dialog), widget); | 346 | gtk_container_add(GTK_CONTAINER(dialog), widget); |
347 | - gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(terminal))); | 347 | + gtk_dialog_set_toplevel(dialog,terminal); |
348 | 348 | ||
349 | gtk_window_set_modal(GTK_WINDOW(dialog),modal); | 349 | gtk_window_set_modal(GTK_WINDOW(dialog),modal); |
350 | 350 | ||
@@ -368,7 +368,7 @@ GtkWidget * v3270_settings_get_edit_dialog(GtkWidget *settings, GtkWidget *termi | @@ -368,7 +368,7 @@ GtkWidget * v3270_settings_get_edit_dialog(GtkWidget *settings, GtkWidget *termi | ||
368 | 368 | ||
369 | gtk_container_add(GTK_CONTAINER(dialog), settings); | 369 | gtk_container_add(GTK_CONTAINER(dialog), settings); |
370 | 370 | ||
371 | - gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(terminal))); | 371 | + gtk_dialog_set_toplevel(dialog,terminal); |
372 | gtk_window_set_modal(GTK_WINDOW(dialog),modal); | 372 | gtk_window_set_modal(GTK_WINDOW(dialog),modal); |
373 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); | 373 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); |
374 | 374 |
src/dialogs/settings/host.c
@@ -599,7 +599,7 @@ LIB3270_EXPORT void v3270_select_host(GtkWidget *widget) | @@ -599,7 +599,7 @@ LIB3270_EXPORT void v3270_select_host(GtkWidget *widget) | ||
599 | gtk_window_set_title(GTK_WINDOW(dialog), v3270_settings_get_title(settings)); | 599 | gtk_window_set_title(GTK_WINDOW(dialog), v3270_settings_get_title(settings)); |
600 | gtk_container_add(GTK_CONTAINER(dialog), settings); | 600 | gtk_container_add(GTK_CONTAINER(dialog), settings); |
601 | 601 | ||
602 | - gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(widget))); | 602 | + gtk_dialog_set_toplevel(dialog,widget); |
603 | gtk_window_set_modal(GTK_WINDOW(dialog),TRUE); | 603 | gtk_window_set_modal(GTK_WINDOW(dialog),TRUE); |
604 | 604 | ||
605 | v3270_settings_dialog_set_terminal_widget(dialog, widget); | 605 | v3270_settings_dialog_set_terminal_widget(dialog, widget); |
src/dialogs/settings/url.c
@@ -346,7 +346,8 @@ | @@ -346,7 +346,8 @@ | ||
346 | V3270URLEdit *edit = GTK_V3270URLEdit(widget); | 346 | V3270URLEdit *edit = GTK_V3270URLEdit(widget); |
347 | 347 | ||
348 | if(edit->url) { | 348 | if(edit->url) { |
349 | - return edit->url; | 349 | + g_free(edit->url); |
350 | + edit->url = NULL; | ||
350 | } | 351 | } |
351 | 352 | ||
352 | const gchar *host = gtk_entry_get_text(GTK_ENTRY(edit->entry.host)); | 353 | const gchar *host = gtk_entry_get_text(GTK_ENTRY(edit->entry.host)); |
src/dialogs/transfer.c
@@ -188,7 +188,7 @@ LIB3270_EXPORT gint v3270_transfer_file(GtkWidget *widget, LIB3270_FT_OPTION opt | @@ -188,7 +188,7 @@ LIB3270_EXPORT gint v3270_transfer_file(GtkWidget *widget, LIB3270_FT_OPTION opt | ||
188 | g_signal_connect(save_button,"clicked",G_CALLBACK(save_activity_clicked),activity); | 188 | g_signal_connect(save_button,"clicked",G_CALLBACK(save_activity_clicked),activity); |
189 | } | 189 | } |
190 | 190 | ||
191 | - gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(gtk_widget_get_toplevel(widget))); | 191 | + gtk_dialog_set_toplevel(dialog,widget); |
192 | gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); | 192 | gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); |
193 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); | 193 | gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); |
194 | 194 |
src/filetransfer/transfer.c
@@ -30,6 +30,7 @@ | @@ -30,6 +30,7 @@ | ||
30 | 30 | ||
31 | #include <v3270.h> | 31 | #include <v3270.h> |
32 | #include "private.h" | 32 | #include "private.h" |
33 | + #include <v3270/tools.h> | ||
33 | 34 | ||
34 | 35 | ||
35 | /*--[ Statics ]--------------------------------------------------------------------------------------*/ | 36 | /*--[ Statics ]--------------------------------------------------------------------------------------*/ |
@@ -138,8 +139,7 @@ LIB3270_EXPORT gint v3270ft_transfer(GtkWidget *dialog, H3270 *session) { | @@ -138,8 +139,7 @@ LIB3270_EXPORT gint v3270ft_transfer(GtkWidget *dialog, H3270 *session) { | ||
138 | GtkWidget * progress = v3270ftprogress_new(); | 139 | GtkWidget * progress = v3270ftprogress_new(); |
139 | gint rc = GTK_RESPONSE_NONE; | 140 | gint rc = GTK_RESPONSE_NONE; |
140 | 141 | ||
141 | - gtk_window_set_transient_for(GTK_WINDOW(progress),GTK_WINDOW(dialog)); | ||
142 | -// gtk_window_set_deletable(progress,FALSE); | 142 | + gtk_dialog_set_toplevel(progress,dialog); |
143 | 143 | ||
144 | v3270ft_select_first(dialog); | 144 | v3270ft_select_first(dialog); |
145 | v3270ftprogress_set_session(progress,session); | 145 | v3270ftprogress_set_session(progress,session); |
src/filetransfer/v3270ft.c
@@ -37,6 +37,7 @@ | @@ -37,6 +37,7 @@ | ||
37 | 37 | ||
38 | #include <limits.h> | 38 | #include <limits.h> |
39 | #include <internals.h> | 39 | #include <internals.h> |
40 | + #include <v3270/tools.h> | ||
40 | 41 | ||
41 | #include "private.h" | 42 | #include "private.h" |
42 | 43 | ||
@@ -743,7 +744,7 @@ LIB3270_EXPORT GtkWidget * v3270ft_new(GtkWidget *parent) { | @@ -743,7 +744,7 @@ LIB3270_EXPORT GtkWidget * v3270ft_new(GtkWidget *parent) { | ||
743 | 744 | ||
744 | #endif | 745 | #endif |
745 | 746 | ||
746 | - gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(parent))); | 747 | + gtk_dialog_set_toplevel(dialog,parent); |
747 | 748 | ||
748 | return dialog; | 749 | return dialog; |
749 | } | 750 | } |
src/include/terminal.h
src/include/v3270/tools.h
@@ -43,6 +43,10 @@ | @@ -43,6 +43,10 @@ | ||
43 | /// @brief Bind file chooser with entry field. | 43 | /// @brief Bind file chooser with entry field. |
44 | LIB3270_EXPORT void gtk_entry_bind_to_filechooser(GtkWidget *widget, GtkFileChooserAction action, const gchar *title, const gchar *icon_name, const gchar *pattern, const gchar *name); | 44 | LIB3270_EXPORT void gtk_entry_bind_to_filechooser(GtkWidget *widget, GtkFileChooserAction action, const gchar *title, const gchar *icon_name, const gchar *pattern, const gchar *name); |
45 | 45 | ||
46 | + /// @brief Bind dialog with toplevel | ||
47 | + LIB3270_EXPORT void gtk_dialog_set_toplevel(GtkWidget *dialog, GtkWidget *widget); | ||
48 | + | ||
49 | + | ||
46 | G_END_DECLS | 50 | G_END_DECLS |
47 | 51 | ||
48 | #endif // V3270_TOOLS_H_INCLUDED | 52 | #endif // V3270_TOOLS_H_INCLUDED |
src/terminal/actions.c
@@ -31,6 +31,7 @@ | @@ -31,6 +31,7 @@ | ||
31 | #include <terminal.h> | 31 | #include <terminal.h> |
32 | #include <lib3270/actions.h> | 32 | #include <lib3270/actions.h> |
33 | #include <v3270/settings.h> | 33 | #include <v3270/settings.h> |
34 | + #include <v3270/tools.h> | ||
34 | 35 | ||
35 | /*--[ Implement ]------------------------------------------------------------------------------------*/ | 36 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
36 | 37 | ||
@@ -71,7 +72,7 @@ void v3270_activate(GtkWidget *widget) { | @@ -71,7 +72,7 @@ void v3270_activate(GtkWidget *widget) { | ||
71 | gtk_container_add(GTK_CONTAINER(dialog), v3270_host_settings_new()); | 72 | gtk_container_add(GTK_CONTAINER(dialog), v3270_host_settings_new()); |
72 | gtk_window_set_title(GTK_WINDOW(dialog),_("Setup host properties")); | 73 | gtk_window_set_title(GTK_WINDOW(dialog),_("Setup host properties")); |
73 | 74 | ||
74 | - gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(widget))); | 75 | + gtk_dialog_set_toplevel(dialog,widget); |
75 | 76 | ||
76 | v3270_settings_dialog_set_terminal_widget(dialog, widget); | 77 | v3270_settings_dialog_set_terminal_widget(dialog, widget); |
77 | g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL); | 78 | g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL); |
src/terminal/actions/dialog.c
@@ -36,6 +36,7 @@ | @@ -36,6 +36,7 @@ | ||
36 | #include <v3270.h> | 36 | #include <v3270.h> |
37 | #include <v3270/settings.h> | 37 | #include <v3270/settings.h> |
38 | #include <v3270/actions.h> | 38 | #include <v3270/actions.h> |
39 | + #include <v3270/tools.h> | ||
39 | 40 | ||
40 | #define V3270_TYPE_DIALOG_ACTION (V3270DialogAction_get_type()) | 41 | #define V3270_TYPE_DIALOG_ACTION (V3270DialogAction_get_type()) |
41 | #define V3270_DIALOG_ACTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), V3270_TYPE_DIALOG_ACTION, V3270DialogAction)) | 42 | #define V3270_DIALOG_ACTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), V3270_TYPE_DIALOG_ACTION, V3270DialogAction)) |
@@ -125,8 +126,9 @@ | @@ -125,8 +126,9 @@ | ||
125 | 126 | ||
126 | GtkWidget * window = gtk_widget_get_toplevel(terminal); | 127 | GtkWidget * window = gtk_widget_get_toplevel(terminal); |
127 | if(window) { | 128 | if(window) { |
129 | + gtk_dialog_set_toplevel(action->dialog,window); | ||
128 | gtk_window_set_attached_to(GTK_WINDOW(action->dialog), window); | 130 | gtk_window_set_attached_to(GTK_WINDOW(action->dialog), window); |
129 | - gtk_window_set_transient_for(GTK_WINDOW(action->dialog),GTK_WINDOW(window)); | 131 | + gtk_dialog_set_toplevel(action->dialog,window); |
130 | } | 132 | } |
131 | 133 | ||
132 | g_signal_connect(action->dialog,"destroy",G_CALLBACK(on_destroy),action); | 134 | g_signal_connect(action->dialog,"destroy",G_CALLBACK(on_destroy),action); |
src/terminal/properties/get.c
@@ -39,12 +39,6 @@ | @@ -39,12 +39,6 @@ | ||
39 | 39 | ||
40 | // debug("%s(%u,%s)",__FUNCTION__,prop_id,g_param_spec_get_name(pspec)); | 40 | // debug("%s(%u,%s)",__FUNCTION__,prop_id,g_param_spec_get_name(pspec)); |
41 | 41 | ||
42 | - /* | ||
43 | - if(prop_id >= klass->properties.type.responses) | ||
44 | - { | ||
45 | - g_value_set_int(value,(int) window->responses[prop_id - klass->properties.type.responses]); | ||
46 | - } | ||
47 | - else */ | ||
48 | if(prop_id >= klass->properties.type.str) | 42 | if(prop_id >= klass->properties.type.str) |
49 | { | 43 | { |
50 | const LIB3270_STRING_PROPERTY * prop = (lib3270_get_string_properties_list()+(prop_id - klass->properties.type.str)); | 44 | const LIB3270_STRING_PROPERTY * prop = (lib3270_get_string_properties_list()+(prop_id - klass->properties.type.str)); |
src/terminal/properties/init.c
@@ -373,7 +373,7 @@ | @@ -373,7 +373,7 @@ | ||
373 | for(ix = 0; str_props[ix].name; ix++) | 373 | for(ix = 0; str_props[ix].name; ix++) |
374 | { | 374 | { |
375 | 375 | ||
376 | -// debug("Property %u=%s (String)",(unsigned int) klass->properties.type.str + ix, str_props[ix].name); | 376 | + // debug("Property %u=%s (String)",(unsigned int) klass->properties.type.str + ix, str_props[ix].name); |
377 | 377 | ||
378 | spec = g_param_spec_string( | 378 | spec = g_param_spec_string( |
379 | str_props[ix].name, | 379 | str_props[ix].name, |
src/terminal/widget.c
@@ -78,6 +78,8 @@ static const gchar *persistent_properties[] = { | @@ -78,6 +78,8 @@ static const gchar *persistent_properties[] = { | ||
78 | "auto_disconnect", | 78 | "auto_disconnect", |
79 | "colors", | 79 | "colors", |
80 | "selection_flags", | 80 | "selection_flags", |
81 | + "logfile", | ||
82 | + "tracefile", | ||
81 | NULL | 83 | NULL |
82 | }; | 84 | }; |
83 | 85 |
src/testprogram/toolbar.c
@@ -35,6 +35,7 @@ | @@ -35,6 +35,7 @@ | ||
35 | #include <v3270/dialogs.h> | 35 | #include <v3270/dialogs.h> |
36 | #include <v3270/settings.h> | 36 | #include <v3270/settings.h> |
37 | #include <v3270/selection.h> | 37 | #include <v3270/selection.h> |
38 | + #include <v3270/tools.h> | ||
38 | #include <v3270/trace.h> | 39 | #include <v3270/trace.h> |
39 | #include <lib3270/log.h> | 40 | #include <lib3270/log.h> |
40 | #include <lib3270/popup.h> | 41 | #include <lib3270/popup.h> |
@@ -49,25 +50,6 @@ | @@ -49,25 +50,6 @@ | ||
49 | v3270_print(terminal,NULL); | 50 | v3270_print(terminal,NULL); |
50 | } | 51 | } |
51 | 52 | ||
52 | - /* | ||
53 | - static void host_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) | ||
54 | - { | ||
55 | - v3270_select_host(terminal); | ||
56 | - } | ||
57 | - */ | ||
58 | - | ||
59 | - /* | ||
60 | - static void font_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) | ||
61 | - { | ||
62 | - v3270_settings_popup_dialog( | ||
63 | - v3270_font_settings_new(), | ||
64 | - terminal, | ||
65 | - FALSE | ||
66 | - ); | ||
67 | - | ||
68 | - } | ||
69 | - */ | ||
70 | - | ||
71 | static void preferences_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) | 53 | static void preferences_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) |
72 | { | 54 | { |
73 | size_t ix; | 55 | size_t ix; |
@@ -87,7 +69,7 @@ | @@ -87,7 +69,7 @@ | ||
87 | gtk_container_add(GTK_CONTAINER(dialog), widgets[ix]); | 69 | gtk_container_add(GTK_CONTAINER(dialog), widgets[ix]); |
88 | } | 70 | } |
89 | 71 | ||
90 | - gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(terminal))); | 72 | + gtk_dialog_set_toplevel(dialog,terminal); |
91 | 73 | ||
92 | v3270_settings_dialog_set_terminal_widget(dialog, terminal); | 74 | v3270_settings_dialog_set_terminal_widget(dialog, terminal); |
93 | 75 |
@@ -0,0 +1,57 @@ | @@ -0,0 +1,57 @@ | ||
1 | +/* | ||
2 | + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 | ||
3 | + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a | ||
4 | + * aplicativos mainframe. Registro no INPI sob o nome G3270. | ||
5 | + * | ||
6 | + * Copyright (C) <2008> <Banco do Brasil S.A.> | ||
7 | + * | ||
8 | + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob | ||
9 | + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela | ||
10 | + * Free Software Foundation. | ||
11 | + * | ||
12 | + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER | ||
13 | + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO | ||
14 | + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para | ||
15 | + * obter mais detalhes. | ||
16 | + * | ||
17 | + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este | ||
18 | + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin | ||
19 | + * St, Fifth Floor, Boston, MA 02110-1301 USA | ||
20 | + * | ||
21 | + * Este programa está nomeado como - e possui - linhas de código. | ||
22 | + * | ||
23 | + * Contatos: | ||
24 | + * | ||
25 | + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | ||
26 | + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) | ||
27 | + * | ||
28 | + */ | ||
29 | + | ||
30 | + /** | ||
31 | + * @brief Usefull extensions for GtkDialog. | ||
32 | + * | ||
33 | + */ | ||
34 | + | ||
35 | + #include <internals.h> | ||
36 | + #include <v3270/tools.h> | ||
37 | + #include <string.h> | ||
38 | + | ||
39 | + LIB3270_EXPORT void gtk_dialog_set_toplevel(GtkWidget *dialog, GtkWidget *widget) { | ||
40 | + | ||
41 | + if(widget) { | ||
42 | + | ||
43 | + GtkWidget * toplevel = GTK_WINDOW(gtk_widget_get_toplevel(widget)); | ||
44 | + | ||
45 | + gtk_window_set_transient_for( | ||
46 | + GTK_WINDOW(dialog), | ||
47 | + toplevel | ||
48 | + ); | ||
49 | + | ||
50 | + gtk_window_set_icon( | ||
51 | + GTK_WINDOW(dialog), | ||
52 | + gtk_window_get_icon(toplevel) | ||
53 | + ); | ||
54 | + | ||
55 | + } | ||
56 | + | ||
57 | + } |
src/trace/trace.c
@@ -85,8 +85,8 @@ | @@ -85,8 +85,8 @@ | ||
85 | 85 | ||
86 | /// @brief lib3270's saved trace handler. | 86 | /// @brief lib3270's saved trace handler. |
87 | struct { | 87 | struct { |
88 | - void (*handler)(H3270 *session, void *userdata, const char *fmt, va_list args); | ||
89 | - void *userdata; | 88 | + LIB3270_TRACE_HANDLER handler; |
89 | + void *userdata; | ||
90 | } trace; | 90 | } trace; |
91 | 91 | ||
92 | }; | 92 | }; |
@@ -97,13 +97,11 @@ | @@ -97,13 +97,11 @@ | ||
97 | 97 | ||
98 | /*--[ Implement ]------------------------------------------------------------------------------------*/ | 98 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
99 | 99 | ||
100 | - static void trace_handler(H3270 *hSession, void *userdata, const char *fmt, va_list args) | 100 | + static int trace_handler(const H3270 *hSession, void *userdata, const char *message) |
101 | { | 101 | { |
102 | - g_autofree gchar *ptr = g_strdup_vprintf(fmt,args); | ||
103 | - g_autofree gchar * utftext = g_convert_with_fallback(ptr,-1,"UTF-8",lib3270_get_display_charset(hSession),"?",NULL,NULL,NULL); | ||
104 | - | 102 | + g_autofree gchar * utftext = g_convert_with_fallback(message,-1,"UTF-8",lib3270_get_display_charset(hSession),"?",NULL,NULL,NULL); |
105 | v3270_trace_append_text(GTK_WIDGET(userdata),utftext); | 103 | v3270_trace_append_text(GTK_WIDGET(userdata),utftext); |
106 | - | 104 | + return 0; |
107 | } | 105 | } |
108 | 106 | ||
109 | static void set_session(V3270Trace *widget, H3270 *hSession) | 107 | static void set_session(V3270Trace *widget, H3270 *hSession) |
@@ -153,6 +151,7 @@ | @@ -153,6 +151,7 @@ | ||
153 | for(ix = 0; ix < G_N_ELEMENTS(toggles); ix++) | 151 | for(ix = 0; ix < G_N_ELEMENTS(toggles); ix++) |
154 | { | 152 | { |
155 | // TODO: Use button "destroy" signal to cleanup. | 153 | // TODO: Use button "destroy" signal to cleanup. |
154 | + lib3270_set_toggle(trace->hSession,toggles[ix],0); | ||
156 | trace->buttons.widgets[ix] = NULL; | 155 | trace->buttons.widgets[ix] = NULL; |
157 | } | 156 | } |
158 | 157 |
src/trace/tracewindow.c
@@ -38,6 +38,7 @@ | @@ -38,6 +38,7 @@ | ||
38 | 38 | ||
39 | #include <config.h> | 39 | #include <config.h> |
40 | #include <gtk/gtk.h> | 40 | #include <gtk/gtk.h> |
41 | + #include <v3270/tools.h> | ||
41 | 42 | ||
42 | #define ENABLE_NLS | 43 | #define ENABLE_NLS |
43 | 44 | ||
@@ -89,7 +90,7 @@ | @@ -89,7 +90,7 @@ | ||
89 | GtkWidget * vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL,0); | 90 | GtkWidget * vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL,0); |
90 | GtkWidget * trace = v3270_trace_new(widget); | 91 | GtkWidget * trace = v3270_trace_new(widget); |
91 | 92 | ||
92 | - gtk_window_set_transient_for(GTK_WINDOW(window),GTK_WINDOW(gtk_widget_get_toplevel(widget))); | 93 | + gtk_dialog_set_toplevel(window,widget); |
93 | gtk_window_set_destroy_with_parent(GTK_WINDOW(window),TRUE); | 94 | gtk_window_set_destroy_with_parent(GTK_WINDOW(window),TRUE); |
94 | 95 | ||
95 | // Set window title and default size | 96 | // Set window title and default size |
v3270.cbp
@@ -409,6 +409,9 @@ | @@ -409,6 +409,9 @@ | ||
409 | <Unit filename="src/testprogram/toolbar.c"> | 409 | <Unit filename="src/testprogram/toolbar.c"> |
410 | <Option compilerVar="CC" /> | 410 | <Option compilerVar="CC" /> |
411 | </Unit> | 411 | </Unit> |
412 | + <Unit filename="src/tools/dialog.c"> | ||
413 | + <Option compilerVar="CC" /> | ||
414 | + </Unit> | ||
412 | <Unit filename="src/tools/entry.c"> | 415 | <Unit filename="src/tools/entry.c"> |
413 | <Option compilerVar="CC" /> | 416 | <Option compilerVar="CC" /> |
414 | </Unit> | 417 | </Unit> |
win/configure.sh
win/install-cross.sh
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | +myDIR=$(dirname $(readlink -f ${0})) | ||
2 | 3 | ||
3 | install_packages() { | 4 | install_packages() { |
4 | 5 | ||
5 | -TEMPFILE=$(mktemp) | ||
6 | - | ||
7 | -cat > ${TEMPFILE} << EOF | ||
8 | -cross-binutils | ||
9 | -cross-gcc | ||
10 | -cross-gcc-c++ | ||
11 | -cross-pkg-config | ||
12 | -filesystem | ||
13 | -libopenssl | ||
14 | -libopenssl-devel | ||
15 | -libintl-devel | ||
16 | -win_iconv-devel | ||
17 | -zlib-devel | ||
18 | -winpthreads-devel | ||
19 | -cross-cpp | ||
20 | -gettext-tools | ||
21 | -headers | ||
22 | -libepoxy0 | ||
23 | -libgdk_pixbuf-2_0-0 | ||
24 | -atk-devel | ||
25 | -pango-devel | ||
26 | -win_iconv-devel | ||
27 | -pixman-devel | ||
28 | -glib2-devel | ||
29 | -cairo-devel | ||
30 | -freetype-devel | ||
31 | -gtk3-devel | ||
32 | -filesystem | ||
33 | -gettext-tools | ||
34 | -gtk3-data | ||
35 | -gtk3-tools | ||
36 | -gnome-icon-theme | ||
37 | -hicolor-icon-theme | ||
38 | -gdk-pixbuf-loader-rsvg | ||
39 | -gdk-pixbuf-query-loaders | ||
40 | -lib3270-5_2-devel | ||
41 | -EOF | ||
42 | - | ||
43 | -# Instala apicativos e temas necessários | ||
44 | -sudo zypper --non-interactive in \ | ||
45 | - adwaita-icon-theme \ | ||
46 | - gettext-tools \ | ||
47 | - glib2-devel \ | ||
48 | - optipng \ | ||
49 | - ImageMagick | ||
50 | - | ||
51 | -while read FILE | ||
52 | -do | ||
53 | - sudo zypper --non-interactive in ${1}-${FILE} | ||
54 | -done < ${TEMPFILE} | ||
55 | - | ||
56 | -rm -f ${TEMPFILE} | 6 | + TEMPFILE=$(mktemp) |
7 | + | ||
8 | + for spec in $(find ${myDIR} -name "${1}*.spec") | ||
9 | + do | ||
10 | + echo "Parsing ${spec}" | ||
11 | + grep -i "^Requires:" "${spec}" | grep -v "%" | cut -d: -f2- | tr -d '[:blank:]' | cut -d'>' -f1 >> ${TEMPFILE} | ||
12 | + grep -i "^BuildRequires:" "${spec}" | grep -v "%" | cut -d: -f2- | tr -d '[:blank:]' | cut -d'>' -f1 >> ${TEMPFILE} | ||
13 | + done | ||
14 | + | ||
15 | + cat ${TEMPFILE} \ | ||
16 | + | sort --unique \ | ||
17 | + | xargs sudo zypper --non-interactive --verbose in | ||
18 | + | ||
19 | + rm -f ${TEMPFILE} | ||
57 | 20 | ||
58 | } | 21 | } |
59 | 22 | ||
60 | if [ -z ${1} ]; then | 23 | if [ -z ${1} ]; then |
61 | - echo "Use ${0} --32 for 32 bits cross-compiler" | ||
62 | - echo "Use ${0} --64 for 64 bits cross-compiler" | 24 | + echo "${0} [options]" |
25 | + echo "" | ||
26 | + echo "Options:" | ||
27 | + echo "" | ||
28 | + | ||
29 | + echo " --ar Install required OBS repositories for zypper" | ||
30 | + echo " --32 Install cross compiler for 32 bits windows using zypper" | ||
31 | + echo " --64 Install cross compiler for 64 bits windows using zypper" | ||
32 | + echo " --all Install cross compiler for 32 and 64 bits windows using zypper" | ||
63 | exit -1 | 33 | exit -1 |
64 | fi | 34 | fi |
65 | 35 | ||
@@ -73,9 +43,11 @@ do | @@ -73,9 +43,11 @@ do | ||
73 | 43 | ||
74 | case $parameter in | 44 | case $parameter in |
75 | 45 | ||
76 | - ar) | ||
77 | - zypper ar --refresh http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_42.3/ mingw32 | ||
78 | - zypper ar --refresh http://download.opensuse.org/repositories/windows:/mingw:/win64/openSUSE_42.3/ mingw64 | 46 | + AR) |
47 | + echo "Adding required repositories" | ||
48 | + sudo zypper ar obs://windows:mingw:win32 windows_mingw_win32 | ||
49 | + sudo zypper ar obs://windows:mingw:win64 windows_mingw_win64 | ||
50 | + sudo zypper ar obs://home:PerryWerneck:pw3270 home_PerryWerneck_pw3270 | ||
79 | ;; | 51 | ;; |
80 | 52 | ||
81 | 32) | 53 | 32) |
win/x86_32/mingw32-libv3270.spec
@@ -32,7 +32,7 @@ Name: mingw32-libv3270 | @@ -32,7 +32,7 @@ Name: mingw32-libv3270 | ||
32 | Version: 5.2 | 32 | Version: 5.2 |
33 | 33 | ||
34 | %define MAJOR_VERSION %(echo %{version} | cut -d. -f1) | 34 | %define MAJOR_VERSION %(echo %{version} | cut -d. -f1) |
35 | -%define MINOR_VERSION %(echo %{version} | cut -d. -f2) | 35 | +%define MINOR_VERSION %(echo %{version} | cut -d. -f2 | cut -d+ -f1) |
36 | %define _libvrs %{MAJOR_VERSION}_%{MINOR_VERSION} | 36 | %define _libvrs %{MAJOR_VERSION}_%{MINOR_VERSION} |
37 | %define _product %(i686-w64-mingw32-pkg-config --variable=product_name lib3270) | 37 | %define _product %(i686-w64-mingw32-pkg-config --variable=product_name lib3270) |
38 | 38 | ||
@@ -48,8 +48,12 @@ BuildRoot: /var/tmp/%{name}-%{version} | @@ -48,8 +48,12 @@ BuildRoot: /var/tmp/%{name}-%{version} | ||
48 | 48 | ||
49 | Provides: mingw32(lib:v3270) | 49 | Provides: mingw32(lib:v3270) |
50 | 50 | ||
51 | +Requires: mingw32(libgdk_pixbuf-2.0-0.dll) | ||
52 | +BuildRequires: mingw32(pkg:gdk-pixbuf-2.0) | ||
53 | + | ||
51 | BuildRequires: autoconf | 54 | BuildRequires: autoconf |
52 | BuildRequires: automake | 55 | BuildRequires: automake |
56 | +BuildRequires: libtool | ||
53 | BuildRequires: gettext-tools | 57 | BuildRequires: gettext-tools |
54 | BuildRequires: pkgconfig(glib-2.0) | 58 | BuildRequires: pkgconfig(glib-2.0) |
55 | 59 | ||
@@ -129,7 +133,7 @@ make all | @@ -129,7 +133,7 @@ make all | ||
129 | 133 | ||
130 | %install | 134 | %install |
131 | %{_mingw32_makeinstall} | 135 | %{_mingw32_makeinstall} |
132 | -%_mingw32_find_lang libv3270 langfiles | 136 | +%_mingw32_find_lang libv3270-%{MAJOR_VERSION}.%{MINOR_VERSION} langfiles |
133 | 137 | ||
134 | %clean | 138 | %clean |
135 | rm -rf %{buildroot} | 139 | rm -rf %{buildroot} |
@@ -141,6 +145,9 @@ rm -rf %{buildroot} | @@ -141,6 +145,9 @@ rm -rf %{buildroot} | ||
141 | %doc AUTHORS LICENSE README.md | 145 | %doc AUTHORS LICENSE README.md |
142 | 146 | ||
143 | %{_mingw32_bindir}/*.dll | 147 | %{_mingw32_bindir}/*.dll |
148 | +%{_mingw32_datadir}/%{_product}/colors.conf | ||
149 | +%dir %{_mingw32_datadir}/%{_product}/remap | ||
150 | +%{_mingw32_datadir}/%{_product}/remap/*.xml | ||
144 | 151 | ||
145 | %files devel | 152 | %files devel |
146 | %defattr(-,root,root) | 153 | %defattr(-,root,root) |
@@ -151,11 +158,6 @@ rm -rf %{buildroot} | @@ -151,11 +158,6 @@ rm -rf %{buildroot} | ||
151 | %{_mingw32_libdir}/*.a | 158 | %{_mingw32_libdir}/*.a |
152 | 159 | ||
153 | %{_mingw32_datadir}/%{_product}/pot/*.pot | 160 | %{_mingw32_datadir}/%{_product}/pot/*.pot |
154 | -%{_mingw32_datadir}/%{_product}/colors.conf | ||
155 | - | ||
156 | -%dir %{_mingw32_datadir}/%{_product}/remap | ||
157 | -%{_mingw32_datadir}/%{_product}/remap/*.xml | ||
158 | - | ||
159 | %{_mingw32_datadir}/%{_product}/def/*.def | 161 | %{_mingw32_datadir}/%{_product}/def/*.def |
160 | 162 | ||
161 | %files -n mingw32-glade-catalog-v3270 | 163 | %files -n mingw32-glade-catalog-v3270 |
win/x86_64/mingw64-libv3270.spec
@@ -32,7 +32,7 @@ Name: mingw64-libv3270 | @@ -32,7 +32,7 @@ Name: mingw64-libv3270 | ||
32 | Version: 5.2 | 32 | Version: 5.2 |
33 | 33 | ||
34 | %define MAJOR_VERSION %(echo %{version} | cut -d. -f1) | 34 | %define MAJOR_VERSION %(echo %{version} | cut -d. -f1) |
35 | -%define MINOR_VERSION %(echo %{version} | cut -d. -f2) | 35 | +%define MINOR_VERSION %(echo %{version} | cut -d. -f2 | cut -d+ -f1) |
36 | %define _libvrs %{MAJOR_VERSION}_%{MINOR_VERSION} | 36 | %define _libvrs %{MAJOR_VERSION}_%{MINOR_VERSION} |
37 | %define _product %(x86_64-w64-mingw32-pkg-config --variable=product_name lib3270) | 37 | %define _product %(x86_64-w64-mingw32-pkg-config --variable=product_name lib3270) |
38 | 38 | ||
@@ -48,8 +48,12 @@ BuildRoot: /var/tmp/%{name}-%{version} | @@ -48,8 +48,12 @@ BuildRoot: /var/tmp/%{name}-%{version} | ||
48 | 48 | ||
49 | Provides: mingw64(lib:v3270) | 49 | Provides: mingw64(lib:v3270) |
50 | 50 | ||
51 | +Requires: mingw64(libgdk_pixbuf-2.0-0.dll) | ||
52 | +BuildRequires: mingw64(pkg:gdk-pixbuf-2.0) | ||
53 | + | ||
51 | BuildRequires: autoconf | 54 | BuildRequires: autoconf |
52 | BuildRequires: automake | 55 | BuildRequires: automake |
56 | +BuildRequires: libtool | ||
53 | BuildRequires: gettext-tools | 57 | BuildRequires: gettext-tools |
54 | BuildRequires: pkgconfig(glib-2.0) | 58 | BuildRequires: pkgconfig(glib-2.0) |
55 | 59 | ||
@@ -129,7 +133,7 @@ make all | @@ -129,7 +133,7 @@ make all | ||
129 | 133 | ||
130 | %install | 134 | %install |
131 | %{_mingw64_makeinstall} | 135 | %{_mingw64_makeinstall} |
132 | -%_mingw64_find_lang libv3270 langfiles | 136 | +%_mingw64_find_lang libv3270-%{MAJOR_VERSION}.%{MINOR_VERSION} langfiles |
133 | 137 | ||
134 | %clean | 138 | %clean |
135 | rm -rf %{buildroot} | 139 | rm -rf %{buildroot} |