Commit a85935378c2e507a0fb38cc94dda4f81d50cf597
Committed by
GitHub
Exists in
master
and in
2 other branches
Merge pull request #14 from PerryWerneck/develop
Small fixes and optional lockdown of host settings.
Showing
16 changed files
with
162 additions
and
96 deletions
Show diff stats
branding/appdata.xml.in
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | -<component type="desktop"> | ||
3 | - <id>br.com.bb.pw3270</id> | ||
4 | - <name>3270 Terminal</name> | ||
5 | - <name xml:lang="pt_BR">Terminal 3270</name> | 2 | +<application> |
3 | + | ||
4 | + <id type="desktop">@PRODUCT_NAME@.desktop</id> | ||
5 | + | ||
6 | + <metadata_license>CC0-1.0</metadata_license> | ||
7 | + <project_license>LGPL-3.0</project_license> | ||
8 | + | ||
6 | <summary>IBM 3270 Terminal emulator</summary> | 9 | <summary>IBM 3270 Terminal emulator</summary> |
7 | <summary xml:lang="pt_BR">Emulador de terminal IBM 3270</summary> | 10 | <summary xml:lang="pt_BR">Emulador de terminal IBM 3270</summary> |
11 | + | ||
8 | <developer_name>perry.werneck@gmail.com</developer_name> | 12 | <developer_name>perry.werneck@gmail.com</developer_name> |
9 | - <description> | ||
10 | - <p> | ||
11 | - GTK Based 3270 terminal emulator | ||
12 | - pw3270 is a modern, GTK-based, completely free tn3270 emulator. | ||
13 | 13 | ||
14 | - Created originally for Banco do Brasil, it's now an official Brazilian Government Public Software project, and is used worldwide. | ||
15 | - </p> | 14 | + <description> |
15 | + <p>GTK Based 3270 terminal emulator</p> | ||
16 | + <p>pw3270 is a modern, GTK-based, completely free tn3270 emulator.</p> | ||
17 | + <p>Created originally for Banco do Brasil, it's now an official Brazilian Government Public Software project, and is used worldwide.</p> | ||
16 | </description> | 18 | </description> |
17 | 19 | ||
18 | - <metadata_license>CC0-1.0</metadata_license> | ||
19 | - <project_license>LGPL-3.0</project_license> | ||
20 | - | ||
21 | <url type="bugtracker">https://github.com/PerryWerneck/pw3270/issues</url> | 20 | <url type="bugtracker">https://github.com/PerryWerneck/pw3270/issues</url> |
22 | <url type="homepage">https://github.com/PerryWerneck/pw3270</url> | 21 | <url type="homepage">https://github.com/PerryWerneck/pw3270</url> |
23 | - <project_group>GNOME</project_group> | ||
24 | - | ||
25 | - <launchable type="desktop-id">@PRODUCT_NAME@.desktop</launchable> | ||
26 | 22 | ||
27 | <screenshots> | 23 | <screenshots> |
28 | <screenshot type="default"> | 24 | <screenshot type="default"> |
29 | <caption>@PRODUCT_NAME@</caption> | 25 | <caption>@PRODUCT_NAME@</caption> |
30 | - <image height="600" width="600">https://raw.githubusercontent.com/PerryWerneck/pw3270/master/branding/pw3270-logo.svg</image> | 26 | + <image height="600" width="600">https://raw.githubusercontent.com/PerryWerneck/pw3270/master/branding/pw3270.svg</image> |
31 | </screenshot> | 27 | </screenshot> |
32 | </screenshots> | 28 | </screenshots> |
33 | 29 | ||
34 | <update_contact>perry.werneck@gmail.com</update_contact> | 30 | <update_contact>perry.werneck@gmail.com</update_contact> |
35 | 31 | ||
36 | <provides> | 32 | <provides> |
37 | - <id>@PRODUCT_NAME@pw32.desktop</id> | 33 | + <binary>@PRODUCT_NAME@</binary> |
38 | </provides> | 34 | </provides> |
39 | -</component> | 35 | + |
36 | + | ||
37 | +</application> |
branding/launcher.desktop.in
1 | [Desktop Entry] | 1 | [Desktop Entry] |
2 | X-SuSE-translate=true | 2 | X-SuSE-translate=true |
3 | GenericName=@PRODUCT_NAME@ | 3 | GenericName=@PRODUCT_NAME@ |
4 | +GenericName[pt_BR]=@PRODUCT_NAME@ | ||
4 | Name=3270 Terminal | 5 | Name=3270 Terminal |
5 | Name[pt_BR]=Terminal 3270 | 6 | Name[pt_BR]=Terminal 3270 |
6 | Comment=IBM 3270 Terminal emulator | 7 | Comment=IBM 3270 Terminal emulator |
configure.ac
@@ -32,7 +32,7 @@ AC_PREREQ(2.61) | @@ -32,7 +32,7 @@ AC_PREREQ(2.61) | ||
32 | 32 | ||
33 | dnl Initialise automake with the package name, version and | 33 | dnl Initialise automake with the package name, version and |
34 | dnl bug-reporting address. | 34 | dnl bug-reporting address. |
35 | -AC_INIT([pw3270], [5.3], [perry.werneck@gmail.com]) | 35 | +AC_INIT([pw3270], [5.4], [perry.werneck@gmail.com]) |
36 | 36 | ||
37 | dnl Place auxilliary scripts here. | 37 | dnl Place auxilliary scripts here. |
38 | AC_CONFIG_AUX_DIR([scripts]) | 38 | AC_CONFIG_AUX_DIR([scripts]) |
locale/pt_BR.po
@@ -5,7 +5,7 @@ msgid "" | @@ -5,7 +5,7 @@ msgid "" | ||
5 | msgstr "" | 5 | 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: 2020-10-29 19:50-0300\n" | 8 | +"POT-Creation-Date: 2020-11-03 15:48-0300\n" |
9 | "PO-Revision-Date: 2020-10-15 13:45-0300\n" | 9 | "PO-Revision-Date: 2020-10-15 13:45-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 <>\n" | 11 | "Language-Team: Português <>\n" |
@@ -25,11 +25,11 @@ msgstr "" | @@ -25,11 +25,11 @@ msgstr "" | ||
25 | msgid "\"%s\" is not a valid user interface name" | 25 | msgid "\"%s\" is not a valid user interface name" |
26 | msgstr "\"%s\" não é um nome válido para interface de usuário" | 26 | msgstr "\"%s\" não é um nome válido para interface de usuário" |
27 | 27 | ||
28 | -#: src/objects/application/actions/about.c:93 | 28 | +#: src/objects/application/actions/about.c:136 |
29 | msgid "32 bits Linux" | 29 | msgid "32 bits Linux" |
30 | msgstr "Linux 32 bits" | 30 | msgstr "Linux 32 bits" |
31 | 31 | ||
32 | -#: src/objects/application/actions/about.c:91 | 32 | +#: src/objects/application/actions/about.c:134 |
33 | msgid "32 bits Windows" | 33 | msgid "32 bits Windows" |
34 | msgstr "Windows 32 bits" | 34 | msgstr "Windows 32 bits" |
35 | 35 | ||
@@ -37,20 +37,20 @@ msgstr "Windows 32 bits" | @@ -37,20 +37,20 @@ msgstr "Windows 32 bits" | ||
37 | msgid "3270 session files" | 37 | msgid "3270 session files" |
38 | msgstr "Arquivos de sessão TN3270" | 38 | msgstr "Arquivos de sessão TN3270" |
39 | 39 | ||
40 | -#: src/objects/application/actions/about.c:87 | 40 | +#: src/objects/application/actions/about.c:130 |
41 | #, c-format | 41 | #, c-format |
42 | msgid "3270 terminal emulator for %s." | 42 | msgid "3270 terminal emulator for %s." |
43 | msgstr "Emulador 3270 para %s" | 43 | msgstr "Emulador 3270 para %s" |
44 | 44 | ||
45 | -#: src/objects/application/actions/about.c:95 | 45 | +#: src/objects/application/actions/about.c:138 |
46 | msgid "64 bits Linux" | 46 | msgid "64 bits Linux" |
47 | msgstr "Linux 64 bits" | 47 | msgstr "Linux 64 bits" |
48 | 48 | ||
49 | -#: src/objects/application/actions/about.c:89 | 49 | +#: src/objects/application/actions/about.c:132 |
50 | msgid "64 bits Windows" | 50 | msgid "64 bits Windows" |
51 | msgstr "Windows 64 bits" | 51 | msgstr "Windows 64 bits" |
52 | 52 | ||
53 | -#: src/objects/application/actions/about.c:188 ui/application.xml:39 | 53 | +#: src/objects/application/actions/about.c:231 ui/application.xml:39 |
54 | #: ui/application.xml:537 | 54 | #: ui/application.xml:537 |
55 | msgid "About PW3270" | 55 | msgid "About PW3270" |
56 | msgstr "Sobre o PW3270" | 56 | msgstr "Sobre o PW3270" |
@@ -75,7 +75,7 @@ msgstr "Todos os arquivos" | @@ -75,7 +75,7 @@ msgstr "Todos os arquivos" | ||
75 | msgid "Append to copy" | 75 | msgid "Append to copy" |
76 | msgstr "Adicionar à cópia" | 76 | msgstr "Adicionar à cópia" |
77 | 77 | ||
78 | -#: src/objects/application/actions/about.c:129 | 78 | +#: src/objects/application/actions/about.c:172 |
79 | msgid "Apple version" | 79 | msgid "Apple version" |
80 | msgstr "Versão Apple" | 80 | msgstr "Versão Apple" |
81 | 81 | ||
@@ -103,7 +103,7 @@ msgstr "Reconectar automaticamente" | @@ -103,7 +103,7 @@ msgstr "Reconectar automaticamente" | ||
103 | msgid "Available" | 103 | msgid "Available" |
104 | msgstr "Disponível" | 104 | msgstr "Disponível" |
105 | 105 | ||
106 | -#: src/objects/application/actions/about.c:132 | 106 | +#: src/objects/application/actions/about.c:175 |
107 | msgid "Based on X3270 from" | 107 | msgid "Based on X3270 from" |
108 | msgstr "Baseado no X3270 por" | 108 | msgstr "Baseado no X3270 por" |
109 | 109 | ||
@@ -194,7 +194,7 @@ msgstr "Conectar ao servidor" | @@ -194,7 +194,7 @@ msgstr "Conectar ao servidor" | ||
194 | msgid "Connected to host" | 194 | msgid "Connected to host" |
195 | msgstr "Conectado no servidor" | 195 | msgstr "Conectado no servidor" |
196 | 196 | ||
197 | -#: src/objects/application/actions/about.c:130 | 197 | +#: src/objects/application/actions/about.c:173 |
198 | msgid "Contributors" | 198 | msgid "Contributors" |
199 | msgstr "Contribuidores" | 199 | msgstr "Contribuidores" |
200 | 200 | ||
@@ -407,7 +407,7 @@ msgstr "Largura do painel em colunas" | @@ -407,7 +407,7 @@ msgstr "Largura do painel em colunas" | ||
407 | msgid "Keypads" | 407 | msgid "Keypads" |
408 | msgstr "Painéis" | 408 | msgstr "Painéis" |
409 | 409 | ||
410 | -#: src/objects/application/actions/about.c:140 | 410 | +#: src/objects/application/actions/about.c:183 |
411 | msgid "LICENSE" | 411 | msgid "LICENSE" |
412 | msgstr "LICENCA" | 412 | msgstr "LICENCA" |
413 | 413 | ||
@@ -439,7 +439,7 @@ msgstr "Barra de ferramentas" | @@ -439,7 +439,7 @@ msgstr "Barra de ferramentas" | ||
439 | msgid "Main menu" | 439 | msgid "Main menu" |
440 | msgstr "Menu principal" | 440 | msgstr "Menu principal" |
441 | 441 | ||
442 | -#: src/objects/application/actions/about.c:128 | 442 | +#: src/objects/application/actions/about.c:171 |
443 | msgid "Maintainers" | 443 | msgid "Maintainers" |
444 | msgstr "Mantenedores" | 444 | msgstr "Mantenedores" |
445 | 445 | ||
@@ -923,7 +923,7 @@ msgstr "Remover seleção" | @@ -923,7 +923,7 @@ msgstr "Remover seleção" | ||
923 | msgid "Use +/- for field navigation" | 923 | msgid "Use +/- for field navigation" |
924 | msgstr "Usar teclas +/- para navegar por campos" | 924 | msgstr "Usar teclas +/- para navegar por campos" |
925 | 925 | ||
926 | -#: src/objects/application/actions/about.c:70 | 926 | +#: src/objects/application/actions/about.c:113 |
927 | #, c-format | 927 | #, c-format |
928 | msgid "Version %s-%s" | 928 | msgid "Version %s-%s" |
929 | msgstr "Versão %s-%s" | 929 | msgstr "Versão %s-%s" |
@@ -933,7 +933,7 @@ msgstr "Versão %s-%s" | @@ -933,7 +933,7 @@ msgstr "Versão %s-%s" | ||
933 | msgid "View" | 933 | msgid "View" |
934 | msgstr "Exibir" | 934 | msgstr "Exibir" |
935 | 935 | ||
936 | -#: src/objects/application/actions/about.c:163 | 936 | +#: src/objects/application/actions/about.c:206 |
937 | msgid "View this project on github" | 937 | msgid "View this project on github" |
938 | msgstr "Portal do Software Público Brasileiro" | 938 | msgstr "Portal do Software Público Brasileiro" |
939 | 939 | ||
@@ -998,11 +998,11 @@ msgstr "_Salvar" | @@ -998,11 +998,11 @@ msgstr "_Salvar" | ||
998 | msgid "_View" | 998 | msgid "_View" |
999 | msgstr "_Exibir" | 999 | msgstr "_Exibir" |
1000 | 1000 | ||
1001 | -#: src/objects/application/actions/about.c:162 | 1001 | +#: src/objects/application/actions/about.c:205 |
1002 | msgid "https://github.com/PerryWerneck/pw3270" | 1002 | msgid "https://github.com/PerryWerneck/pw3270" |
1003 | msgstr "https://portal.softwarepublico.gov.br/social/pw3270/" | 1003 | msgstr "https://portal.softwarepublico.gov.br/social/pw3270/" |
1004 | 1004 | ||
1005 | -#: src/objects/application/actions/about.c:165 | 1005 | +#: src/objects/application/actions/about.c:208 |
1006 | msgid "translator-credits" | 1006 | msgid "translator-credits" |
1007 | msgstr "translator-credits" | 1007 | msgstr "translator-credits" |
1008 | 1008 |
locale/pw3270.pot
@@ -8,7 +8,7 @@ msgid "" | @@ -8,7 +8,7 @@ msgid "" | ||
8 | msgstr "" | 8 | msgstr "" |
9 | "Project-Id-Version: PACKAGE VERSION\n" | 9 | "Project-Id-Version: PACKAGE VERSION\n" |
10 | "Report-Msgid-Bugs-To: \n" | 10 | "Report-Msgid-Bugs-To: \n" |
11 | -"POT-Creation-Date: 2020-10-29 19:50-0300\n" | 11 | +"POT-Creation-Date: 2020-11-03 15:50-0300\n" |
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
14 | "Language-Team: LANGUAGE <LL@li.org>\n" | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
@@ -22,11 +22,11 @@ msgstr "" | @@ -22,11 +22,11 @@ msgstr "" | ||
22 | msgid "\"%s\" is not a valid user interface name" | 22 | msgid "\"%s\" is not a valid user interface name" |
23 | msgstr "" | 23 | msgstr "" |
24 | 24 | ||
25 | -#: src/objects/application/actions/about.c:93 | 25 | +#: src/objects/application/actions/about.c:136 |
26 | msgid "32 bits Linux" | 26 | msgid "32 bits Linux" |
27 | msgstr "" | 27 | msgstr "" |
28 | 28 | ||
29 | -#: src/objects/application/actions/about.c:91 | 29 | +#: src/objects/application/actions/about.c:134 |
30 | msgid "32 bits Windows" | 30 | msgid "32 bits Windows" |
31 | msgstr "" | 31 | msgstr "" |
32 | 32 | ||
@@ -34,20 +34,20 @@ msgstr "" | @@ -34,20 +34,20 @@ msgstr "" | ||
34 | msgid "3270 session files" | 34 | msgid "3270 session files" |
35 | msgstr "" | 35 | msgstr "" |
36 | 36 | ||
37 | -#: src/objects/application/actions/about.c:87 | 37 | +#: src/objects/application/actions/about.c:130 |
38 | #, c-format | 38 | #, c-format |
39 | msgid "3270 terminal emulator for %s." | 39 | msgid "3270 terminal emulator for %s." |
40 | msgstr "" | 40 | msgstr "" |
41 | 41 | ||
42 | -#: src/objects/application/actions/about.c:95 | 42 | +#: src/objects/application/actions/about.c:138 |
43 | msgid "64 bits Linux" | 43 | msgid "64 bits Linux" |
44 | msgstr "" | 44 | msgstr "" |
45 | 45 | ||
46 | -#: src/objects/application/actions/about.c:89 | 46 | +#: src/objects/application/actions/about.c:132 |
47 | msgid "64 bits Windows" | 47 | msgid "64 bits Windows" |
48 | msgstr "" | 48 | msgstr "" |
49 | 49 | ||
50 | -#: src/objects/application/actions/about.c:188 ui/application.xml:39 | 50 | +#: src/objects/application/actions/about.c:231 ui/application.xml:39 |
51 | #: ui/application.xml:537 | 51 | #: ui/application.xml:537 |
52 | msgid "About PW3270" | 52 | msgid "About PW3270" |
53 | msgstr "" | 53 | msgstr "" |
@@ -72,7 +72,7 @@ msgstr "" | @@ -72,7 +72,7 @@ msgstr "" | ||
72 | msgid "Append to copy" | 72 | msgid "Append to copy" |
73 | msgstr "" | 73 | msgstr "" |
74 | 74 | ||
75 | -#: src/objects/application/actions/about.c:129 | 75 | +#: src/objects/application/actions/about.c:172 |
76 | msgid "Apple version" | 76 | msgid "Apple version" |
77 | msgstr "" | 77 | msgstr "" |
78 | 78 | ||
@@ -100,7 +100,7 @@ msgstr "" | @@ -100,7 +100,7 @@ msgstr "" | ||
100 | msgid "Available" | 100 | msgid "Available" |
101 | msgstr "" | 101 | msgstr "" |
102 | 102 | ||
103 | -#: src/objects/application/actions/about.c:132 | 103 | +#: src/objects/application/actions/about.c:175 |
104 | msgid "Based on X3270 from" | 104 | msgid "Based on X3270 from" |
105 | msgstr "" | 105 | msgstr "" |
106 | 106 | ||
@@ -191,7 +191,7 @@ msgstr "" | @@ -191,7 +191,7 @@ msgstr "" | ||
191 | msgid "Connected to host" | 191 | msgid "Connected to host" |
192 | msgstr "" | 192 | msgstr "" |
193 | 193 | ||
194 | -#: src/objects/application/actions/about.c:130 | 194 | +#: src/objects/application/actions/about.c:173 |
195 | msgid "Contributors" | 195 | msgid "Contributors" |
196 | msgstr "" | 196 | msgstr "" |
197 | 197 | ||
@@ -404,7 +404,7 @@ msgstr "" | @@ -404,7 +404,7 @@ msgstr "" | ||
404 | msgid "Keypads" | 404 | msgid "Keypads" |
405 | msgstr "" | 405 | msgstr "" |
406 | 406 | ||
407 | -#: src/objects/application/actions/about.c:140 | 407 | +#: src/objects/application/actions/about.c:183 |
408 | msgid "LICENSE" | 408 | msgid "LICENSE" |
409 | msgstr "" | 409 | msgstr "" |
410 | 410 | ||
@@ -436,7 +436,7 @@ msgstr "" | @@ -436,7 +436,7 @@ msgstr "" | ||
436 | msgid "Main menu" | 436 | msgid "Main menu" |
437 | msgstr "" | 437 | msgstr "" |
438 | 438 | ||
439 | -#: src/objects/application/actions/about.c:128 | 439 | +#: src/objects/application/actions/about.c:171 |
440 | msgid "Maintainers" | 440 | msgid "Maintainers" |
441 | msgstr "" | 441 | msgstr "" |
442 | 442 | ||
@@ -918,7 +918,7 @@ msgstr "" | @@ -918,7 +918,7 @@ msgstr "" | ||
918 | msgid "Use +/- for field navigation" | 918 | msgid "Use +/- for field navigation" |
919 | msgstr "" | 919 | msgstr "" |
920 | 920 | ||
921 | -#: src/objects/application/actions/about.c:70 | 921 | +#: src/objects/application/actions/about.c:113 |
922 | #, c-format | 922 | #, c-format |
923 | msgid "Version %s-%s" | 923 | msgid "Version %s-%s" |
924 | msgstr "" | 924 | msgstr "" |
@@ -928,7 +928,7 @@ msgstr "" | @@ -928,7 +928,7 @@ msgstr "" | ||
928 | msgid "View" | 928 | msgid "View" |
929 | msgstr "" | 929 | msgstr "" |
930 | 930 | ||
931 | -#: src/objects/application/actions/about.c:163 | 931 | +#: src/objects/application/actions/about.c:206 |
932 | msgid "View this project on github" | 932 | msgid "View this project on github" |
933 | msgstr "" | 933 | msgstr "" |
934 | 934 | ||
@@ -993,10 +993,10 @@ msgstr "" | @@ -993,10 +993,10 @@ msgstr "" | ||
993 | msgid "_View" | 993 | msgid "_View" |
994 | msgstr "" | 994 | msgstr "" |
995 | 995 | ||
996 | -#: src/objects/application/actions/about.c:162 | 996 | +#: src/objects/application/actions/about.c:205 |
997 | msgid "https://github.com/PerryWerneck/pw3270" | 997 | msgid "https://github.com/PerryWerneck/pw3270" |
998 | msgstr "" | 998 | msgstr "" |
999 | 999 | ||
1000 | -#: src/objects/application/actions/about.c:165 | 1000 | +#: src/objects/application/actions/about.c:208 |
1001 | msgid "translator-credits" | 1001 | msgid "translator-credits" |
1002 | msgstr "" | 1002 | msgstr "" |
pw3270.cbp
@@ -199,9 +199,6 @@ | @@ -199,9 +199,6 @@ | ||
199 | <Unit filename="src/objects/window/window.c"> | 199 | <Unit filename="src/objects/window/window.c"> |
200 | <Option compilerVar="CC" /> | 200 | <Option compilerVar="CC" /> |
201 | </Unit> | 201 | </Unit> |
202 | - <Unit filename="src/tools/entry.c"> | ||
203 | - <Option compilerVar="CC" /> | ||
204 | - </Unit> | ||
205 | <Unit filename="ui/application.xml" /> | 202 | <Unit filename="ui/application.xml" /> |
206 | <Unit filename="ui/window.xml" /> | 203 | <Unit filename="ui/window.xml" /> |
207 | <Extensions> | 204 | <Extensions> |
rpm/_service
@@ -13,7 +13,6 @@ | @@ -13,7 +13,6 @@ | ||
13 | </service> | 13 | </service> |
14 | 14 | ||
15 | <!-- https://github.com/openSUSE/obs-service-extract_file --> | 15 | <!-- https://github.com/openSUSE/obs-service-extract_file --> |
16 | - <!-- | ||
17 | <service name="extract_file"> | 16 | <service name="extract_file"> |
18 | <param name="archive">*.tar</param> | 17 | <param name="archive">*.tar</param> |
19 | <param name="files">*/rpm/pw3270.spec</param> | 18 | <param name="files">*/rpm/pw3270.spec</param> |
@@ -59,7 +58,6 @@ | @@ -59,7 +58,6 @@ | ||
59 | <param name="files">*/arch/PKGBUILD</param> | 58 | <param name="files">*/arch/PKGBUILD</param> |
60 | <param name="outfilename">PKGBUILD</param> | 59 | <param name="outfilename">PKGBUILD</param> |
61 | </service> | 60 | </service> |
62 | - --> | ||
63 | 61 | ||
64 | <service name="recompress"> | 62 | <service name="recompress"> |
65 | <param name="file">*.tar</param> | 63 | <param name="file">*.tar</param> |
@@ -68,4 +66,4 @@ | @@ -68,4 +66,4 @@ | ||
68 | 66 | ||
69 | <service name="set_version" /> | 67 | <service name="set_version" /> |
70 | 68 | ||
71 | -</services> | ||
72 | \ No newline at end of file | 69 | \ No newline at end of file |
70 | +</services> |
schemas/linux/application.gschema.xml.in
@@ -38,6 +38,24 @@ | @@ -38,6 +38,24 @@ | ||
38 | <description>The ID of the current user interface style</description> | 38 | <description>The ID of the current user interface style</description> |
39 | </key> | 39 | </key> |
40 | 40 | ||
41 | + <key name="allow-host-settings" type="b"> | ||
42 | + <default>true</default> | ||
43 | + <summary>Allow host settings</summary> | ||
44 | + <description>Allow changing of host session properties</description> | ||
45 | + </key> | ||
46 | + | ||
47 | + <key name="allow-new-tab-actions" type="b"> | ||
48 | + <default>true</default> | ||
49 | + <summary>Enable new tab actions</summary> | ||
50 | + <description>Enable new tab actions</description> | ||
51 | + </key> | ||
52 | + | ||
53 | + <key name="allow-new-window-actions" type="b"> | ||
54 | + <default>true</default> | ||
55 | + <summary>Enable new window actions</summary> | ||
56 | + <description>Enable new window actions</description> | ||
57 | + </key> | ||
58 | + | ||
41 | </schema> | 59 | </schema> |
42 | 60 | ||
43 | </schemalist> | 61 | </schemalist> |
schemas/windows/application.gschema.xml.in
@@ -38,6 +38,12 @@ | @@ -38,6 +38,12 @@ | ||
38 | <description>The ID of the current user interface style</description> | 38 | <description>The ID of the current user interface style</description> |
39 | </key> | 39 | </key> |
40 | 40 | ||
41 | + <key name="allow-host-settings" type="b"> | ||
42 | + <default>true</default> | ||
43 | + <summary>Allow host settings</summary> | ||
44 | + <description>Allow changing of host session properties</description> | ||
45 | + </key> | ||
46 | + | ||
41 | <key name="gtk-csd" type="i"> | 47 | <key name="gtk-csd" type="i"> |
42 | <default>0</default> | 48 | <default>0</default> |
43 | <summary>GTK CSD</summary> | 49 | <summary>GTK CSD</summary> |
src/objects/application/actions/about.c
@@ -31,10 +31,18 @@ | @@ -31,10 +31,18 @@ | ||
31 | #include <pw3270/actions.h> | 31 | #include <pw3270/actions.h> |
32 | #include <pw3270/application.h> | 32 | #include <pw3270/application.h> |
33 | 33 | ||
34 | - static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication G_GNUC_UNUSED(*application)) { | 34 | + static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication *application) { |
35 | 35 | ||
36 | GtkAboutDialog * dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new()); | 36 | GtkAboutDialog * dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new()); |
37 | 37 | ||
38 | + if(GTK_IS_APPLICATION(application)) { | ||
39 | + | ||
40 | + gtk_window_set_transient_for(GTK_WINDOW(dialog),gtk_application_get_active_window(GTK_APPLICATION(application))); | ||
41 | + gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog),TRUE); | ||
42 | + gtk_window_set_modal(GTK_WINDOW(dialog),TRUE); | ||
43 | + | ||
44 | + } | ||
45 | + | ||
38 | // Get application logo | 46 | // Get application logo |
39 | { | 47 | { |
40 | #ifdef DEBUG | 48 | #ifdef DEBUG |
src/objects/application/application.c
@@ -352,14 +352,15 @@ | @@ -352,14 +352,15 @@ | ||
352 | 352 | ||
353 | G_APPLICATION_CLASS(pw3270Application_parent_class)->startup(application); | 353 | G_APPLICATION_CLASS(pw3270Application_parent_class)->startup(application); |
354 | 354 | ||
355 | + g_autoptr(GSettings) settings = pw3270_application_get_settings(application); | ||
356 | + | ||
357 | + // | ||
358 | + // Common actions | ||
359 | + // | ||
355 | GAction * actions[] = { | 360 | GAction * actions[] = { |
356 | pw3270_about_action_new(), | 361 | pw3270_about_action_new(), |
357 | pw3270_preferences_action_new(), | 362 | pw3270_preferences_action_new(), |
358 | - pw3270_new_tab_action_new(), | ||
359 | - pw3270_new_window_action_new(), | ||
360 | - pw3270_quit_action_new(), | ||
361 | - pw3270_open_window_action_new(), | ||
362 | - pw3270_open_tab_action_new() | 363 | + pw3270_quit_action_new() |
363 | }; | 364 | }; |
364 | 365 | ||
365 | for(ix = 0; ix < G_N_ELEMENTS(actions); ix++) { | 366 | for(ix = 0; ix < G_N_ELEMENTS(actions); ix++) { |
@@ -367,6 +368,38 @@ | @@ -367,6 +368,38 @@ | ||
367 | } | 368 | } |
368 | 369 | ||
369 | // | 370 | // |
371 | + // New tab actions | ||
372 | + // | ||
373 | + if(g_settings_get_boolean(settings,"allow-new-tab-actions")) { | ||
374 | + | ||
375 | + GAction * new_tab_actions[] = { | ||
376 | + pw3270_open_tab_action_new(), | ||
377 | + pw3270_new_tab_action_new() | ||
378 | + }; | ||
379 | + | ||
380 | + for(ix = 0; ix < G_N_ELEMENTS(new_tab_actions); ix++) { | ||
381 | + g_action_map_add_action(G_ACTION_MAP(application),new_tab_actions[ix]); | ||
382 | + } | ||
383 | + | ||
384 | + } | ||
385 | + | ||
386 | + // | ||
387 | + // New window actions | ||
388 | + // | ||
389 | + if(g_settings_get_boolean(settings,"allow-new-window-actions")) { | ||
390 | + | ||
391 | + GAction * new_window_actions[] = { | ||
392 | + pw3270_open_window_action_new(), | ||
393 | + pw3270_new_window_action_new() | ||
394 | + }; | ||
395 | + | ||
396 | + for(ix = 0; ix < G_N_ELEMENTS(new_window_actions); ix++) { | ||
397 | + g_action_map_add_action(G_ACTION_MAP(application),new_window_actions[ix]); | ||
398 | + } | ||
399 | + | ||
400 | + } | ||
401 | + | ||
402 | + // | ||
370 | // Setup application menus | 403 | // Setup application menus |
371 | // | 404 | // |
372 | GtkBuilder * builder; | 405 | GtkBuilder * builder; |
src/objects/toolbar/actions.c
@@ -58,7 +58,7 @@ | @@ -58,7 +58,7 @@ | ||
58 | 58 | ||
59 | GtkWidget * window = gtk_widget_get_toplevel(toolbar); | 59 | GtkWidget * window = gtk_widget_get_toplevel(toolbar); |
60 | 60 | ||
61 | - if(window) { | 61 | + if(window && G_IS_ACTION_MAP(window)) { |
62 | 62 | ||
63 | GtkToolItem * item = NULL; | 63 | GtkToolItem * item = NULL; |
64 | GAction *action = g_action_map_lookup_action(G_ACTION_MAP(window), name); | 64 | GAction *action = g_action_map_lookup_action(G_ACTION_MAP(window), name); |
@@ -81,7 +81,7 @@ | @@ -81,7 +81,7 @@ | ||
81 | } | 81 | } |
82 | } | 82 | } |
83 | 83 | ||
84 | - debug("%s(%s)=%p",__FUNCTION__,name,action); | 84 | +// debug("%s(%s)=%p",__FUNCTION__,name,action); |
85 | 85 | ||
86 | if(!action) { | 86 | if(!action) { |
87 | g_warning("Can't find action \"%s\"",name); | 87 | g_warning("Can't find action \"%s\"",name); |
src/objects/toolbar/models.c
@@ -190,7 +190,7 @@ | @@ -190,7 +190,7 @@ | ||
190 | const struct _contents *model = (const struct _contents *) g_object_get_data(menuitem, I_("pw3270_model_data")); | 190 | const struct _contents *model = (const struct _contents *) g_object_get_data(menuitem, I_("pw3270_model_data")); |
191 | const char *name = (const char *) g_object_get_data(menuitem, I_("pw3270_property_name")); | 191 | const char *name = (const char *) g_object_get_data(menuitem, I_("pw3270_property_name")); |
192 | 192 | ||
193 | - debug("%s(%s,%d)",__FUNCTION__,name,model->value); | 193 | +// debug("%s(%s,%d)",__FUNCTION__,name,model->value); |
194 | g_object_set(widget,name,model->value,NULL); | 194 | g_object_set(widget,name,model->value,NULL); |
195 | 195 | ||
196 | } | 196 | } |
@@ -210,7 +210,7 @@ | @@ -210,7 +210,7 @@ | ||
210 | const gchar * name = g_object_get_data(G_OBJECT(menu), I_("pw3270_property_name")); | 210 | const gchar * name = g_object_get_data(G_OBJECT(menu), I_("pw3270_property_name")); |
211 | g_object_get(widget,name,&value,NULL); | 211 | g_object_get(widget,name,&value,NULL); |
212 | 212 | ||
213 | - debug("%s(%p,%s)=%d",__FUNCTION__,widget,name,value); | 213 | +// debug("%s(%p,%s)=%d",__FUNCTION__,widget,name,value); |
214 | 214 | ||
215 | gtk_container_foreach(menu,(GtkCallback) set_toggle_menu_item,&value); | 215 | gtk_container_foreach(menu,(GtkCallback) set_toggle_menu_item,&value); |
216 | 216 |
src/objects/toolbar/toolbar.c
@@ -363,6 +363,13 @@ | @@ -363,6 +363,13 @@ | ||
363 | 363 | ||
364 | void pw3270_toolbar_set_actions(GtkWidget *toolbar, const gchar *action_names) { | 364 | void pw3270_toolbar_set_actions(GtkWidget *toolbar, const gchar *action_names) { |
365 | 365 | ||
366 | + // The action search requires a toplevel window. | ||
367 | + if(!gtk_widget_get_parent(toolbar)) { | ||
368 | + g_warning("Can't set actions on an orphan toolbar"); | ||
369 | + return; | ||
370 | + } | ||
371 | + | ||
372 | + // Split action names | ||
366 | size_t ix; | 373 | size_t ix; |
367 | gint pos = 0; | 374 | gint pos = 0; |
368 | 375 |
src/objects/window/actions/sessionproperties.c
@@ -53,18 +53,23 @@ | @@ -53,18 +53,23 @@ | ||
53 | 53 | ||
54 | size_t ix; | 54 | size_t ix; |
55 | 55 | ||
56 | + g_autoptr(GSettings) settings = pw3270_application_get_settings(g_application_get_default()); | ||
57 | + | ||
56 | GtkWidget * dialog = v3270_settings_dialog_new(); | 58 | GtkWidget * dialog = v3270_settings_dialog_new(); |
57 | gtk_window_set_title(GTK_WINDOW(dialog), action->label); | 59 | gtk_window_set_title(GTK_WINDOW(dialog), action->label); |
58 | 60 | ||
59 | // Add settings pages. | 61 | // Add settings pages. |
60 | GtkWidget * elements[] = { | 62 | GtkWidget * elements[] = { |
61 | - v3270_host_settings_new(), | ||
62 | v3270_color_settings_new(), | 63 | v3270_color_settings_new(), |
63 | v3270_font_settings_new(), | 64 | v3270_font_settings_new(), |
64 | v3270_accelerator_settings_new(), | 65 | v3270_accelerator_settings_new(), |
65 | v3270_clipboard_settings_new() | 66 | v3270_clipboard_settings_new() |
66 | }; | 67 | }; |
67 | 68 | ||
69 | + if(g_settings_get_boolean(settings,"allow-host-settings")) { | ||
70 | + gtk_container_add(GTK_CONTAINER(dialog), v3270_host_settings_new()); | ||
71 | + } | ||
72 | + | ||
68 | for(ix = 0; ix < G_N_ELEMENTS(elements); ix++) { | 73 | for(ix = 0; ix < G_N_ELEMENTS(elements); ix++) { |
69 | gtk_container_add(GTK_CONTAINER(dialog), elements[ix]); | 74 | gtk_container_add(GTK_CONTAINER(dialog), elements[ix]); |
70 | } | 75 | } |
src/objects/window/keyfile.c
@@ -90,6 +90,7 @@ | @@ -90,6 +90,7 @@ | ||
90 | 90 | ||
91 | strcpy(new_session->filename,filename); | 91 | strcpy(new_session->filename,filename); |
92 | new_session->key_file = g_key_file_new(); | 92 | new_session->key_file = g_key_file_new(); |
93 | + g_object_set_data_full(G_OBJECT(terminal),"session-descriptor",new_session,(GDestroyNotify) close_keyfile); | ||
93 | 94 | ||
94 | // Load file | 95 | // Load file |
95 | if(g_file_test(new_session->filename,G_FILE_TEST_IS_REGULAR)) { | 96 | if(g_file_test(new_session->filename,G_FILE_TEST_IS_REGULAR)) { |
@@ -120,46 +121,40 @@ | @@ -120,46 +121,40 @@ | ||
120 | #endif // DEBUG | 121 | #endif // DEBUG |
121 | } | 122 | } |
122 | 123 | ||
123 | - new_session->changed = TRUE; | ||
124 | - | ||
125 | } | 124 | } |
126 | 125 | ||
127 | - g_object_set_data_full(G_OBJECT(terminal),"session-descriptor",new_session,(GDestroyNotify) close_keyfile); | ||
128 | - if(new_session->changed) { | ||
129 | - v3270_key_file_save(terminal,error); | 126 | + if(*error) { |
127 | + g_warning("Error '%s' loading keyfile", (*error)->message); | ||
128 | + return new_session; | ||
130 | } | 129 | } |
131 | 130 | ||
132 | - if(!*error) { | 131 | + // Got key file, load it. |
132 | + v3270_load_key_file(terminal,new_session->key_file,NULL); | ||
133 | + v3270_accelerator_map_load_key_file(terminal,new_session->key_file,NULL); | ||
133 | 134 | ||
134 | - // Got key file, load it. | ||
135 | - v3270_load_key_file(terminal,new_session->key_file,NULL); | ||
136 | - v3270_accelerator_map_load_key_file(terminal,new_session->key_file,NULL); | 135 | + if(g_key_file_has_group(new_session->key_file,"environment")) { |
137 | 136 | ||
138 | - if(g_key_file_has_group(new_session->key_file,"environment")) { | 137 | + // Has environment group, set values. |
138 | + gchar **keys = g_key_file_get_keys(new_session->key_file,"environment",NULL,NULL); | ||
139 | 139 | ||
140 | - // Has environment group, set values. | ||
141 | - gchar **keys = g_key_file_get_keys(new_session->key_file,"environment",NULL,NULL); | ||
142 | - | ||
143 | - if(keys) { | ||
144 | - size_t ix; | ||
145 | - for(ix=0;keys[ix];ix++) { | ||
146 | - g_autofree gchar * value = g_key_file_get_string(new_session->key_file,"environment",keys[ix],NULL); | ||
147 | - if(value) { | 140 | + if(keys) { |
141 | + size_t ix; | ||
142 | + for(ix=0;keys[ix];ix++) { | ||
143 | + g_autofree gchar * value = g_key_file_get_string(new_session->key_file,"environment",keys[ix],NULL); | ||
144 | + if(value) { | ||
148 | #ifdef _WIN32 | 145 | #ifdef _WIN32 |
149 | - g_autofree gchar * env = g_strconcat(keys[ix],"=",value,NULL); | ||
150 | - putenv(env); | 146 | + g_autofree gchar * env = g_strconcat(keys[ix],"=",value,NULL); |
147 | + putenv(env); | ||
151 | #else | 148 | #else |
152 | - if(setenv(keys[ix],value,1)) { | ||
153 | - g_warning("Can't set \"%s\" to \"%s\"",keys[ix],value); | ||
154 | - } | ||
155 | -#endif // _WIN32 | 149 | + if(setenv(keys[ix],value,1)) { |
150 | + g_warning("Can't set \"%s\" to \"%s\"",keys[ix],value); | ||
156 | } | 151 | } |
152 | +#endif // _WIN32 | ||
157 | } | 153 | } |
158 | - | ||
159 | - g_strfreev(keys); | ||
160 | } | 154 | } |
161 | - } | ||
162 | 155 | ||
156 | + g_strfreev(keys); | ||
157 | + } | ||
163 | } | 158 | } |
164 | 159 | ||
165 | return new_session; | 160 | return new_session; |