Commit 17e95379118ea3924440ba3c96385e6cac1e915f

Authored by Perry Werneck
Committed by GitHub
2 parents 1e142d80 5d10d7c7
Exists in develop

Merge pull request #53 from PerryWerneck/winpkg

Updating windows package.
.github/workflows/winpkg.yml 0 → 100644
@@ -0,0 +1,84 @@ @@ -0,0 +1,84 @@
  1 +---
  2 +name: WinPKG
  3 +on:
  4 + pull_request:
  5 + branches:
  6 + - master
  7 + push:
  8 + branches:
  9 + - winpkg
  10 +jobs:
  11 + msys2-mingw64:
  12 + name: Publish for Windows 64
  13 + runs-on: windows-latest
  14 + defaults:
  15 + run:
  16 + shell: msys2 {0}
  17 + steps:
  18 + - uses: actions/checkout@v3
  19 + - uses: oprypin/find-latest-tag@v1
  20 + id: gettag
  21 + with:
  22 + repository: PerryWerneck/pw3270
  23 + sort-tags: true
  24 + releases-only: true
  25 + - uses: msys2/setup-msys2@v2
  26 + with:
  27 + msystem: mingw64
  28 + update: true
  29 + install: xz dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf
  30 + mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl
  31 + libtool mingw-w64-x86_64-gtk3 mingw-w64-x86_64-librsvg mingw-w64-x86_64-gdk-pixbuf2
  32 + mingw-w64-x86_64-optipng mingw-w64-x86_64-nsis
  33 + - uses: robinraju/release-downloader@v1.7
  34 + with:
  35 + repository: "PerryWerneck/lib3270"
  36 + latest: true
  37 + fileName: "mingw-w64-x86_64-lib3270-5.4-0-x86_64.pkg.tar.zst"
  38 + - uses: robinraju/release-downloader@v1.7
  39 + with:
  40 + repository: "PerryWerneck/libv3270"
  41 + latest: true
  42 + fileName: "mingw-w64-x86_64-libv3270-5.4-0-x86_64.pkg.tar.zst"
  43 + - name: BuildApp
  44 + run: ./win/ci-build.sh
  45 + - uses: ncipollo/release-action@v1
  46 + with:
  47 + tag: ${{ steps.gettag.outputs.tag }}
  48 + artifacts: "*-pw3270-*.pkg.tar.zst"
  49 + allowUpdates: true
  50 + draft: true
  51 + makeLatest: true
  52 + omitBody: true
  53 + omitPrereleaseDuringUpdate: true
  54 + replacesArtifacts: true
  55 + - uses: robinraju/release-downloader@v1.7
  56 + with:
  57 + repository: PerryWerneck/libipc3270
  58 + latest: true
  59 + fileName: mingw-w64-x86_64-libipc3270-5.5-0-x86_64.pkg.tar.zst
  60 + - uses: robinraju/release-downloader@v1.7
  61 + with:
  62 + repository: PerryWerneck/libhllapi
  63 + latest: true
  64 + fileName: mingw-w64-x86_64-libhllapi-5.5-0-x86_64.pkg.tar.zst
  65 + - uses: robinraju/release-downloader@v1.7
  66 + with:
  67 + repository: PerryWerneck/pw3270-plugin-ipc
  68 + latest: true
  69 + fileName: mingw-w64-x86_64-pw3270-plugin-ipc-5.5-0-x86_64.pkg.tar.zst
  70 + - name: Make bundle
  71 + run: ./win/bundle.msys
  72 + - name: Make Package
  73 + run: tar -C ./.bin/bundle -Jcf mingw-w64-x86_64-pw3270-bundle-x86_64.tar.xz .
  74 + - uses: ncipollo/release-action@v1
  75 + with:
  76 + tag: ${{ steps.gettag.outputs.tag }}
  77 + artifacts: "*-pw3270-*.tar.xz"
  78 + allowUpdates: true
  79 + draft: true
  80 + makeLatest: true
  81 + omitBody: true
  82 + omitPrereleaseDuringUpdate: true
  83 + replacesArtifacts: true
  84 +
  1 +.tmp
  2 +.bin
  3 +.obj
  4 +.pot
1 .* 5 .*
2 *~ 6 *~
3 *.log 7 *.log
@@ -69,5 +73,4 @@ m4 @@ -69,5 +73,4 @@ m4
69 po 73 po
70 app-manifest.xml 74 app-manifest.xml
71 libtool 75 libtool
72 -  
73 - 76 +*.pkg.tar.zst
@@ -29,6 +29,7 @@ datarootdir=@datarootdir@ @@ -29,6 +29,7 @@ datarootdir=@datarootdir@
29 localedir=@localedir@ 29 localedir=@localedir@
30 docdir=@docdir@ 30 docdir=@docdir@
31 sysconfdir=@sysconfdir@ 31 sysconfdir=@sysconfdir@
  32 +datadir="$(datarootdir)/@PRODUCT_NAME@"
32 33
33 #---[ Configuration ]-------------------------------------------------------------------- 34 #---[ Configuration ]--------------------------------------------------------------------
34 35
@@ -72,7 +73,6 @@ MSGCAT=@MSGCAT@ @@ -72,7 +73,6 @@ MSGCAT=@MSGCAT@
72 WINDRES=@WINDRES@ 73 WINDRES=@WINDRES@
73 AR=@AR@ 74 AR=@AR@
74 VALGRIND=@VALGRIND@ 75 VALGRIND=@VALGRIND@
75 -CONVERT=@CONVERT@  
76 STRIP=@STRIP@ 76 STRIP=@STRIP@
77 77
78 #---[ Build Paths ]---------------------------------------------------------------------- 78 #---[ Build Paths ]----------------------------------------------------------------------
@@ -127,6 +127,13 @@ $(OBJDBG)/%.o: \ @@ -127,6 +127,13 @@ $(OBJDBG)/%.o: \
127 -DDEBUG=1 \ 127 -DDEBUG=1 \
128 -o $@ -c $< 128 -o $@ -c $<
129 129
  130 +%.ico: \
  131 + $(srcdir)/branding/%.ico
  132 +
  133 + @echo $< ...
  134 + @$(MKDIR) $(@D)
  135 + @cp "$<" "$@"
  136 +
130 $(OBJDBG)/%.o: \ 137 $(OBJDBG)/%.o: \
131 %.rc \ 138 %.rc \
132 $(PRODUCT_NAME).ico 139 $(PRODUCT_NAME).ico
@@ -218,30 +225,6 @@ install-%: \ @@ -218,30 +225,6 @@ install-%: \
218 prefix=$(prefix) \ 225 prefix=$(prefix) \
219 install 226 install
220 227
221 -%.ico: \  
222 - $(srcdir)/branding/%.svg  
223 -  
224 - @echo $@ ...  
225 - @$(MKDIR) $(@D)  
226 - @$(CONVERT) \  
227 - -density 384 \  
228 - -background transparent \  
229 - $< \  
230 - -define icon:auto-resize \  
231 - -colors 256 \  
232 - $@  
233 -  
234 -%.png: \  
235 - $(srcdir)/branding/%.svg  
236 -  
237 - @echo $@ ...  
238 - @$(MKDIR) $(@D)  
239 - @$(CONVERT) \  
240 - +antialias \  
241 - -background transparent \  
242 - $< \  
243 - $@  
244 -  
245 #---[ Main Target ]---------------------------------------------------------------------- 228 #---[ Main Target ]----------------------------------------------------------------------
246 229
247 all: \ 230 all: \
@@ -318,7 +301,7 @@ install-macos-application: \ @@ -318,7 +301,7 @@ install-macos-application: \
318 $(DESTDIR)$(bindir)/$(PRODUCT_NAME)@EXEEXT@ 301 $(DESTDIR)$(bindir)/$(PRODUCT_NAME)@EXEEXT@
319 302
320 install-windows-application: \ 303 install-windows-application: \
321 - $(PRODUCT_NAME).png \ 304 + branding/$(PRODUCT_NAME).png \
322 strip 305 strip
323 306
324 @$(MKDIR) \ 307 @$(MKDIR) \
@@ -332,7 +315,7 @@ install-windows-application: \ @@ -332,7 +315,7 @@ install-windows-application: \
332 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME) 315 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)
333 316
334 @$(INSTALL_DATA) \ 317 @$(INSTALL_DATA) \
335 - $(PRODUCT_NAME).png \ 318 + branding/$(PRODUCT_NAME).png \
336 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).png 319 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).png
337 320
338 @$(INSTALL_DATA) \ 321 @$(INSTALL_DATA) \
branding/Makefile.in
  1 +# SPDX-License-Identifier: LGPL-3.0-or-later
1 # 2 #
2 -# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 -# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 -# aplicativos mainframe. Registro no INPI sob o nome G3270. 3 +# Copyright (C) 2008 Banco do Brasil S.A.
5 # 4 #
6 -# Copyright (C) <2008> <Banco do Brasil S.A.> 5 +# This program is free software: you can redistribute it and/or modify
  6 +# it under the terms of the GNU Lesser General Public License as published
  7 +# by the Free Software Foundation, either version 3 of the License, or
  8 +# (at your option) any later version.
7 # 9 #
8 -# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
9 -# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
10 -# Free Software Foundation. 10 +# This program is distributed in the hope that it will be useful,
  11 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  12 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13 +# GNU General Public License for more details.
11 # 14 #
12 -# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
13 -# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
14 -# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
15 -# obter mais detalhes.  
16 -#  
17 -# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
18 -# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple  
19 -# Place, Suite 330, Boston, MA, 02111-1307, USA  
20 -#  
21 -# Contatos:  
22 -#  
23 -# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
24 -# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) 15 +# You should have received a copy of the GNU Lesser General Public License
  16 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
25 # 17 #
26 18
27 PACKAGE_NAME=@PACKAGE_NAME@ 19 PACKAGE_NAME=@PACKAGE_NAME@
@@ -43,19 +35,20 @@ MKDIR=@MKDIR_P@ @@ -43,19 +35,20 @@ MKDIR=@MKDIR_P@
43 INSTALL=@INSTALL@ 35 INSTALL=@INSTALL@
44 INSTALL_DATA=@INSTALL_DATA@ 36 INSTALL_DATA=@INSTALL_DATA@
45 INSTALL_PROGRAM=@INSTALL_PROGRAM@ 37 INSTALL_PROGRAM=@INSTALL_PROGRAM@
46 -CONVERT=@CONVERT@  
47 DESKTOP_INSTALL=@DESKTOP_INSTALL@ 38 DESKTOP_INSTALL=@DESKTOP_INSTALL@
48 SCOUR=@SCOUR@ 39 SCOUR=@SCOUR@
49 APPSTREAMCLI=@APPSTREAMCLI@ 40 APPSTREAMCLI=@APPSTREAMCLI@
50 41
51 -#---[ Rules ]---------------------------------------------------------------------------- 42 +# CONVERT=@CONVERT@
52 43
53 -%.ico: \  
54 - $(PRODUCT_NAME).svg 44 +#---[ Rules ]----------------------------------------------------------------------------
55 45
56 - @echo $@ ...  
57 - @$(MKDIR) `dirname $@`  
58 - @$(CONVERT) -density 384 -background transparent $< -define icon:auto-resize -colors 256 $@ 46 +#%.ico: \
  47 +# %.svg
  48 +#
  49 +# @echo $@ ...
  50 +# @$(MKDIR) `dirname $@`
  51 +# @$(CONVERT) -density 384 -background transparent $< -define icon:auto-resize -colors 256 $@
59 52
60 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/%.svg: \ 53 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/%.svg: \
61 $(srcdir)/%.svg 54 $(srcdir)/%.svg
@@ -101,11 +94,10 @@ endif @@ -101,11 +94,10 @@ endif
101 94
102 validate: 95 validate:
103 96
104 -ifneq ($(SCOUR),no) 97 +ifneq ($(APPSTREAMCLI),no)
105 @$(APPSTREAMCLI) validate metainfo.xml 98 @$(APPSTREAMCLI) validate metainfo.xml
106 endif 99 endif
107 100
108 -  
109 install: \ 101 install: \
110 install-@OSNAME@ 102 install-@OSNAME@
111 103
@@ -159,7 +151,12 @@ install-macos: \ @@ -159,7 +151,12 @@ install-macos: \
159 151
160 install-windows: \ 152 install-windows: \
161 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).svg \ 153 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).svg \
162 - $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME)-logo.svg \  
163 - $(DESTDIR)$(bindir)/$(PRODUCT_NAME).ico 154 + $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME)-logo.svg
  155 +
  156 + @$(MKDIR) $(DESTDIR)$(bindir)
  157 +
  158 + @$(INSTALL_DATA) \
  159 + $(PRODUCT_NAME).ico \
  160 + $(DESTDIR)$(bindir)/$(PRODUCT_NAME).ico
164 161
165 162
branding/pw3270.ico 0 → 100644
No preview for this file type
branding/pw3270.png 0 → 100644

18.4 KB

branding/pw3270.svg
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 -<!-- Created with Inkscape (http://www.inkscape.org/) -->  
3 -  
4 <svg 2 <svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/" 3 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#" 4 xmlns:cc="http://creativecommons.org/ns#"
@@ -14,10 +12,10 @@ @@ -14,10 +12,10 @@
14 height="256" 12 height="256"
15 id="svg2685" 13 id="svg2685"
16 sodipodi:version="0.32" 14 sodipodi:version="0.32"
17 - inkscape:version="0.48.1 r9760" 15 + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
18 sodipodi:docname="pw3270.svg" 16 sodipodi:docname="pw3270.svg"
19 inkscape:output_extension="org.inkscape.output.svg.inkscape" 17 inkscape:output_extension="org.inkscape.output.svg.inkscape"
20 - inkscape:export-filename="/home/perry/Project/3270/v4/image/icon.png" 18 + inkscape:export-filename="/home/perry/project/pw3270/pw3270/branding/pw3270.png"
21 inkscape:export-xdpi="90" 19 inkscape:export-xdpi="90"
22 inkscape:export-ydpi="90" 20 inkscape:export-ydpi="90"
23 version="1.1"> 21 version="1.1">
@@ -61,17 +59,19 @@ @@ -61,17 +59,19 @@
61 inkscape:pageopacity="0.0" 59 inkscape:pageopacity="0.0"
62 inkscape:pageshadow="2" 60 inkscape:pageshadow="2"
63 inkscape:zoom="0.97227183" 61 inkscape:zoom="0.97227183"
64 - inkscape:cx="-138.53895" 62 + inkscape:cx="-139.56747"
65 inkscape:cy="32" 63 inkscape:cy="32"
66 inkscape:current-layer="layer1" 64 inkscape:current-layer="layer1"
67 showgrid="true" 65 showgrid="true"
68 inkscape:document-units="px" 66 inkscape:document-units="px"
69 inkscape:grid-bbox="true" 67 inkscape:grid-bbox="true"
70 inkscape:window-width="1366" 68 inkscape:window-width="1366"
71 - inkscape:window-height="744" 69 + inkscape:window-height="714"
72 inkscape:window-x="0" 70 inkscape:window-x="0"
73 - inkscape:window-y="24"  
74 - inkscape:window-maximized="1" /> 71 + inkscape:window-y="0"
  72 + inkscape:window-maximized="1"
  73 + inkscape:document-rotation="0"
  74 + inkscape:pagecheckerboard="true" />
75 <metadata 75 <metadata
76 id="metadata2690"> 76 id="metadata2690">
77 <rdf:RDF> 77 <rdf:RDF>
@@ -80,6 +80,7 @@ @@ -80,6 +80,7 @@
80 <dc:format>image/svg+xml</dc:format> 80 <dc:format>image/svg+xml</dc:format>
81 <dc:type 81 <dc:type
82 rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 82 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  83 + <dc:title></dc:title>
83 </cc:Work> 84 </cc:Work>
84 </rdf:RDF> 85 </rdf:RDF>
85 </metadata> 86 </metadata>
branding/release-badge-en.svg 0 → 100644
@@ -0,0 +1,132 @@ @@ -0,0 +1,132 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<svg
  3 + xmlns:dc="http://purl.org/dc/elements/1.1/"
  4 + xmlns:cc="http://creativecommons.org/ns#"
  5 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  6 + xmlns:svg="http://www.w3.org/2000/svg"
  7 + xmlns="http://www.w3.org/2000/svg"
  8 + xmlns:xlink="http://www.w3.org/1999/xlink"
  9 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  10 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  11 + width="602"
  12 + height="202"
  13 + viewBox="0 0 602 202.00001"
  14 + version="1.1"
  15 + id="svg8129"
  16 + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
  17 + sodipodi:docname="release-badge-en.svg"
  18 + inkscape:export-filename="/home/jimmac/SparkleShare/flathub-mockups/assets/download-button/download.png"
  19 + inkscape:export-xdpi="96"
  20 + inkscape:export-ydpi="96">
  21 + <defs
  22 + id="defs8123">
  23 + <linearGradient
  24 + id="a"
  25 + x1="34.76569"
  26 + x2="25.431995"
  27 + y1="9.90843"
  28 + y2="28.426884"
  29 + gradientTransform="scale(0.9319351,1.0730361)"
  30 + gradientUnits="userSpaceOnUse">
  31 + <stop
  32 + offset="0"
  33 + stop-color="#fff"
  34 + stop-opacity="0"
  35 + id="stop2" />
  36 + <stop
  37 + offset="1"
  38 + stop-color="#fff"
  39 + stop-opacity=".27451"
  40 + id="stop4" />
  41 + </linearGradient>
  42 + <clipPath
  43 + id="vlpa">
  44 + <path
  45 + d="M 0,200.3 H 320 V 0 H 0 Z"
  46 + id="path4" />
  47 + </clipPath>
  48 + <clipPath
  49 + id="vlpa-5">
  50 + <path
  51 + d="M 0,200.3 H 320 V 0 H 0 Z"
  52 + id="path4-6" />
  53 + </clipPath>
  54 + </defs>
  55 + <sodipodi:namedview
  56 + id="base"
  57 + pagecolor="#ffffff"
  58 + bordercolor="#666666"
  59 + borderopacity="1.0"
  60 + inkscape:pageopacity="0.0"
  61 + inkscape:pageshadow="2"
  62 + inkscape:zoom="1.1171875"
  63 + inkscape:cx="297.92307"
  64 + inkscape:cy="217.5035"
  65 + inkscape:document-units="px"
  66 + inkscape:current-layer="layer1"
  67 + showgrid="false"
  68 + units="px"
  69 + borderlayer="true"
  70 + inkscape:showpageshadow="false"
  71 + inkscape:snap-nodes="false"
  72 + inkscape:snap-bbox="true"
  73 + inkscape:bbox-nodes="true"
  74 + inkscape:snap-bbox-midpoints="true"
  75 + inkscape:window-width="1366"
  76 + inkscape:window-height="714"
  77 + inkscape:window-x="0"
  78 + inkscape:window-y="0"
  79 + inkscape:window-maximized="1"
  80 + inkscape:document-rotation="0"
  81 + fit-margin-left="1"
  82 + fit-margin-right="1"
  83 + fit-margin-bottom="1"
  84 + fit-margin-top="1"
  85 + inkscape:pagecheckerboard="true">
  86 + <inkscape:grid
  87 + type="xygrid"
  88 + id="grid8722"
  89 + originx="1"
  90 + originy="0.99999005" />
  91 + </sodipodi:namedview>
  92 + <metadata
  93 + id="metadata8126">
  94 + <rdf:RDF>
  95 + <cc:Work
  96 + rdf:about="">
  97 + <dc:format>image/svg+xml</dc:format>
  98 + <dc:type
  99 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  100 + <dc:title />
  101 + </cc:Work>
  102 + </rdf:RDF>
  103 + </metadata>
  104 + <g
  105 + inkscape:label="Layer 1"
  106 + inkscape:groupmode="layer"
  107 + id="layer1"
  108 + transform="translate(1,-921.51966)">
  109 + <rect
  110 + style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#888a85;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:normal"
  111 + id="rect8720"
  112 + width="596.22046"
  113 + height="196.22047"
  114 + x="1.8897638"
  115 + y="924.40942"
  116 + rx="32"
  117 + ry="32" />
  118 + <image
  119 + width="151.99791"
  120 + height="148.69359"
  121 + preserveAspectRatio="none"
  122 + style="image-rendering:optimizeQuality"
  123 + xlink:href="data:image/png;base64,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 "
  124 + id="image995"
  125 + x="30.706444"
  126 + y="948.17285" />
  127 + <path
  128 + d="m 370.99424,999.18766 -13.10205,46.38504 h -6.37037 l -9.54321,-33.8989 c -0.40838,-1.4447 -0.65847,-3.0192 -0.74357,-4.7228 h -0.12842 a 23.996544,23.996545 0 0 1 -0.84062,4.6584 l -9.60593,33.9633 h -6.3084 l -13.58583,-46.38514 h 5.98291 l 9.86648,35.58094 a 23.407512,23.407512 0 0 1 0.77641,4.6585 h 0.16276 c 0.1075,-1.1437 0.43897,-2.695 1.00113,-4.6585 l 10.25469,-35.58094 h 5.20722 l 9.83215,35.84074 c 0.3449,1.228 0.60247,2.6742 0.77641,4.3337 h 0.12842 c 0.0859,-1.1197 0.37699,-2.6077 0.87496,-4.4628 l 9.47677,-35.70944 h 5.88809 z m 7.3058,4.85094 c -0.94961,0 -1.75814,-0.3239 -2.42632,-0.9712 -0.66816,-0.6473 -1.00112,-1.4647 -1.00112,-2.4584 0,-0.99004 0.33521,-1.81714 1.00112,-2.47624 0.67042,-0.657 1.47671,-0.9855 2.42632,-0.9855 0.97052,0 1.79473,0.3306 2.47558,0.9855 0.67787,0.6591 1.0183,1.4841 1.0183,2.47624 0,0.9497 -0.34043,1.7582 -1.0183,2.4264 -0.68085,0.6697 -1.50431,1.0032 -2.47558,1.0032 z m 2.58757,41.5341 h -5.30504 v -33.1241 h 5.30504 z m 35.65103,0 h -5.30503 v -18.8894 c 0,-7.0297 -2.56667,-10.5444 -7.697,-10.5444 -2.65252,0 -4.84812,0.9974 -6.58387,2.9921 -1.73723,1.9948 -2.604,4.5123 -2.604,7.5523 v 18.8894 h -5.30577 v -33.1241 h 5.30577 v 5.4984 h 0.12842 c 2.50095,-4.1829 6.12325,-6.274 10.86835,-6.274 3.62229,0 6.39351,1.1699 8.31291,3.5087 1.92087,2.3398 2.87871,5.7201 2.87871,10.1398 v 20.2504 h 0.004 z m 37.73763,0 h -5.30576 v -5.6291 h -0.12841 c -2.45841,4.2704 -6.25614,6.4054 -11.38648,6.4054 -4.16204,0 -7.48794,-1.4826 -9.97845,-4.4487 -2.48902,-2.9639 -3.73651,-7.0026 -3.73651,-12.1135 0,-5.4775 1.37962,-9.8668 4.14114,-13.1635 2.76001,-3.3012 6.43531,-4.9495 11.0311,-4.9495 4.54802,0 7.85825,1.79 9.9292,5.369 h 0.12841 v -20.50774 h 5.30576 z m -5.30353,-14.976 v -4.8847 c 0,-2.6727 -0.88616,-4.9364 -2.65176,-6.7937 -1.76934,-1.8522 -4.01049,-2.7817 -6.7287,-2.7817 -3.23483,0 -5.7806,1.1871 -7.63353,3.5582 -1.85446,2.374 -2.78243,5.6498 -2.78243,9.8328 0,3.8179 0.88991,6.831 2.66894,9.0401 1.7768,2.2099 4.16578,3.3155 7.16394,3.3155 2.95488,0 5.35281,-1.0653 7.1983,-3.2027 1.84176,-2.1329 2.76524,-4.8303 2.76524,-8.083 z m 28.49305,15.7515 c -4.89665,0 -8.80338,-1.546 -11.7254,-4.6405 -2.92276,-3.0951 -4.38228,-7.1983 -4.38228,-12.3084 0,-5.5635 1.52073,-9.9092 4.56145,-13.0351 3.03847,-3.128 7.14753,-4.6927 12.32415,-4.6927 4.93622,0 8.79368,1.52 11.56266,4.5614 2.7712,3.0384 4.15608,7.2566 4.15608,12.6474 0,5.2842 -1.49311,9.515 -4.47934,12.6967 -2.98697,3.1812 -6.99224,4.7712 -12.01732,4.7712 z m 0.38821,-30.2116 c -3.40877,0 -6.10458,1.1587 -8.08595,3.4768 -1.98582,2.321 -2.97577,5.5156 -2.97577,9.591 0,3.9254 1.00188,7.0177 3.01012,9.2835 2.00375,2.2619 4.68987,3.3953 8.0531,3.3953 3.42967,0 6.06428,-1.111 7.90975,-3.3326 1.844,-2.2203 2.76525,-5.3798 2.76525,-9.4767 0,-4.142 -0.922,-7.3314 -2.76525,-9.5755 -1.84547,-2.2397 -4.48156,-3.3618 -7.91125,-3.3618 z m 63.91339,-3.6873 -9.92918,33.1234 h -5.50063 l -6.82352,-23.7107 c -0.25905,-0.9064 -0.43299,-1.9284 -0.51661,-3.0714 h -0.12841 c -0.0643,0.7757 -0.29116,1.7768 -0.67937,3.0087 l -7.40584,23.7748 h -5.30651 l -10.02774,-33.1224 h 5.56258 l 6.85563,24.9043 c 0.21426,0.7555 0.3658,1.747 0.45241,2.9751 h 0.25906 c 0.065,-0.9482 0.2598,-1.9604 0.58305,-3.0393 l 7.63354,-24.8425 h 4.85113 l 6.85711,24.9709 c 0.21425,0.7989 0.37701,1.7911 0.48675,2.9757 h 0.25906 c 0.0418,-0.8406 0.22546,-1.832 0.54872,-2.9757 l 6.7287,-24.9709 z m 2.45842,31.9251 v -5.6932 c 2.88917,2.1367 6.0695,3.2027 9.54099,3.2027 4.6585,0 6.98627,-1.5528 6.98627,-4.6585 0,-0.8839 -0.19859,-1.6335 -0.59576,-2.2486 -0.39792,-0.6152 -0.93917,-1.158 -1.61705,-1.6334 -0.67936,-0.4734 -1.47818,-0.9011 -2.39196,-1.2774 a 172.94937,172.94937 0 0 0 -2.96009,-1.1811 c -1.46699,-0.583 -2.75628,-1.1698 -3.86492,-1.7641 -1.11088,-0.593 -2.03661,-1.261 -2.78241,-2.0061 a 7.4730242,7.4730242 0 0 1 -1.68273,-2.5404 c -0.37702,-0.9483 -0.56591,-2.0576 -0.56591,-3.3312 0,-1.5523 0.35612,-2.928 1.06534,-4.1241 0.71371,-1.1981 1.66184,-2.1993 2.84662,-3.0093 1.18702,-0.8085 2.54054,-1.4185 4.06201,-1.829 a 18.024098,18.024097 0 0 1 4.7033,-0.6122 c 2.86753,0 5.43418,0.4972 7.69999,1.4871 v 5.3692 c -2.43975,-1.5954 -5.24307,-2.3942 -8.41145,-2.3942 -0.99218,0 -1.88506,0.1136 -2.68388,0.3412 -0.7988,0.2247 -1.48191,0.545 -2.05302,0.9534 -0.57187,0.4106 -1.01308,0.901 -1.32589,1.4707 a 3.8708919,3.8708919 0 0 0 -0.46882,1.8933 c 0,0.8629 0.15527,1.5842 0.46882,2.1687 0.31281,0.5808 0.77046,1.0974 1.37441,1.5521 0.60547,0.4501 1.33857,0.8614 2.19935,1.2266 0.86527,0.3673 1.84549,0.7667 2.94741,1.1982 1.46326,0.5621 2.78017,1.1392 3.94405,1.7298 1.16463,0.5929 2.15606,1.2624 2.97503,2.006 a 7.8955745,7.8955752 0 0 1 1.89326,2.5704 c 0.44048,0.9728 0.6622,2.1256 0.6622,3.4618 0,1.6394 -0.35834,3.0624 -1.0825,4.2704 a 9.259533,9.259533 0 0 1 -2.89441,3.0071 c -1.20942,0.7987 -2.598,1.3916 -4.17323,1.7796 -1.57077,0.3884 -3.2214,0.5824 -4.94744,0.5824 -3.4125,0.01 -6.36737,-0.6525 -8.86758,-1.9679 z m -256.67561,-61.90744 -43.95944,6.4143 v 31.85494 h 43.95795 z m -78.97813,11.5208 v 26.74844 h 31.92049 v -31.40476 z m 0,56.93314 31.92049,4.7093 v -31.798 h -31.92049 z m 78.97813,11.6515 v -38.7403 h -43.95944 v 32.2566 z"
  129 + id="path1779"
  130 + style="fill:#0078d6;fill-opacity:1;stroke-width:0.746547" />
  131 + </g>
  132 +</svg>
@@ -74,7 +74,6 @@ case &quot;$host&quot; in @@ -74,7 +74,6 @@ case &quot;$host&quot; in
74 AC_CONFIG_FILES(src/main/windows/resources.rc) 74 AC_CONFIG_FILES(src/main/windows/resources.rc)
75 AC_CONFIG_FILES(src/main/windows/app-manifest.xml) 75 AC_CONFIG_FILES(src/main/windows/app-manifest.xml)
76 76
77 - AC_CONFIG_FILES(win/makeruntime.sh)  
78 AC_CONFIG_FILES(win/pw3270.nsi) 77 AC_CONFIG_FILES(win/pw3270.nsi)
79 78
80 if test "$host_cpu" = "x86_64"; then 79 if test "$host_cpu" = "x86_64"; then
gitsync.sh
@@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
1 -#!/bin/bash  
2 -#  
3 -# https://help.github.com/articles/syncing-a-fork/  
4 -#  
5 -# https://help.github.com/articles/configuring-a-remote-for-a-fork/  
6 -#  
7 -# https://www.opentechguides.com/how-to/article/git/177/git-sync-repos.html  
8 -#  
9 -# Setup:  
10 -#  
11 -# git remote add github https://github.com/PerryWerneck/lib3270.git  
12 -#  
13 -#  
14 -  
15 -git push  
16 -  
17 -git fetch origin  
18 -git merge  
19 -  
20 -BRANCH=$(git symbolic-ref --short HEAD)  
21 -REPOS=$(git remote -v | grep -v origin | grep "(push)" | awk '{print $1}')  
22 -  
23 -for repo in ${REPOS}  
24 -do  
25 - echo "Getting updates to branch ${BRANCH} from ${repo} ..."  
26 - git fetch "${repo}" "${BRANCH}"  
27 -# git merge 2>&1 > /dev/null  
28 -done  
29 -  
30 -for repo in ${REPOS}  
31 -do  
32 - echo "Updating ${repo} ..."  
33 - git push ${repo}  
34 -done  
35 -  
locale/Makefile.in
@@ -68,6 +68,5 @@ all: \ @@ -68,6 +68,5 @@ all: \
68 $(foreach SRC, $(basename $(wildcard *.po)), $(BINDIR)/$(SRC)/LC_MESSAGES/$(PRODUCT_NAME).mo) 68 $(foreach SRC, $(basename $(wildcard *.po)), $(BINDIR)/$(SRC)/LC_MESSAGES/$(PRODUCT_NAME).mo)
69 69
70 install: \ 70 install: \
71 - $(foreach SRC, $(basename $(wildcard *.po)), $(DESTDIR)/$(localedir)/$(SRC)/LC_MESSAGES/$(PRODUCT_NAME).mo)  
72 - 71 + $(foreach SRC, $(basename $(wildcard *.po)), $(DESTDIR)/$(localedir)/$(SRC)/LC_MESSAGES/$(PACKAGE_NAME).mo)
73 72
locale/pt_BR.po
@@ -5,8 +5,8 @@ msgid &quot;&quot; @@ -5,8 +5,8 @@ msgid &quot;&quot;
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: 2023-01-31 11:13-0300\n"  
9 -"PO-Revision-Date: 2023-01-31 11:14-0300\n" 8 +"POT-Creation-Date: 2023-04-08 01:14-0300\n"
  9 +"PO-Revision-Date: 2023-04-21 08:30-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: Brazilian Portuguese <perry.werneck@gmail.com>\n" 11 "Language-Team: Brazilian Portuguese <perry.werneck@gmail.com>\n"
12 "Language: pt_BR\n" 12 "Language: pt_BR\n"
@@ -24,29 +24,29 @@ msgstr &quot;&quot; @@ -24,29 +24,29 @@ msgstr &quot;&quot;
24 msgid "\"%s\" is not a valid user interface name" 24 msgid "\"%s\" is not a valid user interface name"
25 msgstr "\"%s\" não é um nome válido para interface de usuário" 25 msgstr "\"%s\" não é um nome válido para interface de usuário"
26 26
27 -#: src/objects/application/actions/about.c:118 27 +#: src/objects/application/actions/about.c:136
28 #, c-format 28 #, c-format
29 msgid "%s for %s." 29 msgid "%s for %s."
30 msgstr "%s para %s" 30 msgstr "%s para %s"
31 31
32 -#: src/objects/application/actions/about.c:125 32 +#: src/objects/application/actions/about.c:143
33 msgid "32 bits Linux" 33 msgid "32 bits Linux"
34 msgstr "Linux 32 bits" 34 msgstr "Linux 32 bits"
35 35
36 -#: src/objects/application/actions/about.c:123 36 +#: src/objects/application/actions/about.c:141
37 msgid "32 bits Windows" 37 msgid "32 bits Windows"
38 msgstr "Windows 32 bits" 38 msgstr "Windows 32 bits"
39 39
40 #: src/objects/actions/save.c:167 src/objects/os/linux/savedesktopicon.c:233 40 #: src/objects/actions/save.c:167 src/objects/os/linux/savedesktopicon.c:233
41 -#: src/objects/os/windows/savedesktopicon.c:224 41 +#: src/objects/os/windows/savedesktopicon.c:214
42 msgid "3270 session files" 42 msgid "3270 session files"
43 msgstr "Arquivos de sessão TN3270" 43 msgstr "Arquivos de sessão TN3270"
44 44
45 -#: src/objects/application/actions/about.c:127 45 +#: src/objects/application/actions/about.c:145
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:121 49 +#: src/objects/application/actions/about.c:139
50 msgid "64 bits Windows" 50 msgid "64 bits Windows"
51 msgstr "Windows 64 bits" 51 msgstr "Windows 64 bits"
52 52
@@ -57,7 +57,7 @@ msgstr &quot;&quot; @@ -57,7 +57,7 @@ msgstr &quot;&quot;
57 "<small><b>Alterações na posição da barra de ferramentas só tem efeito apos " 57 "<small><b>Alterações na posição da barra de ferramentas só tem efeito apos "
58 "reinício da aplicação</b></small>" 58 "reinício da aplicação</b></small>"
59 59
60 -#: src/objects/application/actions/about.c:217 ui/windows.ui.xml:40 60 +#: src/objects/application/actions/about.c:235 ui/windows.ui.xml:40
61 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553 61 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553
62 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553 62 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553
63 msgid "About PW3270" 63 msgid "About PW3270"
@@ -67,7 +67,7 @@ msgstr &quot;Sobre o PW3270&quot; @@ -67,7 +67,7 @@ msgstr &quot;Sobre o PW3270&quot;
67 msgid "Action Name" 67 msgid "Action Name"
68 msgstr "Nome da ação" 68 msgstr "Nome da ação"
69 69
70 -#: src/objects/window/window.c:205 70 +#: src/objects/window/window.c:206
71 msgid "Action Names" 71 msgid "Action Names"
72 msgstr "Nome das ações" 72 msgstr "Nome das ações"
73 73
@@ -77,7 +77,7 @@ msgstr &quot;Nome das ações&quot; @@ -77,7 +77,7 @@ msgstr &quot;Nome das ações&quot;
77 msgid "Alert sound" 77 msgid "Alert sound"
78 msgstr "Aviso sonoro" 78 msgstr "Aviso sonoro"
79 79
80 -#: src/main/tools.c:79 80 +#: src/main/tools.c:68
81 msgid "All files" 81 msgid "All files"
82 msgstr "Todos os arquivos" 82 msgstr "Todos os arquivos"
83 83
@@ -86,7 +86,7 @@ msgstr &quot;Todos os arquivos&quot; @@ -86,7 +86,7 @@ msgstr &quot;Todos os arquivos&quot;
86 msgid "Append to copy" 86 msgid "Append to copy"
87 msgstr "Adicionar à cópia" 87 msgstr "Adicionar à cópia"
88 88
89 -#: src/objects/application/actions/about.c:160 89 +#: src/objects/application/actions/about.c:178
90 msgid "Apple version" 90 msgid "Apple version"
91 msgstr "Versão Apple" 91 msgstr "Versão Apple"
92 92
@@ -116,7 +116,7 @@ msgstr &quot;Reconectar automaticamente&quot; @@ -116,7 +116,7 @@ msgstr &quot;Reconectar automaticamente&quot;
116 msgid "Available" 116 msgid "Available"
117 msgstr "Disponível" 117 msgstr "Disponível"
118 118
119 -#: src/objects/application/actions/about.c:163 119 +#: src/objects/application/actions/about.c:181
120 msgid "Based on X3270 from" 120 msgid "Based on X3270 from"
121 msgstr "Baseado no X3270 por" 121 msgstr "Baseado no X3270 por"
122 122
@@ -146,10 +146,6 @@ msgstr &quot;Não foi possível carregar arquivo de sessão&quot; @@ -146,10 +146,6 @@ msgstr &quot;Não foi possível carregar arquivo de sessão&quot;
146 msgid "Can't load session preferences" 146 msgid "Can't load session preferences"
147 msgstr "Não foi possível carregar preferências da sessão" 147 msgstr "Não foi possível carregar preferências da sessão"
148 148
149 -#: src/objects/settings/gsettings.c:128  
150 -msgid "Can't load system settings"  
151 -msgstr "Não foi possível carregar configurações de sistema"  
152 -  
153 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192 149 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192
154 #, c-format 150 #, c-format
155 msgid "Can't use \"%s\"" 151 msgid "Can't use \"%s\""
@@ -224,11 +220,11 @@ msgstr &quot;Conectar ao iniciar&quot; @@ -224,11 +220,11 @@ msgstr &quot;Conectar ao iniciar&quot;
224 msgid "Connect to host" 220 msgid "Connect to host"
225 msgstr "Conectar ao servidor" 221 msgstr "Conectar ao servidor"
226 222
227 -#: src/objects/window/window.c:778 src/objects/window/page.c:218 223 +#: src/objects/window/window.c:779 src/objects/window/page.c:218
228 msgid "Connected to host" 224 msgid "Connected to host"
229 msgstr "Conectado no servidor" 225 msgstr "Conectado no servidor"
230 226
231 -#: src/objects/application/actions/about.c:161 227 +#: src/objects/application/actions/about.c:179
232 msgid "Contributors" 228 msgid "Contributors"
233 msgstr "Contribuidores" 229 msgstr "Contribuidores"
234 230
@@ -255,12 +251,12 @@ msgstr &quot;Copiar como tabela&quot; @@ -255,12 +251,12 @@ msgstr &quot;Copiar como tabela&quot;
255 msgid "Copy as text" 251 msgid "Copy as text"
256 msgstr "Copiar como texto" 252 msgstr "Copiar como texto"
257 253
258 -#: src/objects/application/actions/about.c:167 254 +#: src/objects/application/actions/about.c:185
259 msgid "Copyright © 2008 Banco do Brasil S.A." 255 msgid "Copyright © 2008 Banco do Brasil S.A."
260 msgstr "Copyright © 2008 Banco do Brasil S.A." 256 msgstr "Copyright © 2008 Banco do Brasil S.A."
261 257
262 #: src/objects/os/linux/savedesktopicon.c:114 258 #: src/objects/os/linux/savedesktopicon.c:114
263 -#: src/objects/os/windows/savedesktopicon.c:109 259 +#: src/objects/os/windows/savedesktopicon.c:99
264 #: src/objects/os/macos/savedesktopicon.c:54 260 #: src/objects/os/macos/savedesktopicon.c:54
265 msgid "Create shortcut for the current session" 261 msgid "Create shortcut for the current session"
266 msgstr "Criar atalho para a sessão atual." 262 msgstr "Criar atalho para a sessão atual."
@@ -295,7 +291,7 @@ msgstr &quot;Recortar&quot; @@ -295,7 +291,7 @@ msgstr &quot;Recortar&quot;
295 msgid "Delete Field" 291 msgid "Delete Field"
296 msgstr "Apagar campo" 292 msgstr "Apagar campo"
297 293
298 -#: src/objects/os/windows/savedesktopicon.c:82 294 +#: src/objects/os/windows/savedesktopicon.c:72
299 msgid "Description" 295 msgid "Description"
300 msgstr "Descrição" 296 msgstr "Descrição"
301 297
@@ -304,7 +300,7 @@ msgstr &quot;Descrição&quot; @@ -304,7 +300,7 @@ msgstr &quot;Descrição&quot;
304 msgid "Disconnect" 300 msgid "Disconnect"
305 msgstr "Desconectar" 301 msgstr "Desconectar"
306 302
307 -#: src/objects/window/window.c:778 src/objects/window/window.c:805 303 +#: src/objects/window/window.c:779 src/objects/window/window.c:806
308 #: src/objects/window/page.c:207 304 #: src/objects/window/page.c:207
309 msgid "Disconnected from host" 305 msgid "Disconnected from host"
310 msgstr "Desconectado do servidor" 306 msgstr "Desconectado do servidor"
@@ -365,7 +361,7 @@ msgstr &quot;Erro iniciando sessão&quot; @@ -365,7 +361,7 @@ msgstr &quot;Erro iniciando sessão&quot;
365 msgid "Field attributes" 361 msgid "Field attributes"
366 msgstr "Atributos de campo" 362 msgstr "Atributos de campo"
367 363
368 -#: src/objects/os/windows/savedesktopicon.c:221 364 +#: src/objects/os/windows/savedesktopicon.c:211
369 msgid "File for session preferences" 365 msgid "File for session preferences"
370 msgstr "Arquivo para preferências da sessão" 366 msgstr "Arquivo para preferências da sessão"
371 367
@@ -392,9 +388,9 @@ msgstr &quot;Ajuda&quot; @@ -392,9 +388,9 @@ msgstr &quot;Ajuda&quot;
392 msgid "Host and Emulation settings" 388 msgid "Host and Emulation settings"
393 msgstr "Configuração de servidor e emulação" 389 msgstr "Configuração de servidor e emulação"
394 390
395 -#: src/objects/application/actions/about.c:119 src/objects/window/window.c:564 391 +#: src/objects/application/actions/about.c:137 src/objects/window/window.c:565
396 #: src/objects/os/linux/savedesktopicon.c:102 392 #: src/objects/os/linux/savedesktopicon.c:102
397 -#: src/objects/os/windows/savedesktopicon.c:271 393 +#: src/objects/os/windows/savedesktopicon.c:261
398 msgid "IBM 3270 Terminal emulator" 394 msgid "IBM 3270 Terminal emulator"
399 msgstr "Emulador de terminal IBM 3270" 395 msgstr "Emulador de terminal IBM 3270"
400 396
@@ -434,6 +430,10 @@ msgstr &quot;Apenas ícones&quot; @@ -434,6 +430,10 @@ msgstr &quot;Apenas ícones&quot;
434 msgid "If the action can be activated" 430 msgid "If the action can be activated"
435 msgstr "Se a ação pode ser ativada" 431 msgstr "Se a ação pode ser ativada"
436 432
  433 +#: src/objects/application/application.c:541
  434 +msgid "Initialization has failed"
  435 +msgstr "Inicialização falhou"
  436 +
437 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022 437 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022
438 msgid "Insert" 438 msgid "Insert"
439 msgstr "Inserção" 439 msgstr "Inserção"
@@ -478,11 +478,11 @@ msgstr &quot;Altura do painel em linhas&quot; @@ -478,11 +478,11 @@ msgstr &quot;Altura do painel em linhas&quot;
478 msgid "Keypad width in columns" 478 msgid "Keypad width in columns"
479 msgstr "Largura do painel em colunas" 479 msgstr "Largura do painel em colunas"
480 480
481 -#: src/main/builder.c:112 481 +#: src/main/builder.c:117
482 msgid "Keypads" 482 msgid "Keypads"
483 msgstr "Painéis" 483 msgstr "Painéis"
484 484
485 -#: src/objects/application/actions/about.c:171 485 +#: src/objects/application/actions/about.c:189
486 msgid "LICENSE" 486 msgid "LICENSE"
487 msgstr "LICENCA" 487 msgstr "LICENCA"
488 488
@@ -518,7 +518,7 @@ msgstr &quot;Barra de ferramentas&quot; @@ -518,7 +518,7 @@ msgstr &quot;Barra de ferramentas&quot;
518 msgid "Main menu" 518 msgid "Main menu"
519 msgstr "Menu principal" 519 msgstr "Menu principal"
520 520
521 -#: src/objects/application/actions/about.c:159 521 +#: src/objects/application/actions/about.c:177
522 msgid "Maintainers" 522 msgid "Maintainers"
523 msgstr "Mantenedores" 523 msgstr "Mantenedores"
524 524
@@ -643,7 +643,7 @@ msgid &quot;Paste with left margin&quot; @@ -643,7 +643,7 @@ msgid &quot;Paste with left margin&quot;
643 msgstr "Colar com margem esquerda" 643 msgstr "Colar com margem esquerda"
644 644
645 #: src/objects/os/linux/savedesktopicon.c:71 645 #: src/objects/os/linux/savedesktopicon.c:71
646 -#: src/objects/os/windows/savedesktopicon.c:76 646 +#: src/objects/os/windows/savedesktopicon.c:66
647 msgid "Path for the new shortcut" 647 msgid "Path for the new shortcut"
648 msgstr "Caminho para o novo atalho" 648 msgstr "Caminho para o novo atalho"
649 649
@@ -718,7 +718,7 @@ msgid &quot;Save session preferences&quot; @@ -718,7 +718,7 @@ msgid &quot;Save session preferences&quot;
718 msgstr "Salvar preferências da sessão" 718 msgstr "Salvar preferências da sessão"
719 719
720 #: src/objects/os/linux/savedesktopicon.c:113 720 #: src/objects/os/linux/savedesktopicon.c:113
721 -#: src/objects/os/windows/savedesktopicon.c:108 721 +#: src/objects/os/windows/savedesktopicon.c:98
722 #: src/objects/os/macos/savedesktopicon.c:53 722 #: src/objects/os/macos/savedesktopicon.c:53
723 msgid "Save session shortcut" 723 msgid "Save session shortcut"
724 msgstr "Salvar atalho para a sessão" 724 msgstr "Salvar atalho para a sessão"
@@ -731,7 +731,7 @@ msgstr &quot;Salvar para arquivo de sessão&quot; @@ -731,7 +731,7 @@ msgstr &quot;Salvar para arquivo de sessão&quot;
731 msgid "Save to shortcut file" 731 msgid "Save to shortcut file"
732 msgstr "Salvar para arquivo de atalho" 732 msgstr "Salvar para arquivo de atalho"
733 733
734 -#: src/objects/os/windows/savedesktopicon.c:186 734 +#: src/objects/os/windows/savedesktopicon.c:176
735 msgid "Save to windows shortcut" 735 msgid "Save to windows shortcut"
736 msgstr "Salvar para atalho windows" 736 msgstr "Salvar para atalho windows"
737 737
@@ -796,7 +796,7 @@ msgid &quot;Session Trace&quot; @@ -796,7 +796,7 @@ msgid &quot;Session Trace&quot;
796 msgstr "Trace da sessão" 796 msgstr "Trace da sessão"
797 797
798 #: src/objects/actions/save.c:63 src/objects/os/linux/savedesktopicon.c:85 798 #: src/objects/actions/save.c:63 src/objects/os/linux/savedesktopicon.c:85
799 -#: src/objects/os/windows/savedesktopicon.c:96 799 +#: src/objects/os/windows/savedesktopicon.c:86
800 msgid "Session file" 800 msgid "Session file"
801 msgstr "Arquivo de sessão" 801 msgstr "Arquivo de sessão"
802 802
@@ -811,7 +811,7 @@ msgid &quot;Session in new window&quot; @@ -811,7 +811,7 @@ msgid &quot;Session in new window&quot;
811 msgstr "Sessão em nova janela" 811 msgstr "Sessão em nova janela"
812 812
813 #: src/objects/actions/save.c:56 src/objects/os/linux/savedesktopicon.c:77 813 #: src/objects/actions/save.c:56 src/objects/os/linux/savedesktopicon.c:77
814 -#: src/objects/os/windows/savedesktopicon.c:88 814 +#: src/objects/os/windows/savedesktopicon.c:78
815 msgid "Session name" 815 msgid "Session name"
816 msgstr "Nome da sessão" 816 msgstr "Nome da sessão"
817 817
@@ -847,7 +847,7 @@ msgid &quot;Setup toolbar&quot; @@ -847,7 +847,7 @@ msgid &quot;Setup toolbar&quot;
847 msgstr "Configurar barra de ferramentas" 847 msgstr "Configurar barra de ferramentas"
848 848
849 #: src/objects/os/linux/savedesktopicon.c:70 849 #: src/objects/os/linux/savedesktopicon.c:70
850 -#: src/objects/os/windows/savedesktopicon.c:75 850 +#: src/objects/os/windows/savedesktopicon.c:65
851 msgid "Shortcut file" 851 msgid "Shortcut file"
852 msgstr "Arquivo de atalho" 852 msgstr "Arquivo de atalho"
853 853
@@ -910,11 +910,11 @@ msgstr &quot;Simbólico&quot; @@ -910,11 +910,11 @@ msgstr &quot;Simbólico&quot;
910 msgid "System default" 910 msgid "System default"
911 msgstr "Padrão do sistema" 911 msgstr "Padrão do sistema"
912 912
913 -#: src/objects/settings/gsettings.c:133 913 +#: src/objects/application/application.c:546
914 msgid "System settings error" 914 msgid "System settings error"
915 msgstr "Erro nas configurações de sistema" 915 msgstr "Erro nas configurações de sistema"
916 916
917 -#: src/main/tools.c:75 917 +#: src/main/tools.c:64
918 msgid "TN3270 Session Files" 918 msgid "TN3270 Session Files"
919 msgstr "Arquivos de sessão TN3270" 919 msgstr "Arquivos de sessão TN3270"
920 920
@@ -960,7 +960,7 @@ msgid &quot;The file to save the current session preferences&quot; @@ -960,7 +960,7 @@ msgid &quot;The file to save the current session preferences&quot;
960 msgstr "O arquivo com as preferências da sessão atual" 960 msgstr "O arquivo com as preferências da sessão atual"
961 961
962 #: src/objects/os/linux/savedesktopicon.c:86 962 #: src/objects/os/linux/savedesktopicon.c:86
963 -#: src/objects/os/windows/savedesktopicon.c:97 963 +#: src/objects/os/windows/savedesktopicon.c:87
964 msgid "The file with the session preferences for this shortcut" 964 msgid "The file with the session preferences for this shortcut"
965 msgstr "O arquivo com as preferências da sessão para esse atalho" 965 msgstr "O arquivo com as preferências da sessão para esse atalho"
966 966
@@ -976,7 +976,7 @@ msgstr &quot;A etiqueta da ação&quot; @@ -976,7 +976,7 @@ msgstr &quot;A etiqueta da ação&quot;
976 msgid "The name of associated action" 976 msgid "The name of associated action"
977 msgstr "Nome da ação associada" 977 msgstr "Nome da ação associada"
978 978
979 -#: src/objects/window/window.c:206 979 +#: src/objects/window/window.c:207
980 msgid "The name of the actions in the header bar" 980 msgid "The name of the actions in the header bar"
981 msgstr "O nome das ações na barra de título" 981 msgstr "O nome das ações na barra de título"
982 982
@@ -1005,7 +1005,7 @@ msgid &quot;The position of the keypad&quot; @@ -1005,7 +1005,7 @@ msgid &quot;The position of the keypad&quot;
1005 msgstr "A posição do painel" 1005 msgstr "A posição do painel"
1006 1006
1007 #: src/objects/actions/save.c:57 src/objects/os/linux/savedesktopicon.c:79 1007 #: src/objects/actions/save.c:57 src/objects/os/linux/savedesktopicon.c:79
1008 -#: src/objects/os/windows/savedesktopicon.c:90 1008 +#: src/objects/os/windows/savedesktopicon.c:80
1009 msgid "The session name used in the window/tab title (empty for default)" 1009 msgid "The session name used in the window/tab title (empty for default)"
1010 msgstr "" 1010 msgstr ""
1011 "O nome da sessão usada no título da janela/aba. Vazio para usar o valor " 1011 "O nome da sessão usada no título da janela/aba. Vazio para usar o valor "
@@ -1091,10 +1091,9 @@ msgstr &quot;Mostrar posição do cursor&quot; @@ -1091,10 +1091,9 @@ msgstr &quot;Mostrar posição do cursor&quot;
1091 msgid "UI Type" 1091 msgid "UI Type"
1092 msgstr "Interface de usuário" 1092 msgstr "Interface de usuário"
1093 1093
1094 -#: src/objects/settings/gsettings.c:131  
1095 -msgid ""  
1096 -"Unable to initialize system settings. Application may crash in unexpected "  
1097 -"ways" 1094 +#: src/objects/application/application.c:544
  1095 +#, fuzzy
  1096 +msgid "Unable to initialize settings. Application may crash in unexpected ways"
1098 msgstr "" 1097 msgstr ""
1099 "Não foi possível iniciar configuração de sistema. Aplicação pode falhar de " 1098 "Não foi possível iniciar configuração de sistema. Aplicação pode falhar de "
1100 "forma inesperada" 1099 "forma inesperada"
@@ -1109,7 +1108,7 @@ msgstr &quot;Incapaz de ler preferências de sessa de &#39;%s&#39;&quot; @@ -1109,7 +1108,7 @@ msgstr &quot;Incapaz de ler preferências de sessa de &#39;%s&#39;&quot;
1109 msgid "Unselect" 1108 msgid "Unselect"
1110 msgstr "Remover seleção" 1109 msgstr "Remover seleção"
1111 1110
1112 -#: src/objects/application/actions/about.c:98 1111 +#: src/objects/application/actions/about.c:116
1113 #, c-format 1112 #, c-format
1114 msgid "Unstable version %s-%s" 1113 msgid "Unstable version %s-%s"
1115 msgstr "Versão instável %s-%s" 1114 msgstr "Versão instável %s-%s"
@@ -1119,7 +1118,7 @@ msgstr &quot;Versão instável %s-%s&quot; @@ -1119,7 +1118,7 @@ msgstr &quot;Versão instável %s-%s&quot;
1119 msgid "Use +/- for field navigation" 1118 msgid "Use +/- for field navigation"
1120 msgstr "Usar teclas +/- para navegar por campos" 1119 msgstr "Usar teclas +/- para navegar por campos"
1121 1120
1122 -#: src/objects/application/actions/about.c:100 1121 +#: src/objects/application/actions/about.c:118
1123 #, c-format 1122 #, c-format
1124 msgid "Version %s-%s" 1123 msgid "Version %s-%s"
1125 msgstr "Versão %s-%s" 1124 msgstr "Versão %s-%s"
@@ -1131,7 +1130,7 @@ msgstr &quot;Versão %s-%s&quot; @@ -1131,7 +1130,7 @@ msgstr &quot;Versão %s-%s&quot;
1131 msgid "View" 1130 msgid "View"
1132 msgstr "Exibir" 1131 msgstr "Exibir"
1133 1132
1134 -#: src/objects/application/actions/about.c:191 1133 +#: src/objects/application/actions/about.c:209
1135 msgid "View this project on github" 1134 msgid "View this project on github"
1136 msgstr "Visite-nos no github" 1135 msgstr "Visite-nos no github"
1137 1136
@@ -1140,7 +1139,7 @@ msgstr &quot;Visite-nos no github&quot; @@ -1140,7 +1139,7 @@ msgstr &quot;Visite-nos no github&quot;
1140 msgid "Window with default session" 1139 msgid "Window with default session"
1141 msgstr "Janela com sessão padrão" 1140 msgstr "Janela com sessão padrão"
1142 1141
1143 -#: src/objects/os/windows/savedesktopicon.c:189 1142 +#: src/objects/os/windows/savedesktopicon.c:179
1144 msgid "Windows shortcuts" 1143 msgid "Windows shortcuts"
1145 msgstr "Atalhos windows" 1144 msgstr "Atalhos windows"
1146 1145
@@ -1150,7 +1149,7 @@ msgstr &quot;_Aplicar&quot; @@ -1150,7 +1149,7 @@ msgstr &quot;_Aplicar&quot;
1150 1149
1151 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78 1150 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78
1152 #: src/objects/os/linux/savedesktopicon.c:140 1151 #: src/objects/os/linux/savedesktopicon.c:140
1153 -#: src/objects/os/windows/savedesktopicon.c:134 1152 +#: src/objects/os/windows/savedesktopicon.c:124
1154 msgid "_Cancel" 1153 msgid "_Cancel"
1155 msgstr "_Cancelar" 1154 msgstr "_Cancelar"
1156 1155
@@ -1200,7 +1199,7 @@ msgid &quot;_Rename session&quot; @@ -1200,7 +1199,7 @@ msgid &quot;_Rename session&quot;
1200 msgstr "Renomear sessão" 1199 msgstr "Renomear sessão"
1201 1200
1202 #: src/objects/actions/save.c:104 src/objects/os/linux/savedesktopicon.c:141 1201 #: src/objects/actions/save.c:104 src/objects/os/linux/savedesktopicon.c:141
1203 -#: src/objects/os/windows/savedesktopicon.c:135 1202 +#: src/objects/os/windows/savedesktopicon.c:125
1204 msgid "_Save" 1203 msgid "_Save"
1205 msgstr "_Salvar" 1204 msgstr "_Salvar"
1206 1205
@@ -1208,11 +1207,11 @@ msgstr &quot;_Salvar&quot; @@ -1208,11 +1207,11 @@ msgstr &quot;_Salvar&quot;
1208 msgid "_View" 1207 msgid "_View"
1209 msgstr "_Exibir" 1208 msgstr "_Exibir"
1210 1209
1211 -#: src/objects/application/actions/about.c:190 1210 +#: src/objects/application/actions/about.c:208
1212 msgid "https://github.com/PerryWerneck/pw3270" 1211 msgid "https://github.com/PerryWerneck/pw3270"
1213 msgstr "https://github.com/PerryWerneck/pw3270" 1212 msgstr "https://github.com/PerryWerneck/pw3270"
1214 1213
1215 -#: src/objects/application/actions/about.c:193 1214 +#: src/objects/application/actions/about.c:211
1216 msgid "translator-credits" 1215 msgid "translator-credits"
1217 msgstr "translator-credits" 1216 msgstr "translator-credits"
1218 1217
@@ -1647,6 +1646,9 @@ msgstr &quot;translator-credits&quot; @@ -1647,6 +1646,9 @@ msgstr &quot;translator-credits&quot;
1647 #~ msgid "Can't load plugin %s" 1646 #~ msgid "Can't load plugin %s"
1648 #~ msgstr "Não foi possível carregar plugin %s" 1647 #~ msgstr "Não foi possível carregar plugin %s"
1649 1648
  1649 +#~ msgid "Can't load system settings"
  1650 +#~ msgstr "Não foi possível carregar configurações de sistema"
  1651 +
1650 #~ msgid "Can't open \"%s\"" 1652 #~ msgid "Can't open \"%s\""
1651 #~ msgstr "Não foi possível abrir %s" 1653 #~ msgstr "Não foi possível abrir %s"
1652 1654
@@ -2669,9 +2671,6 @@ msgstr &quot;translator-credits&quot; @@ -2669,9 +2671,6 @@ msgstr &quot;translator-credits&quot;
2669 #~ msgid "Operation failed" 2671 #~ msgid "Operation failed"
2670 #~ msgstr "Operação falhou" 2672 #~ msgstr "Operação falhou"
2671 2673
2672 -#~ msgid "Operation has failed"  
2673 -#~ msgstr "Operação falhou"  
2674 -  
2675 #~ msgid "Option '%c:' is not supported" 2674 #~ msgid "Option '%c:' is not supported"
2676 #~ msgstr "Opção não suportada: '%c:'" 2675 #~ msgstr "Opção não suportada: '%c:'"
2677 2676
locale/pw3270.pot
@@ -8,7 +8,7 @@ msgid &quot;&quot; @@ -8,7 +8,7 @@ msgid &quot;&quot;
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: 2023-03-29 15:03-0300\n" 11 +"POT-Creation-Date: 2023-04-19 09:27-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,29 +22,29 @@ msgstr &quot;&quot; @@ -22,29 +22,29 @@ msgstr &quot;&quot;
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:118 25 +#: src/objects/application/actions/about.c:136
26 #, c-format 26 #, c-format
27 msgid "%s for %s." 27 msgid "%s for %s."
28 msgstr "" 28 msgstr ""
29 29
30 -#: src/objects/application/actions/about.c:125 30 +#: src/objects/application/actions/about.c:143
31 msgid "32 bits Linux" 31 msgid "32 bits Linux"
32 msgstr "" 32 msgstr ""
33 33
34 -#: src/objects/application/actions/about.c:123 34 +#: src/objects/application/actions/about.c:141
35 msgid "32 bits Windows" 35 msgid "32 bits Windows"
36 msgstr "" 36 msgstr ""
37 37
38 #: src/objects/actions/save.c:167 src/objects/os/linux/savedesktopicon.c:233 38 #: src/objects/actions/save.c:167 src/objects/os/linux/savedesktopicon.c:233
39 -#: src/objects/os/windows/savedesktopicon.c:224 39 +#: src/objects/os/windows/savedesktopicon.c:214
40 msgid "3270 session files" 40 msgid "3270 session files"
41 msgstr "" 41 msgstr ""
42 42
43 -#: src/objects/application/actions/about.c:127 43 +#: src/objects/application/actions/about.c:145
44 msgid "64 bits Linux" 44 msgid "64 bits Linux"
45 msgstr "" 45 msgstr ""
46 46
47 -#: src/objects/application/actions/about.c:121 47 +#: src/objects/application/actions/about.c:139
48 msgid "64 bits Windows" 48 msgid "64 bits Windows"
49 msgstr "" 49 msgstr ""
50 50
@@ -53,7 +53,7 @@ msgid &quot;&quot; @@ -53,7 +53,7 @@ msgid &quot;&quot;
53 "<small><b>The toolbar position only takes effect after restart</b></small>" 53 "<small><b>The toolbar position only takes effect after restart</b></small>"
54 msgstr "" 54 msgstr ""
55 55
56 -#: src/objects/application/actions/about.c:217 ui/windows.ui.xml:40 56 +#: src/objects/application/actions/about.c:235 ui/windows.ui.xml:40
57 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553 57 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553
58 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553 58 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553
59 msgid "About PW3270" 59 msgid "About PW3270"
@@ -63,7 +63,7 @@ msgstr &quot;&quot; @@ -63,7 +63,7 @@ msgstr &quot;&quot;
63 msgid "Action Name" 63 msgid "Action Name"
64 msgstr "" 64 msgstr ""
65 65
66 -#: src/objects/window/window.c:205 66 +#: src/objects/window/window.c:206
67 msgid "Action Names" 67 msgid "Action Names"
68 msgstr "" 68 msgstr ""
69 69
@@ -73,7 +73,7 @@ msgstr &quot;&quot; @@ -73,7 +73,7 @@ msgstr &quot;&quot;
73 msgid "Alert sound" 73 msgid "Alert sound"
74 msgstr "" 74 msgstr ""
75 75
76 -#: src/main/tools.c:79 76 +#: src/main/tools.c:68
77 msgid "All files" 77 msgid "All files"
78 msgstr "" 78 msgstr ""
79 79
@@ -82,7 +82,7 @@ msgstr &quot;&quot; @@ -82,7 +82,7 @@ msgstr &quot;&quot;
82 msgid "Append to copy" 82 msgid "Append to copy"
83 msgstr "" 83 msgstr ""
84 84
85 -#: src/objects/application/actions/about.c:160 85 +#: src/objects/application/actions/about.c:178
86 msgid "Apple version" 86 msgid "Apple version"
87 msgstr "" 87 msgstr ""
88 88
@@ -112,7 +112,7 @@ msgstr &quot;&quot; @@ -112,7 +112,7 @@ msgstr &quot;&quot;
112 msgid "Available" 112 msgid "Available"
113 msgstr "" 113 msgstr ""
114 114
115 -#: src/objects/application/actions/about.c:163 115 +#: src/objects/application/actions/about.c:181
116 msgid "Based on X3270 from" 116 msgid "Based on X3270 from"
117 msgstr "" 117 msgstr ""
118 118
@@ -142,10 +142,6 @@ msgstr &quot;&quot; @@ -142,10 +142,6 @@ msgstr &quot;&quot;
142 msgid "Can't load session preferences" 142 msgid "Can't load session preferences"
143 msgstr "" 143 msgstr ""
144 144
145 -#: src/objects/settings/gsettings.c:128  
146 -msgid "Can't load system settings"  
147 -msgstr ""  
148 -  
149 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192 145 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192
150 #, c-format 146 #, c-format
151 msgid "Can't use \"%s\"" 147 msgid "Can't use \"%s\""
@@ -220,11 +216,11 @@ msgstr &quot;&quot; @@ -220,11 +216,11 @@ msgstr &quot;&quot;
220 msgid "Connect to host" 216 msgid "Connect to host"
221 msgstr "" 217 msgstr ""
222 218
223 -#: src/objects/window/window.c:778 src/objects/window/page.c:218 219 +#: src/objects/window/window.c:779 src/objects/window/page.c:218
224 msgid "Connected to host" 220 msgid "Connected to host"
225 msgstr "" 221 msgstr ""
226 222
227 -#: src/objects/application/actions/about.c:161 223 +#: src/objects/application/actions/about.c:179
228 msgid "Contributors" 224 msgid "Contributors"
229 msgstr "" 225 msgstr ""
230 226
@@ -251,12 +247,12 @@ msgstr &quot;&quot; @@ -251,12 +247,12 @@ msgstr &quot;&quot;
251 msgid "Copy as text" 247 msgid "Copy as text"
252 msgstr "" 248 msgstr ""
253 249
254 -#: src/objects/application/actions/about.c:167 250 +#: src/objects/application/actions/about.c:185
255 msgid "Copyright © 2008 Banco do Brasil S.A." 251 msgid "Copyright © 2008 Banco do Brasil S.A."
256 msgstr "" 252 msgstr ""
257 253
258 #: src/objects/os/linux/savedesktopicon.c:114 254 #: src/objects/os/linux/savedesktopicon.c:114
259 -#: src/objects/os/windows/savedesktopicon.c:109 255 +#: src/objects/os/windows/savedesktopicon.c:99
260 #: src/objects/os/macos/savedesktopicon.c:54 256 #: src/objects/os/macos/savedesktopicon.c:54
261 msgid "Create shortcut for the current session" 257 msgid "Create shortcut for the current session"
262 msgstr "" 258 msgstr ""
@@ -291,7 +287,7 @@ msgstr &quot;&quot; @@ -291,7 +287,7 @@ msgstr &quot;&quot;
291 msgid "Delete Field" 287 msgid "Delete Field"
292 msgstr "" 288 msgstr ""
293 289
294 -#: src/objects/os/windows/savedesktopicon.c:82 290 +#: src/objects/os/windows/savedesktopicon.c:72
295 msgid "Description" 291 msgid "Description"
296 msgstr "" 292 msgstr ""
297 293
@@ -300,7 +296,7 @@ msgstr &quot;&quot; @@ -300,7 +296,7 @@ msgstr &quot;&quot;
300 msgid "Disconnect" 296 msgid "Disconnect"
301 msgstr "" 297 msgstr ""
302 298
303 -#: src/objects/window/window.c:778 src/objects/window/window.c:805 299 +#: src/objects/window/window.c:779 src/objects/window/window.c:806
304 #: src/objects/window/page.c:207 300 #: src/objects/window/page.c:207
305 msgid "Disconnected from host" 301 msgid "Disconnected from host"
306 msgstr "" 302 msgstr ""
@@ -361,7 +357,7 @@ msgstr &quot;&quot; @@ -361,7 +357,7 @@ msgstr &quot;&quot;
361 msgid "Field attributes" 357 msgid "Field attributes"
362 msgstr "" 358 msgstr ""
363 359
364 -#: src/objects/os/windows/savedesktopicon.c:221 360 +#: src/objects/os/windows/savedesktopicon.c:211
365 msgid "File for session preferences" 361 msgid "File for session preferences"
366 msgstr "" 362 msgstr ""
367 363
@@ -388,9 +384,9 @@ msgstr &quot;&quot; @@ -388,9 +384,9 @@ msgstr &quot;&quot;
388 msgid "Host and Emulation settings" 384 msgid "Host and Emulation settings"
389 msgstr "" 385 msgstr ""
390 386
391 -#: src/objects/application/actions/about.c:119 src/objects/window/window.c:564 387 +#: src/objects/application/actions/about.c:137 src/objects/window/window.c:565
392 #: src/objects/os/linux/savedesktopicon.c:102 388 #: src/objects/os/linux/savedesktopicon.c:102
393 -#: src/objects/os/windows/savedesktopicon.c:271 389 +#: src/objects/os/windows/savedesktopicon.c:261
394 msgid "IBM 3270 Terminal emulator" 390 msgid "IBM 3270 Terminal emulator"
395 msgstr "" 391 msgstr ""
396 392
@@ -430,6 +426,10 @@ msgstr &quot;&quot; @@ -430,6 +426,10 @@ msgstr &quot;&quot;
430 msgid "If the action can be activated" 426 msgid "If the action can be activated"
431 msgstr "" 427 msgstr ""
432 428
  429 +#: src/objects/application/application.c:541
  430 +msgid "Initialization has failed"
  431 +msgstr ""
  432 +
433 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022 433 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022
434 msgid "Insert" 434 msgid "Insert"
435 msgstr "" 435 msgstr ""
@@ -474,11 +474,11 @@ msgstr &quot;&quot; @@ -474,11 +474,11 @@ msgstr &quot;&quot;
474 msgid "Keypad width in columns" 474 msgid "Keypad width in columns"
475 msgstr "" 475 msgstr ""
476 476
477 -#: src/main/builder.c:112 477 +#: src/main/builder.c:117
478 msgid "Keypads" 478 msgid "Keypads"
479 msgstr "" 479 msgstr ""
480 480
481 -#: src/objects/application/actions/about.c:171 481 +#: src/objects/application/actions/about.c:189
482 msgid "LICENSE" 482 msgid "LICENSE"
483 msgstr "" 483 msgstr ""
484 484
@@ -514,7 +514,7 @@ msgstr &quot;&quot; @@ -514,7 +514,7 @@ msgstr &quot;&quot;
514 msgid "Main menu" 514 msgid "Main menu"
515 msgstr "" 515 msgstr ""
516 516
517 -#: src/objects/application/actions/about.c:159 517 +#: src/objects/application/actions/about.c:177
518 msgid "Maintainers" 518 msgid "Maintainers"
519 msgstr "" 519 msgstr ""
520 520
@@ -639,7 +639,7 @@ msgid &quot;Paste with left margin&quot; @@ -639,7 +639,7 @@ msgid &quot;Paste with left margin&quot;
639 msgstr "" 639 msgstr ""
640 640
641 #: src/objects/os/linux/savedesktopicon.c:71 641 #: src/objects/os/linux/savedesktopicon.c:71
642 -#: src/objects/os/windows/savedesktopicon.c:76 642 +#: src/objects/os/windows/savedesktopicon.c:66
643 msgid "Path for the new shortcut" 643 msgid "Path for the new shortcut"
644 msgstr "" 644 msgstr ""
645 645
@@ -714,7 +714,7 @@ msgid &quot;Save session preferences&quot; @@ -714,7 +714,7 @@ msgid &quot;Save session preferences&quot;
714 msgstr "" 714 msgstr ""
715 715
716 #: src/objects/os/linux/savedesktopicon.c:113 716 #: src/objects/os/linux/savedesktopicon.c:113
717 -#: src/objects/os/windows/savedesktopicon.c:108 717 +#: src/objects/os/windows/savedesktopicon.c:98
718 #: src/objects/os/macos/savedesktopicon.c:53 718 #: src/objects/os/macos/savedesktopicon.c:53
719 msgid "Save session shortcut" 719 msgid "Save session shortcut"
720 msgstr "" 720 msgstr ""
@@ -727,7 +727,7 @@ msgstr &quot;&quot; @@ -727,7 +727,7 @@ msgstr &quot;&quot;
727 msgid "Save to shortcut file" 727 msgid "Save to shortcut file"
728 msgstr "" 728 msgstr ""
729 729
730 -#: src/objects/os/windows/savedesktopicon.c:186 730 +#: src/objects/os/windows/savedesktopicon.c:176
731 msgid "Save to windows shortcut" 731 msgid "Save to windows shortcut"
732 msgstr "" 732 msgstr ""
733 733
@@ -792,7 +792,7 @@ msgid &quot;Session Trace&quot; @@ -792,7 +792,7 @@ msgid &quot;Session Trace&quot;
792 msgstr "" 792 msgstr ""
793 793
794 #: src/objects/actions/save.c:63 src/objects/os/linux/savedesktopicon.c:85 794 #: src/objects/actions/save.c:63 src/objects/os/linux/savedesktopicon.c:85
795 -#: src/objects/os/windows/savedesktopicon.c:96 795 +#: src/objects/os/windows/savedesktopicon.c:86
796 msgid "Session file" 796 msgid "Session file"
797 msgstr "" 797 msgstr ""
798 798
@@ -807,7 +807,7 @@ msgid &quot;Session in new window&quot; @@ -807,7 +807,7 @@ msgid &quot;Session in new window&quot;
807 msgstr "" 807 msgstr ""
808 808
809 #: src/objects/actions/save.c:56 src/objects/os/linux/savedesktopicon.c:77 809 #: src/objects/actions/save.c:56 src/objects/os/linux/savedesktopicon.c:77
810 -#: src/objects/os/windows/savedesktopicon.c:88 810 +#: src/objects/os/windows/savedesktopicon.c:78
811 msgid "Session name" 811 msgid "Session name"
812 msgstr "" 812 msgstr ""
813 813
@@ -843,7 +843,7 @@ msgid &quot;Setup toolbar&quot; @@ -843,7 +843,7 @@ msgid &quot;Setup toolbar&quot;
843 msgstr "" 843 msgstr ""
844 844
845 #: src/objects/os/linux/savedesktopicon.c:70 845 #: src/objects/os/linux/savedesktopicon.c:70
846 -#: src/objects/os/windows/savedesktopicon.c:75 846 +#: src/objects/os/windows/savedesktopicon.c:65
847 msgid "Shortcut file" 847 msgid "Shortcut file"
848 msgstr "" 848 msgstr ""
849 849
@@ -906,11 +906,11 @@ msgstr &quot;&quot; @@ -906,11 +906,11 @@ msgstr &quot;&quot;
906 msgid "System default" 906 msgid "System default"
907 msgstr "" 907 msgstr ""
908 908
909 -#: src/objects/settings/gsettings.c:133 909 +#: src/objects/application/application.c:546
910 msgid "System settings error" 910 msgid "System settings error"
911 msgstr "" 911 msgstr ""
912 912
913 -#: src/main/tools.c:75 913 +#: src/main/tools.c:64
914 msgid "TN3270 Session Files" 914 msgid "TN3270 Session Files"
915 msgstr "" 915 msgstr ""
916 916
@@ -956,7 +956,7 @@ msgid &quot;The file to save the current session preferences&quot; @@ -956,7 +956,7 @@ msgid &quot;The file to save the current session preferences&quot;
956 msgstr "" 956 msgstr ""
957 957
958 #: src/objects/os/linux/savedesktopicon.c:86 958 #: src/objects/os/linux/savedesktopicon.c:86
959 -#: src/objects/os/windows/savedesktopicon.c:97 959 +#: src/objects/os/windows/savedesktopicon.c:87
960 msgid "The file with the session preferences for this shortcut" 960 msgid "The file with the session preferences for this shortcut"
961 msgstr "" 961 msgstr ""
962 962
@@ -972,7 +972,7 @@ msgstr &quot;&quot; @@ -972,7 +972,7 @@ msgstr &quot;&quot;
972 msgid "The name of associated action" 972 msgid "The name of associated action"
973 msgstr "" 973 msgstr ""
974 974
975 -#: src/objects/window/window.c:206 975 +#: src/objects/window/window.c:207
976 msgid "The name of the actions in the header bar" 976 msgid "The name of the actions in the header bar"
977 msgstr "" 977 msgstr ""
978 978
@@ -1001,7 +1001,7 @@ msgid &quot;The position of the keypad&quot; @@ -1001,7 +1001,7 @@ msgid &quot;The position of the keypad&quot;
1001 msgstr "" 1001 msgstr ""
1002 1002
1003 #: src/objects/actions/save.c:57 src/objects/os/linux/savedesktopicon.c:79 1003 #: src/objects/actions/save.c:57 src/objects/os/linux/savedesktopicon.c:79
1004 -#: src/objects/os/windows/savedesktopicon.c:90 1004 +#: src/objects/os/windows/savedesktopicon.c:80
1005 msgid "The session name used in the window/tab title (empty for default)" 1005 msgid "The session name used in the window/tab title (empty for default)"
1006 msgstr "" 1006 msgstr ""
1007 1007
@@ -1085,10 +1085,8 @@ msgstr &quot;&quot; @@ -1085,10 +1085,8 @@ msgstr &quot;&quot;
1085 msgid "UI Type" 1085 msgid "UI Type"
1086 msgstr "" 1086 msgstr ""
1087 1087
1088 -#: src/objects/settings/gsettings.c:131  
1089 -msgid ""  
1090 -"Unable to initialize system settings. Application may crash in unexpected "  
1091 -"ways" 1088 +#: src/objects/application/application.c:544
  1089 +msgid "Unable to initialize settings. Application may crash in unexpected ways"
1092 msgstr "" 1090 msgstr ""
1093 1091
1094 #: src/objects/os/windows/open.c:137 1092 #: src/objects/os/windows/open.c:137
@@ -1101,7 +1099,7 @@ msgstr &quot;&quot; @@ -1101,7 +1099,7 @@ msgstr &quot;&quot;
1101 msgid "Unselect" 1099 msgid "Unselect"
1102 msgstr "" 1100 msgstr ""
1103 1101
1104 -#: src/objects/application/actions/about.c:98 1102 +#: src/objects/application/actions/about.c:116
1105 #, c-format 1103 #, c-format
1106 msgid "Unstable version %s-%s" 1104 msgid "Unstable version %s-%s"
1107 msgstr "" 1105 msgstr ""
@@ -1111,7 +1109,7 @@ msgstr &quot;&quot; @@ -1111,7 +1109,7 @@ msgstr &quot;&quot;
1111 msgid "Use +/- for field navigation" 1109 msgid "Use +/- for field navigation"
1112 msgstr "" 1110 msgstr ""
1113 1111
1114 -#: src/objects/application/actions/about.c:100 1112 +#: src/objects/application/actions/about.c:118
1115 #, c-format 1113 #, c-format
1116 msgid "Version %s-%s" 1114 msgid "Version %s-%s"
1117 msgstr "" 1115 msgstr ""
@@ -1123,7 +1121,7 @@ msgstr &quot;&quot; @@ -1123,7 +1121,7 @@ msgstr &quot;&quot;
1123 msgid "View" 1121 msgid "View"
1124 msgstr "" 1122 msgstr ""
1125 1123
1126 -#: src/objects/application/actions/about.c:191 1124 +#: src/objects/application/actions/about.c:209
1127 msgid "View this project on github" 1125 msgid "View this project on github"
1128 msgstr "" 1126 msgstr ""
1129 1127
@@ -1132,7 +1130,7 @@ msgstr &quot;&quot; @@ -1132,7 +1130,7 @@ msgstr &quot;&quot;
1132 msgid "Window with default session" 1130 msgid "Window with default session"
1133 msgstr "" 1131 msgstr ""
1134 1132
1135 -#: src/objects/os/windows/savedesktopicon.c:189 1133 +#: src/objects/os/windows/savedesktopicon.c:179
1136 msgid "Windows shortcuts" 1134 msgid "Windows shortcuts"
1137 msgstr "" 1135 msgstr ""
1138 1136
@@ -1142,7 +1140,7 @@ msgstr &quot;&quot; @@ -1142,7 +1140,7 @@ msgstr &quot;&quot;
1142 1140
1143 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78 1141 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78
1144 #: src/objects/os/linux/savedesktopicon.c:140 1142 #: src/objects/os/linux/savedesktopicon.c:140
1145 -#: src/objects/os/windows/savedesktopicon.c:134 1143 +#: src/objects/os/windows/savedesktopicon.c:124
1146 msgid "_Cancel" 1144 msgid "_Cancel"
1147 msgstr "" 1145 msgstr ""
1148 1146
@@ -1192,7 +1190,7 @@ msgid &quot;_Rename session&quot; @@ -1192,7 +1190,7 @@ msgid &quot;_Rename session&quot;
1192 msgstr "" 1190 msgstr ""
1193 1191
1194 #: src/objects/actions/save.c:104 src/objects/os/linux/savedesktopicon.c:141 1192 #: src/objects/actions/save.c:104 src/objects/os/linux/savedesktopicon.c:141
1195 -#: src/objects/os/windows/savedesktopicon.c:135 1193 +#: src/objects/os/windows/savedesktopicon.c:125
1196 msgid "_Save" 1194 msgid "_Save"
1197 msgstr "" 1195 msgstr ""
1198 1196
@@ -1200,10 +1198,10 @@ msgstr &quot;&quot; @@ -1200,10 +1198,10 @@ msgstr &quot;&quot;
1200 msgid "_View" 1198 msgid "_View"
1201 msgstr "" 1199 msgstr ""
1202 1200
1203 -#: src/objects/application/actions/about.c:190 1201 +#: src/objects/application/actions/about.c:208
1204 msgid "https://github.com/PerryWerneck/pw3270" 1202 msgid "https://github.com/PerryWerneck/pw3270"
1205 msgstr "" 1203 msgstr ""
1206 1204
1207 -#: src/objects/application/actions/about.c:193 1205 +#: src/objects/application/actions/about.c:211
1208 msgid "translator-credits" 1206 msgid "translator-credits"
1209 msgstr "" 1207 msgstr ""
msys-run.sh 0 → 100644
@@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
  1 +#!/bin/bash
  2 +
  3 +make all
  4 +if [ "$?" != "0" ]; then
  5 + exit -1
  6 +fi
  7 +
  8 +make DESTDIR=${PWD}/.build install
  9 +if [ "$?" != "0" ]; then
  10 + exit -1
  11 +fi
  12 +
  13 +bash ./win/makeruntime.sh
  14 +if [ "$?" != "0" ]; then
  15 + exit -1
  16 +fi
  17 +
  18 +.build/mingw64/bin/pw3270.exe
  19 +if [ "$?" != "0" ]; then
  20 + exit -1
  21 +fi
  22 +
  23 +
  24 +
pushtag.sh
@@ -1,32 +0,0 @@ @@ -1,32 +0,0 @@
1 -#!/bin/bash  
2 -#  
3 -# https://help.github.com/articles/syncing-a-fork/  
4 -#  
5 -# https://help.github.com/articles/configuring-a-remote-for-a-fork/  
6 -#  
7 -# https://www.opentechguides.com/how-to/article/git/177/git-sync-repos.html  
8 -#  
9 -# Setup:  
10 -#  
11 -# git remote add github https://github.com/PerryWerneck/lib3270.git  
12 -#  
13 -#  
14 -  
15 -if [ -z ${1} ]; then  
16 - echo "Inform target tag"  
17 - exit -1  
18 -fi  
19 -  
20 -git push  
21 -  
22 -git fetch origin  
23 -  
24 -git tag -f ${1}  
25 -git push -f --tags  
26 -  
27 -for repo in $(git remote -v | grep -v origin | grep "(push)" | awk '{print $1}')  
28 -do  
29 - echo "Updating ${repo} ..."  
30 - git push ${repo} -f --tags  
31 -done  
32 -  
@@ -58,6 +58,9 @@ @@ -58,6 +58,9 @@
58 <Unit filename="src/main/builder.c"> 58 <Unit filename="src/main/builder.c">
59 <Option compilerVar="CC" /> 59 <Option compilerVar="CC" />
60 </Unit> 60 </Unit>
  61 + <Unit filename="src/main/linux/tools.c">
  62 + <Option compilerVar="CC" />
  63 + </Unit>
61 <Unit filename="src/main/main.c"> 64 <Unit filename="src/main/main.c">
62 <Option compilerVar="CC" /> 65 <Option compilerVar="CC" />
63 </Unit> 66 </Unit>
@@ -69,6 +72,9 @@ @@ -69,6 +72,9 @@
69 <Option compilerVar="CC" /> 72 <Option compilerVar="CC" />
70 </Unit> 73 </Unit>
71 <Unit filename="src/main/windows/resources.rc" /> 74 <Unit filename="src/main/windows/resources.rc" />
  75 + <Unit filename="src/main/windows/tools.c">
  76 + <Option compilerVar="CC" />
  77 + </Unit>
72 <Unit filename="src/objects/actions/abstract.c"> 78 <Unit filename="src/objects/actions/abstract.c">
73 <Option compilerVar="CC" /> 79 <Option compilerVar="CC" />
74 </Unit> 80 </Unit>
schemas/Makefile.in
@@ -55,15 +55,15 @@ all: @@ -55,15 +55,15 @@ all:
55 install: \ 55 install: \
56 all 56 all
57 57
58 - @$(MKDIR) $(DESTDIR)/$(schemadir) 58 + @$(MKDIR) $(DESTDIR)$(schemadir)
59 @$(INSTALL_DATA) \ 59 @$(INSTALL_DATA) \
60 application.gschema.xml \ 60 application.gschema.xml \
61 - $(DESTDIR)/$(schemadir)/$(PRODUCT_NAME)-application.gschema.xml 61 + $(DESTDIR)$(schemadir)/$(PRODUCT_NAME)-application.gschema.xml
62 62
63 @$(INSTALL_DATA) \ 63 @$(INSTALL_DATA) \
64 window.gschema.xml \ 64 window.gschema.xml \
65 - $(DESTDIR)/$(schemadir)/$(PRODUCT_NAME)-window.gschema.xml 65 + $(DESTDIR)$(schemadir)/$(PRODUCT_NAME)-window.gschema.xml
66 66
67 @$(GLIB_SCHEMA_COMPILER) \ 67 @$(GLIB_SCHEMA_COMPILER) \
68 - $(DESTDIR)/$(schemadir) 68 + $(DESTDIR)$(schemadir)
69 69
src/include/pw3270.h
@@ -63,6 +63,8 @@ struct _Pw3270SettingsPage { @@ -63,6 +63,8 @@ struct _Pw3270SettingsPage {
63 }; 63 };
64 64
65 void gtk_file_chooser_set_pw3270_filters(GtkFileChooser *chooser); 65 void gtk_file_chooser_set_pw3270_filters(GtkFileChooser *chooser);
  66 +gchar * pw3270_build_data_filename(const char *filename);
  67 +gchar * pw3270_build_data_path(const char *path);
66 68
67 G_END_DECLS 69 G_END_DECLS
68 70
src/main/builder.c
@@ -20,12 +20,17 @@ @@ -20,12 +20,17 @@
20 #include "private.h" 20 #include "private.h"
21 #include <pw3270/application.h> 21 #include <pw3270/application.h>
22 #include <pw3270/keypad.h> 22 #include <pw3270/keypad.h>
  23 + #include <pw3270.h>
23 24
24 GtkBuilder * pw3270_application_builder_new(GApplication *application) { 25 GtkBuilder * pw3270_application_builder_new(GApplication *application) {
25 26
26 #if !defined(DEBUG) 27 #if !defined(DEBUG)
27 28
28 - lib3270_autoptr(char) filename = lib3270_build_data_filename(G_STRINGIFY(PRODUCT_NAME) ".ui.xml",NULL); 29 + #if defined(G_OS_WIN32)
  30 + g_autofree gchar * filename = pw3270_build_data_filename(G_STRINGIFY(PRODUCT_NAME) ".ui.xml");
  31 + #else
  32 + lib3270_autoptr(char) filename = lib3270_build_data_filename(G_STRINGIFY(PRODUCT_NAME) ".ui.xml",NULL);
  33 + #endif // G_OS_WIN32
29 34
30 #elif defined(G_OS_UNIX) 35 #elif defined(G_OS_UNIX)
31 36
src/main/linux/tools.c 0 → 100644
@@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
  3 +/*
  4 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  5 + *
  6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 + #include <config.h>
  21 + #include <pw3270.h>
  22 +
  23 + gchar * pw3270_build_data_path(const char *name) {
  24 +
  25 + gchar * path = g_build_filename(G_STRINGIFY(DATADIR),name,NULL);
  26 +
  27 + if(g_file_test(path,G_FILE_TEST_IS_DIR)) {
  28 + return path;
  29 + }
  30 + g_free(path);
  31 +
  32 + g_message("Cant find path for '%s'",path);
  33 + return NULL;
  34 +
  35 + }
  36 +
  37 + gchar * pw3270_build_data_filename(const char *filename) {
  38 +
  39 + gchar * path = g_build_filename(G_STRINGIFY(DATADIR),filename,NULL);
  40 +
  41 + if(g_file_test(path,G_FILE_TEST_IS_REGULAR)) {
  42 + return path;
  43 + }
  44 + g_free(path);
  45 +
  46 + g_error("Cant find '%s'",filename);
  47 + return NULL;
  48 + }
  49 +
src/main/main.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob  
5 - * o nome G3270.  
6 - *  
7 * Copyright (C) <2008> <Banco do Brasil S.A.> 4 * Copyright (C) <2008> <Banco do Brasil S.A.>
8 * 5 *
9 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
10 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
11 - * Free Software Foundation.  
12 - *  
13 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
14 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
15 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
16 - * obter mais detalhes.  
17 - *  
18 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
19 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
20 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
21 - *  
22 - * Este programa está nomeado como main.c e possui - linhas de código.  
23 - *  
24 - * Contatos: 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
25 * 10 *
26 - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
27 - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
28 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
29 */ 18 */
30 19
31 /** 20 /**
@@ -74,10 +63,19 @@ int main (int argc, char **argv) { @@ -74,10 +63,19 @@ int main (int argc, char **argv) {
74 63
75 #ifdef _WIN32 64 #ifdef _WIN32
76 { 65 {
77 - g_autofree gchar * appdir = g_win32_get_package_installation_directory_of_module(NULL);  
78 - g_autofree gchar * locdir = g_build_filename(appdir,"locale",NULL);  
79 - debug("Locale from \"%s\"\n",locdir);  
80 - bindtextdomain( G_STRINGIFY(PRODUCT_NAME), locdir ); 66 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  67 + {
  68 + g_autofree gchar * appdir = g_build_filename(pkgdir,"locale",NULL);
  69 + if(g_file_test(appdir,G_FILE_TEST_IS_DIR)) {
  70 + bindtextdomain( PACKAGE_NAME, appdir );
  71 + } else {
  72 + g_autofree gchar * sysdir = g_build_filename(pkgdir,"share","locale",NULL);
  73 + if(g_file_test(sysdir,G_FILE_TEST_IS_DIR)) {
  74 + bindtextdomain( PACKAGE_NAME, sysdir );
  75 + }
  76 + }
  77 +
  78 + }
81 } 79 }
82 #endif // _WIN32 80 #endif // _WIN32
83 81
src/main/tools.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob  
5 - * o nome G3270.  
6 - *  
7 * Copyright (C) <2008> <Banco do Brasil S.A.> 4 * Copyright (C) <2008> <Banco do Brasil S.A.>
8 * 5 *
9 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
10 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
11 - * Free Software Foundation.  
12 - *  
13 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
14 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
15 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
16 - * obter mais detalhes.  
17 - *  
18 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
19 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
20 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
21 - *  
22 - * Este programa está nomeado como main.c e possui - linhas de código.  
23 - *  
24 - * Contatos: 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
25 * 10 *
26 - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
27 - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
28 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
29 */ 18 */
30 19
31 /** 20 /**
src/main/windows/tools.c 0 → 100644
@@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
  3 +/*
  4 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  5 + *
  6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 + #include <config.h>
  21 + #include <pw3270.h>
  22 +
  23 + gchar * pw3270_build_data_path(const char *name) {
  24 +
  25 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  26 +
  27 + gchar * path = g_build_filename(pkgdir,name,NULL);
  28 + if(g_file_test(path,G_FILE_TEST_IS_DIR)) {
  29 + return path;
  30 + }
  31 + g_free(path);
  32 +
  33 + path = g_build_filename(pkgdir,"share",G_STRINGIFY(PRODUCT_NAME),name,NULL);
  34 + if(g_file_test(path,G_FILE_TEST_IS_DIR)) {
  35 + return path;
  36 + }
  37 +
  38 + g_free(path);
  39 + g_message("Cant find path for '%s'",path);
  40 + return NULL;
  41 +
  42 + }
  43 +
  44 + gchar * pw3270_build_data_filename(const char *filename) {
  45 +
  46 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  47 +
  48 + gchar * path = g_build_filename(pkgdir,filename,NULL);
  49 + if(g_file_test(path,G_FILE_TEST_IS_REGULAR)) {
  50 + return path;
  51 + }
  52 + g_free(path);
  53 +
  54 + path = g_build_filename(pkgdir,"share",G_STRINGIFY(PRODUCT_NAME),filename,NULL);
  55 + if(g_file_test(path,G_FILE_TEST_IS_REGULAR)) {
  56 + return path;
  57 + }
  58 +
  59 + g_free(path);
  60 + g_error("Cant find '%s'",filename);
  61 + return NULL;
  62 + }
src/objects/application/actions/about.c
@@ -32,6 +32,55 @@ @@ -32,6 +32,55 @@
32 #include <pw3270/actions.h> 32 #include <pw3270/actions.h>
33 #include <pw3270/application.h> 33 #include <pw3270/application.h>
34 34
  35 +static char * find_logo() {
  36 +
  37 + static const char * names[] = {
  38 +#ifdef _WIN32
  39 +
  40 + G_STRINGIFY(PRODUCT_NAME) "-about.png",
  41 + G_STRINGIFY(PRODUCT_NAME) "-logo.png",
  42 + G_STRINGIFY(PRODUCT_NAME) ".png",
  43 + G_STRINGIFY(PACKAGE_NAME) "-about.png",
  44 + G_STRINGIFY(PACKAGE_NAME) "-logo.png",
  45 + G_STRINGIFY(PACKAGE_NAME) ".png",
  46 +
  47 +#else
  48 +
  49 + G_STRINGIFY(PRODUCT_NAME) "-about.svg",
  50 + G_STRINGIFY(PRODUCT_NAME) "-logo.svg",
  51 + G_STRINGIFY(PRODUCT_NAME) ".svg",
  52 + G_STRINGIFY(PRODUCT_NAME) "-about.png",
  53 + G_STRINGIFY(PRODUCT_NAME) "-logo.png",
  54 + G_STRINGIFY(PRODUCT_NAME) ".png",
  55 +
  56 + G_STRINGIFY(PACKAGE_NAME) "-about.svg",
  57 + G_STRINGIFY(PACKAGE_NAME) "-logo.svg",
  58 + G_STRINGIFY(PACKAGE_NAME) ".svg",
  59 + G_STRINGIFY(PACKAGE_NAME) "-about.png",
  60 + G_STRINGIFY(PACKAGE_NAME) "-logo.png",
  61 + G_STRINGIFY(PACKAGE_NAME) ".png",
  62 +#endif // _WIN32
  63 + };
  64 +
  65 + size_t ix;
  66 +
  67 + for(ix = 0; ix < G_N_ELEMENTS(names); ix++) {
  68 +
  69 + char * filename = lib3270_build_data_filename(names[ix],NULL);
  70 +
  71 + if(filename) {
  72 +
  73 + if(g_file_test(filename,G_FILE_TEST_IS_REGULAR))
  74 + return filename;
  75 + free(filename);
  76 +
  77 + }
  78 +
  79 + }
  80 +
  81 + return NULL;
  82 +}
  83 +
35 static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication *application) { 84 static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication *application) {
36 85
37 GtkAboutDialog * dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new()); 86 GtkAboutDialog * dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new());
@@ -46,49 +95,18 @@ static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication * @@ -46,49 +95,18 @@ static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication *
46 95
47 // Get application logo 96 // Get application logo
48 { 97 {
49 - static const char * names[] = {  
50 - G_STRINGIFY(PRODUCT_NAME) "-about.svg",  
51 - G_STRINGIFY(PRODUCT_NAME) "-logo.svg",  
52 - G_STRINGIFY(PRODUCT_NAME) ".svg",  
53 - G_STRINGIFY(PRODUCT_NAME) "-logo.png",  
54 - G_STRINGIFY(PRODUCT_NAME) ".png",  
55 -  
56 - G_STRINGIFY(PACKAGE_NAME) "-about.svg",  
57 - G_STRINGIFY(PACKAGE_NAME) "-logo.svg",  
58 - G_STRINGIFY(PACKAGE_NAME) ".svg",  
59 - G_STRINGIFY(PACKAGE_NAME) "-logo.png",  
60 - G_STRINGIFY(PACKAGE_NAME) ".png",  
61 - };  
62 -  
63 - size_t ix;  
64 -  
65 - for(ix = 0; ix < G_N_ELEMENTS(names); ix++) {  
66 -  
67 -#ifdef DEBUG  
68 - g_autofree gchar * filename = g_build_filename(".","branding",names[ix],NULL);  
69 - debug("Searching for '%s'",filename);  
70 -#else  
71 - lib3270_autoptr(char) filename = lib3270_build_data_filename(names[ix],NULL);  
72 -#endif // DEBUG  
73 -  
74 - if(!g_file_test(filename,G_FILE_TEST_IS_REGULAR))  
75 - continue;  
76 -  
77 - GError * error = NULL;  
78 - g_autoptr(GdkPixbuf) pix = gdk_pixbuf_new_from_file_at_size(filename,-1,150,&error); 98 + char * logo = find_logo();
  99 + if(logo) {
  100 + GError * error = NULL;
  101 + g_autoptr(GdkPixbuf) pix = gdk_pixbuf_new_from_file_at_size(logo,-1,150,&error);
79 if(error) { 102 if(error) {
80 - g_warning("Can't load \"%s\": %s",filename,error->message); 103 + g_message("Can't load \"%s\": %s",logo,error->message);
81 g_error_free(error); 104 g_error_free(error);
82 - continue;  
83 - }  
84 -  
85 - if(pix) { 105 + } else {
86 gtk_about_dialog_set_logo(dialog,pix); 106 gtk_about_dialog_set_logo(dialog,pix);
87 - break;  
88 } 107 }
89 - 108 + free(logo);
90 } 109 }
91 -  
92 } 110 }
93 111
94 // Set version 112 // Set version
src/objects/application/application.c
@@ -430,8 +430,6 @@ void startup(GApplication *application) { @@ -430,8 +430,6 @@ void startup(GApplication *application) {
430 430
431 G_APPLICATION_CLASS(pw3270Application_parent_class)->startup(application); 431 G_APPLICATION_CLASS(pw3270Application_parent_class)->startup(application);
432 432
433 -// GSettings *settings = pw3270_application_get_settings(application);  
434 -  
435 // 433 //
436 // Common actions 434 // Common actions
437 // 435 //
@@ -488,25 +486,33 @@ void startup(GApplication *application) { @@ -488,25 +486,33 @@ void startup(GApplication *application) {
488 // Load keypad models 486 // Load keypad models
489 // 487 //
490 { 488 {
491 - lib3270_autoptr(char) keypad_path = lib3270_build_data_filename("keypad",NULL); 489 + g_autofree gchar *keypad_path = pw3270_build_data_path("keypad");
  490 +
  491 + if(keypad_path) {
  492 +
  493 + g_message("Searching for keypads in '%s'",keypad_path);
492 494
493 - g_autoptr(GError) error = NULL;  
494 - g_autoptr(GDir) dir = g_dir_open(keypad_path,0,&error); 495 + g_autoptr(GError) error = NULL;
  496 + g_autoptr(GDir) dir = g_dir_open(keypad_path,0,&error);
495 497
496 - if(dir) { 498 + if(dir) {
  499 +
  500 + const gchar *name = g_dir_read_name(dir);
  501 + while(!error && name) {
  502 + g_autofree gchar * path = g_build_filename(keypad_path,name,NULL);
  503 + app->keypads = pw3270_keypad_model_new_from_xml(app->keypads,path);
  504 + name = g_dir_read_name(dir);
  505 + }
497 506
498 - const gchar *name = g_dir_read_name(dir);  
499 - while(!error && name) {  
500 - g_autofree gchar * path = g_build_filename(keypad_path,name,NULL);  
501 - app->keypads = pw3270_keypad_model_new_from_xml(app->keypads,path);  
502 - name = g_dir_read_name(dir);  
503 } 507 }
504 508
505 - } 509 + if(error) {
  510 + g_message("Can't read %s: %s",keypad_path,error->message);
  511 + }
  512 +
506 513
507 - if(error) {  
508 - g_message("Can't read %s: %s",keypad_path,error->message);  
509 } 514 }
  515 +
510 } 516 }
511 517
512 // 518 //
@@ -525,6 +531,32 @@ void activate(GApplication *application) { @@ -525,6 +531,32 @@ void activate(GApplication *application) {
525 531
526 GtkWidget * window = pw3270_application_window_new(GTK_APPLICATION(application),NULL); 532 GtkWidget * window = pw3270_application_window_new(GTK_APPLICATION(application),NULL);
527 533
  534 + if(!PW3270_APPLICATION(application)->settings) {
  535 +
  536 + GtkWidget * dialog = gtk_message_dialog_new_with_markup(
  537 + NULL,
  538 + 0,
  539 + GTK_MESSAGE_ERROR,
  540 + GTK_BUTTONS_CLOSE,
  541 + _("Initialization has failed")
  542 + );
  543 +
  544 + gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),_("Unable to initialize settings. Application may crash in unexpected ways"));
  545 +
  546 + gtk_window_set_title(GTK_WINDOW(dialog),_("System settings error"));
  547 +
  548 + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
  549 +
  550 + gtk_widget_show_all(dialog);
  551 +
  552 + gtk_dialog_run(GTK_DIALOG(dialog));
  553 +
  554 + gtk_widget_destroy(dialog);
  555 +
  556 + g_application_quit(G_APPLICATION(application));
  557 +
  558 + }
  559 +
528 // Present the new window 560 // Present the new window
529 pw3270_window_set_current_page(window,0); 561 pw3270_window_set_current_page(window,0);
530 gtk_window_present(GTK_WINDOW(window)); 562 gtk_window_present(GTK_WINDOW(window));
src/objects/os/windows/savedesktopicon.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270.  
5 - *  
6 - * Copyright (C) <2008> <Banco do Brasil S.A.>  
7 - *  
8 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
9 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
10 - * Free Software Foundation.  
11 - *  
12 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
13 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
14 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
15 - * obter mais detalhes.  
16 - *  
17 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
18 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
19 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
20 - *  
21 - * Este programa está nomeado como - e possui - linhas de código. 4 + * Copyright (C) 2008 Banco do Brasil S.A.
22 * 5 *
23 - * Contatos: 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
24 * 10 *
25 - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
26 - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
27 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
28 */ 18 */
29 19
30 /** 20 /**
src/objects/settings/gsettings.c
@@ -30,11 +30,94 @@ @@ -30,11 +30,94 @@
30 #include <pw3270/application.h> 30 #include <pw3270/application.h>
31 #include <pw3270/window.h> 31 #include <pw3270/window.h>
32 32
  33 + /*
  34 + static void failed() {
  35 +
  36 + GtkWidget * dialog = gtk_message_dialog_new_with_markup(
  37 + NULL,
  38 + 0,
  39 + GTK_MESSAGE_ERROR,
  40 + GTK_BUTTONS_CLOSE,
  41 + _("Can't load system settings")
  42 + );
  43 +
  44 + gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),_("Unable to initialize system settings. Application may crash in unexpected ways"));
  45 +
  46 + gtk_window_set_title(GTK_WINDOW(dialog),_("System settings error"));
  47 +
  48 + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
  49 +
  50 + gtk_widget_show_all(dialog);
  51 +
  52 + gtk_dialog_run(GTK_DIALOG(dialog));
  53 +
  54 + gtk_widget_destroy(dialog);
  55 +
  56 + g_application_quit(g_application_get_default());
  57 +
  58 + }
  59 + */
  60 +
33 static GSettings * settings_new(const gchar *schema_id) { 61 static GSettings * settings_new(const gchar *schema_id) {
34 62
35 GSettings *settings = NULL; 63 GSettings *settings = NULL;
36 64
37 -#if defined(DEBUG) 65 +#if defined(_WIN32)
  66 +
  67 + {
  68 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  69 +
  70 + g_autofree gchar * appdir = g_build_filename(pkgdir,"gschemas.compiled",NULL);
  71 + g_autofree gchar * sysdir = g_build_filename(pkgdir,"share","glib-2.0","schemas","gschemas.compiled",NULL);
  72 +
  73 + const char * names[] = { appdir, sysdir };
  74 + size_t ix;
  75 +
  76 + for(ix = 0; ix < G_N_ELEMENTS(names); ix++) {
  77 +
  78 + if(g_file_test(names[ix],G_FILE_TEST_IS_REGULAR)) {
  79 +
  80 + GError * error = NULL;
  81 + g_autofree gchar *dirname = g_path_get_dirname(names[ix]);
  82 +
  83 + GSettingsSchemaSource * source =
  84 + g_settings_schema_source_new_from_directory(
  85 + dirname,
  86 + NULL,
  87 + TRUE,
  88 + &error
  89 + );
  90 +
  91 + if(error) {
  92 + g_warning("Error loading '%s': %s",names[ix],error->message);
  93 + g_error_free(error);
  94 + return NULL;
  95 + }
  96 +
  97 + GSettingsSchema * schema =
  98 + g_settings_schema_source_lookup(
  99 + source,
  100 + schema_id,
  101 + TRUE);
  102 +
  103 + g_message("Loading '%s'",names[ix]);
  104 + settings = g_settings_new_full(schema, NULL, NULL);
  105 +
  106 + g_settings_schema_source_unref(source);
  107 +
  108 + if(settings) {
  109 + g_message("Got gsettings from %s",names[ix]);
  110 + return settings;
  111 + }
  112 +
  113 + }
  114 + }
  115 +
  116 +
  117 + }
  118 +
  119 +#elif defined(DEBUG)
  120 +
38 { 121 {
39 GError * error = NULL; 122 GError * error = NULL;
40 GSettingsSchemaSource * source = 123 GSettingsSchemaSource * source =
@@ -62,87 +145,12 @@ @@ -62,87 +145,12 @@
62 145
63 g_settings_schema_source_unref(source); 146 g_settings_schema_source_unref(source);
64 } 147 }
65 -#elif defined(_WIN32)  
66 - {  
67 - g_autofree gchar * appdir = g_win32_get_package_installation_directory_of_module(NULL);  
68 - g_autofree gchar * filename = g_build_filename(appdir,"gschemas.compiled",NULL);  
69 -  
70 - if(g_file_test(filename,G_FILE_TEST_IS_REGULAR)) {  
71 -  
72 - GError * error = NULL;  
73 - g_autofree gchar *dirname = g_path_get_dirname(filename);  
74 -  
75 - GSettingsSchemaSource * source =  
76 - g_settings_schema_source_new_from_directory(  
77 - dirname,  
78 - NULL,  
79 - TRUE,  
80 - &error  
81 - );  
82 -  
83 - if(error) {  
84 - g_warning("Error loading '%s': %s",filename,error->message);  
85 - g_error_free(error);  
86 - return NULL;  
87 - }  
88 -  
89 - GSettingsSchema * schema =  
90 - g_settings_schema_source_lookup(  
91 - source,  
92 - schema_id,  
93 - TRUE);  
94 -  
95 - g_message("Loading '%s'",filename);  
96 - settings = g_settings_new_full(schema, NULL, NULL);  
97 148
98 - g_settings_schema_source_unref(source);  
99 -  
100 - } else {  
101 -  
102 -#ifdef DEBUG  
103 - g_message("Can't find '%s' loading from default path",filename);  
104 -#endif // DEBUG  
105 - settings = g_settings_new(schema_id);  
106 -  
107 - }  
108 - }  
109 #else 149 #else
110 150
111 -#ifdef DEBUG  
112 - g_message("Loading '%s' from default path","gschemas.compiled");  
113 -#endif // DEBUG  
114 -  
115 settings = g_settings_new(schema_id); 151 settings = g_settings_new(schema_id);
116 152
117 -#endif // DEBUG  
118 -  
119 - if(!settings) {  
120 -  
121 - g_warning("Error loading system settings");  
122 -  
123 - GtkWidget * dialog = gtk_message_dialog_new_with_markup(  
124 - NULL,  
125 - 0,  
126 - GTK_MESSAGE_ERROR,  
127 - GTK_BUTTONS_CLOSE,  
128 - _("Can't load system settings")  
129 - );  
130 -  
131 - gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),_("Unable to initialize system settings. Application may crash in unexpected ways"));  
132 -  
133 - gtk_window_set_title(GTK_WINDOW(dialog),_("System settings error"));  
134 -  
135 - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);  
136 -  
137 - gtk_widget_show_all(dialog);  
138 -  
139 - //g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL);  
140 - //g_signal_connect(dialog,"response",G_CALLBACK(gtk_widget_destroy),NULL);  
141 - gtk_dialog_run(GTK_DIALOG(dialog));  
142 -  
143 - g_application_quit(g_application_get_default());  
144 -  
145 - } 153 +#endif
146 154
147 return settings; 155 return settings;
148 } 156 }
src/objects/window/window.c
@@ -138,15 +138,16 @@ static void pw3270ApplicationWindow_class_init(pw3270ApplicationWindowClass *kla @@ -138,15 +138,16 @@ static void pw3270ApplicationWindow_class_init(pw3270ApplicationWindowClass *kla
138 #ifdef _WIN32 138 #ifdef _WIN32
139 "share/icons", 139 "share/icons",
140 #endif // _WIN32 140 #endif // _WIN32
  141 + "share/" G_STRINGIFY(PRODUCT_NAME) "/icons"
141 }; 142 };
142 143
143 size_t ix; 144 size_t ix;
144 for(ix = 0; ix < G_N_ELEMENTS(icon_search_paths); ix++) { 145 for(ix = 0; ix < G_N_ELEMENTS(icon_search_paths); ix++) {
145 #if defined(DEBUG) 146 #if defined(DEBUG)
146 - lib3270_autoptr(char) path = g_build_filename(g_get_current_dir(),icon_search_paths[ix],NULL); 147 + g_autofree gchar * path = g_build_filename(g_get_current_dir(),icon_search_paths[ix],NULL);
147 #elif defined(_WIN32) 148 #elif defined(_WIN32)
148 g_autofree gchar * appdir = g_win32_get_package_installation_directory_of_module(NULL); 149 g_autofree gchar * appdir = g_win32_get_package_installation_directory_of_module(NULL);
149 - lib3270_autoptr(char) path = g_build_filename(appdir,icon_search_paths[ix],NULL); 150 + g_autofree gchar * path = g_build_filename(appdir,icon_search_paths[ix],NULL);
150 #else 151 #else
151 lib3270_autoptr(char) path = lib3270_build_data_filename(icon_search_paths[ix],NULL); 152 lib3270_autoptr(char) path = lib3270_build_data_filename(icon_search_paths[ix],NULL);
152 #endif 153 #endif
update.sh
@@ -1,7 +0,0 @@ @@ -1,7 +0,0 @@
1 -#!/bin/bash  
2 -  
3 -git pull  
4 -git fetch origin  
5 -  
6 -git submodule update --remote --recursive  
7 -  
win/building_on_windows-the-hard-way.txt
@@ -1,24 +0,0 @@ @@ -1,24 +0,0 @@
1 -  
2 - 1. Instalar o mingw e o pacote básico do msys ( http://www.mingw.org/wiki/Getting_Started )  
3 -  
4 - 2. Abrir o shell mingw e executar (não é o cmd normal do windows, o ícone fica no menu do mingw).  
5 - . mingw-get install autotools  
6 - . mingw-get install gettext  
7 - . mingw-get install msys-openssl  
8 - . mingw-get install msys-libopenssl  
9 -  
10 - 3. Instalar o tortoise SVN ( http://tortoisesvn.net/downloads.html )  
11 -  
12 - 4. Instalar o pacote completo do gtk  
13 - . Baixar o bundle em http://www.gtk.org/download/win32.php  
14 - . Descompactar o bundle em c:\mingw  
15 -  
16 - 5. Abrir uma linha de comando do mingw (não é o cmd normal do windows  
17 - . Mudar para o diretório dos fontes (PS: usei o tortoise svn para baixar os arquivos)  
18 -  
19 - 6. Executar ./autogen.sh (atente para o lado da barra, é "/" mesmo já que o prompt do mingw é um bash  
20 - . Vai dar alguns error relacionados a linguagem; não me preocupei com eles nessa etapa.  
21 -  
22 - 7. Executar ./configure - Ele vai dar falta da libssl porque, por algum motivo, a libssl do mingw4windows não se registra no pkg-config  
23 -  
24 - 8. Executar make  
win/building_windows_on_SuSE-the-easy-way.txt
@@ -1,22 +0,0 @@ @@ -1,22 +0,0 @@
1 -  
2 -The proposal of this document is to show how to build pw3270 installers for windows using the cross-compilers available on SuSE linux.  
3 -  
4 -1. First install the MinGW Repositories to your SuSE version from:  
5 -  
6 - * 32 bits: https://build.opensuse.org/project/show/windows:mingw:win32  
7 - * 64 bits: https://build.opensuse.org/project/show/windows:mingw:win64  
8 -  
9 -2. Get pw3270 sources from git  
10 -  
11 - * git clone http://softwarepublico.gov.br/gitlab/pw3270/principal.git ./pw3270  
12 -  
13 -3. Install cross compilers  
14 -  
15 - * ./pw3270/win/install-cross.sh --all  
16 -  
17 -  
18 -4. Build pw3270 windows installers  
19 -  
20 - * cd pw3270/ && ./win/pack.sh  
21 -  
22 -  
win/bundle.common 0 → 100644
@@ -0,0 +1,480 @@ @@ -0,0 +1,480 @@
  1 +#!/bin/bash
  2 +#
  3 +# SPDX-License-Identifier: LGPL-3.0-or-later
  4 +#
  5 +# Copyright (C) 2023 Perry Werneck <perry.werneck@gmail.com>
  6 +#
  7 +# This program is free software: you can redistribute it and/or modify
  8 +# it under the terms of the GNU Lesser General Public License as published
  9 +# by the Free Software Foundation, either version 3 of the License, or
  10 +# (at your option) any later version.
  11 +#
  12 +# This program is distributed in the hope that it will be useful,
  13 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15 +# GNU General Public License for more details.
  16 +#
  17 +# You should have received a copy of the GNU Lesser General Public License
  18 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
  19 +#
  20 +
  21 +#
  22 +# References:
  23 +#
  24 +# https://www.gtk.org/docs/installations/windows/
  25 +# http://drup.org/gtk-warning-error-loading-icon-couldnt-recognize-image-file-format
  26 +#
  27 +
  28 +# Check command-line arguments
  29 +argument() {
  30 +
  31 + local cmdline
  32 + for cmdline in ${BASH_ARGV[*]}
  33 + do
  34 + if [ "$(echo ${cmdline} | sed "s@^--@@g" | sed "s@^-@@g" | cut -d= -f1)" == "${1}" ]; then
  35 + local value
  36 + value="$(echo ${cmdline} | cut -d= -f2)"
  37 + if [ -z "${value}" ]; then
  38 + echo "1"
  39 + else
  40 + echo "${value}"
  41 + fi
  42 + return 0
  43 + fi
  44 + done
  45 + echo ""
  46 + return 2
  47 +}
  48 +
  49 +argument "help" > /dev/null
  50 +if [ "$?" == "0" ]; then
  51 + echo "Use ${0} options"
  52 + echo ""
  53 + echo " --help Help options (this screen)"
  54 + echo " --zip Build zipfile"
  55 + echo " --nsi Build nsi installer"
  56 + echo " --upload Upload bundle to github"
  57 +fi
  58 +
  59 +# Setup default paths
  60 +srcdir="$(dirname $(dirname $(readlink -f "${0}")))"
  61 +cd ${srcdir}
  62 +if [ "$?" != "0" ]; then
  63 + echo "Cant cd to ${srcdir}"
  64 + exit -1
  65 +fi
  66 +
  67 +if [ -z ${MINGW_PREFIX} ]; then
  68 + if [ -d "/usr/x86_64-w64-mingw32/sys-root/mingw" ]; then
  69 + MINGW_PREFIX="/usr/x86_64-w64-mingw32/sys-root/mingw"
  70 + PKG_CONFIG="/usr/bin/x86_64-w64-mingw32-pkg-config"
  71 + else
  72 + echo "Cant determine mingw prefix"
  73 + exit -1
  74 + fi
  75 +fi
  76 +
  77 +if [ -z ${PKG_CONFIG} ]; then
  78 + PKG_CONFIG=${MINGW_PREFX}/bin/pkg-config
  79 +fi
  80 +
  81 +PACKAGE_NAME=$(grep AC_INIT configure.ac | cut -d[ -f2 | cut -d] -f1)
  82 +if [ -z ${PACKAGE_NAME} ]; then
  83 + echo "Cant determine package name"
  84 + exit -1
  85 +fi
  86 +
  87 +PACKAGE_VERSION=$(grep AC_INIT configure.ac | cut -d[ -f3 | cut -d] -f1)
  88 +if [ -z ${PACKAGE_VERSION} ]; then
  89 + echo "Cant determine package name"
  90 + exit -1
  91 +fi
  92 +
  93 +GTK_PREFIX=$(${PKG_CONFIG} --variable=prefix gtk+-3.0)
  94 +GTK_BINARY_VERSION=$(${PKG_CONFIG} --variable=gtk_binary_version gtk+-3.0)
  95 +GTK_LIBDIR=$(echo $(${PKG_CONFIG} --variable=libdir gtk+-3.0) | sed "s@^C:/@/c/@g")
  96 +GDK_LOADERS=$(echo $(${PKG_CONFIG} --variable=gdk_pixbuf_binarydir gdk-pixbuf-2.0) | sed -e "s@${GTK_PREFIX}@@g")
  97 +
  98 +mkdir -p .bin/bundle
  99 +if [ "$?" != "0" ]; then
  100 + echo "Cant mkdir base buildroot"
  101 + exit -1
  102 +fi
  103 +
  104 +buildroot=$(readlink -f .bin/bundle)
  105 +if [ -z ${buildroot} ]; then
  106 + echo "Cant detect buildroot ${buildroot}"
  107 + exit -1
  108 +fi
  109 +
  110 +mkdir -p "${buildroot}"
  111 +if [ "$?" != "0" ]; then
  112 + echo "Cant mkdir ${buildroot}"
  113 + exit -1
  114 +fi
  115 +
  116 +rm -fr "${buildroot}/*"
  117 +if [ "$?" != "0" ]; then
  118 + echo "Cant clean ${buildroot}"
  119 + exit -1
  120 +fi
  121 +
  122 +bindir="${buildroot}${MINGW_PREFIX}/bin"
  123 +
  124 +if [ -z "${WIN_ROOT}" ]; then
  125 + WIN_ROOT="/c/Windows"
  126 +fi
  127 +
  128 +export LANG=C
  129 +
  130 +prepare() {
  131 +
  132 + argument "help" > /dev/null
  133 + if [ "$?" == "0" ]; then
  134 + exit 0
  135 + fi
  136 +
  137 + rm -fr "${buildroot}"
  138 + mkdir -p "${buildroot}"
  139 +}
  140 +
  141 +install_bin() {
  142 +
  143 + mkdir -p "${bindir}"
  144 +
  145 + AGAIN=1
  146 + until [ $AGAIN = 0 ]; do
  147 +
  148 + SOURCES=$(mktemp)
  149 + REQUIRES=$(mktemp)
  150 +
  151 + find "${buildroot}" -iname "*.dll" > ${SOURCES}
  152 + find "${buildroot}" -iname "*.exe" >> ${SOURCES}
  153 +
  154 + while read FILENAME
  155 + do
  156 + echo ${FILENAME}
  157 + objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${REQUIRES}
  158 + done < ${SOURCES}
  159 +
  160 + libs_to_exclude="
  161 + advapi32.dll
  162 + cfgmgr32.dll
  163 + comctl32.dll
  164 + comdlg32.dll
  165 + crypt32.dll
  166 + d3d8.dll
  167 + d3d9.dll
  168 + ddraw.dll
  169 + dnsapi.dll
  170 + dsound.dll
  171 + dwmapi.dll
  172 + gdi32.dll
  173 + gdiplus.dll
  174 + glu32.dll
  175 + glut32.dll
  176 + imm32.dll
  177 + iphlpapi.dll
  178 + kernel32.dll
  179 + ksuser.dll
  180 + mpr.dll
  181 + mscms.dll
  182 + mscoree.dll
  183 + msimg32.dll
  184 + msvcr71.dll
  185 + msvcr80.dll
  186 + msvcr90.dll
  187 + msvcrt.dll
  188 + mswsock.dll
  189 + netapi32.dll
  190 + odbc32.dll
  191 + ole32.dll
  192 + oleacc.dll
  193 + oleaut32.dll
  194 + opengl32.dll
  195 + psapi.dll
  196 + rpcrt4.dll
  197 + secur32.dll
  198 + setupapi.dll
  199 + shell32.dll
  200 + shlwapi.dll
  201 + user32.dll
  202 + usp10.dll
  203 + version.dll
  204 + wininet.dll
  205 + winmm.dll
  206 + wldap32.dll
  207 + ws2_32.dll
  208 + wsock32.dll
  209 + winspool.drv
  210 + ntdll.dll
  211 + winhttp.dll
  212 + hid.dll
  213 + bcrypt.dll
  214 + "
  215 +
  216 + # Remove system DLLs from list
  217 + for i in $libs_to_exclude; do
  218 + sed -i -e "/${i}/d" ${REQUIRES}
  219 + done
  220 +
  221 + AGAIN=0
  222 + while read FILENAME
  223 + do
  224 +
  225 + echo ${FILENAME}
  226 +
  227 + if [ ! -e "${bindir}/${FILENAME}" ]; then
  228 +
  229 + if [ -e ${MINGW_PREFIX}/bin/${FILENAME} ]; then
  230 +
  231 + AGAIN=1
  232 + cp -v "${MINGW_PREFIX}/bin/${FILENAME}" "${bindir}/${FILENAME}"
  233 + if [ "$?" != "0" ]; then
  234 + exit -1
  235 + fi
  236 +
  237 + elif [ -e ${MINGW_PREFIX}/lib/${FILENAME} ]; then
  238 +
  239 + AGAIN=1
  240 + cp -v "${MINGW_PREFIX}/lib/${FILENAME}" "${bindir}/${FILENAME}"
  241 + if [ "$?" != "0" ]; then
  242 + exit -1
  243 + fi
  244 +
  245 + elif [ -e "${WIN_ROOT}/System32/${FILENAME}" ]; then
  246 +
  247 + echo "Ignoring ${WIN_ROOT}/System32/${FILENAME}"
  248 +
  249 + else
  250 +
  251 + echo "Can't find ${MINGW_PREFIX}/bin/${FILENAME} or ${WIN_ROOT}/System32/${FILENAME}"
  252 + find "${MINGW_PREFIX}" -iname "${FILENAME}"
  253 + exit -1
  254 +
  255 + fi
  256 +
  257 + fi
  258 +
  259 + done < ${REQUIRES}
  260 +
  261 + rm -f ${SOURCES}
  262 + rm -f ${REQUIRES}
  263 +
  264 + done
  265 +
  266 +}
  267 +
  268 +install_locale() {
  269 +
  270 + mkdir -p ${buildroot}${MINGW_PREFIX}/share/locale/pt_BR/LC_MESSAGES
  271 +
  272 + locales="
  273 + gettext-runtime.mo
  274 + gettext-tools.mo
  275 + glib20.mo
  276 + gtk30.mo
  277 + gtk30-properties.mo
  278 + "
  279 +
  280 + FILENAMES=$(mktemp)
  281 + for i in ${locales}
  282 + do
  283 + find "${MINGW_PREFIX}/share/locale" -name ${i} >> ${FILENAMES}
  284 + done
  285 +
  286 + while read FILENAME
  287 + do
  288 + mkdir -p $(dirname "${buildroot}${FILENAME}")
  289 + cp -v "${FILENAME}" "${buildroot}${FILENAME}"
  290 + if [ "$?" != "0" ]; then
  291 + exit -1
  292 + fi
  293 + done < ${FILENAMES}
  294 + rm -f ${FILENAMES}
  295 +}
  296 +
  297 +install_schemas() {
  298 +
  299 + mkdir -p ${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas
  300 +
  301 + schemas="
  302 + org.gtk.Settings.FileChooser.gschema.xml
  303 + gschema.dtd
  304 + "
  305 +
  306 + for schema in ${schemas}
  307 + do
  308 + cp -v "${MINGW_PREFIX}/share/glib-2.0/schemas/${schema}" "${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas"
  309 + if [ "$?" != "0" ]; then
  310 + exit -1
  311 + fi
  312 + done
  313 +
  314 + glib-compile-schemas \
  315 + --targetdir="${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas" \
  316 + "${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas"
  317 +
  318 + if [ "$?" != "0" ]; then
  319 + exit -1
  320 + fi
  321 +}
  322 +
  323 +install_theme() {
  324 +
  325 + mkdir -p "${buildroot}${MINGW_PREFIX}/etc"
  326 + cp -rv "${MINGW_PREFIX}/etc/gtk-3.0" "${buildroot}${MINGW_PREFIX}/etc"
  327 + if [ "$?" != "0" ]; then
  328 + exit -1
  329 + fi
  330 +
  331 + # https://stackoverflow.com/questions/37035936/how-to-get-native-windows-decorations-on-gtk3-on-windows-7-and-msys2
  332 + mkdir -p ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0
  333 + rm -f ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/settings.ini
  334 + rm -f ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/gtkrc
  335 +
  336 + echo "[Settings]" > ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/settings.ini
  337 + echo "gtk-theme-name=${1}" >> ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/settings.ini
  338 +
  339 + if [ -e "${srcdir}/win/gtk.css" ]; then
  340 + mkdir -p "${buildroot}${MINGW_PREFIX}/share/themes/Default/gtk-3.0"
  341 + cp "${srcdir}/win/gtk.css" "${buildroot}${MINGW_PREFIX}/share/themes/Default/gtk-3.0/gtk.css"
  342 + fi
  343 +
  344 +}
  345 +
  346 +install_icons() {
  347 +
  348 + mkdir -p "${buildroot}${MINGW_PREFIX}/share/icons"
  349 +
  350 + if [ -d "${MINGW_PREFIX}/share/icons/${1}" ]; then
  351 +
  352 + cp -rv "${MINGW_PREFIX}/share/icons/${1}" "${buildroot}${MINGW_PREFIX}/share/icons"
  353 + if [ "$?" != 0 ]; then
  354 + echo "Can´t copy ${1} icons"
  355 + exit -1
  356 + fi
  357 +
  358 + elif [ -d "/usr/share/icons/${1}" ]; then
  359 +
  360 + cp -rv "/usr/share/icons/${1}" "${buildroot}${MINGW_PREFIX}/share/icons"
  361 + if [ "$?" != 0 ]; then
  362 + echo "Can´t copy ${1} icons"
  363 + exit -1
  364 + fi
  365 +
  366 + else
  367 +
  368 + echo "Can´t find ${1} icons"
  369 + exit -1
  370 +
  371 + fi
  372 +
  373 +}
  374 +
  375 +install_loaders() {
  376 +
  377 + if [ -d "${MINGW_PREFIX}${GDK_LOADERS}" ]; then
  378 + mkdir -p "${buildroot}/${MINGW_PREFIX}${GDK_LOADERS}"
  379 + cp -rv ${MINGW_PREFIX}${GDK_LOADERS}/* "${buildroot}/${MINGW_PREFIX}${GDK_LOADERS}"
  380 + if [ "$?" != "0" ]; then
  381 + exit -1
  382 + fi
  383 +
  384 + find ${buildroot}/${MINGW_PREFIX}${GDK_LOADERS} -iname "*.a" -exec rm -f {} \;
  385 +
  386 + fi
  387 +
  388 +}
  389 +
  390 +make_zip() {
  391 +
  392 + cd ${buildroot}${MINGW_PREFIX}
  393 + if [ "$?" != "0" ]; then
  394 + exit -1
  395 + fi
  396 +
  397 + rm -f ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip
  398 +
  399 + zip -9 -r ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip .
  400 + if [ "$?" != "0" ]; then
  401 + exit -1
  402 + fi
  403 +
  404 + cd ${srcdir}
  405 + if [ "$?" != "0" ]; then
  406 + exit -1
  407 + fi
  408 +
  409 + if [ -z $(which gh) ]; then
  410 + return 0
  411 + fi
  412 +
  413 + argument "upload" > /dev/null
  414 + if [ "$?" == "0" ]; then
  415 + gh release upload --clobber "${PACKAGE_VERSION}" ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip
  416 + fi
  417 +
  418 +}
  419 +
  420 +make_nsis() {
  421 + makensis \
  422 + -INPUTCHARSET UTF8 \
  423 + -DWITHIPC \
  424 + -DWITHPLUGINS \
  425 + -DWITHSDK \
  426 + ${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}.nsi
  427 + if [ "$?" != "0" ]; then
  428 + echo "Cant build nsis script"
  429 + fi
  430 +
  431 + if [ ! -z $(which gh) ]; then
  432 + argument "upload" > /dev/null
  433 + if [ "$?" == "0" ]; then
  434 + gh release upload --clobber "${PACKAGE_VERSION}" ${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}*.exe
  435 + if [ "$?" != "0" ]; then
  436 + echo "Cant upload nsis installer"
  437 + exit -1
  438 + fi
  439 + fi
  440 + fi
  441 +
  442 + mv -f ${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}*.exe "${srcdir}"
  443 + if [ "$?" != "0" ]; then
  444 + echo "Cant copy nsis installer"
  445 + exit -1
  446 + fi
  447 +}
  448 +
  449 +install_runtime() {
  450 +
  451 + install_loaders
  452 + install_bin
  453 + install_locale
  454 + install_schemas
  455 + install_theme "Adwaita"
  456 + install_icons "Adwaita"
  457 +
  458 +}
  459 +
  460 +make_packages() {
  461 +
  462 + mkdir -p "${buildroot}${MINGW_PREFIX}/nsi"
  463 + cp "${srcdir}/win/pw3270.nsi" "${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}.nsi"
  464 + if [ "$?" != "0" ]; then
  465 + echo "Cant copy nsis script"
  466 + fi
  467 +
  468 + argument "zip" > /dev/null
  469 + if [ "$?" == "0" ]; then
  470 + make_zip
  471 + fi
  472 +
  473 + argument "nsi" > /dev/null
  474 + if [ "$?" == "0" ]; then
  475 + make_nsis
  476 + fi
  477 +
  478 +}
  479 +
  480 +
win/bundle.cross 0 → 100755
@@ -0,0 +1,213 @@ @@ -0,0 +1,213 @@
  1 +#!/bin/bash
  2 +#
  3 +# SPDX-License-Identifier: LGPL-3.0-or-later
  4 +#
  5 +# Copyright (C) 2023 Perry Werneck <perry.werneck@gmail.com>
  6 +#
  7 +# This program is free software: you can redistribute it and/or modify
  8 +# it under the terms of the GNU Lesser General Public License as published
  9 +# by the Free Software Foundation, either version 3 of the License, or
  10 +# (at your option) any later version.
  11 +#
  12 +# This program is distributed in the hope that it will be useful,
  13 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15 +# GNU General Public License for more details.
  16 +#
  17 +# You should have received a copy of the GNU Lesser General Public License
  18 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
  19 +#
  20 +
  21 +#
  22 +# References:
  23 +#
  24 +# https://www.gtk.org/docs/installations/windows/
  25 +# http://drup.org/gtk-warning-error-loading-icon-couldnt-recognize-image-file-format
  26 +#
  27 +
  28 +MINGW_PREFIX="/usr/x86_64-w64-mingw32/sys-root/mingw"
  29 +PKG_CONFIG="/usr/bin/x86_64-w64-mingw32-pkg-config"
  30 +MINGW_PACKAGE_PREFIX="mingw64"
  31 +REPOSITORY_NAME="pw3270"
  32 +
  33 +# Load bundle functions
  34 +. "$(dirname $(readlink -f "${0}"))/bundle.common"
  35 +
  36 +argument "help" > /dev/null
  37 +if [ "$?" == "0" ]; then
  38 + echo " --install-requires Install required packages"
  39 + echo " --build Build application from source"
  40 +fi
  41 +
  42 +prepare
  43 +
  44 +# List of pre-req packages
  45 +# gdk-pixbuf-loader-rsvg
  46 +
  47 +# List of pre-built packages
  48 +packages="lib3270 libv3270 libipc3270 libhllapi pw3270-plugin-ipc"
  49 +dev_packages="lib3270 libv3270 libipc3270"
  50 +
  51 +install_prereqs() {
  52 +
  53 + local list
  54 + local package
  55 +
  56 + list="${packages}"
  57 + for package in ${dev_packages}
  58 + do
  59 + list="${list} ${package}-devel"
  60 + done
  61 +
  62 + echo "Installing: ${list}"
  63 +
  64 + REPONUMBER=$(zypper lr | grep "${REPOSITORY_NAME}" | cut -d\| -f1)
  65 + if [ -z "${REPONUMBER}" ]; then
  66 + echo "Cant locate repository ${REPOSITORY_NAME}"
  67 + exit -1
  68 + fi
  69 +
  70 + sudo zypper ref ${REPONUMBER}
  71 + if [ "$?" != "0" ]; then
  72 + echo "Cant refresh repository ${REPOSITORY_NAME}"
  73 + exit -1
  74 + fi
  75 +
  76 + for package in ${list}
  77 + do
  78 + sudo zypper in --repo ${REPONUMBER} "${MINGW_PACKAGE_PREFIX}-${package}"
  79 + if [ "$?" != "0" ]; then
  80 + echo "Cant install ${MINGW_PACKAGE_PREFIX}-${package} from ${REPOSITORY_NAME}"
  81 + exit -1
  82 + fi
  83 + done
  84 +}
  85 +
  86 +build_package() {
  87 +
  88 + # Build
  89 + make -C "${srcdir}" all
  90 + if [ "$?" != "0" ]; then
  91 + echo "Build failed"
  92 + exit -1
  93 + fi
  94 +
  95 + make -C "${srcdir}" "DESTDIR=${buildroot}" install
  96 + if [ "$?" != "0" ]; then
  97 + echo "Install failed"
  98 + exit -1
  99 + fi
  100 +
  101 +}
  102 +
  103 +argument "install-requires" > /dev/null
  104 +if [ "$?" == "0" ]; then
  105 + install_prereqs
  106 +fi
  107 +
  108 +argument "build" > /dev/null
  109 +if [ "$?" == "0" ]; then
  110 +
  111 + NOCONFIGURE=1 ./autogen.sh
  112 + if [ "$?" != "0" ]; then
  113 + echo "Configure failed"
  114 + exit -1
  115 + fi
  116 +
  117 + ${MINGW_PACKAGE_PREFIX}-configure
  118 + if [ "$?" != "0" ]; then
  119 + echo "Configure failed"
  120 + exit -1
  121 + fi
  122 +
  123 + build_package
  124 +
  125 +else
  126 +
  127 + packages="${packages} pw3270"
  128 +
  129 +fi
  130 +
  131 +unpack_rpm() {
  132 +
  133 + local package
  134 + local list
  135 + local PACKAGE_NAME
  136 +
  137 + for package in ${packages}
  138 + do
  139 + PACKAGE_NAME=$(rpm -qa | grep "${MINGW_PACKAGE_PREFIX}-${package}" | grep -v devel | head --lines=1)
  140 + if [ -z "${PACKAGE_NAME}" ]; then
  141 + echo "No data from ${MINGW_PACKAGE_PREFIX}-${package}"
  142 + exit -1
  143 + fi
  144 + echo "Copy ${PACKAGE_NAME}"
  145 + for FILE in $(rpm -ql "${PACKAGE_NAME}")
  146 + do
  147 + if [ ! -d ${FILE} ]; then
  148 +
  149 + FILEPATH="${buildroot}${FILE}"
  150 + mkdir -p "$(dirname ${FILEPATH})"
  151 + if [ "$?" != "0" ]; then
  152 + exit -1
  153 + fi
  154 +
  155 + cp "${FILE}" "${FILEPATH}"
  156 + if [ "$?" != "0" ]; then
  157 + echo "Cant copy '${FILE}' from '${PACKAGE_NAME}'"
  158 + exit -1
  159 + fi
  160 + fi
  161 + done
  162 +
  163 + done
  164 +
  165 +
  166 + for package in ${dev_packages}
  167 + do
  168 + PACKAGE_NAME=$(rpm -qa | grep "${MINGW_PACKAGE_PREFIX}-${package}" | grep devel | head --lines=1)
  169 + if [ -z "${PACKAGE_NAME}" ]; then
  170 + echo "No data from ${MINGW_PACKAGE_PREFIX}-${package}-devel"
  171 + exit -1
  172 + fi
  173 + echo "Copy ${PACKAGE_NAME}"
  174 + for FILE in $(rpm -ql "${PACKAGE_NAME}")
  175 + do
  176 + if [ ! -d ${FILE} ]; then
  177 +
  178 + FILEPATH="${buildroot}${FILE}"
  179 + mkdir -p "$(dirname ${FILEPATH})"
  180 + if [ "$?" != "0" ]; then
  181 + exit -1
  182 + fi
  183 +
  184 + cp "${FILE}" "${FILEPATH}"
  185 + if [ "$?" != "0" ]; then
  186 + echo "Cant copy '${FILE}' from '${PACKAGE_NAME}'"
  187 + exit -1
  188 + fi
  189 + fi
  190 + done
  191 +
  192 + done
  193 +
  194 +}
  195 +
  196 +install_license() {
  197 + mkdir -p "${buildroot}${MINGW_PREFIX}/usr/share/${PACKAGE_NAME}"
  198 + cp "${srcdir}/LICENSE" "${buildroot}${MINGW_PREFIX}/share/${PACKAGE_NAME}"
  199 + if [ "$?" != "0" ]; then
  200 + echo "Cant copy LICENSE"
  201 + exit -1
  202 + fi
  203 +}
  204 +
  205 +unpack_rpm
  206 +
  207 +install_runtime
  208 +install_license
  209 +
  210 +make_packages
  211 +
  212 +echo "Bundle build complete"
  213 +
win/bundle.msys 0 → 100755
@@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
  1 +#!/bin/bash
  2 +#
  3 +# SPDX-License-Identifier: LGPL-3.0-or-later
  4 +#
  5 +# Copyright (C) 2021 Perry Werneck <perry.werneck@gmail.com>
  6 +#
  7 +# This program is free software: you can redistribute it and/or modify
  8 +# it under the terms of the GNU Lesser General Public License as published
  9 +# by the Free Software Foundation, either version 3 of the License, or
  10 +# (at your option) any later version.
  11 +#
  12 +# This program is distributed in the hope that it will be useful,
  13 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15 +# GNU General Public License for more details.
  16 +#
  17 +# You should have received a copy of the GNU Lesser General Public License
  18 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
  19 +#
  20 +
  21 +#
  22 +# References:
  23 +#
  24 +# https://www.gtk.org/docs/installations/windows/
  25 +# http://drup.org/gtk-warning-error-loading-icon-couldnt-recognize-image-file-format
  26 +#
  27 +
  28 +# Load bundle functions
  29 +. "$(dirname $(readlink -f "${0}"))/bundle.common"
  30 +
  31 +prepare
  32 +
  33 +for package in ${srcdir}/*.pkg.tar.zst
  34 +do
  35 + echo ${package}
  36 + tar -C ${buildroot} --zstd -xf ${package}
  37 + if [ "$?" != "0" ]; then
  38 + echo "Error unpacking ${package}"
  39 + exit -1
  40 + fi
  41 +done
  42 +
  43 +install_loaders
  44 +install_bin
  45 +install_locale
  46 +install_schemas
  47 +install_theme "Adwaita"
  48 +install_icons "Adwaita"
  49 +
  50 +
win/copydeps.sh.in
@@ -1,133 +0,0 @@ @@ -1,133 +0,0 @@
1 -#!/bin/bash  
2 -myDIR=$(dirname $(readlink -f $0))  
3 -  
4 -# Updated by ./configure  
5 -BUILDDIR=@BUILDDIR@  
6 -prefix=@prefix@  
7 -  
8 -# Crio diretório temporário  
9 -TEMPDIR=$(mktemp -d)  
10 -  
11 -# Cleanup em caso de falha  
12 -ontrap()  
13 -{  
14 - #  
15 - # Apaga diretorio temporário caso o script seja interrompido  
16 - #  
17 - cd ${myDIR}  
18 - rm -fr ${TEMPDIR}  
19 - exit -1  
20 -}  
21 -  
22 -trap ontrap INT  
23 -  
24 -#  
25 -# Lista de DLLs a ignorar  
26 -#  
27 -libs_to_exclude="  
28 - advapi32  
29 - cfgmgr32  
30 - comctl32  
31 - comdlg32  
32 - crypt32  
33 - d3d8  
34 - d3d9  
35 - ddraw  
36 - dnsapi  
37 - dsound  
38 - dwmapi  
39 - gdi32  
40 - gdiplus  
41 - glu32  
42 - glut32  
43 - imm32  
44 - iphlpapi  
45 - kernel32  
46 - ksuser  
47 - mpr  
48 - mscms  
49 - mscoree  
50 - msimg32  
51 - msvcr71  
52 - msvcr80  
53 - msvcr90  
54 - msvcrt  
55 - mswsock  
56 - netapi32  
57 - odbc32  
58 - ole32  
59 - oleacc  
60 - oleaut32  
61 - opengl32  
62 - psapi  
63 - rpcrt4  
64 - secur32  
65 - setupapi  
66 - shell32  
67 - shlwapi  
68 - user32  
69 - usp10  
70 - version  
71 - wininet  
72 - winmm  
73 - wldap32  
74 - ws2_32  
75 - wsock32  
76 - winspool.drv  
77 -"  
78 -  
79 -#  
80 -# Fico em loop montando dependências  
81 -#  
82 -APPLICATION_PATH=${BUILDDIR}/.bin/Release  
83 -RUNTIME_PATH=${BUILDDIR}/.bin/runtime  
84 -  
85 -mkdir -p ${RUNTIME_PATH}  
86 -  
87 -AGAIN=1  
88 -until [ $AGAIN = 0 ]; do  
89 -  
90 - AGAIN=0  
91 -  
92 - find ${APPLICATION_PATH} -iname *.exe > ${TEMPDIR}/binaries.txt  
93 - find ${APPLICATION_PATH} -iname *.dll >> ${TEMPDIR}/binaries.txt  
94 - find ${RUNTIME_PATH} -iname *.dll >> ${TEMPDIR}/binaries.txt  
95 -  
96 - # Obtenho a lista de DLLs  
97 - rm -f ${TEMPDIR}/requires.txt  
98 - touch ${TEMPDIR}/requires.txt  
99 - while read FILENAME  
100 - do  
101 - objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${TEMPDIR}/requires.txt  
102 - done < ${TEMPDIR}/binaries.txt  
103 -  
104 - # Excluo DLLs do sistema  
105 - for i in $libs_to_exclude; do  
106 - sed -i -e "/${i}/d" ${TEMPDIR}/requires.txt  
107 - done  
108 -  
109 - while read FILENAME  
110 - do  
111 -  
112 - if [ -e ${APPLICATION_PATH}/${FILENAME} ]; then  
113 - touch ${APPLICATION_PATH}/${FILENAME}  
114 -  
115 - elif [ -e ${RUNTIME_PATH}/${FILENAME} ]; then  
116 - touch ${RUNTIME_PATH}/${FILENAME}  
117 -  
118 - elif [ -e ${prefix}/bin/${FILENAME} ]; then  
119 - AGAIN=1  
120 - echo ${prefix}/bin/${FILENAME}  
121 - cp ${prefix}/bin/${FILENAME} ${RUNTIME_PATH}  
122 -  
123 - fi  
124 -  
125 - done < ${TEMPDIR}/requires.txt  
126 - rm -f ${TEMPDIR}/requires.txt  
127 -  
128 -  
129 -done  
130 -  
131 -cd ${myDIR}  
132 -rm -fr ${TEMPDIR}  
133 -  
win/force_inet_ntop.patch
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
1 ---- src/include/lib3270/config.h.in 2017-01-20 15:37:46.462843502 -0200  
2 -+++ src/include/lib3270/config.h.in 2017-01-24 15:19:45.547022420 -0200  
3 -@@ -44,7 +44,7 @@  
4 - #undef HAVE_SYSLOG  
5 - #undef HAVE_DBUS  
6 - #undef HAVE_VASPRINTF  
7 -- #undef HAVE_INET_NTOP  
8 -+ #define HAVE_INET_NTOP  
9 -  
10 - #undef HAVE_ICONV  
11 - #undef ICONV_CONST  
win/makeruntime.sh.in
@@ -1,350 +0,0 @@ @@ -1,350 +0,0 @@
1 -#!/bin/bash  
2 -#  
3 -# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
4 -# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
5 -# aplicativos mainframe. Registro no INPI sob o nome G3270.  
6 -#  
7 -# Copyright (C) <2008> <Banco do Brasil S.A.>  
8 -#  
9 -# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
10 -# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
11 -# Free Software Foundation.  
12 -#  
13 -# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
14 -# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
15 -# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
16 -# obter mais detalhes.  
17 -#  
18 -# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
19 -# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple  
20 -# Place, Suite 330, Boston, MA, 02111-1307, USA  
21 -#  
22 -# Contatos:  
23 -#  
24 -# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
25 -# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)  
26 -#  
27 -  
28 -#  
29 -# Referencias:  
30 -#  
31 -# https://www.gtk.org/docs/installations/windows/  
32 -# http://drup.org/gtk-warning-error-loading-icon-couldnt-recognize-image-file-format  
33 -#  
34 -  
35 -# Get myDIR  
36 -myDIR=$(dirname $(readlink -f "${0}"))  
37 -  
38 -# Disable i18n  
39 -export LANG=C  
40 -  
41 -prefix="@prefix@"  
42 -PKG_CONFIG="@PKG_CONFIG@"  
43 -GTK_VERSION="gtk+-@GTK_VERSION@"  
44 -  
45 -GTK_PREFIX=$($PKG_CONFIG --variable=prefix ${GTK_VERSION})  
46 -GDK_LOADERS=$(${PKG_CONFIG} --variable=gdk_pixbuf_binarydir gdk-pixbuf-2.0 | sed -e "s@${prefix}@@g")  
47 -  
48 -TARGET="@BUILDDIR@/.bin/runtime"  
49 -BINDIR="@BUILDDIR@/.bin/Release/"  
50 -SCHEMADIR="@BUILDDIR@/schemas/"  
51 -  
52 -# Change to bin path  
53 -mkdir -p ${TARGET}  
54 -rm -fr ${TARGET}/*  
55 -  
56 -copy_dll() {  
57 -  
58 - AGAIN=1  
59 - until [ $AGAIN = 0 ]; do  
60 -  
61 - SOURCES=$(mktemp)  
62 - REQUIRES=$(mktemp)  
63 -  
64 - find "${BINDIR}" -iname "*.dll" > ${SOURCES}  
65 - find "${BINDIR}" -iname "*.exe" >> ${SOURCES}  
66 - find "${TARGET}" -iname *.dll >> ${SOURCES}  
67 -  
68 - while read FILENAME  
69 - do  
70 - objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${REQUIRES}  
71 - done < ${SOURCES}  
72 -  
73 - libs_to_exclude="  
74 - advapi32  
75 - cfgmgr32  
76 - comctl32  
77 - comdlg32  
78 - crypt32  
79 - d3d8  
80 - d3d9  
81 - ddraw  
82 - dnsapi  
83 - dsound  
84 - dwmapi  
85 - gdi32  
86 - gdiplus  
87 - glu32  
88 - glut32  
89 - imm32  
90 - iphlpapi  
91 - kernel32  
92 - ksuser  
93 - mpr  
94 - mscms  
95 - mscoree  
96 - msimg32  
97 - msvcr71  
98 - msvcr80  
99 - msvcr90  
100 - msvcrt  
101 - mswsock  
102 - netapi32  
103 - odbc32  
104 - ole32  
105 - oleacc  
106 - oleaut32  
107 - opengl32  
108 - psapi  
109 - rpcrt4  
110 - secur32  
111 - setupapi  
112 - shell32  
113 - shlwapi  
114 - user32  
115 - usp10  
116 - version  
117 - wininet  
118 - winmm  
119 - wldap32  
120 - ws2_32  
121 - wsock32  
122 - winspool.drv  
123 - ntdll  
124 - winhttp  
125 - "  
126 -  
127 - # Excluo DLLs do sistema  
128 - for i in $libs_to_exclude; do  
129 - sed -i -e "/${i}/d" ${REQUIRES}  
130 - done  
131 -  
132 - # Procuro pelas DLLs que faltam  
133 - AGAIN=0  
134 - while read FILENAME  
135 - do  
136 - if [ ! -e "${TARGET}/${FILENAME}" ]; then  
137 -  
138 - COUNT=$(find "${BINDIR}" -iname ${FILENAME} | wc --lines)  
139 - if [ "${COUNT}" == "0" ]; then  
140 -  
141 - echo ${FILENAME}  
142 -  
143 - if [ -e ${prefix}/bin/${FILENAME} ]; then  
144 -  
145 - echo "Copiando $(basename ${FILENAME})..."  
146 -  
147 - AGAIN=1  
148 - cp -v "${prefix}/bin/${FILENAME}" "${TARGET}/${FILENAME}"  
149 - if [ "$?" != "0" ]; then  
150 - exit -1  
151 - fi  
152 -  
153 - elif [ -e ${prefix}/lib/${FILENAME} ]; then  
154 -  
155 - echo "Copiando $(basename ${FILENAME})..."  
156 -  
157 - AGAIN=1  
158 - cp -v "${prefix}/lib/${FILENAME}" "${TARGET}/${FILENAME}"  
159 - if [ "$?" != "0" ]; then  
160 - exit -1  
161 - fi  
162 -  
163 - else  
164 -  
165 - echo "Can't find ${FILENAME}"  
166 - exit -1  
167 -  
168 - fi  
169 -  
170 - fi  
171 -  
172 -  
173 - fi  
174 -  
175 - done < ${REQUIRES}  
176 -  
177 - rm -f ${SOURCES}  
178 - rm -f ${REQUIRES}  
179 -  
180 - done  
181 -  
182 -}  
183 -  
184 -copy_locale() {  
185 -  
186 - rm -fr ${TARGET}/share/locale/pt_BR/LC_MESSAGES  
187 - mkdir -p ${TARGET}/share/locale/pt_BR/LC_MESSAGES  
188 -  
189 - locales="  
190 - gettext-runtime.mo  
191 - gettext-tools.mo  
192 - glib20.mo  
193 - gtk30.mo  
194 - gtk30-properties.mo  
195 - "  
196 -  
197 - for i in $locales; do  
198 - if [ -e "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i}" ]; then  
199 - echo "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i} ..."  
200 - cp "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i}" "${TARGET}/share/locale/pt_BR/LC_MESSAGES"  
201 - if [ "$?" != "0" ]; then  
202 - exit -1  
203 - fi  
204 - fi  
205 - done  
206 -  
207 -}  
208 -  
209 -copy_loaders() {  
210 -  
211 - mkdir -p "${TARGET}/${GDK_LOADERS}"  
212 - cp -rv "${prefix}/${GDK_LOADERS}/loaders" "${TARGET}/${GDK_LOADERS}"  
213 - if [ "$?" != "0" ]; then  
214 - exit -1  
215 - fi  
216 -  
217 -}  
218 -  
219 -copy_schemes() {  
220 -  
221 - mkdir -p "${TARGET}/share/glib-2.0/schemas"  
222 -  
223 - cp -v \  
224 - ${SCHEMADIR}/windows/*.xml \  
225 - "${TARGET}/share/glib-2.0/schemas"  
226 -  
227 - if [ "$?" != "0" ]; then  
228 - exit -1  
229 - fi  
230 -  
231 - cp -rv \  
232 - "${prefix}/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml" \  
233 - "${TARGET}/share/glib-2.0/schemas"  
234 -  
235 - if [ "$?" != "0" ]; then  
236 - exit -1  
237 - fi  
238 -  
239 - cp -rv \  
240 - "${prefix}/share/glib-2.0/schemas/gschema.dtd" \  
241 - "${TARGET}/share/glib-2.0/schemas"  
242 -  
243 - if [ "$?" != "0" ]; then  
244 - exit -1  
245 - fi  
246 -  
247 - glib-compile-schemas \  
248 - --targetdir="${TARGET}/share/glib-2.0/schemas" \  
249 - "${TARGET}/share/glib-2.0/schemas"  
250 -  
251 - if [ "$?" != "0" ]; then  
252 - exit -1  
253 - fi  
254 -}  
255 -  
256 -  
257 -copy_theme() {  
258 -  
259 - mkdir -p "${TARGET}/etc"  
260 - cp -rv "${prefix}/etc/gtk-3.0" "${TARGET}/etc"  
261 -  
262 - # https://stackoverflow.com/questions/37035936/how-to-get-native-windows-decorations-on-gtk3-on-windows-7-and-msys2  
263 - mkdir -p ${TARGET}/etc/gtk-3.0  
264 - rm -f ${TARGET}/etc/gtk-3.0/settings.ini  
265 - rm -f ${TARGET}/etc/gtk-3.0/gtkrc  
266 -  
267 - mkdir -p ${TARGET}/share/icons  
268 - if [ "$?" != 0 ]; then  
269 - echo "Can´t create icons folder"  
270 - exit -1  
271 - fi  
272 -  
273 - cp -rv /usr/share/icons/${1} ${TARGET}/share/icons  
274 - if [ "$?" != 0 ]; then  
275 - echo "Can´t copy ${1} icons"  
276 - exit -1  
277 - fi  
278 -  
279 - mkdir -p ${TARGET}/share/themes  
280 - if [ "$?" != 0 ]; then  
281 - echo "Can´t create themes folder"  
282 - exit -1  
283 - fi  
284 -  
285 -# cp -rv /usr/share/themes/${1} ${TARGET}/share/themes  
286 -# if [ "$?" != 0 ]; then  
287 -# echo "Can´t copy ${1} theme"  
288 -# exit -1  
289 -# fi  
290 -  
291 - echo "${myDIR}/gtk.css"  
292 - if [ -e "${myDIR}/gtk.css" ]; then  
293 - cp "${myDIR}/gtk.css" "${TARGET}/share/themes/${1}/gtk-3.0/gtk.css"  
294 - fi  
295 -  
296 -}  
297 -  
298 -#  
299 -# Check command line parameters  
300 -#  
301 -until [ -z "$1" ]  
302 -do  
303 - if [ ${1:0:2} = '--' ]; then  
304 - tmp=${1:2}  
305 - parameter=${tmp%%=*}  
306 - parameter=$(echo $parameter | tr "[:lower:]" "[:upper:]")  
307 - value=${tmp##*=}  
308 -  
309 - case "$parameter" in  
310 - OUTPUT-DIR)  
311 - TARGET=$value  
312 - ;;  
313 -  
314 - BINDIR)  
315 - BINDIR=$value  
316 - ;;  
317 -  
318 - HELP)  
319 - echo "${0} [options]"  
320 - echo ""  
321 - echo "Options:"  
322 - echo ""  
323 - echo " --path Set runtime instalation path (default is $TARGET)"  
324 - echo " --bindir Set binaries source path (default is $BINDIR)"  
325 - echo ""  
326 - exit 0  
327 -  
328 - ;;  
329 -  
330 - esac  
331 - fi  
332 -  
333 - shift  
334 -  
335 -done  
336 -  
337 -#  
338 -# Make runtime  
339 -#  
340 -copy_dll  
341 -copy_locale  
342 -copy_loaders  
343 -copy_schemes  
344 -copy_theme "Adwaita"  
345 -  
346 -# Otimiza todos os pngs  
347 -#echo "Optimizing..."  
348 -#find ${TARGET} -iname *.png -exec optipng -o7 -quiet {} \; 2>&1 > /dev/null  
349 -  
350 -echo "Runtime ok"  
win/msys2-install-tn3270-libs.sh
@@ -1,72 +0,0 @@ @@ -1,72 +0,0 @@
1 -#!/bin/bash  
2 -#  
3 -# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
4 -# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
5 -# aplicativos mainframe. Registro no INPI sob o nome G3270.  
6 -#  
7 -# Copyright (C) <2008> <Banco do Brasil S.A.>  
8 -#  
9 -# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
10 -# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
11 -# Free Software Foundation.  
12 -#  
13 -# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
14 -# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
15 -# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
16 -# obter mais detalhes.  
17 -#  
18 -# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
19 -# programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
20 -# St, Fifth Floor, Boston, MA 02110-1301 USA  
21 -#  
22 -# Contatos:  
23 -#  
24 -# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
25 -# erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)  
26 -#  
27 -#  
28 -VERSION="5.2"  
29 -  
30 -install() {  
31 -  
32 - BUILD_DIR=${TEMPDIR}/${1}  
33 -  
34 - mkdir -p ${BUILD_DIR}  
35 - if [ "$?" != "0" ]; then  
36 - exit -1  
37 - fi  
38 -  
39 - pushd ${BUILD_DIR}  
40 - if [ "$?" != "0" ]; then  
41 - exit -1  
42 - fi  
43 -  
44 - wget https://github.com/PerryWerneck/${1}/releases/download/${VERSION}/PKGBUILD  
45 - if [ "$?" != "0" ]; then  
46 - exit -1  
47 - fi  
48 -  
49 - makepkg  
50 - if [ "$?" != "0" ]; then  
51 - exit -1  
52 - fi  
53 -  
54 - popd  
55 -  
56 - cp ${BUILD_DIR}/mingw*-${1}*.tar.xz .  
57 -  
58 - rm -fr ${BUILD_DIR}  
59 -  
60 - pacman -U mingw*-${1}*.tar.xz  
61 - if [ "$?" != "0" ]; then  
62 - exit -1  
63 - fi  
64 -  
65 -}  
66 -  
67 -TEMPDIR=$(mktemp -d)  
68 -  
69 -install lib3270  
70 -install libv3270  
71 -  
72 -rm -fr ${TEMPDIR}  
win/pw3270.nsi.in
@@ -24,20 +24,16 @@ @@ -24,20 +24,16 @@
24 24
25 Name "@PRODUCT_NAME@" 25 Name "@PRODUCT_NAME@"
26 Caption "@PRODUCT_NAME@ - @PACKAGE_DESCRIPTION@" 26 Caption "@PRODUCT_NAME@ - @PACKAGE_DESCRIPTION@"
27 -!ifdef WITHGTK  
28 -outfile "@PRODUCT_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@-gtk-@GTK_MODVERSION@-@host_cpu@.exe"  
29 -!else  
30 -outfile "@PRODUCT_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@-requires-gtk-@GTK_MODVERSION@-@host_cpu@.exe"  
31 -!endif 27 +outfile "@PRODUCT_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@-@host_cpu@.exe"
32 28
33 XPStyle on 29 XPStyle on
34 30
35 installDir "$@PROGRAMFILES@\@PRODUCT_NAME@" 31 installDir "$@PROGRAMFILES@\@PRODUCT_NAME@"
36 32
37 #define the installer icon 33 #define the installer icon
38 -!define MUI_ICON "@PRODUCT_NAME@.ico"  
39 -!define MUI_UNICON "@PRODUCT_NAME@.ico"  
40 -icon "@PRODUCT_NAME@.ico" 34 +!define MUI_ICON "bin\@PRODUCT_NAME@.ico"
  35 +!define MUI_UNICON "bin\@PRODUCT_NAME@.ico"
  36 +icon "bin\@PRODUCT_NAME@.ico"
41 37
42 # Get installation folder from registry if available 38 # Get installation folder from registry if available
43 InstallDirRegKey HKLM "Software\@PRODUCT_NAME@" "InstallLocation" 39 InstallDirRegKey HKLM "Software\@PRODUCT_NAME@" "InstallLocation"
@@ -60,16 +56,16 @@ VIAddVersionKey &quot;LegalCopyright&quot; &quot;(C) 2017 Banco do Brasil S/A. All Rights Reser @@ -60,16 +56,16 @@ VIAddVersionKey &quot;LegalCopyright&quot; &quot;(C) 2017 Banco do Brasil S/A. All Rights Reser
60 # Interface 56 # Interface
61 57
62 !define MUI_ABORTWARNING 58 !define MUI_ABORTWARNING
63 -# !insertmacro MUI_PAGE_WELCOME  
64 -!insertmacro MUI_PAGE_LICENSE "LICENSE" 59 +!insertmacro MUI_PAGE_WELCOME
  60 +!insertmacro MUI_PAGE_LICENSE "share\@PRODUCT_NAME@\LICENSE"
65 !insertmacro MUI_PAGE_COMPONENTS 61 !insertmacro MUI_PAGE_COMPONENTS
66 !insertmacro MUI_PAGE_DIRECTORY 62 !insertmacro MUI_PAGE_DIRECTORY
67 !insertmacro MUI_PAGE_INSTFILES 63 !insertmacro MUI_PAGE_INSTFILES
68 64
69 -# !insertmacro MUI_UNPAGE_WELCOME 65 +!insertmacro MUI_UNPAGE_WELCOME
70 !insertmacro MUI_UNPAGE_CONFIRM 66 !insertmacro MUI_UNPAGE_CONFIRM
71 !insertmacro MUI_UNPAGE_INSTFILES 67 !insertmacro MUI_UNPAGE_INSTFILES
72 -# !insertmacro MUI_UNPAGE_FINISH 68 +!insertmacro MUI_UNPAGE_FINISH
73 69
74 # Languages 70 # Languages
75 !insertmacro MUI_LANGUAGE "English" 71 !insertmacro MUI_LANGUAGE "English"
@@ -80,71 +76,51 @@ VIAddVersionKey &quot;LegalCopyright&quot; &quot;(C) 2017 Banco do Brasil S/A. All Rights Reser @@ -80,71 +76,51 @@ VIAddVersionKey &quot;LegalCopyright&quot; &quot;(C) 2017 Banco do Brasil S/A. All Rights Reser
80 # default section 76 # default section
81 SubSection "@PRODUCT_NAME@" SecMain 77 SubSection "@PRODUCT_NAME@" SecMain
82 78
83 - Section "Core" SecCore 79 + Section "@PRODUCT_NAME@" SecCore
84 80
85 SetRegView @WINARCH@ 81 SetRegView @WINARCH@
86 ${DisableX64FSRedirection} 82 ${DisableX64FSRedirection}
87 83
88 # define the output path for this file 84 # define the output path for this file
89 - setOutPath $INSTDIR  
90 SetShellVarContext all 85 SetShellVarContext all
91 86
92 - createShortCut "$SMPROGRAMS\@PRODUCT_NAME@.lnk" "$INSTDIR\@PRODUCT_NAME@.exe"  
93 - createShortCut "$DESKTOP\@PRODUCT_NAME@.lnk" "$INSTDIR\@PRODUCT_NAME@.exe" 87 + createShortCut "$SMPROGRAMS\@PRODUCT_NAME@.lnk" "$INSTDIR\bin\@PRODUCT_NAME@.exe"
  88 + createShortCut "$DESKTOP\@PRODUCT_NAME@.lnk" "$INSTDIR\bin\@PRODUCT_NAME@.exe"
94 89
95 # Binary files 90 # Binary files
96 - file "/oname=$INSTDIR\@PRODUCT_NAME@.exe" "bin\@PRODUCT_NAME@.exe"  
97 - file "/oname=$INSTDIR\@PRODUCT_NAME@.ico" "bin\@PRODUCT_NAME@.ico"  
98 - file "/oname=$INSTDIR\lib@LIBRARY_NAME@.dll" "bin\lib@LIBRARY_NAME@.dll"  
99 - file "/oname=$INSTDIR\libv3270.dll" "bin\libv3270.dll"  
100 -  
101 - # Register file association  
102 -  
103 - # icons & logos  
104 - CreateDirectory "$INSTDIR\icons"  
105 - file "/oname=$INSTDIR\icons\gtk-connect-symbolic.svg" "share\@PRODUCT_NAME@\icons\gtk-connect-symbolic.svg"  
106 - file "/oname=$INSTDIR\icons\gtk-disconnect-symbolic.svg" "share\@PRODUCT_NAME@\icons\gtk-disconnect-symbolic.svg"  
107 - file "/oname=$INSTDIR\icons\connect-symbolic.svg" "share\@PRODUCT_NAME@\icons\connect-symbolic.svg"  
108 - file "/oname=$INSTDIR\icons\disconnect-symbolic.svg" "share\@PRODUCT_NAME@\icons\disconnect-symbolic.svg"  
109 - file "/oname=$INSTDIR\icons\@PRODUCT_NAME@.svg" "share\@PRODUCT_NAME@\@PRODUCT_NAME@.svg"  
110 -  
111 - file "/oname=$INSTDIR\@PRODUCT_NAME@-logo.svg" "share\@PRODUCT_NAME@\@PRODUCT_NAME@-logo.svg"  
112 - file "/oname=$INSTDIR\@PRODUCT_NAME@.svg" "share\@PRODUCT_NAME@\@PRODUCT_NAME@.svg"  
113 - file "/oname=$INSTDIR\@PRODUCT_NAME@.png" "share\@PRODUCT_NAME@\@PRODUCT_NAME@.png"  
114 -  
115 - # Schema  
116 - CreateDirectory "$INSTDIR\schemas"  
117 - file "/oname=$INSTDIR\schemas\@PRODUCT_NAME@-application.gschema.xml" "share\glib-2.0\schemas\@PRODUCT_NAME@-application.gschema.xml"  
118 - file "/oname=$INSTDIR\schemas\@PRODUCT_NAME@-window.gschema.xml" "share\glib-2.0\schemas\@PRODUCT_NAME@-window.gschema.xml"  
119 -  
120 - file "/oname=$INSTDIR\gschemas.compiled" "runtime/share/glib-2.0/schemas/gschemas.compiled"  
121 -  
122 - # Configuration files  
123 - file "/oname=$INSTDIR\colors.conf" "share\@PRODUCT_NAME@\colors.conf"  
124 -  
125 - # Documentation files  
126 - file "/oname=$INSTDIR\AUTHORS" "AUTHORS"  
127 - file "/oname=$INSTDIR\LICENSE" "LICENSE"  
128 -  
129 - # Misc folders  
130 - CreateDirectory "$INSTDIR\certs"  
131 - CreateDirectory "$INSTDIR\plugins"  
132 - CreateDirectory "$INSTDIR\keypad"  
133 -  
134 - # UI definition files  
135 - CreateDirectory "$INSTDIR\ui"  
136 - file "/oname=$INSTDIR\@PRODUCT_NAME@.ui.xml" "share\@PRODUCT_NAME@\@PRODUCT_NAME@.ui.xml"  
137 -  
138 - # Charset definition files  
139 - CreateDirectory "$INSTDIR\remap"  
140 - file "/oname=$INSTDIR\remap\bracket.xml" "share\@PRODUCT_NAME@\remap\bracket.xml"  
141 -  
142 - # Locale files  
143 - CreateDirectory "$INSTDIR\locale\pt_BR\LC_MESSAGES"  
144 - file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\@PACKAGE_NAME@.mo" "share\locale\pt_BR\LC_MESSAGES\@PACKAGE_NAME@.mo"  
145 - file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\lib@LIBRARY_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo" "share\locale\pt_BR\LC_MESSAGES\lib@LIBRARY_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo"  
146 - file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\libv3270-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo" "share\locale\pt_BR\LC_MESSAGES\libv3270-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo" 91 + setOutPath "$INSTDIR"
  92 + file /r "bin"
  93 +
  94 + setOutPath "$INSTDIR\share\@PRODUCT_NAME@"
  95 + file /r "share\@PRODUCT_NAME@\*.png"
  96 + file /r "share\@PRODUCT_NAME@\*.svg"
  97 + file /r "share\@PRODUCT_NAME@\*.ui.xml"
  98 + file /r "share\@PRODUCT_NAME@\*.conf"
  99 +
  100 + setOutPath "$INSTDIR\share\@PRODUCT_NAME@\remap"
  101 + file /r "share\@PRODUCT_NAME@\remap\*"
  102 +
  103 + setOutPath "$INSTDIR\lib\gdk-pixbuf-2.0"
  104 + file /r "lib\gdk-pixbuf-2.0\*"
  105 +
  106 + setOutPath "$INSTDIR\etc"
  107 + file /r "etc\*"
147 108
  109 + setOutPath "$INSTDIR\share\locale"
  110 + file /r "share\locale\*"
  111 +
  112 + setOutPath "$INSTDIR\share\themes"
  113 + file /r "share\themes\*"
  114 +
  115 + setOutPath "$INSTDIR\share\icons"
  116 + file /r "share\icons\*"
  117 +
  118 + setOutPath "$INSTDIR\share\glib-2.0"
  119 + file /r "share\glib-2.0\*"
  120 +
  121 + setOutPath "$INSTDIR\share\@PRODUCT_NAME@\icons"
  122 + file /r "share\@PRODUCT_NAME@\icons\*"
  123 +
148 # define uninstaller name 124 # define uninstaller name
149 SetRegView 32 125 SetRegView 32
150 126
@@ -211,122 +187,49 @@ SubSection &quot;@PRODUCT_NAME@&quot; SecMain @@ -211,122 +187,49 @@ SubSection &quot;@PRODUCT_NAME@&quot; SecMain
211 187
212 sectionEnd 188 sectionEnd
213 189
214 -!ifdef WITHCERTS  
215 - Section "SSL Certificates" SSLCerts  
216 - setOutPath $INSTDIR\certs  
217 - file /r "sslcerts\*.*"  
218 - sectionEnd  
219 -!endif  
220 -  
221 - SubSection "Plugins" SecPLugin  
222 -  
223 - Section "Remote control" IPCPlugin  
224 -  
225 - setOutPath $INSTDIR  
226 -  
227 - ${DisableX64FSRedirection}  
228 -  
229 - CreateDirectory "$INSTDIR\plugins"  
230 - file "/oname=$INSTDIR\plugins\ipcserver.dll" "lib\@PRODUCT_NAME@-plugins\ipcserver.dll"  
231 -  
232 - CreateDirectory "$INSTDIR\locale\pt_BR\LC_MESSAGES"  
233 - file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\libipc3270-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo" "share\locale\pt_BR\LC_MESSAGES\libipc3270-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo"  
234 -  
235 - ${@NSISREDIR@}  
236 - file "/oname=$SYSDIR\libipc3270.dll" "bin\libipc3270.dll"  
237 -  
238 - sectionEnd  
239 -  
240 - SubSectionEnd  
241 -  
242 -!ifdef WITHEXTRAS  
243 - SubSection "Extra modules" Languages  
244 -  
245 -!ifdef WITHLIBHLLAPI  
246 - Section "HLLAPI" HLLAPIBinding  
247 -  
248 - ${@NSISREDIR@}  
249 -  
250 - # Install HLLAPI connector  
251 - file "/oname=$SYSDIR\hllapi.dll" "bin\libhllapi.dll"  
252 -  
253 - # Install with "lib" prefix for compatibility.  
254 - file "/oname=$SYSDIR\libhllapi.dll" "bin\libhllapi.dll"  
255 -  
256 - CreateDirectory "$INSTDIR\locale\pt_BR\LC_MESSAGES"  
257 - file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\libhllapi-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo" "share\locale\pt_BR\LC_MESSAGES\libhllapi-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo"  
258 -  
259 - SectionEnd  
260 -!endif  
261 -  
262 - Section "KEYPADS" Keypads  
263 -  
264 - file "/oname=$INSTDIR\keypad\00-right.xml" "share\@PRODUCT_NAME@\keypad\00-right.xml"  
265 - file "/oname=$INSTDIR\keypad\10-bottom.xml" "share\@PRODUCT_NAME@\keypad\10-bottom.xml"  
266 -  
267 - SectionEnd  
268 -  
269 -!ifdef WITHMONO-TN3270  
270 - Section /o ".NET" DOTNET  
271 -  
272 - CreateDirectory "$INSTDIR\dotnet"  
273 -  
274 - ${DisableX64FSRedirection}  
275 - file "/oname=$INSTDIR\dotnet\tn3270.dll" "mono/lib/tn3270-5.2/tn3270.dll"  
276 - file "/oname=$INSTDIR\dotnet\tn3270.xml" "mono/gapi-2.0/tn3270/tn3270.xml"  
277 -  
278 - ${@NSISREDIR@}  
279 - file "/oname=$SYSDIR\mono-tn3270.dll" "mono-tn3270.dll"  
280 -  
281 - SectionEnd  
282 -!endif  
283 -  
284 - SubSectionEnd  
285 -!endif  
286 -  
287 !ifdef WITHSDK 190 !ifdef WITHSDK
288 - Section /o "Software Development Kit" SDK 191 + Section /o "Software Development Kit" SDK
289 192
290 setOutPath $INSTDIR\sdk\include 193 setOutPath $INSTDIR\sdk\include
291 file /r "include\*.*" 194 file /r "include\*.*"
292 195
293 - CreateDirectory "$INSTDIR\sdk"  
294 - CreateDirectory "$INSTDIR\sdk\def"  
295 - CreateDirectory "$INSTDIR\sdk\lib"  
296 -  
297 - file "/oname=$INSTDIR\sdk\lib\lib3270.dll.a" "lib\lib@LIBRARY_NAME@.dll.a"  
298 - file "/oname=$INSTDIR\sdk\lib\lib3270.delayed.a" "lib\lib@LIBRARY_NAME@.delayed.a"  
299 - file "/oname=$INSTDIR\sdk\lib\lib3270.static.a" "lib\lib@LIBRARY_NAME@.static.a"  
300 - file "/oname=$INSTDIR\sdk\lib\libv3270.dll.a" "lib\libv3270.dll.a"  
301 - file "/oname=$INSTDIR\sdk\lib\libipc3270.dll.a" "lib\libipc3270.dll.a"  
302 - file "/oname=$INSTDIR\sdk\lib\libipc3270.static.a" "lib\libipc3270.static.a"  
303 - file "/oname=$INSTDIR\sdk\lib\libhllapi.dll.a" "lib\libhllapi.dll.a" 196 + setOutPath $INSTDIR\sdk\lib
  197 + file /r "lib\*.a"
304 198
305 - file "/oname=$INSTDIR\sdk\lib3270.mak" "share\@PRODUCT_NAME@\def\lib3270.mak" 199 + setOutPath $INSTDIR\sdk\lib\pkgconfig
  200 + file /r "lib\pkgconfig\*.pc"
306 201
307 - file "/oname=$INSTDIR\sdk\def\lib@LIBRARY_NAME@.def" "share\@PRODUCT_NAME@\def\lib@LIBRARY_NAME@.def"  
308 - file "/oname=$INSTDIR\sdk\def\libv3270.def" "share\@PRODUCT_NAME@\def\libv3270.def"  
309 - file "/oname=$INSTDIR\sdk\def\libipc3270.def" "share\@PRODUCT_NAME@\def\libipc3270.def"  
310 - file "/oname=$INSTDIR\sdk\def\libhllapi.def" "share\@PRODUCT_NAME@\def\libhllapi.def" 202 + setOutPath $INSTDIR\sdk\msvc
  203 + file /r "share\@PRODUCT_NAME@\def\*.def"
  204 + file /r "share\@PRODUCT_NAME@\def\*.mak"
311 205
312 SetRegView @WINARCH@ 206 SetRegView @WINARCH@
313 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PW3270_SDK_PATH" "$INSTDIR\sdk" 207 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PW3270_SDK_PATH" "$INSTDIR\sdk"
314 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 208 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
315 209
316 - SectionEnd 210 + SectionEnd
317 !endif 211 !endif
318 212
319 -SubSectionEnd 213 +!ifdef WITHCERTS
  214 + Section "SSL Certificates" SSLCerts
  215 + setOutPath $INSTDIR\certs
  216 + file /r "sslcerts\*.*"
  217 + sectionEnd
  218 +!endif
320 219
  220 + SubSection "Plugins" SecPLugin
321 221
322 -!ifdef WITHGTK  
323 -Section "GTK+ Runtime" SecGTK 222 + Section "Remote control" IPCPlugin
  223 +
  224 + ${DisableX64FSRedirection}
  225 + CreateDirectory "$INSTDIR\lib\@PRODUCT_NAME@-plugins"
  226 + file "/oname=$INSTDIR\lib\@PRODUCT_NAME@-plugins\ipcserver.dll" "lib\@PRODUCT_NAME@-plugins\ipcserver.dll"
324 227
325 - setOutPath $INSTDIR  
326 - file /r "runtime\*.*" 228 + sectionEnd
327 229
328 -SectionEnd  
329 -!endif 230 + SubSectionEnd
  231 +
  232 +SubSectionEnd
330 233
331 Section "Uninstall" 234 Section "Uninstall"
332 235
@@ -343,15 +246,7 @@ Section &quot;Uninstall&quot; @@ -343,15 +246,7 @@ Section &quot;Uninstall&quot;
343 delete $SMPROGRAMS\@PRODUCT_NAME@.lnk 246 delete $SMPROGRAMS\@PRODUCT_NAME@.lnk
344 delete $DESKTOP\@PRODUCT_NAME@.lnk 247 delete $DESKTOP\@PRODUCT_NAME@.lnk
345 248
346 - RMDir /r "$INSTDIR\locale"  
347 - RMDir /r "$INSTDIR\share"  
348 - RMDir /r "$INSTDIR\etc"  
349 - RMDir /r "$INSTDIR\plugins"  
350 - RMDir /r "$INSTDIR\sdk"  
351 - RMDir /r "$INSTDIR\gtk2-runtime"  
352 -  
353 - # Delete all files  
354 - delete "$INSTDIR\*.dll" 249 + RMDir /r "$INSTDIR"
355 250
356 # Remove registry 251 # Remove registry
357 SetRegView 32 252 SetRegView 32
win/win32-configure
@@ -1,37 +0,0 @@ @@ -1,37 +0,0 @@
1 -#!/bin/bash  
2 -  
3 -export HOST_CC=/usr/bin/gcc  
4 -export cache=win32.cache  
5 -  
6 -OPT=$@  
7 -  
8 -OFFICE=$(grep -c 'AC_ARG_ENABLE(\[office' configure.ac)  
9 -  
10 -if [ "$OFFICE" != "0" ]; then  
11 - OPT="$OPT --disable-office"  
12 -fi  
13 -  
14 -if [ -d ~/win32/jdk ]; then  
15 - export JDK_HOME=$(readlink -f ~/win32/jdk)  
16 -else  
17 - unset JDK_HOME  
18 -fi  
19 -  
20 -if [ -d ~/win32/jre ]; then  
21 - export JRE_HOME=$(readlink -f ~/win32/jre)  
22 -else  
23 - unset JRE_HOME  
24 -fi  
25 -  
26 -./configure --cache-file=$cache \  
27 - --host=i686-w64-mingw32 \  
28 - --prefix=/usr/i686-w64-mingw32/sys-root/mingw \  
29 - --libdir=/usr/i686-w64-mingw32/sys-root/mingw/lib \  
30 - $OPT  
31 -  
32 -  
33 -status=$?  
34 -  
35 -rm -f "$cache"  
36 -exit $status  
37 -  
win/win64-configure
@@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
1 -#!/bin/bash  
2 -  
3 -export HOST_CC=/usr/bin/gcc  
4 -export cache=win64.cache  
5 -  
6 -OPT=$@  
7 -  
8 -OFFICE=$(grep -c 'AC_ARG_ENABLE(\[office' configure.ac)  
9 -  
10 -if [ "$OFFICE" != "0" ]; then  
11 - OPT="$OPT --disable-office"  
12 -fi  
13 -  
14 -if [ -d ~/win64/jdk ]; then  
15 - export JDK_HOME=$(readlink -f ~/win64/jdk)  
16 -fi  
17 -  
18 -if [ -d ~/win64/jre ]; then  
19 - export JRE_HOME=$(readlink -f ~/win64/jre)  
20 -fi  
21 -  
22 -  
23 -./configure --cache-file=$cache \  
24 - --host=x86_64-w64-mingw32 \  
25 - --prefix=/usr/x86_64-w64-mingw32/sys-root/mingw \  
26 - --libdir=/usr/x86_64-w64-mingw32/sys-root/mingw/lib \  
27 - $OPT  
28 -  
29 -status=$?  
30 -  
31 -rm -f "$cache"  
32 -exit $status  
33 -  
1 #!/bin/bash 1 #!/bin/bash
2 2
3 -make Debug  
4 -make gschemas.compiled 3 +rm -fr ${PWD}/.build
  4 +
  5 +make DESTDIR=${PWD}/.build install
  6 +if [ "$?" != "0" ]; then
  7 + exit -1
  8 +fi
  9 +
  10 +bash ./win/makeruntime.sh
  11 +if [ "$?" != "0" ]; then
  12 + exit -1
  13 +fi
  14 +
  15 +wine .build/usr/x86_64-w64-mingw32/sys-root/mingw/bin/pw3270.exe
  16 +if [ "$?" != "0" ]; then
  17 + exit -1
  18 +fi
5 19
6 -cp gschemas.compiled .bin/Debug  
7 20
8 -wine .bin/Debug/pw3270.exe  
9 21