Commit 5b665ed0607e0fc6f61116944a6f869c48f7547f

Authored by Perry Werneck
Committed by GitHub
2 parents 6a28096c e09b6029

Merge pull request #16 from PerryWerneck/develop

Small adjustments, readme update.
Makefile.in
... ... @@ -189,6 +189,7 @@ $(POTDIR)/$(PACKAGE_NAME)/%.pot: \
189 189 @$(MKDIR) $(@D)
190 190 @$(XGETTEXT) \
191 191 --language=C \
  192 + --from-code=UTF-8 \
192 193 --keyword=_ \
193 194 --keyword=N_ \
194 195 --keyword=MSG_:2 \
... ... @@ -280,8 +281,7 @@ strip: \
280 281 #---[ Install Targets ]------------------------------------------------------------------
281 282  
282 283 install: \
283   - install-application \
284   - install-keypads
  284 + install-application
285 285  
286 286 install-application: \
287 287 install-@OSNAME@-application \
... ... @@ -324,16 +324,6 @@ install-windows-application: \
324 324 $(BINRLS)/$(PACKAGE_NAME)@EXEEXT@ \
325 325 $(DESTDIR)/$(bindir)/$(PRODUCT_NAME)@EXEEXT@
326 326  
327   -
328   -install-keypads:
329   -
330   - @$(MKDIR) \
331   - $(DESTDIR)/$(datarootdir)/$(PRODUCT_NAME)/keypad
332   -
333   - @$(INSTALL_DATA) \
334   - keypad/*.xml \
335   - $(DESTDIR)/$(datarootdir)/$(PRODUCT_NAME)/keypad
336   -
337 327 install-icons:
338 328  
339 329 @$(MKDIR) \
... ... @@ -347,8 +337,7 @@ install-icons:
347 337  
348 338 locale/$(PACKAGE_NAME).pot: \
349 339 $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(PACKAGE_NAME)/$(SRC).pot) \
350   - $(foreach SRC, $(basename $(wildcard ui/*.xml)), $(POTDIR)/$(PACKAGE_NAME)/$(SRC).pot) \
351   - $(foreach SRC, $(basename $(wildcard keypad/*.xml)), $(POTDIR)/$(PACKAGE_NAME)/$(SRC).pot)
  340 + $(foreach SRC, $(basename $(wildcard ui/*.xml)), $(POTDIR)/$(PACKAGE_NAME)/$(SRC).pot)
352 341  
353 342 @rm -f $@
354 343 @$(MKDIR) $(@D)
... ...
README.md
... ... @@ -7,7 +7,11 @@ Created originally for Banco do Brasil, it's now an official Brazilian Governmen
7 7  
8 8 See more details at https://softwarepublico.gov.br/social/pw3270/
9 9  
  10 +<!-- https://github.com/igrigorik/ga-beacon -->
  11 +
  12 +[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
10 13 ![CodeQL](https://github.com/PerryWerneck/libv3270/workflows/CodeQL/badge.svg?branch=master)
  14 +![Analytics](https://ga-beacon.appspot.com/G-RSMGQ9Q5BG/github/pw3270)
11 15  
12 16 ## Installation
13 17  
... ...
branding/Makefile.in
... ... @@ -110,6 +110,7 @@ install: \
110 110  
111 111 install-linux: \
112 112 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/icons/$(PRODUCT_NAME).svg \
  113 + $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/icons/$(PRODUCT_NAME)-symbolic.svg \
113 114 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME)-logo.svg
114 115  
115 116 @$(INSTALL_DATA) \
... ... @@ -137,11 +138,20 @@ install-linux: \
137 138 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/icons/$(PRODUCT_NAME).svg \
138 139 $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/$(APPLICATION_ID).svg
139 140  
  141 + @$(MKDIR) $(DESTDIR)$(datarootdir)/icons/hicolor/symbolic/apps
  142 + @$(INSTALL_DATA) \
  143 + $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/icons/$(PRODUCT_NAME)-symbolic.svg \
  144 + $(DESTDIR)$(datarootdir)/icons/hicolor/symbolic/apps/$(APPLICATION_ID)-symbolic.svg
  145 +
140 146 @$(MKDIR) $(DESTDIR)$(datarootdir)/icons
141 147 @$(INSTALL_DATA) \
142 148 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/icons/$(PRODUCT_NAME).svg \
143 149 $(DESTDIR)$(datarootdir)/icons/$(APPLICATION_ID).svg
144 150  
  151 + @$(INSTALL_DATA) \
  152 + $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/icons/$(PRODUCT_NAME)-symbolic.svg \
  153 + $(DESTDIR)$(datarootdir)/icons/$(APPLICATION_ID)-symbolic.svg
  154 +
145 155 install-windows: \
146 156 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).svg \
147 157 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME)-logo.svg \
... ...
branding/launcher.desktop.in
... ... @@ -4,7 +4,7 @@ GenericName=@PRODUCT_NAME@
4 4 GenericName[pt_BR]=@PRODUCT_NAME@
5 5 Name=3270 Terminal
6 6 Name[pt_BR]=Terminal 3270
7   -Comment=IBM 3270 Terminal emulator
  7 +Comment=@PACKAGE_DESCRIPTION@
8 8 Comment[pt_BR]=Emulador de terminal IBM 3270
9 9 Exec=@PRODUCT_NAME@ %u
10 10 Icon=@APPLICATION_ID@
... ...
branding/pw3270-symbolic.svg 0 → 100644
... ... @@ -0,0 +1,87 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
  3 +
  4 +<svg
  5 + xmlns:dc="http://purl.org/dc/elements/1.1/"
  6 + xmlns:cc="http://creativecommons.org/ns#"
  7 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  8 + xmlns:svg="http://www.w3.org/2000/svg"
  9 + xmlns="http://www.w3.org/2000/svg"
  10 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  11 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  12 + width="256"
  13 + height="256"
  14 + id="svg2685"
  15 + sodipodi:version="0.32"
  16 + inkscape:version="0.92.2 5c3e80d, 2017-08-06"
  17 + sodipodi:docname="pw3270-symbolic.svg"
  18 + inkscape:output_extension="org.inkscape.output.svg.inkscape"
  19 + inkscape:export-filename="/home/perry/Project/3270/v4/image/icon.png"
  20 + inkscape:export-xdpi="90"
  21 + inkscape:export-ydpi="90"
  22 + version="1.1">
  23 + <defs
  24 + id="defs2687">
  25 + <inkscape:perspective
  26 + sodipodi:type="inkscape:persp3d"
  27 + inkscape:vp_x="0 : 32 : 1"
  28 + inkscape:vp_y="0 : 1000 : 0"
  29 + inkscape:vp_z="64 : 32 : 1"
  30 + inkscape:persp3d-origin="32 : 21.333333 : 1"
  31 + id="perspective2693" />
  32 + </defs>
  33 + <sodipodi:namedview
  34 + id="base"
  35 + pagecolor="#ffffff"
  36 + bordercolor="#666666"
  37 + borderopacity="1.0"
  38 + inkscape:pageopacity="0.0"
  39 + inkscape:pageshadow="2"
  40 + inkscape:zoom="0.97227183"
  41 + inkscape:cx="-113.33952"
  42 + inkscape:cy="27.885924"
  43 + inkscape:current-layer="layer1"
  44 + showgrid="true"
  45 + inkscape:document-units="px"
  46 + inkscape:grid-bbox="true"
  47 + inkscape:window-width="1366"
  48 + inkscape:window-height="715"
  49 + inkscape:window-x="0"
  50 + inkscape:window-y="27"
  51 + inkscape:window-maximized="1" />
  52 + <metadata
  53 + id="metadata2690">
  54 + <rdf:RDF>
  55 + <cc:Work
  56 + rdf:about="">
  57 + <dc:format>image/svg+xml</dc:format>
  58 + <dc:type
  59 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  60 + </cc:Work>
  61 + </rdf:RDF>
  62 + </metadata>
  63 + <g
  64 + id="layer1"
  65 + inkscape:label="Layer 1"
  66 + inkscape:groupmode="layer"
  67 + transform="translate(0,192)">
  68 + <path
  69 + inkscape:connector-curvature="0"
  70 + style="fill:#ffffff;stroke:#000000;stroke-width:20.012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
  71 + d="m 215.73349,-178.39423 c -63.65448,7.56185 -128.080618,8.12669 -191.369345,18.74807 6.002278,47.43867 5.074431,117.445356 8.451632,152.5836602 C 92.671335,-14.675161 172.82395,-20.217278 231.63583,-34.156208 231.44928,-79.065631 226.31064,-131.08087 215.73349,-178.39423 Z"
  72 + id="path3877"
  73 + sodipodi:nodetypes="ccccc"
  74 + inkscape:export-filename="/home/perry/Desktop/path4684.png"
  75 + inkscape:export-xdpi="750"
  76 + inkscape:export-ydpi="750" />
  77 + <path
  78 + inkscape:connector-curvature="0"
  79 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.17758322"
  80 + d="m 148.09124,-4.1583611 c -19.63148,0.533757 -39.5877,0.5791127 -58.544024,6.6234753 C 78.51156,5.8828888 68.600371,14.069166 65.161575,25.368051 c -0.500672,5.786985 3.935015,11.330727 7.582933,15.654527 11.667736,11.893893 29.281562,14.640704 45.228212,14.977247 22.9149,0.03107 45.91641,-4.3792 67.13679,-13.047665 8.02655,-4.564662 17.29292,-10.673174 18.48206,-20.677198 C 200.49874,10.57875 188.72802,4.090047 177.88171,0.96216529 168.30504,-1.8800173 158.04488,-3.9876562 148.09124,-4.1583611 Z m 0.23092,7.2578328 c 14.43194,0.5011901 29.80046,1.1084689 42.01857,9.4996233 4.55581,3.023967 10.11446,9.199374 5.99078,14.70299 -3.9608,5.954739 -10.62347,9.329954 -16.6887,12.735716 -16.75264,8.135693 -36.05405,8.355792 -54.11465,5.507551 -47.266885,-2.099717 -23.84764,-34.410374 5.52174,-40.3896548 5.68814,-1.3175914 11.37898,-2.1007009 17.27226,-2.0562255 z"
  81 + id="path3879"
  82 + sodipodi:nodetypes="cccccccccccccccc"
  83 + inkscape:export-filename="/home/perry/Desktop/path4684.png"
  84 + inkscape:export-xdpi="750"
  85 + inkscape:export-ydpi="750" />
  86 + </g>
  87 +</svg>
... ...
configure.ac
... ... @@ -191,6 +191,27 @@ AC_DEFINE_UNQUOTED(APPLICATION_ID, $app_cv_application_id)
191 191 AC_SUBST(APPLICATION_ID,$app_cv_application_id)
192 192  
193 193 dnl ---------------------------------------------------------------------------
  194 +dnl Check for unstable version
  195 +dnl ---------------------------------------------------------------------------
  196 +AC_ARG_ENABLE([unstable],
  197 + [AS_HELP_STRING([--enable-unstable], [enable unstable features])],
  198 +[
  199 + app_cv_unstable="$enableval"
  200 +],[
  201 +
  202 + app_cv_unstable="no"
  203 +
  204 +])
  205 +
  206 +if test "$app_cv_unstable" == "yes"; then
  207 + AC_DEFINE(ENABLE_UNSTABLE_FEATURES)
  208 + AC_MSG_NOTICE([Enabling unstable features])
  209 +else
  210 + AC_MSG_NOTICE([Using only stable features])
  211 +fi
  212 +
  213 +
  214 +dnl ---------------------------------------------------------------------------
194 215 dnl Check for LIBV3270
195 216 dnl ---------------------------------------------------------------------------
196 217  
... ...
keypad/00-right.xml
... ... @@ -1,183 +0,0 @@
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<!--
3   -
4   - Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
5   - (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
6   - aplicativos mainframe. Registro no INPI sob o nome G3270.
7   -
8   - Copyright (C) <2008> <Banco do Brasil S.A.>
9   -
10   - Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
11   - os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
12   - Free Software Foundation.
13   -
14   - Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
15   - GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
16   - A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
17   - obter mais detalhes.
18   -
19   - Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
20   - programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
21   - St, Fifth Floor, Boston, MA 02110-1301 USA
22   -
23   -
24   - Contatos:
25   -
26   - perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
27   - erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
28   -
29   --->
30   -<interface>
31   -
32   - <keypad name="keypad_right" position="right" width='6'>
33   -
34   - <attribute name='label' translatable='yes'>Right keypad</attribute>
35   -
36   - <button width='2'>
37   - <attribute name="label" translatable="no">PF1</attribute>
38   - <attribute name="action">win.pfkey(1)</attribute>
39   - </button>
40   -
41   - <button width='2'>
42   - <attribute name="label" translatable="no">PF2</attribute>
43   - <attribute name="action">win.pfkey(2)</attribute>
44   - </button>
45   -
46   - <button width='2'>
47   - <attribute name="label" translatable="no">PF3</attribute>
48   - <attribute name="action">win.pfkey(3)</attribute>
49   - </button>
50   -
51   - <button width='2'>
52   - <attribute name="label" translatable="no">PF4</attribute>
53   - <attribute name="action">win.pfkey(4)</attribute>
54   - </button>
55   -
56   - <button width='2'>
57   - <attribute name="label" translatable="no">PF5</attribute>
58   - <attribute name="action">win.pfkey(5)</attribute>
59   - </button>
60   -
61   - <button width='2'>
62   - <attribute name="label" translatable="no">PF6</attribute>
63   - <attribute name="action">win.pfkey(6)</attribute>
64   - </button>
65   -
66   - <button width='2'>
67   - <attribute name="label" translatable="no">PF7</attribute>
68   - <attribute name="action">win.pfkey(7)</attribute>
69   - </button>
70   -
71   - <button width='2'>
72   - <attribute name="label" translatable="no">PF8</attribute>
73   - <attribute name="action">win.pfkey(8)</attribute>
74   - </button>
75   -
76   - <button width='2'>
77   - <attribute name="label" translatable="no">PF9</attribute>
78   - <attribute name="action">win.pfkey(9)</attribute>
79   - </button>
80   -
81   - <button width='2'>
82   - <attribute name="label" translatable="no">PF10</attribute>
83   - <attribute name="action">win.pfkey(10)</attribute>
84   - </button>
85   -
86   - <button width='2'>
87   - <attribute name="label" translatable="no">PF11</attribute>
88   - <attribute name="action">win.pfkey(11)</attribute>
89   - </button>
90   -
91   - <button width='2'>
92   - <attribute name="label" translatable="no">PF12</attribute>
93   - <attribute name="action">win.pfkey(12)</attribute>
94   - </button>
95   -
96   - <button column='2' width='2'>
97   - <attribute name="icon-name" translatable="no">gtk-go-up</attribute>
98   - <attribute name="action">win.up</attribute>
99   - </button>
100   -
101   - <button column='0' width='2'>
102   - <attribute name="icon-name" translatable="no">gtk-go-back</attribute>
103   - <attribute name="action">win.left</attribute>
104   - </button>
105   -
106   - <button width='2'>
107   - <attribute name="icon-name" translatable="no">gtk-goto-top</attribute>
108   - <attribute name="action">win.first-field</attribute>
109   - </button>
110   -
111   - <button width='2'>
112   - <attribute name="icon-name" translatable="no">gtk-go-forward</attribute>
113   - <attribute name="action">win.right</attribute>
114   - </button>
115   -
116   - <button column='2' width='2'>
117   - <attribute name="icon-name" translatable="no">gtk-go-down</attribute>
118   - <attribute name="action">win.down</attribute>
119   - </button>
120   -
121   - <button width='2' column='0'>
122   - <attribute name="label" translatable="no">PA1</attribute>
123   - <attribute name="action">win.pakey(1)</attribute>
124   - </button>
125   -
126   - <button width='2'>
127   - <attribute name="label" translatable="no">PA2</attribute>
128   - <attribute name="action">win.pakey(2)</attribute>
129   - </button>
130   -
131   - <button width='2'>
132   - <attribute name="label" translatable="no">PA3</attribute>
133   - <attribute name="action">win.pakey(3)</attribute>
134   - </button>
135   -
136   - <button width='3'>
137   - <attribute name="icon-name">go-first</attribute>
138   - <attribute name="action">win.previous-field</attribute>
139   - </button>
140   -
141   - <button width='3'>
142   - <attribute name="icon-name">go-last</attribute>
143   - <attribute name="action">win.next-field</attribute>
144   - </button>
145   -
146   - <button width='3'>
147   - <attribute name="label" translatable="Yes">Clear</attribute>
148   - <attribute name="action">win.clear</attribute>
149   - </button>
150   -
151   - <button width='3'>
152   - <attribute name="label" translatable="Yes">Reset</attribute>
153   - <attribute name="action">win.kybdreset</attribute>
154   - </button>
155   -
156   - <button width='3'>
157   - <attribute name="label" translatable="Yes">Erase\nEOF</attribute>
158   - <attribute name="action">win.erase-eof</attribute>
159   - </button>
160   -
161   - <button width='3'>
162   - <attribute name="label" translatable="Yes">Erase\nInput</attribute>
163   - <attribute name="action">win.erase-input</attribute>
164   - </button>
165   -
166   - <button width='3'>
167   - <attribute name="label" translatable="Yes">Attn</attribute>
168   - <attribute name="action">win.attn</attribute>
169   - </button>
170   -
171   - <button width='3'>
172   - <attribute name="label" translatable="Yes">Break</attribute>
173   - <attribute name="action">win.break</attribute>
174   - </button>
175   -
176   - <button width='6'>
177   - <attribute name="icon-name" translatable="no">gtk-ok</attribute>
178   - <attribute name="action">win.enter</attribute>
179   - </button>
180   -
181   - </keypad>
182   -
183   -</interface>
keypad/10-bottom.xml
... ... @@ -1,158 +0,0 @@
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<!--
3   -
4   - Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
5   - (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
6   - aplicativos mainframe. Registro no INPI sob o nome G3270.
7   -
8   - Copyright (C) <2008> <Banco do Brasil S.A.>
9   -
10   - Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
11   - os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
12   - Free Software Foundation.
13   -
14   - Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
15   - GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
16   - A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
17   - obter mais detalhes.
18   -
19   - Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
20   - programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
21   - St, Fifth Floor, Boston, MA 02110-1301 USA
22   -
23   -
24   - Contatos:
25   -
26   - perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
27   - erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
28   -
29   --->
30   -<interface>
31   -
32   - <keypad name="function_bar" position="bottom" width='12'>
33   -
34   - <attribute name='label' translatable='yes'>Function bar</attribute>
35   -
36   - <button>
37   - <attribute name="label" translatable="no">PF1</attribute>
38   - <attribute name="action">win.pfkey(1)</attribute>
39   - </button>
40   -
41   - <button>
42   - <attribute name="label" translatable="no">PF2</attribute>
43   - <attribute name="action">win.pfkey(2)</attribute>
44   - </button>
45   -
46   - <button>
47   - <attribute name="label" translatable="no">PF3</attribute>
48   - <attribute name="action">win.pfkey(3)</attribute>
49   - </button>
50   -
51   - <button>
52   - <attribute name="label" translatable="no">PF4</attribute>
53   - <attribute name="action">win.pfkey(4)</attribute>
54   - </button>
55   -
56   - <button>
57   - <attribute name="label" translatable="no">PF5</attribute>
58   - <attribute name="action">win.pfkey(5)</attribute>
59   - </button>
60   -
61   - <button>
62   - <attribute name="label" translatable="no">PF6</attribute>
63   - <attribute name="action">win.pfkey(6)</attribute>
64   - </button>
65   -
66   - <button>
67   - <attribute name="label" translatable="no">PF7</attribute>
68   - <attribute name="action">win.pfkey(7)</attribute>
69   - </button>
70   -
71   - <button>
72   - <attribute name="label" translatable="no">PF8</attribute>
73   - <attribute name="action">win.pfkey(8)</attribute>
74   - </button>
75   -
76   - <button>
77   - <attribute name="label" translatable="no">PF9</attribute>
78   - <attribute name="action">win.pfkey(9)</attribute>
79   - </button>
80   -
81   - <button>
82   - <attribute name="label" translatable="no">PF10</attribute>
83   - <attribute name="action">win.pfkey(10)</attribute>
84   - </button>
85   -
86   - <button>
87   - <attribute name="label" translatable="no">PF11</attribute>
88   - <attribute name="action">win.pfkey(11)</attribute>
89   - </button>
90   -
91   - <button>
92   - <attribute name="label" translatable="no">PF12</attribute>
93   - <attribute name="action">win.pfkey(12)</attribute>
94   - </button>
95   -
96   - <button>
97   - <attribute name="label" translatable="no">PF13</attribute>
98   - <attribute name="action">win.pfkey(13)</attribute>
99   - </button>
100   -
101   - <button>
102   - <attribute name="label" translatable="no">PF14</attribute>
103   - <attribute name="action">win.pfkey(14)</attribute>
104   - </button>
105   -
106   - <button>
107   - <attribute name="label" translatable="no">PF15</attribute>
108   - <attribute name="action">win.pfkey(15)</attribute>
109   - </button>
110   -
111   - <button>
112   - <attribute name="label" translatable="no">PF16</attribute>
113   - <attribute name="action">win.pfkey(16)</attribute>
114   - </button>
115   -
116   - <button>
117   - <attribute name="label" translatable="no">PF17</attribute>
118   - <attribute name="action">win.pfkey(17)</attribute>
119   - </button>
120   -
121   - <button>
122   - <attribute name="label" translatable="no">PF18</attribute>
123   - <attribute name="action">win.pfkey(18)</attribute>
124   - </button>
125   -
126   - <button>
127   - <attribute name="label" translatable="no">PF19</attribute>
128   - <attribute name="action">win.pfkey(19)</attribute>
129   - </button>
130   -
131   - <button>
132   - <attribute name="label" translatable="no">PF20</attribute>
133   - <attribute name="action">win.pfkey(20)</attribute>
134   - </button>
135   -
136   - <button>
137   - <attribute name="label" translatable="no">PF21</attribute>
138   - <attribute name="action">win.pfkey(21)</attribute>
139   - </button>
140   -
141   - <button>
142   - <attribute name="label" translatable="no">PF22</attribute>
143   - <attribute name="action">win.pfkey(22)</attribute>
144   - </button>
145   -
146   - <button>
147   - <attribute name="label" translatable="no">PF23</attribute>
148   - <attribute name="action">win.pfkey(23)</attribute>
149   - </button>
150   -
151   - <button>
152   - <attribute name="label" translatable="no">PF24</attribute>
153   - <attribute name="action">win.pfkey(24)</attribute>
154   - </button>
155   -
156   - </keypad>
157   -
158   -</interface>
locale/pt_BR.po
... ... @@ -5,8 +5,8 @@ msgid &quot;&quot;
5 5 msgstr ""
6 6 "Project-Id-Version: pw3270 5.0\n"
7 7 "Report-Msgid-Bugs-To: \n"
8   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
9   -"PO-Revision-Date: 2020-11-19 23:07-0300\n"
  8 +"POT-Creation-Date: 2020-12-22 17:41-0300\n"
  9 +"PO-Revision-Date: 2020-12-22 18:46-0300\n"
10 10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n"
11 11 "Language-Team: Português <>\n"
12 12 "Language: pt_BR\n"
... ... @@ -24,11 +24,16 @@ msgstr &quot;&quot;
24 24 msgid "\"%s\" is not a valid user interface name"
25 25 msgstr "\"%s\" não é um nome válido para interface de usuário"
26 26  
27   -#: src/objects/application/actions/about.c:136
  27 +#: src/objects/application/actions/about.c:110
  28 +#, c-format
  29 +msgid "%s for %s."
  30 +msgstr "%s para %s"
  31 +
  32 +#: src/objects/application/actions/about.c:117
28 33 msgid "32 bits Linux"
29 34 msgstr "Linux 32 bits"
30 35  
31   -#: src/objects/application/actions/about.c:134
  36 +#: src/objects/application/actions/about.c:115
32 37 msgid "32 bits Windows"
33 38 msgstr "Windows 32 bits"
34 39  
... ... @@ -36,16 +41,11 @@ msgstr &quot;Windows 32 bits&quot;
36 41 msgid "3270 session files"
37 42 msgstr "Arquivos de sessão TN3270"
38 43  
39   -#: src/objects/application/actions/about.c:130
40   -#, c-format
41   -msgid "3270 terminal emulator for %s."
42   -msgstr "Emulador 3270 para %s"
43   -
44   -#: src/objects/application/actions/about.c:138
  44 +#: src/objects/application/actions/about.c:119
45 45 msgid "64 bits Linux"
46 46 msgstr "Linux 64 bits"
47 47  
48   -#: src/objects/application/actions/about.c:132
  48 +#: src/objects/application/actions/about.c:113
49 49 msgid "64 bits Windows"
50 50 msgstr "Windows 64 bits"
51 51  
... ... @@ -56,7 +56,7 @@ msgstr &quot;&quot;
56 56 "<small><b>Alterações na posição da barra de ferramentas só tem efeito apos "
57 57 "reinício da aplicação</b></small>"
58 58  
59   -#: src/objects/application/actions/about.c:231 ui/application.xml:39
  59 +#: src/objects/application/actions/about.c:210 ui/application.xml:39
60 60 #: ui/application.xml:537
61 61 msgid "About PW3270"
62 62 msgstr "Sobre o PW3270"
... ... @@ -81,7 +81,7 @@ msgstr &quot;Todos os arquivos&quot;
81 81 msgid "Append to copy"
82 82 msgstr "Adicionar à cópia"
83 83  
84   -#: src/objects/application/actions/about.c:172
  84 +#: src/objects/application/actions/about.c:153
85 85 msgid "Apple version"
86 86 msgstr "Versão Apple"
87 87  
... ... @@ -89,7 +89,7 @@ msgstr &quot;Versão Apple&quot;
89 89 msgid "Application"
90 90 msgstr "Aplicação"
91 91  
92   -#: src/objects/window/header-settings.c:121
  92 +#: src/objects/window/header-settings.c:119
93 93 msgid "Application menu"
94 94 msgstr "Menu da aplicação"
95 95  
... ... @@ -109,7 +109,7 @@ msgstr &quot;Reconectar automaticamente&quot;
109 109 msgid "Available"
110 110 msgstr "Disponível"
111 111  
112   -#: src/objects/application/actions/about.c:175
  112 +#: src/objects/application/actions/about.c:156
113 113 msgid "Based on X3270 from"
114 114 msgstr "Baseado no X3270 por"
115 115  
... ... @@ -204,7 +204,7 @@ msgstr &quot;Conectar ao servidor&quot;
204 204 msgid "Connected to host"
205 205 msgstr "Conectado no servidor"
206 206  
207   -#: src/objects/application/actions/about.c:173
  207 +#: src/objects/application/actions/about.c:154
208 208 msgid "Contributors"
209 209 msgstr "Contribuidores"
210 210  
... ... @@ -228,6 +228,10 @@ msgstr &quot;Copiar como tabela&quot;
228 228 msgid "Copy as text"
229 229 msgstr "Copiar como texto"
230 230  
  231 +#: src/objects/application/actions/about.c:160
  232 +msgid "Copyright © 2008 Banco do Brasil S.A."
  233 +msgstr ""
  234 +
231 235 #: src/objects/os/linux/savedesktopicon.c:114
232 236 msgid "Create shortcut for the current session"
233 237 msgstr "Criar atalho para a sessão atual."
... ... @@ -317,10 +321,6 @@ msgstr &quot;Tela cheia&quot;
317 321 msgid "Full screen"
318 322 msgstr "Tela cheia"
319 323  
320   -#: keypad/10-bottom.xml:34
321   -msgid "Function bar"
322   -msgstr "Barra de funções"
323   -
324 324 #: src/objects/os/linux/savedesktopicon.c:94
325 325 msgid "Generic name"
326 326 msgstr "Nome genérico"
... ... @@ -333,9 +333,10 @@ msgstr &quot;Ajuda&quot;
333 333 msgid "Host properties"
334 334 msgstr "Propriedades do Servidor"
335 335  
336   -#: src/objects/window/window.c:561 src/objects/os/linux/savedesktopicon.c:102
  336 +#: src/objects/application/actions/about.c:111 src/objects/window/window.c:561
  337 +#: src/objects/os/linux/savedesktopicon.c:102
337 338 msgid "IBM 3270 Terminal emulator"
338   -msgstr "Emulador 3270"
  339 +msgstr "Emulador de terminal IBM 3270"
339 340  
340 341 #: src/objects/actions/view.c:90
341 342 msgid "Icon"
... ... @@ -417,7 +418,7 @@ msgstr &quot;Largura do painel em colunas&quot;
417 418 msgid "Keypads"
418 419 msgstr "Painéis"
419 420  
420   -#: src/objects/application/actions/about.c:183
  421 +#: src/objects/application/actions/about.c:164
421 422 msgid "LICENSE"
422 423 msgstr "LICENCA"
423 424  
... ... @@ -449,7 +450,7 @@ msgstr &quot;Barra de ferramentas&quot;
449 450 msgid "Main menu"
450 451 msgstr "Menu principal"
451 452  
452   -#: src/objects/application/actions/about.c:171
  453 +#: src/objects/application/actions/about.c:152
453 454 msgid "Maintainers"
454 455 msgstr "Mantenedores"
455 456  
... ... @@ -602,10 +603,6 @@ msgstr &quot;Mudar tamanho do terminal em tela alternativa&quot;
602 603 msgid "Right"
603 604 msgstr "Direita"
604 605  
605   -#: keypad/00-right.xml:34
606   -msgid "Right keypad"
607   -msgstr "Painel direito"
608   -
609 606 #: ui/window.xml:69 ui/application.xml:134
610 607 msgid "Save"
611 608 msgstr "Salvar"
... ... @@ -676,7 +673,7 @@ msgstr &quot;Enviar/Receber&quot;
676 673 msgid "Send/Receive files"
677 674 msgstr "Enviar/Receber arquivos"
678 675  
679   -#: src/objects/toolbar/settings.c:248 src/objects/toolbar/settings.c:258
  676 +#: src/objects/toolbar/settings.c:247 src/objects/toolbar/settings.c:257
680 677 msgid "Separator"
681 678 msgstr "Separador"
682 679  
... ... @@ -949,11 +946,16 @@ msgstr &quot;Interface de usuário&quot;
949 946 msgid "Unselect"
950 947 msgstr "Remover seleção"
951 948  
  949 +#: src/objects/application/actions/about.c:90
  950 +#, c-format
  951 +msgid "Unstable version %s-%s"
  952 +msgstr "Versão instável %s-%s"
  953 +
952 954 #: ui/window.xml:374 ui/application.xml:514
953 955 msgid "Use +/- for field navigation"
954 956 msgstr "Usar teclas +/- para navegar por campos"
955 957  
956   -#: src/objects/application/actions/about.c:113
  958 +#: src/objects/application/actions/about.c:92
957 959 #, c-format
958 960 msgid "Version %s-%s"
959 961 msgstr "Versão %s-%s"
... ... @@ -963,7 +965,7 @@ msgstr &quot;Versão %s-%s&quot;
963 965 msgid "View"
964 966 msgstr "Exibir"
965 967  
966   -#: src/objects/application/actions/about.c:206
  968 +#: src/objects/application/actions/about.c:184
967 969 msgid "View this project on github"
968 970 msgstr "Portal do Software Público Brasileiro"
969 971  
... ... @@ -971,11 +973,11 @@ msgstr &quot;Portal do Software Público Brasileiro&quot;
971 973 msgid "Window with default session"
972 974 msgstr "Janela com sessão padrão"
973 975  
974   -#: src/objects/settings/dialog.c:79
  976 +#: src/objects/settings/dialog.c:80
975 977 msgid "_Apply"
976 978 msgstr "_Aplicar"
977 979  
978   -#: src/objects/actions/save.c:102 src/objects/settings/dialog.c:78
  980 +#: src/objects/actions/save.c:102 src/objects/settings/dialog.c:79
979 981 #: src/objects/os/linux/savedesktopicon.c:174
980 982 msgid "_Cancel"
981 983 msgstr "_Cancelar"
... ... @@ -1028,11 +1030,11 @@ msgstr &quot;_Salvar&quot;
1028 1030 msgid "_View"
1029 1031 msgstr "_Exibir"
1030 1032  
1031   -#: src/objects/application/actions/about.c:205
  1033 +#: src/objects/application/actions/about.c:183
1032 1034 msgid "https://github.com/PerryWerneck/pw3270"
1033 1035 msgstr "https://portal.softwarepublico.gov.br/social/pw3270/"
1034 1036  
1035   -#: src/objects/application/actions/about.c:208
  1037 +#: src/objects/application/actions/about.c:186
1036 1038 msgid "translator-credits"
1037 1039 msgstr "translator-credits"
1038 1040  
... ... @@ -1093,9 +1095,6 @@ msgstr &quot;translator-credits&quot;
1093 1095 #~ msgid "%s:%d"
1094 1096 #~ msgstr "%s:%d"
1095 1097  
1096   -#~ msgid "%s<b>%s</b> for %s"
1097   -#~ msgstr "%s<b>%s</b> para %s"
1098   -
1099 1098 #~ msgid "- 3270 Emulator for Gtk"
1100 1099 #~ msgstr "- Emulador 3270 para GTK"
1101 1100  
... ... @@ -1114,6 +1113,9 @@ msgstr &quot;translator-credits&quot;
1114 1113 #~ msgid "3270 screen"
1115 1114 #~ msgstr "Tela 3270"
1116 1115  
  1116 +#~ msgid "3270 terminal emulator for %s."
  1117 +#~ msgstr "Emulador 3270 para %s"
  1118 +
1117 1119 #~ msgid "3270-style backspace."
1118 1120 #~ msgstr "Backspace no estilo 3270"
1119 1121  
... ... @@ -2016,6 +2018,9 @@ msgstr &quot;translator-credits&quot;
2016 2018 #~ msgid "Full path of remote file"
2017 2019 #~ msgstr "Caminho completo do arquivo remoto"
2018 2020  
  2021 +#~ msgid "Function bar"
  2022 +#~ msgstr "Barra de funções"
  2023 +
2019 2024 #~ msgid "GTK Version mismatch"
2020 2025 #~ msgstr "Divergência de versão GTK"
2021 2026  
... ... @@ -2835,6 +2840,9 @@ msgstr &quot;translator-credits&quot;
2835 2840 #~ msgid "Revocation list"
2836 2841 #~ msgstr "Lista de revogados"
2837 2842  
  2843 +#~ msgid "Right keypad"
  2844 +#~ msgstr "Painel direito"
  2845 +
2838 2846 #~ msgid "SOCKS4 Proxy: client is not reachable"
2839 2847 #~ msgstr "SOCKS4 Proxy: client is not reachable"
2840 2848  
... ...
locale/pw3270.pot
... ... @@ -6,379 +6,15 @@
6 6 #, fuzzy
7 7 msgid ""
8 8 msgstr ""
9   -"#-#-#-#-# view.pot (PACKAGE VERSION) #-#-#-#-#\n"
10 9 "Project-Id-Version: PACKAGE VERSION\n"
11 10 "Report-Msgid-Bugs-To: \n"
12   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
  11 +"POT-Creation-Date: 2020-12-22 17:41-0300\n"
13 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14 13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15 14 "Language-Team: LANGUAGE <LL@li.org>\n"
16 15 "Language: \n"
17 16 "MIME-Version: 1.0\n"
18   -"Content-Type: text/plain; charset=CHARSET\n"
19   -"Content-Transfer-Encoding: 8bit\n"
20   -"#-#-#-#-# save.pot (PACKAGE VERSION) #-#-#-#-#\n"
21   -"Project-Id-Version: PACKAGE VERSION\n"
22   -"Report-Msgid-Bugs-To: \n"
23   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
24   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
25   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
26   -"Language-Team: LANGUAGE <LL@li.org>\n"
27   -"Language: \n"
28   -"MIME-Version: 1.0\n"
29   -"Content-Type: text/plain; charset=CHARSET\n"
30   -"Content-Transfer-Encoding: 8bit\n"
31   -"#-#-#-#-# abstract.pot (PACKAGE VERSION) #-#-#-#-#\n"
32   -"Project-Id-Version: PACKAGE VERSION\n"
33   -"Report-Msgid-Bugs-To: \n"
34   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
35   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
36   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
37   -"Language-Team: LANGUAGE <LL@li.org>\n"
38   -"Language: \n"
39   -"MIME-Version: 1.0\n"
40   -"Content-Type: text/plain; charset=CHARSET\n"
41   -"Content-Transfer-Encoding: 8bit\n"
42   -"#-#-#-#-# application.pot (PACKAGE VERSION) #-#-#-#-#\n"
43   -"Project-Id-Version: PACKAGE VERSION\n"
44   -"Report-Msgid-Bugs-To: \n"
45   -"POT-Creation-Date: 2020-11-19 23:06-0300\n"
46   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
47   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
48   -"Language-Team: LANGUAGE <LL@li.org>\n"
49   -"Language: \n"
50   -"MIME-Version: 1.0\n"
51   -"Content-Type: text/plain; charset=CHARSET\n"
52   -"Content-Transfer-Encoding: 8bit\n"
53   -"#-#-#-#-# window.pot (PACKAGE VERSION) #-#-#-#-#\n"
54   -"Project-Id-Version: PACKAGE VERSION\n"
55   -"Report-Msgid-Bugs-To: \n"
56   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
57   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
58   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
59   -"Language-Team: LANGUAGE <LL@li.org>\n"
60   -"Language: \n"
61   -"MIME-Version: 1.0\n"
62   -"Content-Type: text/plain; charset=CHARSET\n"
63   -"Content-Transfer-Encoding: 8bit\n"
64   -"#-#-#-#-# preferences.pot (PACKAGE VERSION) #-#-#-#-#\n"
65   -"Project-Id-Version: PACKAGE VERSION\n"
66   -"Report-Msgid-Bugs-To: \n"
67   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
68   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
69   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
70   -"Language-Team: LANGUAGE <LL@li.org>\n"
71   -"Language: \n"
72   -"MIME-Version: 1.0\n"
73   -"Content-Type: text/plain; charset=CHARSET\n"
74   -"Content-Transfer-Encoding: 8bit\n"
75   -"#-#-#-#-# open.pot (PACKAGE VERSION) #-#-#-#-#\n"
76   -"Project-Id-Version: PACKAGE VERSION\n"
77   -"Report-Msgid-Bugs-To: \n"
78   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
79   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
80   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
81   -"Language-Team: LANGUAGE <LL@li.org>\n"
82   -"Language: \n"
83   -"MIME-Version: 1.0\n"
84   -"Content-Type: text/plain; charset=CHARSET\n"
85   -"Content-Transfer-Encoding: 8bit\n"
86   -"#-#-#-#-# about.pot (PACKAGE VERSION) #-#-#-#-#\n"
87   -"Project-Id-Version: PACKAGE VERSION\n"
88   -"Report-Msgid-Bugs-To: \n"
89   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
90   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
91   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
92   -"Language-Team: LANGUAGE <LL@li.org>\n"
93   -"Language: \n"
94   -"MIME-Version: 1.0\n"
95   -"Content-Type: text/plain; charset=CHARSET\n"
96   -"Content-Transfer-Encoding: 8bit\n"
97   -"#-#-#-#-# window.pot (PACKAGE VERSION) #-#-#-#-#\n"
98   -"Project-Id-Version: PACKAGE VERSION\n"
99   -"Report-Msgid-Bugs-To: \n"
100   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
101   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
102   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
103   -"Language-Team: LANGUAGE <LL@li.org>\n"
104   -"Language: \n"
105   -"MIME-Version: 1.0\n"
106   -"Content-Type: text/plain; charset=CHARSET\n"
107   -"Content-Transfer-Encoding: 8bit\n"
108   -"#-#-#-#-# terminal.pot (PACKAGE VERSION) #-#-#-#-#\n"
109   -"Project-Id-Version: PACKAGE VERSION\n"
110   -"Report-Msgid-Bugs-To: \n"
111   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
112   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
113   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
114   -"Language-Team: LANGUAGE <LL@li.org>\n"
115   -"Language: \n"
116   -"MIME-Version: 1.0\n"
117   -"Content-Type: text/plain; charset=CHARSET\n"
118   -"Content-Transfer-Encoding: 8bit\n"
119   -"#-#-#-#-# page.pot (PACKAGE VERSION) #-#-#-#-#\n"
120   -"Project-Id-Version: PACKAGE VERSION\n"
121   -"Report-Msgid-Bugs-To: \n"
122   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
123   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
124   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
125   -"Language-Team: LANGUAGE <LL@li.org>\n"
126   -"Language: \n"
127   -"MIME-Version: 1.0\n"
128   -"Content-Type: text/plain; charset=CHARSET\n"
129   -"Content-Transfer-Encoding: 8bit\n"
130   -"#-#-#-#-# header-settings.pot (PACKAGE VERSION) #-#-#-#-#\n"
131   -"Project-Id-Version: PACKAGE VERSION\n"
132   -"Report-Msgid-Bugs-To: \n"
133   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
134   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
135   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
136   -"Language-Team: LANGUAGE <LL@li.org>\n"
137   -"Language: \n"
138   -"MIME-Version: 1.0\n"
139   -"Content-Type: text/plain; charset=CHARSET\n"
140   -"Content-Transfer-Encoding: 8bit\n"
141   -"#-#-#-#-# header.pot (PACKAGE VERSION) #-#-#-#-#\n"
142   -"Project-Id-Version: PACKAGE VERSION\n"
143   -"Report-Msgid-Bugs-To: \n"
144   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
145   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
146   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
147   -"Language-Team: LANGUAGE <LL@li.org>\n"
148   -"Language: \n"
149   -"MIME-Version: 1.0\n"
150   -"Content-Type: text/plain; charset=CHARSET\n"
151   -"Content-Transfer-Encoding: 8bit\n"
152   -"#-#-#-#-# setcolors.pot (PACKAGE VERSION) #-#-#-#-#\n"
153   -"Project-Id-Version: PACKAGE VERSION\n"
154   -"Report-Msgid-Bugs-To: \n"
155   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
156   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
157   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
158   -"Language-Team: LANGUAGE <LL@li.org>\n"
159   -"Language: \n"
160   -"MIME-Version: 1.0\n"
161   -"Content-Type: text/plain; charset=CHARSET\n"
162   -"Content-Transfer-Encoding: 8bit\n"
163   -"#-#-#-#-# sessionproperties.pot (PACKAGE VERSION) #-#-#-#-#\n"
164   -"Project-Id-Version: PACKAGE VERSION\n"
165   -"Report-Msgid-Bugs-To: \n"
166   -"POT-Creation-Date: 2020-11-19 23:06-0300\n"
167   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
168   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
169   -"Language-Team: LANGUAGE <LL@li.org>\n"
170   -"Language: \n"
171   -"MIME-Version: 1.0\n"
172   -"Content-Type: text/plain; charset=CHARSET\n"
173   -"Content-Transfer-Encoding: 8bit\n"
174   -"#-#-#-#-# hostproperties.pot (PACKAGE VERSION) #-#-#-#-#\n"
175   -"Project-Id-Version: PACKAGE VERSION\n"
176   -"Report-Msgid-Bugs-To: \n"
177   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
178   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
179   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
180   -"Language-Team: LANGUAGE <LL@li.org>\n"
181   -"Language: \n"
182   -"MIME-Version: 1.0\n"
183   -"Content-Type: text/plain; charset=CHARSET\n"
184   -"Content-Transfer-Encoding: 8bit\n"
185   -"#-#-#-#-# filetransfer.pot (PACKAGE VERSION) #-#-#-#-#\n"
186   -"Project-Id-Version: PACKAGE VERSION\n"
187   -"Report-Msgid-Bugs-To: \n"
188   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
189   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
190   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
191   -"Language-Team: LANGUAGE <LL@li.org>\n"
192   -"Language: \n"
193   -"MIME-Version: 1.0\n"
194   -"Content-Type: text/plain; charset=CHARSET\n"
195   -"Content-Transfer-Encoding: 8bit\n"
196   -"#-#-#-#-# connect.pot (PACKAGE VERSION) #-#-#-#-#\n"
197   -"Project-Id-Version: PACKAGE VERSION\n"
198   -"Report-Msgid-Bugs-To: \n"
199   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
200   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
201   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
202   -"Language-Team: LANGUAGE <LL@li.org>\n"
203   -"Language: \n"
204   -"MIME-Version: 1.0\n"
205   -"Content-Type: text/plain; charset=CHARSET\n"
206   -"Content-Transfer-Encoding: 8bit\n"
207   -"#-#-#-#-# close.pot (PACKAGE VERSION) #-#-#-#-#\n"
208   -"Project-Id-Version: PACKAGE VERSION\n"
209   -"Report-Msgid-Bugs-To: \n"
210   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
211   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
212   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
213   -"Language-Team: LANGUAGE <LL@li.org>\n"
214   -"Language: \n"
215   -"MIME-Version: 1.0\n"
216   -"Content-Type: text/plain; charset=CHARSET\n"
217   -"Content-Transfer-Encoding: 8bit\n"
218   -"#-#-#-#-# toolbar.pot (PACKAGE VERSION) #-#-#-#-#\n"
219   -"Project-Id-Version: PACKAGE VERSION\n"
220   -"Report-Msgid-Bugs-To: \n"
221   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
222   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
223   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
224   -"Language-Team: LANGUAGE <LL@li.org>\n"
225   -"Language: \n"
226   -"MIME-Version: 1.0\n"
227   -"Content-Type: text/plain; charset=CHARSET\n"
228   -"Content-Transfer-Encoding: 8bit\n"
229   -"#-#-#-#-# settings.pot (PACKAGE VERSION) #-#-#-#-#\n"
230   -"Project-Id-Version: PACKAGE VERSION\n"
231   -"Report-Msgid-Bugs-To: \n"
232   -"POT-Creation-Date: 2020-11-19 23:06-0300\n"
233   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
234   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
235   -"Language-Team: LANGUAGE <LL@li.org>\n"
236   -"Language: \n"
237   -"MIME-Version: 1.0\n"
238   -"Content-Type: text/plain; charset=CHARSET\n"
239   -"Content-Transfer-Encoding: 8bit\n"
240   -"#-#-#-#-# models.pot (PACKAGE VERSION) #-#-#-#-#\n"
241   -"Project-Id-Version: PACKAGE VERSION\n"
242   -"Report-Msgid-Bugs-To: \n"
243   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
244   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
245   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
246   -"Language-Team: LANGUAGE <LL@li.org>\n"
247   -"Language: \n"
248   -"MIME-Version: 1.0\n"
249   -"Content-Type: text/plain; charset=CHARSET\n"
250   -"Content-Transfer-Encoding: 8bit\n"
251   -"#-#-#-#-# dialog.pot (PACKAGE VERSION) #-#-#-#-#\n"
252   -"Project-Id-Version: PACKAGE VERSION\n"
253   -"Report-Msgid-Bugs-To: \n"
254   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
255   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
256   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
257   -"Language-Team: LANGUAGE <LL@li.org>\n"
258   -"Language: \n"
259   -"MIME-Version: 1.0\n"
260   -"Content-Type: text/plain; charset=CHARSET\n"
261   -"Content-Transfer-Encoding: 8bit\n"
262   -"#-#-#-#-# actionview.pot (PACKAGE VERSION) #-#-#-#-#\n"
263   -"Project-Id-Version: PACKAGE VERSION\n"
264   -"Report-Msgid-Bugs-To: \n"
265   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
266   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
267   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
268   -"Language-Team: LANGUAGE <LL@li.org>\n"
269   -"Language: \n"
270   -"MIME-Version: 1.0\n"
271   -"Content-Type: text/plain; charset=CHARSET\n"
272   -"Content-Transfer-Encoding: 8bit\n"
273   -"#-#-#-#-# savedesktopicon.pot (PACKAGE VERSION) #-#-#-#-#\n"
274   -"Project-Id-Version: PACKAGE VERSION\n"
275   -"Report-Msgid-Bugs-To: \n"
276   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
277   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
278   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
279   -"Language-Team: LANGUAGE <LL@li.org>\n"
280   -"Language: \n"
281   -"MIME-Version: 1.0\n"
282   -"Content-Type: text/plain; charset=CHARSET\n"
283   -"Content-Transfer-Encoding: 8bit\n"
284   -"#-#-#-#-# tools.pot (PACKAGE VERSION) #-#-#-#-#\n"
285   -"Project-Id-Version: PACKAGE VERSION\n"
286   -"Report-Msgid-Bugs-To: \n"
287   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
288   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
289   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
290   -"Language-Team: LANGUAGE <LL@li.org>\n"
291   -"Language: \n"
292   -"MIME-Version: 1.0\n"
293   -"Content-Type: text/plain; charset=CHARSET\n"
294   -"Content-Transfer-Encoding: 8bit\n"
295   -"#-#-#-#-# placeholders.pot (PACKAGE VERSION) #-#-#-#-#\n"
296   -"Project-Id-Version: PACKAGE VERSION\n"
297   -"Report-Msgid-Bugs-To: \n"
298   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
299   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
300   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
301   -"Language-Team: LANGUAGE <LL@li.org>\n"
302   -"Language: \n"
303   -"MIME-Version: 1.0\n"
304   -"Content-Type: text/plain; charset=CHARSET\n"
305   -"Content-Transfer-Encoding: 8bit\n"
306   -"#-#-#-#-# model.pot (PACKAGE VERSION) #-#-#-#-#\n"
307   -"Project-Id-Version: PACKAGE VERSION\n"
308   -"Report-Msgid-Bugs-To: \n"
309   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
310   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
311   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
312   -"Language-Team: LANGUAGE <LL@li.org>\n"
313   -"Language: \n"
314   -"MIME-Version: 1.0\n"
315   -"Content-Type: text/plain; charset=CHARSET\n"
316   -"Content-Transfer-Encoding: 8bit\n"
317   -"#-#-#-#-# element.pot (PACKAGE VERSION) #-#-#-#-#\n"
318   -"Project-Id-Version: PACKAGE VERSION\n"
319   -"Report-Msgid-Bugs-To: \n"
320   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
321   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
322   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
323   -"Language-Team: LANGUAGE <LL@li.org>\n"
324   -"Language: \n"
325   -"MIME-Version: 1.0\n"
326   -"Content-Type: text/plain; charset=CHARSET\n"
327   -"Content-Transfer-Encoding: 8bit\n"
328   -"#-#-#-#-# attribute.pot (PACKAGE VERSION) #-#-#-#-#\n"
329   -"Project-Id-Version: PACKAGE VERSION\n"
330   -"Report-Msgid-Bugs-To: \n"
331   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
332   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
333   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
334   -"Language-Team: LANGUAGE <LL@li.org>\n"
335   -"Language: \n"
336   -"MIME-Version: 1.0\n"
337   -"Content-Type: text/plain; charset=CHARSET\n"
338   -"Content-Transfer-Encoding: 8bit\n"
339   -"#-#-#-#-# window.pot (PACKAGE VERSION) #-#-#-#-#\n"
340   -"Project-Id-Version: PACKAGE VERSION\n"
341   -"Report-Msgid-Bugs-To: \n"
342   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
343   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
344   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
345   -"Language-Team: LANGUAGE <LL@li.org>\n"
346   -"Language: \n"
347   -"MIME-Version: 1.0\n"
348   -"Content-Type: text/plain; charset=CHARSET\n"
349   -"Content-Transfer-Encoding: 8bit\n"
350   -"#-#-#-#-# application.pot (PACKAGE VERSION) #-#-#-#-#\n"
351   -"Project-Id-Version: PACKAGE VERSION\n"
352   -"Report-Msgid-Bugs-To: \n"
353   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
354   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
355   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
356   -"Language-Team: LANGUAGE <LL@li.org>\n"
357   -"Language: \n"
358   -"MIME-Version: 1.0\n"
359   -"Content-Type: text/plain; charset=CHARSET\n"
360   -"Content-Transfer-Encoding: 8bit\n"
361   -"#-#-#-#-# 10-bottom.pot (PACKAGE VERSION) #-#-#-#-#\n"
362   -"Project-Id-Version: PACKAGE VERSION\n"
363   -"Report-Msgid-Bugs-To: \n"
364   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
365   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
366   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
367   -"Language-Team: LANGUAGE <LL@li.org>\n"
368   -"Language: \n"
369   -"MIME-Version: 1.0\n"
370   -"Content-Type: text/plain; charset=CHARSET\n"
371   -"Content-Transfer-Encoding: 8bit\n"
372   -"#-#-#-#-# 00-right.pot (PACKAGE VERSION) #-#-#-#-#\n"
373   -"Project-Id-Version: PACKAGE VERSION\n"
374   -"Report-Msgid-Bugs-To: \n"
375   -"POT-Creation-Date: 2020-11-19 12:35-0300\n"
376   -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
377   -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
378   -"Language-Team: LANGUAGE <LL@li.org>\n"
379   -"Language: \n"
380   -"MIME-Version: 1.0\n"
381   -"Content-Type: text/plain; charset=CHARSET\n"
  17 +"Content-Type: text/plain; charset=UTF-8\n"
382 18 "Content-Transfer-Encoding: 8bit\n"
383 19  
384 20 #: src/objects/application/application.c:203
... ... @@ -386,11 +22,16 @@ msgstr &quot;&quot;
386 22 msgid "\"%s\" is not a valid user interface name"
387 23 msgstr ""
388 24  
389   -#: src/objects/application/actions/about.c:136
  25 +#: src/objects/application/actions/about.c:110
  26 +#, c-format
  27 +msgid "%s for %s."
  28 +msgstr ""
  29 +
  30 +#: src/objects/application/actions/about.c:117
390 31 msgid "32 bits Linux"
391 32 msgstr ""
392 33  
393   -#: src/objects/application/actions/about.c:134
  34 +#: src/objects/application/actions/about.c:115
394 35 msgid "32 bits Windows"
395 36 msgstr ""
396 37  
... ... @@ -398,16 +39,11 @@ msgstr &quot;&quot;
398 39 msgid "3270 session files"
399 40 msgstr ""
400 41  
401   -#: src/objects/application/actions/about.c:130
402   -#, c-format
403   -msgid "3270 terminal emulator for %s."
404   -msgstr ""
405   -
406   -#: src/objects/application/actions/about.c:138
  42 +#: src/objects/application/actions/about.c:119
407 43 msgid "64 bits Linux"
408 44 msgstr ""
409 45  
410   -#: src/objects/application/actions/about.c:132
  46 +#: src/objects/application/actions/about.c:113
411 47 msgid "64 bits Windows"
412 48 msgstr ""
413 49  
... ... @@ -416,7 +52,7 @@ msgid &quot;&quot;
416 52 "<small><b>The toolbar position only takes effect after restart</b></small>"
417 53 msgstr ""
418 54  
419   -#: src/objects/application/actions/about.c:231 ui/application.xml:39
  55 +#: src/objects/application/actions/about.c:210 ui/application.xml:39
420 56 #: ui/application.xml:537
421 57 msgid "About PW3270"
422 58 msgstr ""
... ... @@ -441,7 +77,7 @@ msgstr &quot;&quot;
441 77 msgid "Append to copy"
442 78 msgstr ""
443 79  
444   -#: src/objects/application/actions/about.c:172
  80 +#: src/objects/application/actions/about.c:153
445 81 msgid "Apple version"
446 82 msgstr ""
447 83  
... ... @@ -449,7 +85,7 @@ msgstr &quot;&quot;
449 85 msgid "Application"
450 86 msgstr ""
451 87  
452   -#: src/objects/window/header-settings.c:121
  88 +#: src/objects/window/header-settings.c:119
453 89 msgid "Application menu"
454 90 msgstr ""
455 91  
... ... @@ -469,7 +105,7 @@ msgstr &quot;&quot;
469 105 msgid "Available"
470 106 msgstr ""
471 107  
472   -#: src/objects/application/actions/about.c:175
  108 +#: src/objects/application/actions/about.c:156
473 109 msgid "Based on X3270 from"
474 110 msgstr ""
475 111  
... ... @@ -564,7 +200,7 @@ msgstr &quot;&quot;
564 200 msgid "Connected to host"
565 201 msgstr ""
566 202  
567   -#: src/objects/application/actions/about.c:173
  203 +#: src/objects/application/actions/about.c:154
568 204 msgid "Contributors"
569 205 msgstr ""
570 206  
... ... @@ -588,6 +224,10 @@ msgstr &quot;&quot;
588 224 msgid "Copy as text"
589 225 msgstr ""
590 226  
  227 +#: src/objects/application/actions/about.c:160
  228 +msgid "Copyright © 2008 Banco do Brasil S.A."
  229 +msgstr ""
  230 +
591 231 #: src/objects/os/linux/savedesktopicon.c:114
592 232 msgid "Create shortcut for the current session"
593 233 msgstr ""
... ... @@ -677,10 +317,6 @@ msgstr &quot;&quot;
677 317 msgid "Full screen"
678 318 msgstr ""
679 319  
680   -#: keypad/10-bottom.xml:34
681   -msgid "Function bar"
682   -msgstr ""
683   -
684 320 #: src/objects/os/linux/savedesktopicon.c:94
685 321 msgid "Generic name"
686 322 msgstr ""
... ... @@ -693,7 +329,8 @@ msgstr &quot;&quot;
693 329 msgid "Host properties"
694 330 msgstr ""
695 331  
696   -#: src/objects/window/window.c:561 src/objects/os/linux/savedesktopicon.c:102
  332 +#: src/objects/application/actions/about.c:111 src/objects/window/window.c:561
  333 +#: src/objects/os/linux/savedesktopicon.c:102
697 334 msgid "IBM 3270 Terminal emulator"
698 335 msgstr ""
699 336  
... ... @@ -777,7 +414,7 @@ msgstr &quot;&quot;
777 414 msgid "Keypads"
778 415 msgstr ""
779 416  
780   -#: src/objects/application/actions/about.c:183
  417 +#: src/objects/application/actions/about.c:164
781 418 msgid "LICENSE"
782 419 msgstr ""
783 420  
... ... @@ -809,7 +446,7 @@ msgstr &quot;&quot;
809 446 msgid "Main menu"
810 447 msgstr ""
811 448  
812   -#: src/objects/application/actions/about.c:171
  449 +#: src/objects/application/actions/about.c:152
813 450 msgid "Maintainers"
814 451 msgstr ""
815 452  
... ... @@ -962,10 +599,6 @@ msgstr &quot;&quot;
962 599 msgid "Right"
963 600 msgstr ""
964 601  
965   -#: keypad/00-right.xml:34
966   -msgid "Right keypad"
967   -msgstr ""
968   -
969 602 #: ui/window.xml:69 ui/application.xml:134
970 603 msgid "Save"
971 604 msgstr ""
... ... @@ -1036,7 +669,7 @@ msgstr &quot;&quot;
1036 669 msgid "Send/Receive files"
1037 670 msgstr ""
1038 671  
1039   -#: src/objects/toolbar/settings.c:248 src/objects/toolbar/settings.c:258
  672 +#: src/objects/toolbar/settings.c:247 src/objects/toolbar/settings.c:257
1040 673 msgid "Separator"
1041 674 msgstr ""
1042 675  
... ... @@ -1307,11 +940,16 @@ msgstr &quot;&quot;
1307 940 msgid "Unselect"
1308 941 msgstr ""
1309 942  
  943 +#: src/objects/application/actions/about.c:90
  944 +#, c-format
  945 +msgid "Unstable version %s-%s"
  946 +msgstr ""
  947 +
1310 948 #: ui/window.xml:374 ui/application.xml:514
1311 949 msgid "Use +/- for field navigation"
1312 950 msgstr ""
1313 951  
1314   -#: src/objects/application/actions/about.c:113
  952 +#: src/objects/application/actions/about.c:92
1315 953 #, c-format
1316 954 msgid "Version %s-%s"
1317 955 msgstr ""
... ... @@ -1321,7 +959,7 @@ msgstr &quot;&quot;
1321 959 msgid "View"
1322 960 msgstr ""
1323 961  
1324   -#: src/objects/application/actions/about.c:206
  962 +#: src/objects/application/actions/about.c:184
1325 963 msgid "View this project on github"
1326 964 msgstr ""
1327 965  
... ... @@ -1329,11 +967,11 @@ msgstr &quot;&quot;
1329 967 msgid "Window with default session"
1330 968 msgstr ""
1331 969  
1332   -#: src/objects/settings/dialog.c:79
  970 +#: src/objects/settings/dialog.c:80
1333 971 msgid "_Apply"
1334 972 msgstr ""
1335 973  
1336   -#: src/objects/actions/save.c:102 src/objects/settings/dialog.c:78
  974 +#: src/objects/actions/save.c:102 src/objects/settings/dialog.c:79
1337 975 #: src/objects/os/linux/savedesktopicon.c:174
1338 976 msgid "_Cancel"
1339 977 msgstr ""
... ... @@ -1386,10 +1024,10 @@ msgstr &quot;&quot;
1386 1024 msgid "_View"
1387 1025 msgstr ""
1388 1026  
1389   -#: src/objects/application/actions/about.c:205
  1027 +#: src/objects/application/actions/about.c:183
1390 1028 msgid "https://github.com/PerryWerneck/pw3270"
1391 1029 msgstr ""
1392 1030  
1393   -#: src/objects/application/actions/about.c:208
  1031 +#: src/objects/application/actions/about.c:186
1394 1032 msgid "translator-credits"
1395 1033 msgstr ""
... ...
src/include/config.h.in
... ... @@ -36,6 +36,7 @@
36 36 #undef PACKAGE_RELEASE
37 37 #undef PRODUCT_NAME
38 38 #undef APPLICATION_ID
  39 + #undef ENABLE_UNSTABLE_FEATURES
39 40  
40 41 #endif /* PW3270_CONFIG_H_INCLUDED */
41 42  
... ...
src/include/pw3270/settings.h
... ... @@ -51,19 +51,19 @@
51 51  
52 52 GType PW3270Settings_get_type(void);
53 53  
54   - typedef struct _PW3270SettingsPrivate PW3270SettingsPrivate;
  54 + typedef struct _PW3270SettingsPage PW3270SettingsPage;
55 55  
56 56 typedef struct _PW3270Settings {
57 57  
58 58 GtkGrid parent;
59 59  
60   - PW3270SettingsPrivate * settings; ///< @brief Private Data.
61   - const gchar * label; ///< @brief Page lagel.
62   - const gchar * title; ///< @brief Page title.
  60 + PW3270SettingsPage * settings; ///< @brief Page Data.
  61 + const gchar * label; ///< @brief Page lagel.
  62 + const gchar * title; ///< @brief Page title.
63 63  
64   - void (*load)(GtkWidget *widget, PW3270SettingsPrivate *settings); ///< @brief Method to load the properties from terminal widget
65   - void (*apply)(GtkWidget *widget, PW3270SettingsPrivate *settings); ///< @brief Method for GTK_RESPONSE_APPLY
66   - void (*revert)(GtkWidget *widget, PW3270SettingsPrivate *settings); ///< @brief Method for GTK_RESPONSE_CANCEL
  64 + void (*load)(GtkWidget *widget, GSettings *settings, PW3270SettingsPage *page); ///< @brief Method to load the properties from terminal widget
  65 + void (*apply)(GtkWidget *widget, GSettings *settings, PW3270SettingsPage *page); ///< @brief Method for GTK_RESPONSE_APPLY
  66 + void (*revert)(GtkWidget *widget, GSettings *settings, PW3270SettingsPage *page); ///< @brief Method for GTK_RESPONSE_CANCEL
67 67  
68 68 } PW3270Settings;
69 69  
... ... @@ -73,8 +73,10 @@
73 73  
74 74 } PW3270SettingsClass;
75 75  
  76 + /// @brief Create a new pw3270 settings.
76 77 PW3270Settings * pw3270_settings_new();
77 78  
  79 +
78 80 /*--[ PW3270 Settings Dialog ]-----------------------------------------------------------------------*/
79 81  
80 82 #define GTK_TYPE_PW3270_SETTINGS_DIALOG (PW3270SettingsDialog_get_type())
... ...
src/objects/actions/view.c
... ... @@ -409,7 +409,7 @@
409 409 return g_string_free(str,FALSE);
410 410 }
411 411  
412   - static void check_4_sensitive(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gboolean *sensitive) {
  412 + static void check_4_sensitive(GtkTreeModel *model, GtkTreePath G_GNUC_UNUSED(*path), GtkTreeIter *iter, gboolean *sensitive) {
413 413  
414 414 GValue value = { 0, };
415 415 gtk_tree_model_get_value(model,iter,COLUMN_FLAGS,&value);
... ...
src/objects/application/actions/about.c
... ... @@ -27,6 +27,7 @@
27 27 *
28 28 */
29 29  
  30 + #include <config.h>
30 31 #include "../private.h"
31 32 #include <pw3270/actions.h>
32 33 #include <pw3270/application.h>
... ... @@ -80,37 +81,16 @@
80 81  
81 82 }
82 83  
83   - /*
84   - if(g_file_test(logo,G_FILE_TEST_EXISTS)) {
85   - GError * error = NULL;
86   - GdkPixbuf * pix = gdk_pixbuf_new_from_file(logo,&error);
87   -
88   - gtk_about_dialog_set_logo(dialog,pix);
89   -
90   - if(pix) {
91   -
92   - g_object_unref(pix);
93   -
94   - } else {
95   -
96   - g_warning("Can't load %s: %s",logo,error->message);
97   - g_error_free(error);
98   -
99   - }
100   -
101   - } else {
102   -
103   - g_message("%s: %s",logo,strerror(ENOENT));
104   -
105   - }
106   - */
107   -
108 84 }
109 85  
110 86 // Set version
111 87 {
112 88 g_autofree gchar * version = g_strdup_printf(
  89 +#ifdef ENABLE_UNSTABLE_FEATURES
  90 + _("Unstable version %s-%s"),
  91 +#else
113 92 _("Version %s-%s"),
  93 +#endif // ENABLE_UNSTABLE_FEATURES
114 94 PACKAGE_VERSION,
115 95 #ifdef PACKAGE_RELEASE
116 96 PACKAGE_RELEASE
... ... @@ -127,7 +107,8 @@
127 107 g_autofree gchar * comments =
128 108  
129 109 g_strdup_printf(
130   - _( "3270 terminal emulator for %s." ),
  110 + _( "%s for %s." ),
  111 + _( "IBM 3270 Terminal emulator" ),
131 112 #if defined(__MINGW64__)
132 113 _( "64 bits Windows" )
133 114 #elif defined(__MINGW32__)
... ... @@ -176,7 +157,7 @@
176 157  
177 158 }
178 159  
179   - gtk_about_dialog_set_copyright(dialog, "Copyright © 2008 Banco do Brasil S.A." );
  160 + gtk_about_dialog_set_copyright(dialog, _("Copyright © 2008 Banco do Brasil S.A.") );
180 161  
181 162 #ifdef _WIN32
182 163  
... ... @@ -199,9 +180,6 @@
199 180 gtk_about_dialog_set_license_type(dialog,GTK_LICENSE_GPL_3_0);
200 181 #endif // _WIN32
201 182  
202   -// gtk_about_dialog_set_website(dialog,NC_("ProjectURL","https://portal.softwarepublico.gov.br/social/pw3270/"));
203   -// gtk_about_dialog_set_website_label(dialog,NC_("ProjectURLLabel","Brazilian Public Software Portal" ));
204   -
205 183 gtk_about_dialog_set_website(dialog,_("https://github.com/PerryWerneck/pw3270"));
206 184 gtk_about_dialog_set_website_label(dialog,_("View this project on github"));
207 185  
... ... @@ -210,7 +188,6 @@
210 188 gtk_window_set_modal(GTK_WINDOW(dialog),TRUE);
211 189  
212 190 g_signal_connect(dialog,"response",G_CALLBACK(gtk_widget_destroy),NULL);
213   - gtk_widget_show_all(GTK_WIDGET(dialog));
214 191  
215 192 // Call plugins
216 193 pw3270_application_plugin_call(
... ... @@ -219,6 +196,8 @@
219 196 dialog
220 197 );
221 198  
  199 + gtk_widget_show_all(GTK_WIDGET(dialog));
  200 +
222 201 return GTK_WIDGET(dialog);
223 202  
224 203 }
... ...
src/objects/application/application.c
... ... @@ -417,20 +417,20 @@
417 417 // Load keypad models
418 418 //
419 419 {
420   -#ifdef DEBUG
421   - const gchar * keypad_path = "keypad";
422   -#else
423 420 lib3270_autoptr(char) keypad_path = lib3270_build_data_filename("keypad",NULL);
424   -#endif // DEBUG
425 421  
426 422 g_autoptr(GError) error = NULL;
427 423 g_autoptr(GDir) dir = g_dir_open(keypad_path,0,&error);
428 424  
429   - const gchar *name = g_dir_read_name(dir);
430   - while(!error && name) {
431   - g_autofree gchar * path = g_build_filename(keypad_path,name,NULL);
432   - app->keypads = pw3270_keypad_model_new_from_xml(app->keypads,path);
433   - name = g_dir_read_name(dir);
  425 + if(dir) {
  426 +
  427 + const gchar *name = g_dir_read_name(dir);
  428 + while(!error && name) {
  429 + g_autofree gchar * path = g_build_filename(keypad_path,name,NULL);
  430 + app->keypads = pw3270_keypad_model_new_from_xml(app->keypads,path);
  431 + name = g_dir_read_name(dir);
  432 + }
  433 +
434 434 }
435 435  
436 436 if(error) {
... ...
src/objects/settings/dialog.c
... ... @@ -35,6 +35,7 @@
35 35 #include <pw3270.h>
36 36 #include <pw3270/settings.h>
37 37 #include <pw3270/actions.h>
  38 + #include <pw3270/window.h>
38 39 #include <lib3270.h>
39 40 #include <lib3270/log.h>
40 41  
... ... @@ -144,18 +145,18 @@ void dialog_close(GtkDialog *dialog) {
144 145 gtk_widget_destroy(GTK_WIDGET(dialog));
145 146 }
146 147  
147   -static void apply(GtkWidget *widget, GtkWidget G_GNUC_UNUSED(*dialog)) {
  148 +static void apply(GtkWidget *widget, GSettings *settings) {
148 149  
149 150 if(GTK_IS_PW3270_SETTINGS(widget)) {
150   - GTK_PW3270_SETTINGS(widget)->apply(widget,GTK_PW3270_SETTINGS(widget)->settings);
  151 + GTK_PW3270_SETTINGS(widget)->apply(widget,settings,GTK_PW3270_SETTINGS(widget)->settings);
151 152 }
152 153  
153 154 }
154 155  
155   -static void revert(GtkWidget *widget, GtkWidget G_GNUC_UNUSED(*dialog)) {
  156 +static void revert(GtkWidget *widget, GSettings *settings, GtkWidget G_GNUC_UNUSED(*dialog)) {
156 157  
157 158 if(GTK_IS_PW3270_SETTINGS(widget)) {
158   - GTK_PW3270_SETTINGS(widget)->revert(widget,GTK_PW3270_SETTINGS(widget)->settings);
  159 + GTK_PW3270_SETTINGS(widget)->revert(widget,settings,GTK_PW3270_SETTINGS(widget)->settings);
159 160 }
160 161  
161 162 }
... ... @@ -164,12 +165,15 @@ void response(GtkDialog *dialog, gint response_id) {
164 165  
165 166 debug("%s(%d)",__FUNCTION__,response_id);
166 167  
  168 + g_autoptr(GSettings) settings = pw3270_application_window_settings_new();
  169 + g_settings_delay(settings);
  170 +
167 171 switch(response_id) {
168 172 case GTK_RESPONSE_APPLY:
169 173 gtk_container_foreach(
170 174 GTK_CONTAINER(GTK_PW3270_SETTINGS_DIALOG(dialog)->tabs),
171 175 (GtkCallback) apply,
172   - dialog
  176 + settings
173 177 );
174 178 break;
175 179  
... ... @@ -177,13 +181,15 @@ void response(GtkDialog *dialog, gint response_id) {
177 181 gtk_container_foreach(
178 182 GTK_CONTAINER(GTK_PW3270_SETTINGS_DIALOG(dialog)->tabs),
179 183 (GtkCallback) revert,
180   - dialog
  184 + settings
181 185 );
182 186 break;
183 187  
184 188 }
185 189  
  190 + g_settings_apply(settings);
186 191 gtk_widget_destroy(GTK_WIDGET(dialog));
  192 +
187 193 }
188 194  
189 195 void add(GtkContainer *container, GtkWidget *widget) {
... ... @@ -196,7 +202,9 @@ void add(GtkContainer *container, GtkWidget *widget) {
196 202 if(GTK_IS_PW3270_SETTINGS(widget)) {
197 203 PW3270Settings * settings = GTK_PW3270_SETTINGS(widget);
198 204 label = gtk_label_new(settings->label);
199   - settings->load(widget,settings->settings);
  205 +
  206 + g_autoptr(GSettings) gs = pw3270_application_window_settings_new();
  207 + settings->load(widget,gs,settings->settings);
200 208 }
201 209  
202 210 gtk_widget_show(widget);
... ... @@ -212,7 +220,7 @@ void page_changed(GtkNotebook *notebook, GtkWidget G_GNUC_UNUSED(*child), guint
212 220 gtk_notebook_set_show_tabs(notebook,gtk_notebook_get_n_pages(notebook) > 1);
213 221 }
214 222  
215   -void switch_page(GtkNotebook *notebook, PW3270Settings *page, guint G_GNUC_UNUSED(page_num), PW3270SettingsDialog *dialog) {
  223 +void switch_page(GtkNotebook G_GNUC_UNUSED(*notebook), PW3270Settings *page, guint G_GNUC_UNUSED(page_num), PW3270SettingsDialog *dialog) {
216 224  
217 225 GtkWidget * header_bar = gtk_dialog_get_header_bar(GTK_DIALOG(dialog));
218 226  
... ...
src/objects/settings/widget.c
... ... @@ -39,9 +39,9 @@
39 39  
40 40 G_DEFINE_TYPE(PW3270Settings, PW3270Settings, GTK_TYPE_GRID);
41 41  
42   - static void load(GtkWidget *widget, PW3270SettingsPrivate *settings);
43   - static void apply(GtkWidget *widget, PW3270SettingsPrivate *settings);
44   - static void revert(GtkWidget *widget, PW3270SettingsPrivate *settings);
  42 + static void load(GtkWidget *widget, GSettings *settings, PW3270SettingsPage *page);
  43 + static void apply(GtkWidget *widget, GSettings *settings, PW3270SettingsPage *page);
  44 + static void revert(GtkWidget *widget, GSettings *settings, PW3270SettingsPage *page);
45 45 static void finalize(GObject *object);
46 46  
47 47 /*--[ Implement ]------------------------------------------------------------------------------------*/
... ... @@ -78,12 +78,12 @@
78 78  
79 79 }
80 80  
81   - void load(GtkWidget G_GNUC_UNUSED(*widget), PW3270SettingsPrivate G_GNUC_UNUSED(*settings)) {
  81 + void load(GtkWidget G_GNUC_UNUSED(*widget), GSettings G_GNUC_UNUSED(*settings), PW3270SettingsPage G_GNUC_UNUSED(*page)) {
82 82 }
83 83  
84   - void apply(GtkWidget G_GNUC_UNUSED(*widget), PW3270SettingsPrivate G_GNUC_UNUSED(*settings)) {
  84 + void apply(GtkWidget G_GNUC_UNUSED(*widget), GSettings G_GNUC_UNUSED(*settings), PW3270SettingsPage G_GNUC_UNUSED(*page)) {
85 85 }
86 86  
87   - void revert(GtkWidget G_GNUC_UNUSED(*widget), PW3270SettingsPrivate G_GNUC_UNUSED(*settings)) {
  87 + void revert(GtkWidget G_GNUC_UNUSED(*widget), GSettings G_GNUC_UNUSED(*settings), PW3270SettingsPage G_GNUC_UNUSED(*page)) {
88 88 }
89 89  
... ...
src/objects/toolbar/settings.c
... ... @@ -35,8 +35,8 @@
35 35 #include <pw3270/window.h>
36 36 #include <v3270/dialogs.h>
37 37  
38   - static void load(GtkWidget *widget, PW3270SettingsPrivate *settings);
39   - static void apply(GtkWidget *widget, PW3270SettingsPrivate *settings);
  38 + static void load(GtkWidget *widget, GSettings *settings, PW3270SettingsPage *page);
  39 + static void apply(GtkWidget *widget, GSettings *settings, PW3270SettingsPage *page);
40 40  
41 41 /*--[ Constants ]------------------------------------------------------------------------------------*/
42 42  
... ... @@ -77,7 +77,7 @@
77 77  
78 78 };
79 79  
80   - struct _PW3270SettingsPrivate {
  80 + struct _PW3270SettingsPage {
81 81 GtkWidget * views[2];
82 82 // GtkTreeModel * models[G_N_ELEMENTS(comboboxes)];
83 83 GtkWidget * combos[G_N_ELEMENTS(comboboxes)];
... ... @@ -97,7 +97,7 @@
97 97 settings->load = load;
98 98  
99 99 // Create private data.
100   - PW3270SettingsPrivate * page = settings->settings = g_new0(PW3270SettingsPrivate,1);
  100 + PW3270SettingsPage * page = settings->settings = g_new0(PW3270SettingsPage,1);
101 101  
102 102 //
103 103 // Create views
... ... @@ -222,10 +222,9 @@
222 222 return GTK_WIDGET(settings);
223 223 }
224 224  
225   - void load(GtkWidget G_GNUC_UNUSED(*widget), PW3270SettingsPrivate *page) {
  225 + void load(GtkWidget G_GNUC_UNUSED(*widget), GSettings *settings, PW3270SettingsPage *page) {
226 226  
227 227 size_t ix;
228   - g_autoptr(GSettings) settings = pw3270_application_window_settings_new();
229 228  
230 229 // Populate views
231 230 Pw3270ActionList * action_list = pw3270_action_list_new(GTK_APPLICATION(g_application_get_default()));
... ... @@ -274,10 +273,9 @@
274 273  
275 274 }
276 275  
277   - void apply(GtkWidget G_GNUC_UNUSED(*widget), PW3270SettingsPrivate *page) {
  276 + void apply(GtkWidget G_GNUC_UNUSED(*widget), GSettings *settings, PW3270SettingsPage *page) {
278 277  
279 278 size_t ix;
280   - g_autoptr(GSettings) settings = pw3270_application_window_settings_new();
281 279  
282 280 g_autofree gchar * action_names = pw3270_action_view_get_action_names(page->views[0]);
283 281 g_settings_set_string(settings,"toolbar-action-names",action_names);
... ...
src/objects/window/header-settings.c
... ... @@ -34,12 +34,12 @@
34 34 #include <pw3270/application.h>
35 35 #include <v3270/dialogs.h>
36 36  
37   - static void load(GtkWidget *widget, PW3270SettingsPrivate *settings);
38   - static void apply(GtkWidget *widget, PW3270SettingsPrivate *settings);
  37 + static void load(GtkWidget *widget, GSettings *settings, PW3270SettingsPage *page);
  38 + static void apply(GtkWidget *widget, GSettings *settings, PW3270SettingsPage *page);
39 39  
40 40 /*--[ Constants ]------------------------------------------------------------------------------------*/
41 41  
42   - struct _PW3270SettingsPrivate {
  42 + struct _PW3270SettingsPage {
43 43 GtkWidget * editor;
44 44 /*
45 45 GtkWidget * views[3];
... ... @@ -87,7 +87,7 @@
87 87 settings->load = load;
88 88  
89 89 // Create private data.
90   - PW3270SettingsPrivate * page = settings->settings = g_new0(PW3270SettingsPrivate,1);
  90 + PW3270SettingsPage * page = settings->settings = g_new0(PW3270SettingsPage,1);
91 91  
92 92 page->editor = pw3270_settings_actions_new();
93 93  
... ... @@ -102,9 +102,7 @@
102 102 return GTK_WIDGET(settings);
103 103 }
104 104  
105   - void load(GtkWidget G_GNUC_UNUSED(*widget), PW3270SettingsPrivate *page) {
106   -
107   - g_autoptr(GSettings) settings = pw3270_application_window_settings_new();
  105 + void load(GtkWidget G_GNUC_UNUSED(*widget), GSettings *settings, PW3270SettingsPage *page) {
108 106  
109 107 // Get avaliable actions.
110 108 Pw3270ActionList * action_list = pw3270_action_list_new(GTK_APPLICATION(g_application_get_default()));
... ... @@ -162,10 +160,9 @@
162 160 pw3270_action_list_free(action_list);
163 161 }
164 162  
165   - void apply(GtkWidget G_GNUC_UNUSED(*widget), PW3270SettingsPrivate *page) {
  163 + void apply(GtkWidget G_GNUC_UNUSED(*widget), GSettings *settings, PW3270SettingsPage *page) {
166 164  
167 165 g_autofree gchar * action_names = pw3270_settings_action_get(page->editor);
168   - g_autoptr(GSettings) settings = pw3270_application_window_settings_new();
169 166 g_settings_set_string(settings,"header-action-names",action_names);
170 167  
171 168 }
... ...
win/pack.sh
... ... @@ -30,7 +30,7 @@ PRODUCT_NAME=&quot;pw3270&quot;
30 30 LIBRARY_NAME="lib3270"
31 31 CORE_LIBRARIES="lib3270 libv3270 libipc3270"
32 32 PACKAGE_PLUGINS=""
33   -PACKAGE_EXTRAS="libhllapi"
  33 +PACKAGE_EXTRAS="libhllapi pw3270-keypads"
34 34  
35 35 #TARGET_ARCHS="x86_64 x86_32"
36 36 TARGET_ARCHS="x86_64"
... ... @@ -422,6 +422,12 @@ buildApplication()
422 422 fi
423 423 done
424 424  
  425 + if [ "${BUILD_UNSTABLE}" == "1" ]; then
  426 + APP_OPTIONS="--enable-unstable"
  427 + else
  428 + APP_OPTIONS=""
  429 + fi
  430 +
425 431 if [ -x ${PROJECTDIR}/win/configure.${1} ]; then
426 432  
427 433 host="${host}" \
... ... @@ -443,7 +449,8 @@ buildApplication()
443 449 --includedir=${WORKDIR}/build/${ARCH}/include \
444 450 --sysconfdir=${WORKDIR}/build/${ARCH}/etc \
445 451 --datadir=${WORKDIR}/build/${ARCH}/share \
446   - --datarootdir=${WORKDIR}/build/${ARCH}/share
  452 + --datarootdir=${WORKDIR}/build/${ARCH}/share \
  453 + ${APP_OPTIONS}
447 454  
448 455 fi
449 456  
... ...
win/pw3270.nsi.in
... ... @@ -108,10 +108,19 @@ SubSection &quot;@PRODUCT_NAME@&quot; SecMain
108 108  
109 109 # Register file association
110 110  
  111 + # icons & logos
  112 + CreateDirectory "$INSTDIR\icons"
  113 + file "/oname=$INSTDIR\icons\gtk-connect-symbolic.svg" "share\@PRODUCT_NAME@\icons\gtk-connect-symbolic.svg"
  114 + file "/oname=$INSTDIR\icons\gtk-disconnect-symbolic.svg" "share\@PRODUCT_NAME@\icons\gtk-disconnect-symbolic.svg"
  115 + file "/oname=$INSTDIR\icons\connect-symbolic.svg" "share\@PRODUCT_NAME@\icons\connect-symbolic.svg"
  116 + file "/oname=$INSTDIR\icons\disconnect-symbolic.svg" "share\@PRODUCT_NAME@\icons\disconnect-symbolic.svg"
  117 + file "/oname=$INSTDIR\icons\@PRODUCT_NAME@.svg" "share\@PRODUCT_NAME@\@PRODUCT_NAME@.svg"
  118 +
  119 + file "/oname=$INSTDIR\@PRODUCT_NAME@-logo.svg" "share\@PRODUCT_NAME@\@PRODUCT_NAME@-logo.svg"
  120 + file "/oname=$INSTDIR\@PRODUCT_NAME@.svg" "share\@PRODUCT_NAME@\@PRODUCT_NAME@.svg"
  121 +
111 122 # Configuration files
112   - file "/oname=$INSTDIR\@PRODUCT_NAME@-logo.png" "share\@PRODUCT_NAME@\@PRODUCT_NAME@-logo.png"
113   - file "/oname=$INSTDIR\@PRODUCT_NAME@.png" "share\@PRODUCT_NAME@\@PRODUCT_NAME@.png"
114   - file "/oname=$INSTDIR\colors.conf" "share\@PRODUCT_NAME@\colors.conf"
  123 + file "/oname=$INSTDIR\colors.conf" "share\@PRODUCT_NAME@\colors.conf"
115 124  
116 125 # Documentation files
117 126 file "/oname=$INSTDIR\AUTHORS" "AUTHORS"
... ... @@ -137,11 +146,6 @@ SubSection &quot;@PRODUCT_NAME@&quot; SecMain
137 146 file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\lib@LIBRARY_NAME@.mo" "share\locale\pt_BR\LC_MESSAGES\lib@LIBRARY_NAME@.mo"
138 147 file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\libv3270.mo" "share\locale\pt_BR\LC_MESSAGES\libv3270.mo"
139 148  
140   - # Customized icons
141   - CreateDirectory "$INSTDIR\icons"
142   - file "/oname=$INSTDIR\icons\gtk-connect-symbolic.svg" "share\@PRODUCT_NAME@\icons\gtk-connect-symbolic.svg"
143   - file "/oname=$INSTDIR\icons\gtk-disconnect-symbolic.svg" "share\@PRODUCT_NAME@\icons\gtk-disconnect-symbolic.svg"
144   -
145 149 # define uninstaller name
146 150 SetRegView 32
147 151  
... ...