Compare View

switch
from
...
to
 
Commits (117)
.github/workflows/msys2.yml
... ... @@ -3,23 +3,39 @@ on:
3 3 pull_request:
4 4 branches:
5 5 - master
6   - schedule:
7   - - cron: '30 13 3 2,4,6,8,10,12 *'
8   -
  6 + push:
  7 + branches:
  8 + - develop
9 9 jobs:
10 10 msys2-mingw:
  11 + name: Publish Windows 64
11 12 runs-on: windows-latest
12 13 defaults:
13 14 run:
14 15 shell: msys2 {0}
15 16 steps:
16 17 - uses: actions/checkout@v3
  18 + - uses: oprypin/find-latest-tag@v1
  19 + id: gettag
  20 + with:
  21 + repository: PerryWerneck/pw3270
  22 + releases-only: true
17 23 - uses: msys2/setup-msys2@v2
18 24 with:
19 25 msystem: mingw64
20 26 update: true
21   - install: xz mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool mingw-w64-x86_64-gtk3 mingw-w64-x86_64-imagemagick mingw-w64-x86_64-optipng mingw-w64-x86_64-inkscape
  27 + install: dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool mingw-w64-x86_64-gtk3 mingw-w64-x86_64-imagemagick mingw-w64-x86_64-optipng mingw-w64-x86_64-inkscape
  28 + - uses: robinraju/release-downloader@v1.7
  29 + with:
  30 + repository: "PerryWerneck/lib3270"
  31 + latest: true
  32 + fileName: "mingw-w64-x86_64-lib3270-5.4-0-x86_64.pkg.tar.zst"
  33 + - uses: robinraju/release-downloader@v1.7
  34 + with:
  35 + repository: "PerryWerneck/libv3270"
  36 + latest: true
  37 + fileName: "mingw-w64-x86_64-libv3270-5.4-0-x86_64.pkg.tar.zst"
22 38 - name: CI-Build
23   - run: |
24   - ./win/ci-build.sh
  39 + run: ./win/ci-build.sh
  40 +
25 41  
... ...
.github/workflows/winpkg.yml 0 → 100644
... ... @@ -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 +
... ...
.gitignore
  1 +.tmp
  2 +.bin
  3 +.obj
  4 +.pot
1 5 .*
2 6 *~
3 7 *.log
... ... @@ -69,5 +73,4 @@ m4
69 73 po
70 74 app-manifest.xml
71 75 libtool
72   -
73   -
  76 +*.pkg.tar.zst
... ...
Makefile.in
... ... @@ -29,6 +29,7 @@ datarootdir=@datarootdir@
29 29 localedir=@localedir@
30 30 docdir=@docdir@
31 31 sysconfdir=@sysconfdir@
  32 +datadir="$(datarootdir)/@PRODUCT_NAME@"
32 33  
33 34 #---[ Configuration ]--------------------------------------------------------------------
34 35  
... ... @@ -55,8 +56,8 @@ SOURCES= \
55 56 $(wildcard $(srcdir)/src/main/@OSNAME@/*.rc)
56 57  
57 58 SCHEMAS= \
58   - $(wildcard schemas/@OSNAME@/*.gschema.xml) \
59   - $(wildcard schemas/common/*.gschema.xml)
  59 + $(wildcard schemas/*.gschema.xml) \
  60 + $(wildcard schemas/*.gschema.xml)
60 61  
61 62 #---[ Tools ]----------------------------------------------------------------------------
62 63  
... ... @@ -72,7 +73,6 @@ MSGCAT=@MSGCAT@
72 73 WINDRES=@WINDRES@
73 74 AR=@AR@
74 75 VALGRIND=@VALGRIND@
75   -CONVERT=@CONVERT@
76 76 STRIP=@STRIP@
77 77  
78 78 #---[ Build Paths ]----------------------------------------------------------------------
... ... @@ -127,6 +127,13 @@ $(OBJDBG)/%.o: \
127 127 -DDEBUG=1 \
128 128 -o $@ -c $<
129 129  
  130 +%.ico: \
  131 + $(srcdir)/branding/%.ico
  132 +
  133 + @echo $< ...
  134 + @$(MKDIR) $(@D)
  135 + @cp "$<" "$@"
  136 +
130 137 $(OBJDBG)/%.o: \
131 138 %.rc \
132 139 $(PRODUCT_NAME).ico
... ... @@ -198,7 +205,7 @@ $(POTDIR)/%.pot: \
198 205 @touch $@
199 206  
200 207 $(OBJDIR)/schemas/%.xml: \
201   - schemas/@OSNAME@/%.xml
  208 + schemas/%.xml
202 209  
203 210 @$(MKDIR) $(@D)
204 211 @cp "$^" "$@"
... ... @@ -218,30 +225,6 @@ install-%: \
218 225 prefix=$(prefix) \
219 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 228 #---[ Main Target ]----------------------------------------------------------------------
246 229  
247 230 all: \
... ... @@ -318,7 +301,7 @@ install-macos-application: \
318 301 $(DESTDIR)$(bindir)/$(PRODUCT_NAME)@EXEEXT@
319 302  
320 303 install-windows-application: \
321   - $(PRODUCT_NAME).png \
  304 + branding/$(PRODUCT_NAME).png \
322 305 strip
323 306  
324 307 @$(MKDIR) \
... ... @@ -332,7 +315,7 @@ install-windows-application: \
332 315 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)
333 316  
334 317 @$(INSTALL_DATA) \
335   - $(PRODUCT_NAME).png \
  318 + branding/$(PRODUCT_NAME).png \
336 319 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).png
337 320  
338 321 @$(INSTALL_DATA) \
... ...
PKGBUILD.mingw 0 → 100644
... ... @@ -0,0 +1,62 @@
  1 +# Maintainer: Perry Werneck <perry.werneck@gmail.com>
  2 +# References: https://www.msys2.org/wiki/Creating-Packages/
  3 +
  4 +# SPDX-License-Identifier: LGPL-3.0-or-later
  5 +#
  6 +# Copyright (C) 2008 Banco do Brasil S.A.
  7 +#
  8 +# This program is free software: you can redistribute it and/or modify
  9 +# it under the terms of the GNU Lesser General Public License as published
  10 +# by the Free Software Foundation, either version 3 of the License, or
  11 +# (at your option) any later version.
  12 +#
  13 +# This program is distributed in the hope that it will be useful,
  14 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  15 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16 +# GNU General Public License for more details.
  17 +#
  18 +# You should have received a copy of the GNU Lesser General Public License
  19 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
  20 +
  21 +_realname=$(grep AC_INIT "${startdir}/configure.ac" | cut -d[ -f2 | cut -d] -f1)
  22 +
  23 +pkgname=${MINGW_PACKAGE_PREFIX}-${_realname}
  24 +source=()
  25 +
  26 +pkgver=$(grep AC_INIT "${startdir}/configure.ac" | cut -d[ -f3 | cut -d] -f1)
  27 +pkgrel=0
  28 +pkgdesc="TN3270 Access library"
  29 +url="https://github.com/PerryWerneck/${_realname}"
  30 +arch=(i686 x86_64)
  31 +license=(LGPL-3.0-or-later)
  32 +depends=(${MINGW_PACKAGE_PREFIX}-gtk3 ${MINGW_PACKAGE_PREFIX}-lib3270 ${MINGW_PACKAGE_PREFIX}-libv3270)
  33 +makedepends=(autoconf automake make libtool gzip dos2unix gzip ${MINGW_PACKAGE_PREFIX}-optipng ${MINGW_PACKAGE_PREFIX}-gtk3 ${MINGW_PACKAGE_PREFIX}-lib3270 ${MINGW_PACKAGE_PREFIX}-libv3270)
  34 +checkdepends=()
  35 +
  36 +provides=($pkgname)
  37 +conflicts=($pkgname)
  38 +
  39 +prepare() {
  40 + rm -fr "$srcdir/$pkgname"
  41 + ln -snf "$startdir" "$srcdir/$pkgname"
  42 +}
  43 +
  44 +build() {
  45 + cd $pkgname
  46 + ./autogen.sh \
  47 + --prefix=${MINGW_PREFIX} \
  48 + --build=${MINGW_CHOST} \
  49 + --host=${MINGW_CHOST} \
  50 + --target=${MINGW_CHOST}
  51 +
  52 + make all
  53 +}
  54 +
  55 +package() {
  56 + cd $pkgname
  57 + make DESTDIR="${pkgdir}" install
  58 + install \
  59 + -Dm644 \
  60 + "LICENSE" \
  61 + "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
  62 +}
... ...
README.md
1   -
2 1 ## GTK Based 3270 terminal emulator
3 2  
4 3 <img src="https://raw.githubusercontent.com/PerryWerneck/PerryWerneck/master/screenshots/mvs-tk4.png" alt="Screenshot">
... ... @@ -15,20 +14,16 @@ Created originally for Banco do Brasil, it&#39;s now an official Brazilian Governmen
15 14  
16 15 ## Installation
17 16  
18   -### Linux
19   -
20   -You can download installation package for supported distributions in Open Build Service or the flatpak version from flathub.
  17 +You can download installation package for supported linux distributions in [Open Build Service](https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Apw3270&package=pw3270), the flatpak version from flathub and windows installer from [Releases](../../releases).
21 18  
22 19 [<img src="https://raw.githubusercontent.com/PerryWerneck/pw3270/develop/branding/obs-badge-en.svg" alt="Download from open build service" height="80px">](https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Apw3270&package=pw3270)
23 20 [<img src="https://flathub.org/assets/badges/flathub-badge-en.svg" alt="Download from flathub" height="80px">](https://flathub.org/apps/details/br.app.pw3270.terminal)
  21 +[<img src="https://github.com/PerryWerneck/pw3270/blob/develop/branding/release-badge-en.svg" alt="Download from github releases" height="80px">](../../releases)
24 22  
25   -### Windows
26   -
27   -Updated windows installers are available on Dropbox, google drive and one drive.
  23 +Alternative windows installers for stable and unstable versions are already available on Dropbox and one drive.
28 24  
29   -[<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.9.0/icons/dropbox.svg" alt="Get from dropbox" height="80px">](https://www.dropbox.com/sh/2qy3s6b5s4o4bws/AAAubHE8SBG7r6CJSKPflKN0a?dl=0)
30   -[<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.9.0/icons/googledrive.svg" alt="Get from google drive" height="80px">](https://drive.google.com/drive/folders/1tmtKzGujLVvnIV_knWQXl_TBEC3_9ucL?usp=sharing)
31   -[<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.9.0/icons/microsoftonedrive.svg" alt="Get from Microsoft One Drive" height="80px">](https://onedrive.live.com/?id=D8B46DA0372A6F1A%212208&cid=D8B46DA0372A6F1A)
  25 +[<img src="https://raw.githubusercontent.com/PerryWerneck/pw3270/develop/branding/dropbox-badge-en.svg" alt="Get from dropbox" height="80px">](https://www.dropbox.com/sh/2qy3s6b5s4o4bws/AAAubHE8SBG7r6CJSKPflKN0a?dl=0)
  26 +[<img src="https://raw.githubusercontent.com/PerryWerneck/pw3270/develop/branding/onedrive-badge-en.svg" alt="Get from Microsoft One Drive" height="80px">](https://onedrive.live.com/?id=D8B46DA0372A6F1A%212208&cid=D8B46DA0372A6F1A)
32 27  
33 28 ## Building for Linux
34 29  
... ...
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 19 PACKAGE_NAME=@PACKAGE_NAME@
... ... @@ -43,19 +35,20 @@ MKDIR=@MKDIR_P@
43 35 INSTALL=@INSTALL@
44 36 INSTALL_DATA=@INSTALL_DATA@
45 37 INSTALL_PROGRAM=@INSTALL_PROGRAM@
46   -CONVERT=@CONVERT@
47 38 DESKTOP_INSTALL=@DESKTOP_INSTALL@
48 39 SCOUR=@SCOUR@
49 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 53 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/%.svg: \
61 54 $(srcdir)/%.svg
... ... @@ -101,11 +94,10 @@ endif
101 94  
102 95 validate:
103 96  
104   -ifneq ($(SCOUR),no)
  97 +ifneq ($(APPSTREAMCLI),no)
105 98 @$(APPSTREAMCLI) validate metainfo.xml
106 99 endif
107 100  
108   -
109 101 install: \
110 102 install-@OSNAME@
111 103  
... ... @@ -159,7 +151,12 @@ install-macos: \
159 151  
160 152 install-windows: \
161 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/dropbox-badge-en.svg 0 → 100644
... ... @@ -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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  9 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  10 + width="602"
  11 + height="202"
  12 + viewBox="0 0 602 202.00001"
  13 + version="1.1"
  14 + id="svg8129"
  15 + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
  16 + sodipodi:docname="dropbox-badge-en.svg"
  17 + inkscape:export-filename="/home/jimmac/SparkleShare/flathub-mockups/assets/download-button/download.png"
  18 + inkscape:export-xdpi="96"
  19 + inkscape:export-ydpi="96">
  20 + <defs
  21 + id="defs8123">
  22 + <linearGradient
  23 + id="a"
  24 + x1="34.76569"
  25 + x2="25.431995"
  26 + y1="9.90843"
  27 + y2="28.426884"
  28 + gradientTransform="scale(0.9319351,1.0730361)"
  29 + gradientUnits="userSpaceOnUse">
  30 + <stop
  31 + offset="0"
  32 + stop-color="#fff"
  33 + stop-opacity="0"
  34 + id="stop2" />
  35 + <stop
  36 + offset="1"
  37 + stop-color="#fff"
  38 + stop-opacity=".27451"
  39 + id="stop4" />
  40 + </linearGradient>
  41 + <clipPath
  42 + id="vlpa">
  43 + <path
  44 + d="M 0,200.3 H 320 V 0 H 0 Z"
  45 + id="path4" />
  46 + </clipPath>
  47 + <clipPath
  48 + id="vlpa-5">
  49 + <path
  50 + d="M 0,200.3 H 320 V 0 H 0 Z"
  51 + id="path4-6" />
  52 + </clipPath>
  53 + </defs>
  54 + <sodipodi:namedview
  55 + id="base"
  56 + pagecolor="#ffffff"
  57 + bordercolor="#666666"
  58 + borderopacity="1.0"
  59 + inkscape:pageopacity="0.0"
  60 + inkscape:pageshadow="2"
  61 + inkscape:zoom="1.1171875"
  62 + inkscape:cx="299.01193"
  63 + inkscape:cy="217.5035"
  64 + inkscape:document-units="px"
  65 + inkscape:current-layer="layer1"
  66 + showgrid="false"
  67 + units="px"
  68 + borderlayer="true"
  69 + inkscape:showpageshadow="false"
  70 + inkscape:snap-nodes="false"
  71 + inkscape:snap-bbox="true"
  72 + inkscape:bbox-nodes="true"
  73 + inkscape:snap-bbox-midpoints="true"
  74 + inkscape:window-width="1366"
  75 + inkscape:window-height="714"
  76 + inkscape:window-x="0"
  77 + inkscape:window-y="0"
  78 + inkscape:window-maximized="1"
  79 + inkscape:document-rotation="0"
  80 + fit-margin-left="1"
  81 + fit-margin-right="1"
  82 + fit-margin-bottom="1"
  83 + fit-margin-top="1"
  84 + inkscape:pagecheckerboard="true">
  85 + <inkscape:grid
  86 + type="xygrid"
  87 + id="grid8722"
  88 + originx="1"
  89 + originy="0.99999005" />
  90 + </sodipodi:namedview>
  91 + <metadata
  92 + id="metadata8126">
  93 + <rdf:RDF>
  94 + <cc:Work
  95 + rdf:about="">
  96 + <dc:format>image/svg+xml</dc:format>
  97 + <dc:type
  98 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  99 + <dc:title />
  100 + </cc:Work>
  101 + </rdf:RDF>
  102 + </metadata>
  103 + <g
  104 + inkscape:label="Layer 1"
  105 + inkscape:groupmode="layer"
  106 + id="layer1"
  107 + transform="translate(1,-921.51966)">
  108 + <rect
  109 + 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"
  110 + id="rect8720"
  111 + width="596.22046"
  112 + height="196.22047"
  113 + x="1.8897638"
  114 + y="924.40942"
  115 + rx="32"
  116 + ry="32" />
  117 + <path
  118 + class="st0"
  119 + d="M 118.70363,975.90361 74.704813,1003.972 118.70363,1032.0401 74.704813,1060.1083 30.706,1031.8883 74.704813,1003.8202 30.706,975.90361 74.704813,947.83551 Z m -44.226387,93.23209 43.998807,-28.0684 43.99882,28.0684 -43.99882,28.0681 z m 44.226387,-37.2474 43.99881,-28.0681 -43.99881,-27.91659 43.77124,-28.0681 43.99882,28.0681 -43.99882,28.06839 43.99882,28.0681 -43.99882,28.0682 z"
  120 + id="path843"
  121 + style="fill:#0061ff;stroke-width:0.758601" />
  122 + <path
  123 + d="m 300.5132,1024.7404 -35.16755,5.1315 v 25.484 h 35.16636 z m -63.1825,9.2167 v 21.3988 h 25.53639 v -25.1238 z m 0,45.5465 25.53639,3.7675 v -25.4384 H 237.3307 Z m 63.1825,9.3213 v -30.9923 h -35.16755 v 25.8053 z"
  124 + id="path1779"
  125 + style="fill:#0078d6;fill-opacity:1;stroke-width:0.597238"
  126 + sodipodi:nodetypes="cccccccccccccccccccc" />
  127 + <path
  128 + d="m 237.3307,960.22838 h 19.21024 c 12.24704,0 22.36416,7.08605 22.36416,23.26526 v 3.3997 c 0,16.30216 -9.46176,23.63396 -21.99552,23.63396 H 237.3307 Z m 10.73152,9.13405 v 31.98987 h 8.23296 c 6.9632,0 11.63264,-4.54656 11.63264,-14.66377 v -2.6624 c 0,-10.1171 -4.9152,-14.6637 -12.00128,-14.6637 z m 36.53632,0.4916 h 8.6016 l 1.39264,9.4617 c 1.6384,-6.4307 5.81632,-9.8713 13.39392,-9.8713 h 2.6624 v 10.8543 h -4.42368 c -8.72448,0 -10.8544,3.0311 -10.8544,11.6328 v 18.71867 h -10.60864 v -40.79617 z m 28.18048,21.2173 v -1.14689 c 0,-13.6397 8.72448,-21.09451 20.60288,-21.09451 12.12416,0 20.60288,7.4548 20.60288,21.09451 v 1.14689 c 0,13.39387 -8.23296,20.60287 -20.60288,20.60287 -13.14816,-0.1229 -20.60288,-7.168 -20.60288,-20.60287 z m 30.35136,-0.12289 v -1.024 c 0,-7.5776 -3.80928,-12.1242 -9.87136,-12.1242 -5.9392,0 -9.87136,4.1779 -9.87136,12.1242 v 1.024 c 0,7.3319 3.80928,11.50976 9.87136,11.50976 6.06208,-0.1229 9.87136,-4.17786 9.87136,-11.50976 z m 16.42496,-21.0944 h 8.84736 l 1.024,7.70039 c 2.12992,-5.16089 6.67648,-8.7245 13.39392,-8.7245 10.36288,0 17.2032,7.4548 17.2032,21.25841 v 1.1468 c 0,13.39396 -7.5776,20.47996 -17.2032,20.47996 -6.43072,0 -10.8544,-2.9081 -13.02528,-7.5776 v 20.6029 h -10.36288 z m 29.696,21.0944 v -0.90111 c 0,-8.1102 -4.17792,-12.1242 -9.74848,-12.1242 -5.9392,0 -9.87136,4.54651 -9.87136,12.1242 v 0.7782 c 0,7.209 3.80928,11.75557 9.74848,11.75557 6.10304,-0.1229 9.87136,-4.01407 9.87136,-11.63266 z m 26.46016,12.16506 -0.90112,7.4548 h -9.09312 v -54.35392 h 10.36288 v 20.84856 c 2.29376,-5.3248 6.84032,-8.2329 13.27104,-8.2329 9.74848,0.1228 16.95744,6.8403 16.95744,20.3572 v 1.2697 c 0,13.51676 -6.84032,21.25816 -17.2032,21.25816 -6.84032,-0.1638 -11.264,-3.3177 -13.39392,-8.6016 z m 19.70176,-12.65656 v -1.024 c 0,-7.4548 -4.05504,-11.6327 -9.74848,-11.6327 -5.81632,0 -9.87136,4.6694 -9.87136,11.75559 v 0.90111 c 0,7.57759 3.93216,12.00126 9.74848,12.00126 6.22592,0 9.87136,-3.89116 9.87136,-12.00126 z m 15.44192,0.6144 v -1.1469 c 0,-13.6397 8.72448,-21.0945 20.60288,-21.0945 12.12416,0 20.60288,7.4548 20.60288,21.0945 v 1.1469 c 0,13.39386 -8.35584,20.60286 -20.60288,20.60286 -13.14816,-0.1229 -20.60288,-7.168 -20.60288,-20.60286 z m 30.43328,-0.1229 v -1.024 c 0,-7.5776 -3.80928,-12.1242 -9.87136,-12.1242 -5.9392,0 -9.87136,4.1779 -9.87136,12.1242 v 1.024 c 0,7.3319 3.80928,11.50976 9.87136,11.50976 6.10304,-0.1229 9.87136,-4.17786 9.87136,-11.50976 z m 24.65792,-1.5155 -14.29504,-19.5789 h 12.24704 l 8.23296,12.247 8.35584,-12.247 h 12.12416 l -14.49984,19.456 15.27808,21.25826 H 521.3883 l -9.33888,-13.51676 -9.09312,13.51676 h -12.53376 z"
  129 + id="path6"
  130 + style="fill:#ffffff;fill-opacity:1;stroke-width:0.4096" />
  131 + </g>
  132 +</svg>
... ...
branding/onedrive-badge-en.svg 0 → 100644
... ... @@ -0,0 +1,142 @@
  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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  9 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  10 + width="602"
  11 + height="202"
  12 + viewBox="0 0 602 202.00001"
  13 + version="1.1"
  14 + id="svg8129"
  15 + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
  16 + sodipodi:docname="onedrive-badge-en.svg"
  17 + inkscape:export-filename="/home/jimmac/SparkleShare/flathub-mockups/assets/download-button/download.png"
  18 + inkscape:export-xdpi="96"
  19 + inkscape:export-ydpi="96">
  20 + <defs
  21 + id="defs8123">
  22 + <linearGradient
  23 + id="a"
  24 + x1="34.76569"
  25 + x2="25.431995"
  26 + y1="9.90843"
  27 + y2="28.426884"
  28 + gradientTransform="scale(0.9319351,1.0730361)"
  29 + gradientUnits="userSpaceOnUse">
  30 + <stop
  31 + offset="0"
  32 + stop-color="#fff"
  33 + stop-opacity="0"
  34 + id="stop2" />
  35 + <stop
  36 + offset="1"
  37 + stop-color="#fff"
  38 + stop-opacity=".27451"
  39 + id="stop4" />
  40 + </linearGradient>
  41 + <clipPath
  42 + id="vlpa">
  43 + <path
  44 + d="M 0,200.3 H 320 V 0 H 0 Z"
  45 + id="path4" />
  46 + </clipPath>
  47 + <clipPath
  48 + id="vlpa-5">
  49 + <path
  50 + d="M 0,200.3 H 320 V 0 H 0 Z"
  51 + id="path4-6" />
  52 + </clipPath>
  53 + </defs>
  54 + <sodipodi:namedview
  55 + id="base"
  56 + pagecolor="#ffffff"
  57 + bordercolor="#666666"
  58 + borderopacity="1.0"
  59 + inkscape:pageopacity="0.0"
  60 + inkscape:pageshadow="2"
  61 + inkscape:zoom="1.1171875"
  62 + inkscape:cx="300.99999"
  63 + inkscape:cy="101"
  64 + inkscape:document-units="px"
  65 + inkscape:current-layer="layer1"
  66 + showgrid="false"
  67 + units="px"
  68 + borderlayer="true"
  69 + inkscape:showpageshadow="false"
  70 + inkscape:snap-nodes="false"
  71 + inkscape:snap-bbox="true"
  72 + inkscape:bbox-nodes="true"
  73 + inkscape:snap-bbox-midpoints="true"
  74 + inkscape:window-width="1366"
  75 + inkscape:window-height="714"
  76 + inkscape:window-x="0"
  77 + inkscape:window-y="0"
  78 + inkscape:window-maximized="1"
  79 + inkscape:document-rotation="0"
  80 + fit-margin-left="1"
  81 + fit-margin-right="1"
  82 + fit-margin-bottom="1"
  83 + fit-margin-top="1"
  84 + inkscape:pagecheckerboard="true">
  85 + <inkscape:grid
  86 + type="xygrid"
  87 + id="grid8722"
  88 + originx="1"
  89 + originy="0.99999005" />
  90 + </sodipodi:namedview>
  91 + <metadata
  92 + id="metadata8126">
  93 + <rdf:RDF>
  94 + <cc:Work
  95 + rdf:about="">
  96 + <dc:format>image/svg+xml</dc:format>
  97 + <dc:type
  98 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  99 + <dc:title></dc:title>
  100 + </cc:Work>
  101 + </rdf:RDF>
  102 + </metadata>
  103 + <g
  104 + inkscape:label="Layer 1"
  105 + inkscape:groupmode="layer"
  106 + id="layer1"
  107 + transform="translate(1,-921.51966)">
  108 + <rect
  109 + 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"
  110 + id="rect8720"
  111 + width="596.22046"
  112 + height="196.22047"
  113 + x="1.8897638"
  114 + y="924.40942"
  115 + rx="32"
  116 + ry="32" />
  117 + <g
  118 + id="STYLE_COLOR"
  119 + transform="matrix(5.9015393,0,0,5.9015391,21.999896,929.57039)">
  120 + <path
  121 + d="m 12.20245,11.19292 3.1e-4,-0.0011 6.71765,4.02379 4.00293,-1.68451 1.8e-4,6.8e-4 A 6.4768,6.4768 0 0 1 25.5,13 c 0.14764,0 0.29358,0.0067 0.43878,0.01639 A 10.00075,10.00075 0 0 0 7.89778,10.00258 C 7.932,10.00215 7.9657,10 8,10 a 7.96073,7.96073 0 0 1 4.20245,1.19292 z"
  122 + fill="#0364b8"
  123 + id="path4-3" />
  124 + <path
  125 + d="m 12.20276,11.19182 -3.1e-4,0.0011 A 7.96073,7.96073 0 0 0 8,10 C 7.9657,10 7.93195,10.0022 7.89777,10.0026 A 7.99676,7.99676 0 0 0 1.43732,22.57277 l 5.924,-2.49292 2.63342,-1.10819 5.86353,-2.46746 3.06213,-1.28859 z"
  126 + fill="#0078d4"
  127 + id="path6" />
  128 + <path
  129 + d="M 25.93878,13.01639 C 25.79358,13.0067 25.64764,13 25.5,13 a 6.4768,6.4768 0 0 0 -2.57648,0.53178 l -1.8e-4,-6.8e-4 -4.00293,1.68451 1.16077,0.69528 3.80493,2.27911 1.66009,0.99438 5.67633,3.40007 A 6.5002,6.5002 0 0 0 25.93878,13.0164 Z"
  130 + fill="#1490df"
  131 + id="path8" />
  132 + <path
  133 + d="M 25.5462,19.18437 23.88611,18.19 20.08118,15.9109 18.92041,15.21562 15.85828,16.5042 9.99475,18.97166 7.36133,20.07985 1.43733,22.57277 A 7.98889,7.98889 0 0 0 8,26 h 17.5 a 6.49837,6.49837 0 0 0 5.72253,-3.41556 z"
  134 + fill="#28a8ea"
  135 + id="path10" />
  136 + </g>
  137 + <path
  138 + d="m 388.99417,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.40474 z m 0,56.93314 31.92049,4.7093 v -31.798 H 226.572 Z m 78.97813,11.6515 v -38.7403 h -43.95944 v 32.2566 z"
  139 + id="path1779"
  140 + style="fill:#0078d6;fill-opacity:1;stroke-width:0.746547" />
  141 + </g>
  142 +</svg>
... ...
branding/pw3270.ico 0 → 100644
No preview for this file type
branding/pw3270.png 0 → 100644

18.4 KB

branding/pw3270.svg
1 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2   -<!-- Created with Inkscape (http://www.inkscape.org/) -->
3   -
4 2 <svg
5 3 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 4 xmlns:cc="http://creativecommons.org/ns#"
... ... @@ -14,10 +12,10 @@
14 12 height="256"
15 13 id="svg2685"
16 14 sodipodi:version="0.32"
17   - inkscape:version="0.48.1 r9760"
  15 + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
18 16 sodipodi:docname="pw3270.svg"
19 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 19 inkscape:export-xdpi="90"
22 20 inkscape:export-ydpi="90"
23 21 version="1.1">
... ... @@ -61,17 +59,19 @@
61 59 inkscape:pageopacity="0.0"
62 60 inkscape:pageshadow="2"
63 61 inkscape:zoom="0.97227183"
64   - inkscape:cx="-138.53895"
  62 + inkscape:cx="-139.56747"
65 63 inkscape:cy="32"
66 64 inkscape:current-layer="layer1"
67 65 showgrid="true"
68 66 inkscape:document-units="px"
69 67 inkscape:grid-bbox="true"
70 68 inkscape:window-width="1366"
71   - inkscape:window-height="744"
  69 + inkscape:window-height="714"
72 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 75 <metadata
76 76 id="metadata2690">
77 77 <rdf:RDF>
... ... @@ -80,6 +80,7 @@
80 80 <dc:format>image/svg+xml</dc:format>
81 81 <dc:type
82 82 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  83 + <dc:title></dc:title>
83 84 </cc:Work>
84 85 </rdf:RDF>
85 86 </metadata>
... ...
branding/release-badge-en.svg 0 → 100644
... ... @@ -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,iVBORw0KGgoAAAANSUhEUgAAAOYAAADhCAYAAADcb8kDAAAACXBIWXMAADddAAA3XQEZgEZdAAAA AXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABJ6SURBVHgB7d39edTGFgbwd3nu/9dUkHEFgQoi KghUkKUCoALWFWAqYKkAqMCiApwKrFQQbgW6c6wjLJb9kLQz0pzR+3sexR+BZO3dd898CyAiIqLT VqDk1XXt/IcLvVznX7kTf7XSj9+712q1qkBJYzBn5kPXhu0JmuD9rh/bry8Qh4S00o+3/vqffqx8 cG9Bs2IwJ6QhLNAE8Q804XNI031I/fW3fn7LSjsdBjMiH0QJXoGmCspHB9sqNCH96q+SlTUeBjMg 7Qs+R1MNC8RrhqZCmsGlv76gCWoFCoLBPJMPY+E//IkmkA7LVvnrs7+++JCWoNEYzBE6YVwj/6o4 VoWmmn5kSIdjMHvSMEoT9TUYxqEqNCG9YnO3HwbzCB1FXaOpjgUoBBkweu+vzz6k30F7MZh76Gjq X2BTNSYJpfRHWUX3YDA7tLn6FqyOUyvRBLQE3WMwwUAmpEIT0C0WbtHB9IFcowmkA6WkwsIDushg aoX8AAYydRUWGtBFBZNNVrMqf71cUh90EcHUpXJSIQuQZVssZBQ362DqPOQrf21AOdn4633O86DZ BtOHUtauvgP7kbmqkHH/M7tgstm6OFtk2Lx9hIz4UEqz9RsYyiVZ++ubf+5fIyNZVExWSVIlmtHb CsaZr5g+lLKmlVWSROGvG104YprZYMqIq79kcGcLLjSnB85fH+S1oaPyJplsyuruj0/giCsdV/nr mcWmrbmKqQM8N2Ao6TQHowNDpiqmNl2zGn2jyVz7yvkGRpgIpo66StP1CYjGk9MTXlho2iYfTA0l m64USgUD/c6k+5i6G0SmQhyIwnBo+p3PkbBkg9kZ5OFUCIUmr6lPKQ8KJRlM/wuTPZPXIIrrnb7W kpNcH1N/URsQTWfj+5xXSEhSweR0CM0oqXAmE0wfSlmEvgbRfLY+nC+RgCSCyVBSQpII5+yDP9p8 XYMoDWstFLOaNZg60MM+JaVmPfdo7WxNWY6+kgGzDQjNEkyGkgyZJZyTB1NPHNiCyI61D+dHTGjS YOoG528gskXOr5WF77eYyGSDP52tW0TWtGtrHSYyScXUs1e4S4Ssq/z1dIoT4KeqmLyzFuXAoXkt Rxc9mDoCm/TeN6IBnk8xxxm1KasbnW9AlJ9nMW8LGC2YPBKEMif9zKexjiiJGUwJZYF5fderdQGe iGDV953LYf43/dIH8xkiiBLMRFb27P2l6QjxE73+0I8OlBIJnswZftWPt/sqUyJdpTf+sQU/bSN4 MLUJe4f5vex770Rd+LD2159gSOciYfzsL1lhc9t3SiKRllnw/mbQYCY2X/l4zHyThlR2vEhI2eyN r0QTxs8jny95rt5hXhUCz2+GDmYqR4N88b+ks6Zo9E1G/hvSLHegkOQF3IaxxBn0efoX8wt60nuw YCY2NdK7GduH3taNAT2fBPI9mhdxsOqSSHNWBGvShlxgMPuu744SAUnI/XXpP5UjJyrQUBJC2Tp1 6X+PmwhL2r4iDR9C3fovSDB1FNYhDbfR5pYY0DG2aPpfMQLZKpEGh0BdubObsgmNwrbe+xfAJP1c /7Nv/Ac5MZ6DRL8q/XUVc3VMS6uUvAZTeR4uzy0OIYIpW7nOGmgJTO7m9BkT0Temjb/+QjgVmvk7 qTD/4GFSvcLPiya+H6tC+oLtXsLpJV//ph+fINyLWh7Pm5B9/D78zyqzAancDe7shQdnBVMHRVLq W4qnU25obelNamRU2vX8K23Q5LH+3X6+mukuVBpip5e8wH/vfN6XDOzEbLIe5B//NZrWSyomLRA/ 8b+MuzoxmJl/CJsDD+3OXx/8JSewpfLOfpJ/rBf+KvTnuvHXvwd+tgIz8v//13Va7upAA0FDfxFv 6/QkcWyJfxxOHou/rusmiFn1Qf3P86RugnCjP+PsP59/DM/r9Gww0qimbJ3uzpFoi4opbXV6g5BC mvSXY5r2Y6dLUp1sr0BLNXm/tgdpSYyaIRgcTH1nWiNN/4AWaY4Bp55e1SMO8RpTMZO80ScR0mwx SdUcnJlBwUy8WhKlaj20ag6tmKyWROMM6mv2DiarJdFZ/qoHTCsNqZislkTjDRqh7RVMrZYF0sfF 5MvmkLZXfatm34pZwMYm4f+CFqm2sbqqd9XsG0wrzVgza1ApOAcbeu1COhnMutk14WADm7LL5WCD rKMuTv2hPhUz5D7D2JyRJg2FZ6m1dLIFejSYOuiT0iboPticXabfYUdxqoCcqpjWQikK0BIVsOXo INCpYKa0I7yvP0CLUjcbz611YY52EQ8GUzuoDvYU7GcuTgF7jg4CHauYlgZ9dllsgtN4Vl+rB1+n x4JZwC42Zxeifrh7m0UH31D2BtNwM1ZUaE79pgXQDdIvYdPFoebsoYpptWlQobl/RAVaDD3D1uqb 8d7m7N7DuHyK5VAjB3vmO8uTZlenc3OhIeTQ7se73/ylYurQs4M9Vwzl4r2AvQPZ9jZn9zVlLY5o VnLTGtCiGe5vFrvf2BdMiyOaPEuW7ulNjN7Dll8y91Mfs07n7rxDXLFaUpe+juVUfgc7HneP4Nyt mAVsqfx1DaIOfYEHu+36RIruF9aDeZXwQb80Ix0ILGFH0f1iN5iW+pfV1PdgJHMszW3+lL0fwTS4 tImre+goHQgqYcOT7uaLbsW0FEpWS+rL0hv4jwx2g1nADlZL6kWrZgUb9gbTUv+yBFF/H2FD0X7y Yx7Tt29l/tLCBuMv/l2Q+y2pN0Pz89JFu5RP7iumPnAru/65HpYG0Sm1Eun7ccpj25S1NPDDYNIY X2BDIf+wFsySCwpoJCtv6E7+8aj7hQFW3vUoMbp5vkL67s/HfdT9woBbEI33Fem7b72aasrqnBTR WCXS99Pgj4UR2RJE57HQ4rofmX2kR4lY8DeIzlPBhgupmFbmLysQnUFH9Cuk74kE08GGCkTnq5C+ C0vB5PwlhfAP0ufYlKWlsfAGb6qPyYpJIVh4Hf1XgvkbDOBSPArEwuvInbpxLVFuzDRlHYgoJRes mEQJsjT4Q7QUpkZliUJwSJ+dpmz3zE2i3FnqYzKYtBgc/KGlMfEGbymYDkTnYzADY1OWQjCx0o3B pKUxUzGtrEF1IDqfQ/q+WwqmiSYIJc9CxfxuqSn7GERnMHS+lammrJWzbyldZg4FMNXH5OofOpOp imnhDJSWA9F4VlpdpiqmsHRXMkqPgw3/YzBpSQrYcD8qW8EOS7ejp4T48YkCdthrynIAiEay1Nq6 D6a1W9uxOUtjWGptmVr503oOouEKGLFarW4fGbrRSov9TBpE+5emDjZ/1P3CCPYzaShLraz7rmUb TGv3nlyDqL8/Ycd9FttgWhsAsvSLphlpM9bBjkr+8aj7hSGFpZ0CNKu/YMtPTdkS9nB0lvooYMtD MHVk1tq0ySsOAtEx/vWxhrFmbHtXu+5G6RK2SChfg+iwt7DlxyDso33fNMRa/4EmYrBaih+DsJYr pnD6BBDtslYtRdl+smo/0f7av7BH2uSXvOM0tfTN+gPsefxLH1O/YW0+U7CvSbssVsvbbnHZPSXv K2ySEVoHWjz/OpBQOtjzU/Z2g1nCJqmaFpsuFJC+OW9gU9n9YtX9wnA/s/XGNweuQYvkX793sHtg 2+ODTVn9FyXsesulesvkn/d3sBvKcnfwct9J7Fb7mUIq/ieuCFoW/3y/gu0BwC+739gXzBK2OX99 Ai2CtpA2sK3c/cZq35/yP6z0M61XnWvfPHgDypYO9tzA9kHgsj72cvebh24q9BH2vdahc8pQJqEU 5b5vHgrmZ+Rhw3DmJ6NQir1FcHXoT2fSnG2xWZsJ7VPKGIKDfXubseLY/TFzaM62pFn7jauDbPPP n2yOz6VSivLQvzgWzFyasy15p71hOG3SLolUypymwg4WvxWOML6S4piNb0JcgZKnb6Sy3LJAXg42 Y8WpW73n1JztkkEhVs/E6cKBb8gvlOJoYThVMa2vne2D1TMxeuSkNF0L5Ev2EFeH/uXRipnB2tk+ pHre8SSE+UkLxl/SbJUBngL5+nIslOJUU1YsoZo4f31gQOfRCaSMaayRv5M7oFboIfKcZonmILDu 6Qny/3L++h3zvHNWaN6QylPvbDTeQpqsu44O+gzif4HS3Avtrs/gi76brvXPz+FD3cyfUQD+d3nh r7d1M6+8ROs+v6e+FVMqmDQzQlbNK//OsRnyF/SHmuvoiApNdf/oH3cJ6q1u3oDlzU3uOVNguSp/ Pe1zcFyvYAr/y90g7CFH0kx8hoH0TWLjr1eYTzsoJvvo5BAli4eYRaPPkSzoaIPIzeuNrX+tvOzz B4cEM8bUyeipCq2esms9hZUgFZo+8lf9eLuk4zS1IhZ4GBNgEPe77Dtm0TuYwj8BW4Q//fyccDqk u3ZSAtoeCSqDWxUMB1bfmNtK6NCEsP2cJ0ac1rtaiqHBdGj6mqHJ8PHVmBdt4uE8RNYhv7QQ0roZ +JKpDIbvPL2rpegzj/mD/odjLNN77a9v9YjRT31M0letYEOF5jQ/E5XTP055E3kPOsd26LTboIop IlbN1hZN9awG/J12n55UzpTf2SWMTy3Ojfrfr+zs4LTROJdDn/NBFVPo/yDmaqA1RmzP0pHR1Fcp XVkMpZL+UQUaajvmOR9cMUWkec1dlb+ejaic0l+dcyrlkM/+Z3kBw+pmpc4NqK8KI17DYnDFFNo/ it3vcGgq59Dwb5DmO7v5o010YUUJ6uvj2BbSqIopNDCyV84hrsELERJ8Zx80VJ4yVs3ezloTO6pi Cq2aU1SBom6Ov+9N39lTOholmx06rJq9nfWcj66YLR+aqfbOPRuyRnXCin7KqKWHKWPVPOns8YQQ wXSIO33SqtBzAXArkReQLCTYIjN1XsebhjZ4emTX6KZsa4Lpk5bDwEX0WmHnHnQpkadcz4M6V5Ap sbMrppi42TioSSsi7IzpK7tmbEtXafHmTT8Ltgn67IoptHk51ajj4IDpvs85BmD+Rr5K0K5g89RB gim0ik2xprKoR5zLM1M4S2RK34wrUOt9yH25QZqyrQmbtPKiuFyN241SoNkt4RDf01XGm6gjbQO0 qMLAgclTglVMMWGTVt4AXmMErezS74s9eFHmHEpVgcSzVeDdQkGDKSYcCX01YrnePRk189fafyod 9ZABlSdni+aJynLQZ0cFCjIKO5m6uQVBbKOq5p7H2p7Ed1MPd+eva39J33dR83r+531eL1u0OfKg fcyuull4IP3NmC/W4NMR9cNBUnLJ57/t/JF/8HDGT7UyelRICHWzB/YblqnCyJ0jfUQLpqinWXkz eF6TwqinW/WVohd6ukMUwfuYXRqY2FMUvJU7Te0qZihF1IrZquMfS8GqOYOFVsxJNrxHrZgdsY+l YNWkKVSYaIXbJMHUAZKYJ9nJiGiQEVqiAypEmK88ZKqK2e5CkSZArB/snQ42EcXwYsr5ysmCKXQl TMzFB59q3r6dwns59SquSYMpdNNwrJFamXe8YTgpoKs5NrpPHkwReaeHQ3Oq+xpE5xl8q8gs1HFu iNv1jtUznrpZypirDZasbtaZxnRXs3pGUecbzC1mNktTtss3FWSaI+YWLOevD7UGtGYFpeM+6s6j WU2y8qePetpNt7KcSu4GXcYYAm/Db2o70Ah1fit/kgilSCaYop7n0KwKDzeXbW82K9/7vm8yuX64 gatcrvNRdqF0b+Sa5bGVXZkFM5lQiv8gITIC5p9s+XTKcDq9flnLq4+F8pfc6Ovsfcxdq/lOtKNl SnJKJLlgCv1Fmb87FiXvTarzlEkGU/hf2DWahe+LPSGAork/NE5fY0lKNphC91g+BQ99onAqNLtE tkhY0sEUOuUglTP3oyApPnkNPbNwrGjywRR63KRUTg4K0Vhyl4Boh2eFZiKYrc6gEPudNIQM8ry2 dKKhqWAK7bCz30l9VGhuXZDsIM8h5oIptDki4ZziJkZjOdCcZNml2XvHmAymkGaJLoCPfdAXHeaQ HmmuStP1haWm6y6zwWzpsPcUNwmi9JUw2nTdZT6YonOTIFbPZWqrpJlR11OyCGaL1XORSmRSJbuy CqZg9VyM7KpkV3bBbEn19Jfc/5KLEvIjo/GXuVXJrmyD2dJFCaFvUEvzKNGs3jG1WGCM7IMpOs1b mfvkmlt7KuhdulcLuXnUIoLZkslmXXPL/qcN7fasy6UEsrWoYLY6/U8GNE0SSBkbuMz93KRDFhnM 1k5AS9DcKjSbFCSQm9z7kdRTXddyO79tHcYamZMTA+swbmreqY1OqZsTxiWgd/V4DgugoRrjX399 YiBplLo5vf2mHmaDhaibVsYQcsMnOab0AnTQ/wEGB2qFJOkcxgAAAABJRU5ErkJggg== "
  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>
... ...
configure.ac
... ... @@ -74,10 +74,6 @@ case &quot;$host&quot; in
74 74 AC_CONFIG_FILES(src/main/windows/resources.rc)
75 75 AC_CONFIG_FILES(src/main/windows/app-manifest.xml)
76 76  
77   - # Windows and linux doesn't use the same defaults.
78   - AC_CONFIG_FILES(schemas/windows/application.gschema.xml)
79   - AC_CONFIG_FILES(schemas/windows/window.gschema.xml)
80   - AC_CONFIG_FILES(win/makeruntime.sh)
81 77 AC_CONFIG_FILES(win/pw3270.nsi)
82 78  
83 79 if test "$host_cpu" = "x86_64"; then
... ... @@ -94,6 +90,9 @@ case &quot;$host&quot; in
94 90 AC_SUBST(WINARCH,$app_cv_winarch)
95 91 AC_SUBST(NSISREDIR,$app_cv_nsisredir)
96 92  
  93 + # Windows and unix doesn't use the same defaults.
  94 + AC_SUBST(DEFAULT_UI_STYLE,0)
  95 + AC_SUBST(DEFAULT_MENUBAR_VISIBLE,"true")
97 96 ;;
98 97  
99 98 *-apple-darwin*)
... ... @@ -103,23 +102,27 @@ case &quot;$host&quot; in
103 102 CFLAGS="$CFLAGS -pthread"
104 103 LDFLAGS="$LDFLAGS -pthread"
105 104  
106   - AC_CONFIG_FILES(schemas/macos/application.gschema.xml)
107   - AC_CONFIG_FILES(schemas/macos/window.gschema.xml)
  105 + # Windows and unix doesn't use the same defaults.
  106 + AC_SUBST(DEFAULT_UI_STYLE,1)
  107 + AC_SUBST(DEFAULT_MENUBAR_VISIBLE,"false")
108 108 ;;
109 109  
110 110 *)
111 111 app_cv_osname="linux"
112 112 app_rls_ldflags=""
113 113  
114   - CFLAGS="$CFLAGS -pthread -DLIBDIR=\$(libdir)"
  114 + CFLAGS="$CFLAGS -pthread -DLIBDIR=\$(libdir) -DDATADIR=\$(datadir)"
115 115 LDFLAGS="$LDFLAGS -pthread"
116 116  
117   - AC_CONFIG_FILES(schemas/linux/application.gschema.xml)
118   - AC_CONFIG_FILES(schemas/linux/window.gschema.xml)
  117 + # Windows and unix doesn't use the same defaults.
  118 + AC_SUBST(DEFAULT_UI_STYLE,1)
  119 + AC_SUBST(DEFAULT_MENUBAR_VISIBLE,"false")
119 120  
120 121 esac
121 122  
122   -app_release_date=$(date +%Y-%m-%d)
  123 +DATE_FMT="+%Y-%m-%d"
  124 +SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH:-$(date +%s)}"
  125 +app_release_date=$(date -u -d "@$SOURCE_DATE_EPOCH" "$DATE_FMT" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" "$DATE_FMT" 2>/dev/null || date -u "$DATE_FMT")
123 126 AC_SUBST(RELEASE_DATE,$app_release_date)
124 127 AC_SUBST(OSNAME,$app_cv_osname)
125 128 AC_SUBST(RLS_LDFLAGS,$app_rls_ldflags)
... ... @@ -143,7 +146,6 @@ dnl ---------------------------------------------------------------------------
143 146  
144 147 AC_PATH_TOOL([AR], [ar], [ar])
145 148 AC_PATH_TOOL([CONVERT], [convert], [no])
146   -AC_PATH_TOOL([OPTIPNG],[optipng],[no])
147 149 AC_PATH_TOOL([ZIP],[zip],[no])
148 150 AC_PATH_TOOL([DLLTOOL],[dlltool],[no])
149 151 AC_PATH_TOOL([WINDRES], [windres], [no])
... ... @@ -162,6 +164,8 @@ AC_PATH_TOOL([STRIP], [strip], [true])
162 164 AC_PATH_TOOL([DESKTOP_INSTALL],[desktop-file-install],[no])
163 165 AC_PATH_TOOL([GLIB_SCHEMA_COMPILER],[glib-compile-schemas],[false])
164 166  
  167 +AC_PATH_TOOL([OPTIPNG], [optipng], [true])
  168 +
165 169 PKG_CHECK_EXISTS
166 170  
167 171 dnl ---------------------------------------------------------------------------
... ... @@ -200,8 +204,15 @@ AC_ARG_WITH([product-name], [AS_HELP_STRING([--with-product-name], [Set product
200 204 AC_DEFINE_UNQUOTED(PRODUCT_NAME, $app_cv_product,[The product name])
201 205 AC_SUBST(PRODUCT_NAME,$app_cv_product)
202 206  
203   -AC_ARG_WITH([application-id], [AS_HELP_STRING([--application-id], [Set the application ID])], [ app_cv_application_id="$withval" ],[ app_cv_application_id=`pkg-config --variable=product_id lib3270`.terminal ])
  207 +AC_ARG_WITH([product-id], [AS_HELP_STRING([--product-id], [Set the product ID])], [ app_cv_product_id="$withval" ],[ app_cv_product_id=`$PKG_CONFIG --variable=product_id lib3270` ])
  208 +AC_DEFINE_UNQUOTED(PRODUCT_ID, $app_cv_product_id,[The product ID])
  209 +AC_SUBST(PRODUCT_ID,$app_cv_product_id)
  210 +
  211 +app_cv_object_path="/"`echo $app_cv_product_id | sed -e "s@\.@/@g"`"/"
  212 +AC_DEFINE_UNQUOTED(PRODUCT_PATH, "$app_cv_object_path",[The schema path])
  213 +AC_SUBST(PRODUCT_PATH,$app_cv_object_path)
204 214  
  215 +AC_ARG_WITH([application-id], [AS_HELP_STRING([--application-id], [Set the application ID])], [ app_cv_application_id="$withval" ],[ app_cv_application_id=$app_cv_product_id.terminal ])
205 216 AC_DEFINE_UNQUOTED(APPLICATION_ID, $app_cv_application_id,[The application ID])
206 217 AC_SUBST(APPLICATION_ID,$app_cv_application_id)
207 218  
... ... @@ -292,7 +303,11 @@ dnl Configure which files to generate.
292 303 dnl ---------------------------------------------------------------------------
293 304  
294 305 AC_CONFIG_FILES(Makefile)
  306 +
  307 +AC_CONFIG_FILES(schemas/application.gschema.xml)
  308 +AC_CONFIG_FILES(schemas/window.gschema.xml)
295 309 AC_CONFIG_FILES(schemas/Makefile)
  310 +
296 311 AC_CONFIG_FILES(locale/Makefile)
297 312  
298 313 AC_CONFIG_FILES(branding/Makefile)
... ...
locale/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., 51 Franklin
19   -# St, Fifth Floor, Boston, MA 02110-1301 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 19  
... ... @@ -56,15 +48,15 @@ INSTALL_DATA=@INSTALL_DATA@
56 48 @$(MSGMERGE) --update --sort-output $@ $(PACKAGE_NAME).pot
57 49 @touch $@
58 50  
59   -$(BINDIR)/%/LC_MESSAGES/$(PACKAGE_NAME).mo: \
  51 +$(BINDIR)/%/LC_MESSAGES/$(PRODUCT_NAME).mo: \
60 52 %.po
61 53  
62 54 @echo $< ...
63 55 @$(MKDIR) `dirname $@`
64 56 @$(MSGFMT) -c -v -o $@ $^
65 57  
66   -$(DESTDIR)/$(localedir)/%/LC_MESSAGES/$(PACKAGE_NAME).mo: \
67   - $(BINDIR)/%/LC_MESSAGES/$(PACKAGE_NAME).mo
  58 +$(DESTDIR)/$(localedir)/%/LC_MESSAGES/$(PRODUCT_NAME).mo: \
  59 + $(BINDIR)/%/LC_MESSAGES/$(PRODUCT_NAME).mo
68 60  
69 61 @echo $< ...
70 62 @$(MKDIR) `dirname $@`
... ... @@ -73,14 +65,8 @@ $(DESTDIR)/$(localedir)/%/LC_MESSAGES/$(PACKAGE_NAME).mo: \
73 65 #---[ Targets ]--------------------------------------------------------------------------
74 66  
75 67 all: \
76   - $(foreach SRC, $(basename $(wildcard *.po)), $(BINDIR)/$(SRC)/LC_MESSAGES/$(PACKAGE_NAME).mo)
  68 + $(foreach SRC, $(basename $(wildcard *.po)), $(BINDIR)/$(SRC)/LC_MESSAGES/$(PRODUCT_NAME).mo)
77 69  
78 70 install: \
79 71 $(foreach SRC, $(basename $(wildcard *.po)), $(DESTDIR)/$(localedir)/$(SRC)/LC_MESSAGES/$(PACKAGE_NAME).mo)
80 72  
81   -# @$(MKDIR) $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/locale
82   -# @$(INSTALL_DATA) *.po $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/locale
83   -# @$(INSTALL_DATA) $(PACKAGE_NAME).pot $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/locale
84   -# @$(INSTALL_DATA) Makefile $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/locale
85   -
86   -
... ...
locale/pt_BR.po
... ... @@ -5,8 +5,8 @@ msgid &quot;&quot;
5 5 msgstr ""
6 6 "Project-Id-Version: pw3270 5.0\n"
7 7 "Report-Msgid-Bugs-To: \n"
8   -"POT-Creation-Date: 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-26 07:50-0300\n"
10 10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n"
11 11 "Language-Team: Brazilian Portuguese <perry.werneck@gmail.com>\n"
12 12 "Language: pt_BR\n"
... ... @@ -24,29 +24,29 @@ msgstr &quot;&quot;
24 24 msgid "\"%s\" is not a valid user interface name"
25 25 msgstr "\"%s\" não é um nome válido para interface de usuário"
26 26  
27   -#: src/objects/application/actions/about.c:118
  27 +#: src/objects/application/actions/about.c:136
28 28 #, c-format
29 29 msgid "%s for %s."
30 30 msgstr "%s para %s"
31 31  
32   -#: src/objects/application/actions/about.c:125
  32 +#: src/objects/application/actions/about.c:143
33 33 msgid "32 bits Linux"
34 34 msgstr "Linux 32 bits"
35 35  
36   -#: src/objects/application/actions/about.c:123
  36 +#: src/objects/application/actions/about.c:141
37 37 msgid "32 bits Windows"
38 38 msgstr "Windows 32 bits"
39 39  
40 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 42 msgid "3270 session files"
43 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 46 msgid "64 bits Linux"
47 47 msgstr "Linux 64 bits"
48 48  
49   -#: src/objects/application/actions/about.c:121
  49 +#: src/objects/application/actions/about.c:139
50 50 msgid "64 bits Windows"
51 51 msgstr "Windows 64 bits"
52 52  
... ... @@ -57,7 +57,7 @@ msgstr &quot;&quot;
57 57 "<small><b>Alterações na posição da barra de ferramentas só tem efeito apos "
58 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 61 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553
62 62 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553
63 63 msgid "About PW3270"
... ... @@ -67,7 +67,7 @@ msgstr &quot;Sobre o PW3270&quot;
67 67 msgid "Action Name"
68 68 msgstr "Nome da ação"
69 69  
70   -#: src/objects/window/window.c:205
  70 +#: src/objects/window/window.c:206
71 71 msgid "Action Names"
72 72 msgstr "Nome das ações"
73 73  
... ... @@ -77,7 +77,7 @@ msgstr &quot;Nome das ações&quot;
77 77 msgid "Alert sound"
78 78 msgstr "Aviso sonoro"
79 79  
80   -#: src/main/tools.c:79
  80 +#: src/main/tools.c:68
81 81 msgid "All files"
82 82 msgstr "Todos os arquivos"
83 83  
... ... @@ -86,7 +86,7 @@ msgstr &quot;Todos os arquivos&quot;
86 86 msgid "Append to copy"
87 87 msgstr "Adicionar à cópia"
88 88  
89   -#: src/objects/application/actions/about.c:160
  89 +#: src/objects/application/actions/about.c:178
90 90 msgid "Apple version"
91 91 msgstr "Versão Apple"
92 92  
... ... @@ -116,7 +116,7 @@ msgstr &quot;Reconectar automaticamente&quot;
116 116 msgid "Available"
117 117 msgstr "Disponível"
118 118  
119   -#: src/objects/application/actions/about.c:163
  119 +#: src/objects/application/actions/about.c:181
120 120 msgid "Based on X3270 from"
121 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 146 msgid "Can't load session preferences"
147 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 149 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192
154 150 #, c-format
155 151 msgid "Can't use \"%s\""
... ... @@ -224,11 +220,11 @@ msgstr &quot;Conectar ao iniciar&quot;
224 220 msgid "Connect to host"
225 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 224 msgid "Connected to host"
229 225 msgstr "Conectado no servidor"
230 226  
231   -#: src/objects/application/actions/about.c:161
  227 +#: src/objects/application/actions/about.c:179
232 228 msgid "Contributors"
233 229 msgstr "Contribuidores"
234 230  
... ... @@ -255,12 +251,12 @@ msgstr &quot;Copiar como tabela&quot;
255 251 msgid "Copy as text"
256 252 msgstr "Copiar como texto"
257 253  
258   -#: src/objects/application/actions/about.c:167
  254 +#: src/objects/application/actions/about.c:185
259 255 msgid "Copyright © 2008 Banco do Brasil S.A."
260 256 msgstr "Copyright © 2008 Banco do Brasil S.A."
261 257  
262 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 260 #: src/objects/os/macos/savedesktopicon.c:54
265 261 msgid "Create shortcut for the current session"
266 262 msgstr "Criar atalho para a sessão atual."
... ... @@ -295,7 +291,7 @@ msgstr &quot;Recortar&quot;
295 291 msgid "Delete Field"
296 292 msgstr "Apagar campo"
297 293  
298   -#: src/objects/os/windows/savedesktopicon.c:82
  294 +#: src/objects/os/windows/savedesktopicon.c:72
299 295 msgid "Description"
300 296 msgstr "Descrição"
301 297  
... ... @@ -304,7 +300,7 @@ msgstr &quot;Descrição&quot;
304 300 msgid "Disconnect"
305 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 304 #: src/objects/window/page.c:207
309 305 msgid "Disconnected from host"
310 306 msgstr "Desconectado do servidor"
... ... @@ -365,7 +361,7 @@ msgstr &quot;Erro iniciando sessão&quot;
365 361 msgid "Field attributes"
366 362 msgstr "Atributos de campo"
367 363  
368   -#: src/objects/os/windows/savedesktopicon.c:221
  364 +#: src/objects/os/windows/savedesktopicon.c:211
369 365 msgid "File for session preferences"
370 366 msgstr "Arquivo para preferências da sessão"
371 367  
... ... @@ -392,9 +388,9 @@ msgstr &quot;Ajuda&quot;
392 388 msgid "Host and Emulation settings"
393 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 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 394 msgid "IBM 3270 Terminal emulator"
399 395 msgstr "Emulador de terminal IBM 3270"
400 396  
... ... @@ -434,6 +430,10 @@ msgstr &quot;Apenas ícones&quot;
434 430 msgid "If the action can be activated"
435 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 437 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022
438 438 msgid "Insert"
439 439 msgstr "Inserção"
... ... @@ -478,11 +478,11 @@ msgstr &quot;Altura do painel em linhas&quot;
478 478 msgid "Keypad width in columns"
479 479 msgstr "Largura do painel em colunas"
480 480  
481   -#: src/main/builder.c:112
  481 +#: src/main/builder.c:117
482 482 msgid "Keypads"
483 483 msgstr "Painéis"
484 484  
485   -#: src/objects/application/actions/about.c:171
  485 +#: src/objects/application/actions/about.c:189
486 486 msgid "LICENSE"
487 487 msgstr "LICENCA"
488 488  
... ... @@ -518,7 +518,7 @@ msgstr &quot;Barra de ferramentas&quot;
518 518 msgid "Main menu"
519 519 msgstr "Menu principal"
520 520  
521   -#: src/objects/application/actions/about.c:159
  521 +#: src/objects/application/actions/about.c:177
522 522 msgid "Maintainers"
523 523 msgstr "Mantenedores"
524 524  
... ... @@ -643,7 +643,7 @@ msgid &quot;Paste with left margin&quot;
643 643 msgstr "Colar com margem esquerda"
644 644  
645 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 647 msgid "Path for the new shortcut"
648 648 msgstr "Caminho para o novo atalho"
649 649  
... ... @@ -718,7 +718,7 @@ msgid &quot;Save session preferences&quot;
718 718 msgstr "Salvar preferências da sessão"
719 719  
720 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 722 #: src/objects/os/macos/savedesktopicon.c:53
723 723 msgid "Save session shortcut"
724 724 msgstr "Salvar atalho para a sessão"
... ... @@ -731,7 +731,7 @@ msgstr &quot;Salvar para arquivo de sessão&quot;
731 731 msgid "Save to shortcut file"
732 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 735 msgid "Save to windows shortcut"
736 736 msgstr "Salvar para atalho windows"
737 737  
... ... @@ -796,7 +796,7 @@ msgid &quot;Session Trace&quot;
796 796 msgstr "Trace da sessão"
797 797  
798 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 800 msgid "Session file"
801 801 msgstr "Arquivo de sessão"
802 802  
... ... @@ -811,7 +811,7 @@ msgid &quot;Session in new window&quot;
811 811 msgstr "Sessão em nova janela"
812 812  
813 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 815 msgid "Session name"
816 816 msgstr "Nome da sessão"
817 817  
... ... @@ -847,7 +847,7 @@ msgid &quot;Setup toolbar&quot;
847 847 msgstr "Configurar barra de ferramentas"
848 848  
849 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 851 msgid "Shortcut file"
852 852 msgstr "Arquivo de atalho"
853 853  
... ... @@ -910,11 +910,11 @@ msgstr &quot;Simbólico&quot;
910 910 msgid "System default"
911 911 msgstr "Padrão do sistema"
912 912  
913   -#: src/objects/settings/gsettings.c:133
  913 +#: src/objects/application/application.c:546
914 914 msgid "System settings error"
915 915 msgstr "Erro nas configurações de sistema"
916 916  
917   -#: src/main/tools.c:75
  917 +#: src/main/tools.c:64
918 918 msgid "TN3270 Session Files"
919 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 960 msgstr "O arquivo com as preferências da sessão atual"
961 961  
962 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 964 msgid "The file with the session preferences for this shortcut"
965 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 976 msgid "The name of associated action"
977 977 msgstr "Nome da ação associada"
978 978  
979   -#: src/objects/window/window.c:206
  979 +#: src/objects/window/window.c:207
980 980 msgid "The name of the actions in the header bar"
981 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 1005 msgstr "A posição do painel"
1006 1006  
1007 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 1009 msgid "The session name used in the window/tab title (empty for default)"
1010 1010 msgstr ""
1011 1011 "O nome da sessão usada no título da janela/aba. Vazio para usar o valor "
... ... @@ -1041,7 +1041,7 @@ msgstr &quot;O tipo do estado mantido pela ação&quot;
1041 1041  
1042 1042 #: src/objects/os/macos/savedesktopicon.c:68
1043 1043 msgid "This action is not available in this platform"
1044   -msgstr ""
  1044 +msgstr "Ação não está disponível nessa plataforma"
1045 1045  
1046 1046 #: src/objects/window/header-settings.c:52
1047 1047 msgid "Title bar"
... ... @@ -1091,13 +1091,11 @@ msgstr &quot;Mostrar posição do cursor&quot;
1091 1091 msgid "UI Type"
1092 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 +msgid "Unable to initialize settings. Application may crash in unexpected ways"
1098 1096 msgstr ""
1099   -"Não foi possível iniciar configuração de sistema. Aplicação pode falhar de "
1100   -"forma inesperada"
  1097 +"Não foi possível iniciar configuração. Aplicação pode falhar de forma "
  1098 +"inesperada"
1101 1099  
1102 1100 #: src/objects/os/windows/open.c:137
1103 1101 #, c-format
... ... @@ -1109,7 +1107,7 @@ msgstr &quot;Incapaz de ler preferências de sessa de &#39;%s&#39;&quot;
1109 1107 msgid "Unselect"
1110 1108 msgstr "Remover seleção"
1111 1109  
1112   -#: src/objects/application/actions/about.c:98
  1110 +#: src/objects/application/actions/about.c:116
1113 1111 #, c-format
1114 1112 msgid "Unstable version %s-%s"
1115 1113 msgstr "Versão instável %s-%s"
... ... @@ -1119,7 +1117,7 @@ msgstr &quot;Versão instável %s-%s&quot;
1119 1117 msgid "Use +/- for field navigation"
1120 1118 msgstr "Usar teclas +/- para navegar por campos"
1121 1119  
1122   -#: src/objects/application/actions/about.c:100
  1120 +#: src/objects/application/actions/about.c:118
1123 1121 #, c-format
1124 1122 msgid "Version %s-%s"
1125 1123 msgstr "Versão %s-%s"
... ... @@ -1131,7 +1129,7 @@ msgstr &quot;Versão %s-%s&quot;
1131 1129 msgid "View"
1132 1130 msgstr "Exibir"
1133 1131  
1134   -#: src/objects/application/actions/about.c:191
  1132 +#: src/objects/application/actions/about.c:209
1135 1133 msgid "View this project on github"
1136 1134 msgstr "Visite-nos no github"
1137 1135  
... ... @@ -1140,7 +1138,7 @@ msgstr &quot;Visite-nos no github&quot;
1140 1138 msgid "Window with default session"
1141 1139 msgstr "Janela com sessão padrão"
1142 1140  
1143   -#: src/objects/os/windows/savedesktopicon.c:189
  1141 +#: src/objects/os/windows/savedesktopicon.c:179
1144 1142 msgid "Windows shortcuts"
1145 1143 msgstr "Atalhos windows"
1146 1144  
... ... @@ -1150,7 +1148,7 @@ msgstr &quot;_Aplicar&quot;
1150 1148  
1151 1149 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78
1152 1150 #: src/objects/os/linux/savedesktopicon.c:140
1153   -#: src/objects/os/windows/savedesktopicon.c:134
  1151 +#: src/objects/os/windows/savedesktopicon.c:124
1154 1152 msgid "_Cancel"
1155 1153 msgstr "_Cancelar"
1156 1154  
... ... @@ -1200,7 +1198,7 @@ msgid &quot;_Rename session&quot;
1200 1198 msgstr "Renomear sessão"
1201 1199  
1202 1200 #: src/objects/actions/save.c:104 src/objects/os/linux/savedesktopicon.c:141
1203   -#: src/objects/os/windows/savedesktopicon.c:135
  1201 +#: src/objects/os/windows/savedesktopicon.c:125
1204 1202 msgid "_Save"
1205 1203 msgstr "_Salvar"
1206 1204  
... ... @@ -1208,11 +1206,11 @@ msgstr &quot;_Salvar&quot;
1208 1206 msgid "_View"
1209 1207 msgstr "_Exibir"
1210 1208  
1211   -#: src/objects/application/actions/about.c:190
  1209 +#: src/objects/application/actions/about.c:208
1212 1210 msgid "https://github.com/PerryWerneck/pw3270"
1213 1211 msgstr "https://github.com/PerryWerneck/pw3270"
1214 1212  
1215   -#: src/objects/application/actions/about.c:193
  1213 +#: src/objects/application/actions/about.c:211
1216 1214 msgid "translator-credits"
1217 1215 msgstr "translator-credits"
1218 1216  
... ... @@ -1647,6 +1645,9 @@ msgstr &quot;translator-credits&quot;
1647 1645 #~ msgid "Can't load plugin %s"
1648 1646 #~ msgstr "Não foi possível carregar plugin %s"
1649 1647  
  1648 +#~ msgid "Can't load system settings"
  1649 +#~ msgstr "Não foi possível carregar configurações de sistema"
  1650 +
1650 1651 #~ msgid "Can't open \"%s\""
1651 1652 #~ msgstr "Não foi possível abrir %s"
1652 1653  
... ... @@ -2669,9 +2670,6 @@ msgstr &quot;translator-credits&quot;
2669 2670 #~ msgid "Operation failed"
2670 2671 #~ msgstr "Operação falhou"
2671 2672  
2672   -#~ msgid "Operation has failed"
2673   -#~ msgstr "Operação falhou"
2674   -
2675 2673 #~ msgid "Option '%c:' is not supported"
2676 2674 #~ msgstr "Opção não suportada: '%c:'"
2677 2675  
... ...
locale/pw3270.pot
... ... @@ -6,9 +6,384 @@
6 6 #, fuzzy
7 7 msgid ""
8 8 msgstr ""
  9 +"#-#-#-#-# view.pot (PACKAGE VERSION) #-#-#-#-#\n"
9 10 "Project-Id-Version: PACKAGE VERSION\n"
10 11 "Report-Msgid-Bugs-To: \n"
11   -"POT-Creation-Date: 2023-01-31 11:13-0300\n"
  12 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  13 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  14 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  15 +"Language-Team: LANGUAGE <LL@li.org>\n"
  16 +"Language: \n"
  17 +"MIME-Version: 1.0\n"
  18 +"Content-Type: text/plain; charset=UTF-8\n"
  19 +"Content-Transfer-Encoding: 8bit\n"
  20 +"#-#-#-#-# save.pot (PACKAGE VERSION) #-#-#-#-#\n"
  21 +"Project-Id-Version: PACKAGE VERSION\n"
  22 +"Report-Msgid-Bugs-To: \n"
  23 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  24 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  25 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  26 +"Language-Team: LANGUAGE <LL@li.org>\n"
  27 +"Language: \n"
  28 +"MIME-Version: 1.0\n"
  29 +"Content-Type: text/plain; charset=UTF-8\n"
  30 +"Content-Transfer-Encoding: 8bit\n"
  31 +"#-#-#-#-# abstract.pot (PACKAGE VERSION) #-#-#-#-#\n"
  32 +"Project-Id-Version: PACKAGE VERSION\n"
  33 +"Report-Msgid-Bugs-To: \n"
  34 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  35 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  36 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  37 +"Language-Team: LANGUAGE <LL@li.org>\n"
  38 +"Language: \n"
  39 +"MIME-Version: 1.0\n"
  40 +"Content-Type: text/plain; charset=UTF-8\n"
  41 +"Content-Transfer-Encoding: 8bit\n"
  42 +"#-#-#-#-# application.pot (PACKAGE VERSION) #-#-#-#-#\n"
  43 +"Project-Id-Version: PACKAGE VERSION\n"
  44 +"Report-Msgid-Bugs-To: \n"
  45 +"POT-Creation-Date: 2023-04-25 06:53-0300\n"
  46 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  47 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  48 +"Language-Team: LANGUAGE <LL@li.org>\n"
  49 +"Language: \n"
  50 +"MIME-Version: 1.0\n"
  51 +"Content-Type: text/plain; charset=UTF-8\n"
  52 +"Content-Transfer-Encoding: 8bit\n"
  53 +"#-#-#-#-# window.pot (PACKAGE VERSION) #-#-#-#-#\n"
  54 +"Project-Id-Version: PACKAGE VERSION\n"
  55 +"Report-Msgid-Bugs-To: \n"
  56 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  57 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  58 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  59 +"Language-Team: LANGUAGE <LL@li.org>\n"
  60 +"Language: \n"
  61 +"MIME-Version: 1.0\n"
  62 +"Content-Type: text/plain; charset=UTF-8\n"
  63 +"Content-Transfer-Encoding: 8bit\n"
  64 +"#-#-#-#-# preferences.pot (PACKAGE VERSION) #-#-#-#-#\n"
  65 +"Project-Id-Version: PACKAGE VERSION\n"
  66 +"Report-Msgid-Bugs-To: \n"
  67 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  68 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  69 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  70 +"Language-Team: LANGUAGE <LL@li.org>\n"
  71 +"Language: \n"
  72 +"MIME-Version: 1.0\n"
  73 +"Content-Type: text/plain; charset=UTF-8\n"
  74 +"Content-Transfer-Encoding: 8bit\n"
  75 +"#-#-#-#-# open.pot (PACKAGE VERSION) #-#-#-#-#\n"
  76 +"Project-Id-Version: PACKAGE VERSION\n"
  77 +"Report-Msgid-Bugs-To: \n"
  78 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  79 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  80 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  81 +"Language-Team: LANGUAGE <LL@li.org>\n"
  82 +"Language: \n"
  83 +"MIME-Version: 1.0\n"
  84 +"Content-Type: text/plain; charset=UTF-8\n"
  85 +"Content-Transfer-Encoding: 8bit\n"
  86 +"#-#-#-#-# about.pot (PACKAGE VERSION) #-#-#-#-#\n"
  87 +"Project-Id-Version: PACKAGE VERSION\n"
  88 +"Report-Msgid-Bugs-To: \n"
  89 +"POT-Creation-Date: 2023-04-25 06:53-0300\n"
  90 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  91 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  92 +"Language-Team: LANGUAGE <LL@li.org>\n"
  93 +"Language: \n"
  94 +"MIME-Version: 1.0\n"
  95 +"Content-Type: text/plain; charset=UTF-8\n"
  96 +"Content-Transfer-Encoding: 8bit\n"
  97 +"#-#-#-#-# window.pot (PACKAGE VERSION) #-#-#-#-#\n"
  98 +"Project-Id-Version: PACKAGE VERSION\n"
  99 +"Report-Msgid-Bugs-To: \n"
  100 +"POT-Creation-Date: 2023-04-25 06:53-0300\n"
  101 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  102 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  103 +"Language-Team: LANGUAGE <LL@li.org>\n"
  104 +"Language: \n"
  105 +"MIME-Version: 1.0\n"
  106 +"Content-Type: text/plain; charset=UTF-8\n"
  107 +"Content-Transfer-Encoding: 8bit\n"
  108 +"#-#-#-#-# terminal.pot (PACKAGE VERSION) #-#-#-#-#\n"
  109 +"Project-Id-Version: PACKAGE VERSION\n"
  110 +"Report-Msgid-Bugs-To: \n"
  111 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  112 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  113 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  114 +"Language-Team: LANGUAGE <LL@li.org>\n"
  115 +"Language: \n"
  116 +"MIME-Version: 1.0\n"
  117 +"Content-Type: text/plain; charset=UTF-8\n"
  118 +"Content-Transfer-Encoding: 8bit\n"
  119 +"#-#-#-#-# page.pot (PACKAGE VERSION) #-#-#-#-#\n"
  120 +"Project-Id-Version: PACKAGE VERSION\n"
  121 +"Report-Msgid-Bugs-To: \n"
  122 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  123 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  124 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  125 +"Language-Team: LANGUAGE <LL@li.org>\n"
  126 +"Language: \n"
  127 +"MIME-Version: 1.0\n"
  128 +"Content-Type: text/plain; charset=UTF-8\n"
  129 +"Content-Transfer-Encoding: 8bit\n"
  130 +"#-#-#-#-# keyfile.pot (PACKAGE VERSION) #-#-#-#-#\n"
  131 +"Project-Id-Version: PACKAGE VERSION\n"
  132 +"Report-Msgid-Bugs-To: \n"
  133 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  134 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  135 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  136 +"Language-Team: LANGUAGE <LL@li.org>\n"
  137 +"Language: \n"
  138 +"MIME-Version: 1.0\n"
  139 +"Content-Type: text/plain; charset=UTF-8\n"
  140 +"Content-Transfer-Encoding: 8bit\n"
  141 +"#-#-#-#-# header.pot (PACKAGE VERSION) #-#-#-#-#\n"
  142 +"Project-Id-Version: PACKAGE VERSION\n"
  143 +"Report-Msgid-Bugs-To: \n"
  144 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  145 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  146 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  147 +"Language-Team: LANGUAGE <LL@li.org>\n"
  148 +"Language: \n"
  149 +"MIME-Version: 1.0\n"
  150 +"Content-Type: text/plain; charset=UTF-8\n"
  151 +"Content-Transfer-Encoding: 8bit\n"
  152 +"#-#-#-#-# header-settings.pot (PACKAGE VERSION) #-#-#-#-#\n"
  153 +"Project-Id-Version: PACKAGE VERSION\n"
  154 +"Report-Msgid-Bugs-To: \n"
  155 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  156 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  157 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  158 +"Language-Team: LANGUAGE <LL@li.org>\n"
  159 +"Language: \n"
  160 +"MIME-Version: 1.0\n"
  161 +"Content-Type: text/plain; charset=UTF-8\n"
  162 +"Content-Transfer-Encoding: 8bit\n"
  163 +"#-#-#-#-# sessionproperties.pot (PACKAGE VERSION) #-#-#-#-#\n"
  164 +"Project-Id-Version: PACKAGE VERSION\n"
  165 +"Report-Msgid-Bugs-To: \n"
  166 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  167 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  168 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  169 +"Language-Team: LANGUAGE <LL@li.org>\n"
  170 +"Language: \n"
  171 +"MIME-Version: 1.0\n"
  172 +"Content-Type: text/plain; charset=UTF-8\n"
  173 +"Content-Transfer-Encoding: 8bit\n"
  174 +"#-#-#-#-# filetransfer.pot (PACKAGE VERSION) #-#-#-#-#\n"
  175 +"Project-Id-Version: PACKAGE VERSION\n"
  176 +"Report-Msgid-Bugs-To: \n"
  177 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  178 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  179 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  180 +"Language-Team: LANGUAGE <LL@li.org>\n"
  181 +"Language: \n"
  182 +"MIME-Version: 1.0\n"
  183 +"Content-Type: text/plain; charset=UTF-8\n"
  184 +"Content-Transfer-Encoding: 8bit\n"
  185 +"#-#-#-#-# connect.pot (PACKAGE VERSION) #-#-#-#-#\n"
  186 +"Project-Id-Version: PACKAGE VERSION\n"
  187 +"Report-Msgid-Bugs-To: \n"
  188 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  189 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  190 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  191 +"Language-Team: LANGUAGE <LL@li.org>\n"
  192 +"Language: \n"
  193 +"MIME-Version: 1.0\n"
  194 +"Content-Type: text/plain; charset=UTF-8\n"
  195 +"Content-Transfer-Encoding: 8bit\n"
  196 +"#-#-#-#-# close.pot (PACKAGE VERSION) #-#-#-#-#\n"
  197 +"Project-Id-Version: PACKAGE VERSION\n"
  198 +"Report-Msgid-Bugs-To: \n"
  199 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  200 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  201 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  202 +"Language-Team: LANGUAGE <LL@li.org>\n"
  203 +"Language: \n"
  204 +"MIME-Version: 1.0\n"
  205 +"Content-Type: text/plain; charset=UTF-8\n"
  206 +"Content-Transfer-Encoding: 8bit\n"
  207 +"#-#-#-#-# toolbar.pot (PACKAGE VERSION) #-#-#-#-#\n"
  208 +"Project-Id-Version: PACKAGE VERSION\n"
  209 +"Report-Msgid-Bugs-To: \n"
  210 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  211 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  212 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  213 +"Language-Team: LANGUAGE <LL@li.org>\n"
  214 +"Language: \n"
  215 +"MIME-Version: 1.0\n"
  216 +"Content-Type: text/plain; charset=UTF-8\n"
  217 +"Content-Transfer-Encoding: 8bit\n"
  218 +"#-#-#-#-# settings.pot (PACKAGE VERSION) #-#-#-#-#\n"
  219 +"Project-Id-Version: PACKAGE VERSION\n"
  220 +"Report-Msgid-Bugs-To: \n"
  221 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  222 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  223 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  224 +"Language-Team: LANGUAGE <LL@li.org>\n"
  225 +"Language: \n"
  226 +"MIME-Version: 1.0\n"
  227 +"Content-Type: text/plain; charset=UTF-8\n"
  228 +"Content-Transfer-Encoding: 8bit\n"
  229 +"#-#-#-#-# models.pot (PACKAGE VERSION) #-#-#-#-#\n"
  230 +"Project-Id-Version: PACKAGE VERSION\n"
  231 +"Report-Msgid-Bugs-To: \n"
  232 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  233 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  234 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  235 +"Language-Team: LANGUAGE <LL@li.org>\n"
  236 +"Language: \n"
  237 +"MIME-Version: 1.0\n"
  238 +"Content-Type: text/plain; charset=UTF-8\n"
  239 +"Content-Transfer-Encoding: 8bit\n"
  240 +"#-#-#-#-# dialog.pot (PACKAGE VERSION) #-#-#-#-#\n"
  241 +"Project-Id-Version: PACKAGE VERSION\n"
  242 +"Report-Msgid-Bugs-To: \n"
  243 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  244 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  245 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  246 +"Language-Team: LANGUAGE <LL@li.org>\n"
  247 +"Language: \n"
  248 +"MIME-Version: 1.0\n"
  249 +"Content-Type: text/plain; charset=UTF-8\n"
  250 +"Content-Transfer-Encoding: 8bit\n"
  251 +"#-#-#-#-# actionview.pot (PACKAGE VERSION) #-#-#-#-#\n"
  252 +"Project-Id-Version: PACKAGE VERSION\n"
  253 +"Report-Msgid-Bugs-To: \n"
  254 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  255 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  256 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  257 +"Language-Team: LANGUAGE <LL@li.org>\n"
  258 +"Language: \n"
  259 +"MIME-Version: 1.0\n"
  260 +"Content-Type: text/plain; charset=UTF-8\n"
  261 +"Content-Transfer-Encoding: 8bit\n"
  262 +"#-#-#-#-# tools.pot (PACKAGE VERSION) #-#-#-#-#\n"
  263 +"Project-Id-Version: PACKAGE VERSION\n"
  264 +"Report-Msgid-Bugs-To: \n"
  265 +"POT-Creation-Date: 2023-04-25 06:53-0300\n"
  266 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  267 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  268 +"Language-Team: LANGUAGE <LL@li.org>\n"
  269 +"Language: \n"
  270 +"MIME-Version: 1.0\n"
  271 +"Content-Type: text/plain; charset=UTF-8\n"
  272 +"Content-Transfer-Encoding: 8bit\n"
  273 +"#-#-#-#-# builder.pot (PACKAGE VERSION) #-#-#-#-#\n"
  274 +"Project-Id-Version: PACKAGE VERSION\n"
  275 +"Report-Msgid-Bugs-To: \n"
  276 +"POT-Creation-Date: 2023-04-25 06:53-0300\n"
  277 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  278 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  279 +"Language-Team: LANGUAGE <LL@li.org>\n"
  280 +"Language: \n"
  281 +"MIME-Version: 1.0\n"
  282 +"Content-Type: text/plain; charset=UTF-8\n"
  283 +"Content-Transfer-Encoding: 8bit\n"
  284 +"#-#-#-#-# model.pot (PACKAGE VERSION) #-#-#-#-#\n"
  285 +"Project-Id-Version: PACKAGE VERSION\n"
  286 +"Report-Msgid-Bugs-To: \n"
  287 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  288 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  289 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  290 +"Language-Team: LANGUAGE <LL@li.org>\n"
  291 +"Language: \n"
  292 +"MIME-Version: 1.0\n"
  293 +"Content-Type: text/plain; charset=UTF-8\n"
  294 +"Content-Transfer-Encoding: 8bit\n"
  295 +"#-#-#-#-# element.pot (PACKAGE VERSION) #-#-#-#-#\n"
  296 +"Project-Id-Version: PACKAGE VERSION\n"
  297 +"Report-Msgid-Bugs-To: \n"
  298 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  299 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  300 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  301 +"Language-Team: LANGUAGE <LL@li.org>\n"
  302 +"Language: \n"
  303 +"MIME-Version: 1.0\n"
  304 +"Content-Type: text/plain; charset=UTF-8\n"
  305 +"Content-Transfer-Encoding: 8bit\n"
  306 +"#-#-#-#-# attribute.pot (PACKAGE VERSION) #-#-#-#-#\n"
  307 +"Project-Id-Version: PACKAGE VERSION\n"
  308 +"Report-Msgid-Bugs-To: \n"
  309 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  310 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  311 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  312 +"Language-Team: LANGUAGE <LL@li.org>\n"
  313 +"Language: \n"
  314 +"MIME-Version: 1.0\n"
  315 +"Content-Type: text/plain; charset=UTF-8\n"
  316 +"Content-Transfer-Encoding: 8bit\n"
  317 +"#-#-#-#-# savedesktopicon.pot (PACKAGE VERSION) #-#-#-#-#\n"
  318 +"Project-Id-Version: PACKAGE VERSION\n"
  319 +"Report-Msgid-Bugs-To: \n"
  320 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  321 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  322 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  323 +"Language-Team: LANGUAGE <LL@li.org>\n"
  324 +"Language: \n"
  325 +"MIME-Version: 1.0\n"
  326 +"Content-Type: text/plain; charset=UTF-8\n"
  327 +"Content-Transfer-Encoding: 8bit\n"
  328 +"#-#-#-#-# savedesktopicon.pot (PACKAGE VERSION) #-#-#-#-#\n"
  329 +"Project-Id-Version: PACKAGE VERSION\n"
  330 +"Report-Msgid-Bugs-To: \n"
  331 +"POT-Creation-Date: 2023-04-25 06:53-0300\n"
  332 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  333 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  334 +"Language-Team: LANGUAGE <LL@li.org>\n"
  335 +"Language: \n"
  336 +"MIME-Version: 1.0\n"
  337 +"Content-Type: text/plain; charset=UTF-8\n"
  338 +"Content-Transfer-Encoding: 8bit\n"
  339 +"#-#-#-#-# open.pot (PACKAGE VERSION) #-#-#-#-#\n"
  340 +"Project-Id-Version: PACKAGE VERSION\n"
  341 +"Report-Msgid-Bugs-To: \n"
  342 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  343 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  344 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  345 +"Language-Team: LANGUAGE <LL@li.org>\n"
  346 +"Language: \n"
  347 +"MIME-Version: 1.0\n"
  348 +"Content-Type: text/plain; charset=UTF-8\n"
  349 +"Content-Transfer-Encoding: 8bit\n"
  350 +"#-#-#-#-# savedesktopicon.pot (PACKAGE VERSION) #-#-#-#-#\n"
  351 +"Project-Id-Version: PACKAGE VERSION\n"
  352 +"Report-Msgid-Bugs-To: \n"
  353 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  354 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  355 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  356 +"Language-Team: LANGUAGE <LL@li.org>\n"
  357 +"Language: \n"
  358 +"MIME-Version: 1.0\n"
  359 +"Content-Type: text/plain; charset=UTF-8\n"
  360 +"Content-Transfer-Encoding: 8bit\n"
  361 +"#-#-#-#-# windows.ui.pot (PACKAGE VERSION) #-#-#-#-#\n"
  362 +"Project-Id-Version: PACKAGE VERSION\n"
  363 +"Report-Msgid-Bugs-To: \n"
  364 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  365 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  366 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  367 +"Language-Team: LANGUAGE <LL@li.org>\n"
  368 +"Language: \n"
  369 +"MIME-Version: 1.0\n"
  370 +"Content-Type: text/plain; charset=UTF-8\n"
  371 +"Content-Transfer-Encoding: 8bit\n"
  372 +"#-#-#-#-# macos.ui.pot (PACKAGE VERSION) #-#-#-#-#\n"
  373 +"Project-Id-Version: PACKAGE VERSION\n"
  374 +"Report-Msgid-Bugs-To: \n"
  375 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
  376 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  377 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  378 +"Language-Team: LANGUAGE <LL@li.org>\n"
  379 +"Language: \n"
  380 +"MIME-Version: 1.0\n"
  381 +"Content-Type: text/plain; charset=UTF-8\n"
  382 +"Content-Transfer-Encoding: 8bit\n"
  383 +"#-#-#-#-# linux.ui.pot (PACKAGE VERSION) #-#-#-#-#\n"
  384 +"Project-Id-Version: PACKAGE VERSION\n"
  385 +"Report-Msgid-Bugs-To: \n"
  386 +"POT-Creation-Date: 2023-04-24 23:23-0300\n"
12 387 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 388 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14 389 "Language-Team: LANGUAGE <LL@li.org>\n"
... ... @@ -22,29 +397,29 @@ msgstr &quot;&quot;
22 397 msgid "\"%s\" is not a valid user interface name"
23 398 msgstr ""
24 399  
25   -#: src/objects/application/actions/about.c:118
  400 +#: src/objects/application/actions/about.c:136
26 401 #, c-format
27 402 msgid "%s for %s."
28 403 msgstr ""
29 404  
30   -#: src/objects/application/actions/about.c:125
  405 +#: src/objects/application/actions/about.c:143
31 406 msgid "32 bits Linux"
32 407 msgstr ""
33 408  
34   -#: src/objects/application/actions/about.c:123
  409 +#: src/objects/application/actions/about.c:141
35 410 msgid "32 bits Windows"
36 411 msgstr ""
37 412  
38 413 #: src/objects/actions/save.c:167 src/objects/os/linux/savedesktopicon.c:233
39   -#: src/objects/os/windows/savedesktopicon.c:224
  414 +#: src/objects/os/windows/savedesktopicon.c:214
40 415 msgid "3270 session files"
41 416 msgstr ""
42 417  
43   -#: src/objects/application/actions/about.c:127
  418 +#: src/objects/application/actions/about.c:145
44 419 msgid "64 bits Linux"
45 420 msgstr ""
46 421  
47   -#: src/objects/application/actions/about.c:121
  422 +#: src/objects/application/actions/about.c:139
48 423 msgid "64 bits Windows"
49 424 msgstr ""
50 425  
... ... @@ -53,7 +428,7 @@ msgid &quot;&quot;
53 428 "<small><b>The toolbar position only takes effect after restart</b></small>"
54 429 msgstr ""
55 430  
56   -#: src/objects/application/actions/about.c:217 ui/windows.ui.xml:40
  431 +#: src/objects/application/actions/about.c:235 ui/windows.ui.xml:40
57 432 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553
58 433 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553
59 434 msgid "About PW3270"
... ... @@ -63,7 +438,7 @@ msgstr &quot;&quot;
63 438 msgid "Action Name"
64 439 msgstr ""
65 440  
66   -#: src/objects/window/window.c:205
  441 +#: src/objects/window/window.c:206
67 442 msgid "Action Names"
68 443 msgstr ""
69 444  
... ... @@ -73,7 +448,7 @@ msgstr &quot;&quot;
73 448 msgid "Alert sound"
74 449 msgstr ""
75 450  
76   -#: src/main/tools.c:79
  451 +#: src/main/tools.c:68
77 452 msgid "All files"
78 453 msgstr ""
79 454  
... ... @@ -82,7 +457,7 @@ msgstr &quot;&quot;
82 457 msgid "Append to copy"
83 458 msgstr ""
84 459  
85   -#: src/objects/application/actions/about.c:160
  460 +#: src/objects/application/actions/about.c:178
86 461 msgid "Apple version"
87 462 msgstr ""
88 463  
... ... @@ -112,7 +487,7 @@ msgstr &quot;&quot;
112 487 msgid "Available"
113 488 msgstr ""
114 489  
115   -#: src/objects/application/actions/about.c:163
  490 +#: src/objects/application/actions/about.c:181
116 491 msgid "Based on X3270 from"
117 492 msgstr ""
118 493  
... ... @@ -142,10 +517,6 @@ msgstr &quot;&quot;
142 517 msgid "Can't load session preferences"
143 518 msgstr ""
144 519  
145   -#: src/objects/settings/gsettings.c:128
146   -msgid "Can't load system settings"
147   -msgstr ""
148   -
149 520 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192
150 521 #, c-format
151 522 msgid "Can't use \"%s\""
... ... @@ -220,11 +591,11 @@ msgstr &quot;&quot;
220 591 msgid "Connect to host"
221 592 msgstr ""
222 593  
223   -#: src/objects/window/window.c:778 src/objects/window/page.c:218
  594 +#: src/objects/window/window.c:779 src/objects/window/page.c:218
224 595 msgid "Connected to host"
225 596 msgstr ""
226 597  
227   -#: src/objects/application/actions/about.c:161
  598 +#: src/objects/application/actions/about.c:179
228 599 msgid "Contributors"
229 600 msgstr ""
230 601  
... ... @@ -251,12 +622,12 @@ msgstr &quot;&quot;
251 622 msgid "Copy as text"
252 623 msgstr ""
253 624  
254   -#: src/objects/application/actions/about.c:167
  625 +#: src/objects/application/actions/about.c:185
255 626 msgid "Copyright © 2008 Banco do Brasil S.A."
256 627 msgstr ""
257 628  
258 629 #: src/objects/os/linux/savedesktopicon.c:114
259   -#: src/objects/os/windows/savedesktopicon.c:109
  630 +#: src/objects/os/windows/savedesktopicon.c:99
260 631 #: src/objects/os/macos/savedesktopicon.c:54
261 632 msgid "Create shortcut for the current session"
262 633 msgstr ""
... ... @@ -291,7 +662,7 @@ msgstr &quot;&quot;
291 662 msgid "Delete Field"
292 663 msgstr ""
293 664  
294   -#: src/objects/os/windows/savedesktopicon.c:82
  665 +#: src/objects/os/windows/savedesktopicon.c:72
295 666 msgid "Description"
296 667 msgstr ""
297 668  
... ... @@ -300,7 +671,7 @@ msgstr &quot;&quot;
300 671 msgid "Disconnect"
301 672 msgstr ""
302 673  
303   -#: src/objects/window/window.c:778 src/objects/window/window.c:805
  674 +#: src/objects/window/window.c:779 src/objects/window/window.c:806
304 675 #: src/objects/window/page.c:207
305 676 msgid "Disconnected from host"
306 677 msgstr ""
... ... @@ -361,7 +732,7 @@ msgstr &quot;&quot;
361 732 msgid "Field attributes"
362 733 msgstr ""
363 734  
364   -#: src/objects/os/windows/savedesktopicon.c:221
  735 +#: src/objects/os/windows/savedesktopicon.c:211
365 736 msgid "File for session preferences"
366 737 msgstr ""
367 738  
... ... @@ -388,9 +759,9 @@ msgstr &quot;&quot;
388 759 msgid "Host and Emulation settings"
389 760 msgstr ""
390 761  
391   -#: src/objects/application/actions/about.c:119 src/objects/window/window.c:564
  762 +#: src/objects/application/actions/about.c:137 src/objects/window/window.c:565
392 763 #: src/objects/os/linux/savedesktopicon.c:102
393   -#: src/objects/os/windows/savedesktopicon.c:271
  764 +#: src/objects/os/windows/savedesktopicon.c:261
394 765 msgid "IBM 3270 Terminal emulator"
395 766 msgstr ""
396 767  
... ... @@ -430,6 +801,10 @@ msgstr &quot;&quot;
430 801 msgid "If the action can be activated"
431 802 msgstr ""
432 803  
  804 +#: src/objects/application/application.c:541
  805 +msgid "Initialization has failed"
  806 +msgstr ""
  807 +
433 808 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022
434 809 msgid "Insert"
435 810 msgstr ""
... ... @@ -474,11 +849,11 @@ msgstr &quot;&quot;
474 849 msgid "Keypad width in columns"
475 850 msgstr ""
476 851  
477   -#: src/main/builder.c:112
  852 +#: src/main/builder.c:117
478 853 msgid "Keypads"
479 854 msgstr ""
480 855  
481   -#: src/objects/application/actions/about.c:171
  856 +#: src/objects/application/actions/about.c:189
482 857 msgid "LICENSE"
483 858 msgstr ""
484 859  
... ... @@ -514,7 +889,7 @@ msgstr &quot;&quot;
514 889 msgid "Main menu"
515 890 msgstr ""
516 891  
517   -#: src/objects/application/actions/about.c:159
  892 +#: src/objects/application/actions/about.c:177
518 893 msgid "Maintainers"
519 894 msgstr ""
520 895  
... ... @@ -639,7 +1014,7 @@ msgid &quot;Paste with left margin&quot;
639 1014 msgstr ""
640 1015  
641 1016 #: src/objects/os/linux/savedesktopicon.c:71
642   -#: src/objects/os/windows/savedesktopicon.c:76
  1017 +#: src/objects/os/windows/savedesktopicon.c:66
643 1018 msgid "Path for the new shortcut"
644 1019 msgstr ""
645 1020  
... ... @@ -714,7 +1089,7 @@ msgid &quot;Save session preferences&quot;
714 1089 msgstr ""
715 1090  
716 1091 #: src/objects/os/linux/savedesktopicon.c:113
717   -#: src/objects/os/windows/savedesktopicon.c:108
  1092 +#: src/objects/os/windows/savedesktopicon.c:98
718 1093 #: src/objects/os/macos/savedesktopicon.c:53
719 1094 msgid "Save session shortcut"
720 1095 msgstr ""
... ... @@ -727,7 +1102,7 @@ msgstr &quot;&quot;
727 1102 msgid "Save to shortcut file"
728 1103 msgstr ""
729 1104  
730   -#: src/objects/os/windows/savedesktopicon.c:186
  1105 +#: src/objects/os/windows/savedesktopicon.c:176
731 1106 msgid "Save to windows shortcut"
732 1107 msgstr ""
733 1108  
... ... @@ -792,7 +1167,7 @@ msgid &quot;Session Trace&quot;
792 1167 msgstr ""
793 1168  
794 1169 #: src/objects/actions/save.c:63 src/objects/os/linux/savedesktopicon.c:85
795   -#: src/objects/os/windows/savedesktopicon.c:96
  1170 +#: src/objects/os/windows/savedesktopicon.c:86
796 1171 msgid "Session file"
797 1172 msgstr ""
798 1173  
... ... @@ -807,7 +1182,7 @@ msgid &quot;Session in new window&quot;
807 1182 msgstr ""
808 1183  
809 1184 #: src/objects/actions/save.c:56 src/objects/os/linux/savedesktopicon.c:77
810   -#: src/objects/os/windows/savedesktopicon.c:88
  1185 +#: src/objects/os/windows/savedesktopicon.c:78
811 1186 msgid "Session name"
812 1187 msgstr ""
813 1188  
... ... @@ -843,7 +1218,7 @@ msgid &quot;Setup toolbar&quot;
843 1218 msgstr ""
844 1219  
845 1220 #: src/objects/os/linux/savedesktopicon.c:70
846   -#: src/objects/os/windows/savedesktopicon.c:75
  1221 +#: src/objects/os/windows/savedesktopicon.c:65
847 1222 msgid "Shortcut file"
848 1223 msgstr ""
849 1224  
... ... @@ -906,11 +1281,11 @@ msgstr &quot;&quot;
906 1281 msgid "System default"
907 1282 msgstr ""
908 1283  
909   -#: src/objects/settings/gsettings.c:133
  1284 +#: src/objects/application/application.c:546
910 1285 msgid "System settings error"
911 1286 msgstr ""
912 1287  
913   -#: src/main/tools.c:75
  1288 +#: src/main/tools.c:64
914 1289 msgid "TN3270 Session Files"
915 1290 msgstr ""
916 1291  
... ... @@ -956,7 +1331,7 @@ msgid &quot;The file to save the current session preferences&quot;
956 1331 msgstr ""
957 1332  
958 1333 #: src/objects/os/linux/savedesktopicon.c:86
959   -#: src/objects/os/windows/savedesktopicon.c:97
  1334 +#: src/objects/os/windows/savedesktopicon.c:87
960 1335 msgid "The file with the session preferences for this shortcut"
961 1336 msgstr ""
962 1337  
... ... @@ -972,7 +1347,7 @@ msgstr &quot;&quot;
972 1347 msgid "The name of associated action"
973 1348 msgstr ""
974 1349  
975   -#: src/objects/window/window.c:206
  1350 +#: src/objects/window/window.c:207
976 1351 msgid "The name of the actions in the header bar"
977 1352 msgstr ""
978 1353  
... ... @@ -1001,7 +1376,7 @@ msgid &quot;The position of the keypad&quot;
1001 1376 msgstr ""
1002 1377  
1003 1378 #: src/objects/actions/save.c:57 src/objects/os/linux/savedesktopicon.c:79
1004   -#: src/objects/os/windows/savedesktopicon.c:90
  1379 +#: src/objects/os/windows/savedesktopicon.c:80
1005 1380 msgid "The session name used in the window/tab title (empty for default)"
1006 1381 msgstr ""
1007 1382  
... ... @@ -1085,10 +1460,8 @@ msgstr &quot;&quot;
1085 1460 msgid "UI Type"
1086 1461 msgstr ""
1087 1462  
1088   -#: src/objects/settings/gsettings.c:131
1089   -msgid ""
1090   -"Unable to initialize system settings. Application may crash in unexpected "
1091   -"ways"
  1463 +#: src/objects/application/application.c:544
  1464 +msgid "Unable to initialize settings. Application may crash in unexpected ways"
1092 1465 msgstr ""
1093 1466  
1094 1467 #: src/objects/os/windows/open.c:137
... ... @@ -1101,7 +1474,7 @@ msgstr &quot;&quot;
1101 1474 msgid "Unselect"
1102 1475 msgstr ""
1103 1476  
1104   -#: src/objects/application/actions/about.c:98
  1477 +#: src/objects/application/actions/about.c:116
1105 1478 #, c-format
1106 1479 msgid "Unstable version %s-%s"
1107 1480 msgstr ""
... ... @@ -1111,7 +1484,7 @@ msgstr &quot;&quot;
1111 1484 msgid "Use +/- for field navigation"
1112 1485 msgstr ""
1113 1486  
1114   -#: src/objects/application/actions/about.c:100
  1487 +#: src/objects/application/actions/about.c:118
1115 1488 #, c-format
1116 1489 msgid "Version %s-%s"
1117 1490 msgstr ""
... ... @@ -1123,7 +1496,7 @@ msgstr &quot;&quot;
1123 1496 msgid "View"
1124 1497 msgstr ""
1125 1498  
1126   -#: src/objects/application/actions/about.c:191
  1499 +#: src/objects/application/actions/about.c:209
1127 1500 msgid "View this project on github"
1128 1501 msgstr ""
1129 1502  
... ... @@ -1132,7 +1505,7 @@ msgstr &quot;&quot;
1132 1505 msgid "Window with default session"
1133 1506 msgstr ""
1134 1507  
1135   -#: src/objects/os/windows/savedesktopicon.c:189
  1508 +#: src/objects/os/windows/savedesktopicon.c:179
1136 1509 msgid "Windows shortcuts"
1137 1510 msgstr ""
1138 1511  
... ... @@ -1142,7 +1515,7 @@ msgstr &quot;&quot;
1142 1515  
1143 1516 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78
1144 1517 #: src/objects/os/linux/savedesktopicon.c:140
1145   -#: src/objects/os/windows/savedesktopicon.c:134
  1518 +#: src/objects/os/windows/savedesktopicon.c:124
1146 1519 msgid "_Cancel"
1147 1520 msgstr ""
1148 1521  
... ... @@ -1192,7 +1565,7 @@ msgid &quot;_Rename session&quot;
1192 1565 msgstr ""
1193 1566  
1194 1567 #: src/objects/actions/save.c:104 src/objects/os/linux/savedesktopicon.c:141
1195   -#: src/objects/os/windows/savedesktopicon.c:135
  1568 +#: src/objects/os/windows/savedesktopicon.c:125
1196 1569 msgid "_Save"
1197 1570 msgstr ""
1198 1571  
... ... @@ -1200,10 +1573,10 @@ msgstr &quot;&quot;
1200 1573 msgid "_View"
1201 1574 msgstr ""
1202 1575  
1203   -#: src/objects/application/actions/about.c:190
  1576 +#: src/objects/application/actions/about.c:208
1204 1577 msgid "https://github.com/PerryWerneck/pw3270"
1205 1578 msgstr ""
1206 1579  
1207   -#: src/objects/application/actions/about.c:193
  1580 +#: src/objects/application/actions/about.c:211
1208 1581 msgid "translator-credits"
1209 1582 msgstr ""
... ...
msys-run.sh 0 → 100644
... ... @@ -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 +
... ...
pw3270.cbp
... ... @@ -58,6 +58,9 @@
58 58 <Unit filename="src/main/builder.c">
59 59 <Option compilerVar="CC" />
60 60 </Unit>
  61 + <Unit filename="src/main/linux/tools.c">
  62 + <Option compilerVar="CC" />
  63 + </Unit>
61 64 <Unit filename="src/main/main.c">
62 65 <Option compilerVar="CC" />
63 66 </Unit>
... ... @@ -69,6 +72,9 @@
69 72 <Option compilerVar="CC" />
70 73 </Unit>
71 74 <Unit filename="src/main/windows/resources.rc" />
  75 + <Unit filename="src/main/windows/tools.c">
  76 + <Option compilerVar="CC" />
  77 + </Unit>
72 78 <Unit filename="src/objects/actions/abstract.c">
73 79 <Option compilerVar="CC" />
74 80 </Unit>
... ...
schemas/Makefile.in
... ... @@ -50,20 +50,20 @@ all:
50 50 @$(MKDIR) $(BINDIR)
51 51 @$(GLIB_SCHEMA_COMPILER) \
52 52 --targetdir=$(BINDIR) \
53   - ./@OSNAME@
  53 + .
54 54  
55 55 install: \
56 56 all
57 57  
58   - @$(MKDIR) $(DESTDIR)/$(schemadir)
  58 + @$(MKDIR) $(DESTDIR)$(schemadir)
59 59 @$(INSTALL_DATA) \
60   - @OSNAME@/application.gschema.xml \
61   - $(DESTDIR)/$(schemadir)/$(PRODUCT_NAME)-application.gschema.xml
  60 + application.gschema.xml \
  61 + $(DESTDIR)$(schemadir)/$(PRODUCT_NAME)-application.gschema.xml
62 62  
63 63 @$(INSTALL_DATA) \
64   - @OSNAME@/window.gschema.xml \
65   - $(DESTDIR)/$(schemadir)/$(PRODUCT_NAME)-window.gschema.xml
  64 + window.gschema.xml \
  65 + $(DESTDIR)$(schemadir)/$(PRODUCT_NAME)-window.gschema.xml
66 66  
67 67 @$(GLIB_SCHEMA_COMPILER) \
68   - $(DESTDIR)/$(schemadir)
  68 + $(DESTDIR)$(schemadir)
69 69  
... ...
schemas/application.gschema.xml.in 0 → 100644
... ... @@ -0,0 +1,84 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!--
  3 +
  4 + SPDX-License-Identifier: LGPL-3.0-or-later
  5 +
  6 + Copyright (C) 2008 Banco do Brasil S.A.
  7 +
  8 + This program is free software: you can redistribute it and/or modify
  9 + it under the terms of the GNU Lesser General Public License as published
  10 + by the Free Software Foundation, either version 3 of the License, or
  11 + (at your option) any later version.
  12 +
  13 + This program is distributed in the hope that it will be useful,
  14 + but WITHOUT ANY WARRANTY; without even the implied warranty of
  15 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16 + GNU General Public License for more details.
  17 +
  18 + You should have received a copy of the GNU Lesser General Public License
  19 + along with this program. If not, see <https://www.gnu.org/licenses/>.
  20 +
  21 +-->
  22 +
  23 +<schemalist>
  24 +
  25 + <schema path="@PRODUCT_PATH@" id="@PRODUCT_ID@">
  26 +
  27 + <key name="ui-style" type="u">
  28 + <default>@DEFAULT_UI_STYLE@</default>
  29 + <summary>UI Style</summary>
  30 + <description>The ID of the current user interface style</description>
  31 + </key>
  32 +
  33 + <key name="gtk-csd" type="i">
  34 + <default>0</default>
  35 + <summary>GTK CSD</summary>
  36 + <description>Gtk Client side decorations (win32 only)</description>
  37 + </key>
  38 +
  39 + <key name="allow-host-settings" type="b">
  40 + <default>true</default>
  41 + <summary>Allow host settings</summary>
  42 + <description>Allow changing of host session properties</description>
  43 + </key>
  44 +
  45 + <key name="allow-open-session-actions" type="b">
  46 + <default>true</default>
  47 + <summary>Enable open session actions actions</summary>
  48 + <description>Enable open session actions</description>
  49 + </key>
  50 +
  51 + <key name="allow-new-tab-actions" type="b">
  52 + <default>true</default>
  53 + <summary>Enable new tab actions</summary>
  54 + <description>Enable new tab actions</description>
  55 + </key>
  56 +
  57 + <key name="allow-new-window-actions" type="b">
  58 + <default>true</default>
  59 + <summary>Enable new window actions</summary>
  60 + <description>Enable new window actions</description>
  61 + </key>
  62 +
  63 + <key name="default-session-file" type="s">
  64 + <default>'~/.config/default.3270'</default>
  65 + <summary>Path of the default session file</summary>
  66 + <description></description>
  67 + </key>
  68 +
  69 + <key name="update-default-session-file" type="b">
  70 + <default>false</default>
  71 + <summary>Update default session time from command line</summary>
  72 + <description></description>
  73 + </key>
  74 +
  75 + <key name="add-session-to-recent-manager" type="b">
  76 + <default>true</default>
  77 + <summary>Add session file to recent file list</summary>
  78 + <description></description>
  79 + </key>
  80 +
  81 + </schema>
  82 +
  83 +</schemalist>
  84 +
... ...
schemas/window.gschema.xml.in 0 → 100644
... ... @@ -0,0 +1,119 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!--
  3 +
  4 + SPDX-License-Identifier: LGPL-3.0-or-later
  5 +
  6 + Copyright (C) 2008 Banco do Brasil S.A.
  7 +
  8 + This program is free software: you can redistribute it and/or modify
  9 + it under the terms of the GNU Lesser General Public License as published
  10 + by the Free Software Foundation, either version 3 of the License, or
  11 + (at your option) any later version.
  12 +
  13 + This program is distributed in the hope that it will be useful,
  14 + but WITHOUT ANY WARRANTY; without even the implied warranty of
  15 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16 + GNU General Public License for more details.
  17 +
  18 + You should have received a copy of the GNU Lesser General Public License
  19 + along with this program. If not, see <https://www.gnu.org/licenses/>.
  20 +
  21 +-->
  22 +
  23 +<schemalist>
  24 +
  25 + <schema path="@PRODUCT_PATH@window/" id="@PRODUCT_ID@.window">
  26 +
  27 + <key name="width" type="i">
  28 + <default>-1</default>
  29 + <summary>The window width.</summary>
  30 + <description></description>
  31 + </key>
  32 +
  33 + <key name="height" type="i">
  34 + <default>-1</default>
  35 + <summary>The window height.</summary>
  36 + <description></description>
  37 + </key>
  38 +
  39 + <key name="is-maximized" type="b">
  40 + <default>false</default>
  41 + <summary>Is the window maximized?</summary>
  42 + <description></description>
  43 + </key>
  44 +
  45 + <key name="is-fullscreen" type="b">
  46 + <default>false</default>
  47 + <summary>Is the window in full screen mode?</summary>
  48 + <description></description>
  49 + </key>
  50 +
  51 + <key name="has-subtitle" type="b">
  52 + <default>false</default>
  53 + <summary>Enable top window subtitle</summary>
  54 + <description>If TRUE, reserve space for a subtitle, even if none is currently set.</description>
  55 + </key>
  56 +
  57 + <key name="toolbar-visible" type="b">
  58 + <default>true</default>
  59 + <summary>The toolbar visible state</summary>
  60 + <description></description>
  61 + </key>
  62 +
  63 + <key name="menubar-visible" type="b">
  64 + <default>@DEFAULT_MENUBAR_VISIBLE@</default>
  65 + <summary>The menubar visible state</summary>
  66 + <description></description>
  67 + </key>
  68 +
  69 + <key name="toolbar-style" type="i">
  70 + <default>-1</default>
  71 + <summary>How to draw the toolbar.</summary>
  72 + <description></description>
  73 + </key>
  74 +
  75 + <key name="toolbar-icon-size" type="i">
  76 + <default>0</default>
  77 + <summary>The size of the toolbar icons</summary>
  78 + <description></description>
  79 + </key>
  80 +
  81 + <key name="toolbar-icon-type" type="i">
  82 + <default>0</default>
  83 + <summary>Use symbolic icons on toolbar</summary>
  84 + <description></description>
  85 + </key>
  86 +
  87 + <key name="header-icon-type" type="i">
  88 + <default>0</default>
  89 + <summary>Use symbolic icons on title bar</summary>
  90 + <description></description>
  91 + </key>
  92 +
  93 + <key name="toolbar-position" type="i">
  94 + <default>0</default>
  95 + <summary>The toolbar position</summary>
  96 + <description></description>
  97 + </key>
  98 +
  99 + <key name="toolbar-action-names" type="s">
  100 + <default>'win.copy,win.paste,win.select-all,separator,win.clear,win.erase-input,separator,win.print,separator,win.zoom-out,win.zoom-fit-best,win.zoom-in'</default>
  101 + <summary>The actions on the toolbar</summary>
  102 + <description></description>
  103 + </key>
  104 +
  105 + <key name="header-action-names" type="s">
  106 + <default>'menu.open-menu,win.disconnect,win.reconnect:'</default>
  107 + <summary>The title bar action list</summary>
  108 + <description></description>
  109 + </key>
  110 +
  111 + <key name="default-session-file" type="s">
  112 + <default>''</default>
  113 + <summary>Path of the default session file</summary>
  114 + <description></description>
  115 + </key>
  116 +
  117 + </schema>
  118 +
  119 +</schemalist>
... ...
src/include/config.h.in
... ... @@ -96,9 +96,15 @@
96 96 /* The product name */
97 97 #undef PLUGIN_DIR
98 98  
  99 +/* The product ID */
  100 +#undef PRODUCT_ID
  101 +
99 102 /* The product name */
100 103 #undef PRODUCT_NAME
101 104  
  105 +/* The schema path */
  106 +#undef PRODUCT_PATH
  107 +
102 108 /* Define to 1 if you have the ANSI C header files. */
103 109 #undef STDC_HEADERS
104 110  
... ...
src/include/pw3270.h
... ... @@ -63,6 +63,8 @@ struct _Pw3270SettingsPage {
63 63 };
64 64  
65 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 69 G_END_DECLS
68 70  
... ...
src/main/builder.c
... ... @@ -20,12 +20,17 @@
20 20 #include "private.h"
21 21 #include <pw3270/application.h>
22 22 #include <pw3270/keypad.h>
  23 + #include <pw3270.h>
23 24  
24 25 GtkBuilder * pw3270_application_builder_new(GApplication *application) {
25 26  
26 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 35 #elif defined(G_OS_UNIX)
31 36  
... ...
src/main/linux/tools.c 0 → 100644
... ... @@ -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 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,15 +63,24 @@ int main (int argc, char **argv) {
74 63  
75 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( PACKAGE_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 80 #endif // _WIN32
83 81  
84   - bind_textdomain_codeset(PACKAGE_NAME, "UTF-8");
85   - textdomain(PACKAGE_NAME);
  82 + bind_textdomain_codeset(G_STRINGIFY(PRODUCT_NAME), "UTF-8");
  83 + textdomain(G_STRINGIFY(PRODUCT_NAME));
86 84  
87 85 // Setup and start application.
88 86 g_set_application_name(G_STRINGIFY(PRODUCT_NAME));
... ...
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 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 @@
  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/actions/view.c
... ... @@ -195,7 +195,6 @@ static GSList * append_action(GSList * list, const gchar *prefix, GAction *actio
195 195  
196 196 GdkPixbuf * pixbuf = g_action_get_pixbuf(action, GTK_ICON_SIZE_MENU, GTK_ICON_LOOKUP_GENERIC_FALLBACK);
197 197 if(!pixbuf) {
198   - debug("Action \"%s\": Doesn't have a pixbuf",g_action_get_name(action));
199 198 return list;
200 199 }
201 200  
... ...
src/objects/application/actions/about.c
... ... @@ -32,6 +32,55 @@
32 32 #include <pw3270/actions.h>
33 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 84 static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication *application) {
36 85  
37 86 GtkAboutDialog * dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new());
... ... @@ -46,49 +95,18 @@ static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication *
46 95  
47 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 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 104 g_error_free(error);
82   - continue;
83   - }
84   -
85   - if(pix) {
  105 + } else {
86 106 gtk_about_dialog_set_logo(dialog,pix);
87   - break;
88 107 }
89   -
  108 + free(logo);
90 109 }
91   -
92 110 }
93 111  
94 112 // Set version
... ...
src/objects/application/application.c
... ... @@ -430,8 +430,6 @@ void startup(GApplication *application) {
430 430  
431 431 G_APPLICATION_CLASS(pw3270Application_parent_class)->startup(application);
432 432  
433   -// GSettings *settings = pw3270_application_get_settings(application);
434   -
435 433 //
436 434 // Common actions
437 435 //
... ... @@ -488,25 +486,33 @@ void startup(GApplication *application) {
488 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 531  
526 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 560 // Present the new window
529 561 pw3270_window_set_current_page(window,0);
530 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 30 #include <pw3270/application.h>
31 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 61 static GSettings * settings_new(const gchar *schema_id) {
34 62  
35 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 122 GError * error = NULL;
40 123 GSettingsSchemaSource * source =
... ... @@ -62,95 +145,20 @@
62 145  
63 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   -
98   - g_settings_schema_source_unref(source);
99 148  
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 149 #else
110 150  
111   -#ifdef DEBUG
112   - g_message("Loading '%s' from default path","gschemas.compiled");
113   -#endif // DEBUG
114   -
115 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 155 return settings;
148 156 }
149 157  
150 158 GSettings * pw3270_application_settings_new() {
151   - return settings_new("br.app." G_STRINGIFY(PRODUCT_NAME));
152   - }
  159 + return settings_new(G_STRINGIFY(PRODUCT_ID));
  160 + }
153 161  
154 162 GSettings * pw3270_application_window_settings_new() {
155   - return settings_new("br.app." G_STRINGIFY(PRODUCT_NAME) ".window");
  163 + return settings_new(G_STRINGIFY(PRODUCT_ID) ".window");
156 164 }
... ...
src/objects/window/window.c
... ... @@ -138,15 +138,16 @@ static void pw3270ApplicationWindow_class_init(pw3270ApplicationWindowClass *kla
138 138 #ifdef _WIN32
139 139 "share/icons",
140 140 #endif // _WIN32
  141 + "share/" G_STRINGIFY(PRODUCT_NAME) "/icons"
141 142 };
142 143  
143 144 size_t ix;
144 145 for(ix = 0; ix < G_N_ELEMENTS(icon_search_paths); ix++) {
145 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 148 #elif defined(_WIN32)
148 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 151 #else
151 152 lib3270_autoptr(char) path = lib3270_build_data_filename(icon_search_paths[ix],NULL);
152 153 #endif
... ...
win/bundle.common 0 → 100644
... ... @@ -0,0 +1,412 @@
  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 +# Check command-line arguments
  22 +argument() {
  23 +
  24 + local cmdline
  25 + for cmdline in ${BASH_ARGV[*]}
  26 + do
  27 + if [ "$(echo ${cmdline} | sed "s@^--@@g" | sed "s@^-@@g" | cut -d= -f1)" == "${1}" ]; then
  28 + local value
  29 + value="$(echo ${cmdline} | cut -d= -f2)"
  30 + if [ -z "${value}" ]; then
  31 + echo "1"
  32 + else
  33 + echo "${value}"
  34 + fi
  35 + return 0
  36 + fi
  37 + done
  38 + echo ""
  39 + return 2
  40 +}
  41 +
  42 +argument "help" > /dev/null
  43 +if [ "$?" == "0" ]; then
  44 + echo "Use ${0} options"
  45 + echo ""
  46 + echo " --help Help options (this screen)"
  47 + echo " --zip Build zipfile"
  48 +
  49 + if [ -e "${srcdir}/win/${PACKAGE_NAME}.nsi" ]; then
  50 + echo " --nsi Build nsi installer"
  51 + fi
  52 + echo " --upload Upload bundle to github"
  53 +fi
  54 +
  55 +# Setup default paths
  56 +srcdir="$(dirname $(dirname $(readlink -f "${0}")))"
  57 +cd ${srcdir}
  58 +if [ "$?" != "0" ]; then
  59 + echo "Cant cd to ${srcdir}"
  60 + exit -1
  61 +fi
  62 +
  63 +if [ -z ${MINGW_PREFIX} ]; then
  64 + if [ -d "/usr/x86_64-w64-mingw32/sys-root/mingw" ]; then
  65 + MINGW_PREFIX="/usr/x86_64-w64-mingw32/sys-root/mingw"
  66 + PKG_CONFIG="/usr/bin/x86_64-w64-mingw32-pkg-config"
  67 + else
  68 + echo "Cant determine mingw prefix"
  69 + exit -1
  70 + fi
  71 +fi
  72 +
  73 +if [ -z ${PKG_CONFIG} ]; then
  74 + PKG_CONFIG=${MINGW_PREFX}/bin/pkg-config
  75 +fi
  76 +
  77 +PACKAGE_NAME=$(grep AC_INIT configure.ac | cut -d[ -f2 | cut -d] -f1)
  78 +if [ -z ${PACKAGE_NAME} ]; then
  79 + echo "Cant determine package name"
  80 + exit -1
  81 +fi
  82 +
  83 +PACKAGE_VERSION=$(grep AC_INIT configure.ac | cut -d[ -f3 | cut -d] -f1)
  84 +if [ -z ${PACKAGE_VERSION} ]; then
  85 + echo "Cant determine package name"
  86 + exit -1
  87 +fi
  88 +
  89 +mkdir -p .bin/bundle
  90 +if [ "$?" != "0" ]; then
  91 + echo "Cant mkdir base buildroot"
  92 + exit -1
  93 +fi
  94 +
  95 +buildroot=$(readlink -f .bin/bundle)
  96 +if [ -z ${buildroot} ]; then
  97 + echo "Cant detect buildroot ${buildroot}"
  98 + exit -1
  99 +fi
  100 +
  101 +mkdir -p "${buildroot}"
  102 +if [ "$?" != "0" ]; then
  103 + echo "Cant mkdir ${buildroot}"
  104 + exit -1
  105 +fi
  106 +
  107 +rm -fr "${buildroot}/*"
  108 +if [ "$?" != "0" ]; then
  109 + echo "Cant clean ${buildroot}"
  110 + exit -1
  111 +fi
  112 +
  113 +bindir="${buildroot}${MINGW_PREFIX}/bin"
  114 +sysdir="${buildroot}/windows/system32"
  115 +
  116 +if [ -z "${WIN_ROOT}" ]; then
  117 + WIN_ROOT="/c/Windows"
  118 +fi
  119 +
  120 +export LANG=C
  121 +
  122 +prepare() {
  123 +
  124 + argument "help" > /dev/null
  125 + if [ "$?" == "0" ]; then
  126 + exit 0
  127 + fi
  128 +
  129 + rm -fr "${buildroot}"
  130 + mkdir -p "${buildroot}"
  131 +}
  132 +
  133 +install_bin() {
  134 +
  135 + mkdir -p "${bindir}"
  136 +
  137 + AGAIN=1
  138 + until [ $AGAIN = 0 ]; do
  139 +
  140 + SOURCES=$(mktemp)
  141 + REQUIRES=$(mktemp)
  142 +
  143 + find "${buildroot}" -iname "*.dll" > ${SOURCES}
  144 + find "${buildroot}" -iname "*.exe" >> ${SOURCES}
  145 +
  146 + while read FILENAME
  147 + do
  148 + echo ${FILENAME}
  149 + objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${REQUIRES}
  150 + done < ${SOURCES}
  151 +
  152 + libs_to_exclude="
  153 + advapi32.dll
  154 + cfgmgr32.dll
  155 + comctl32.dll
  156 + comdlg32.dll
  157 + crypt32.dll
  158 + d3d8.dll
  159 + d3d9.dll
  160 + ddraw.dll
  161 + dnsapi.dll
  162 + dsound.dll
  163 + dwmapi.dll
  164 + gdi32.dll
  165 + gdiplus.dll
  166 + glu32.dll
  167 + glut32.dll
  168 + imm32.dll
  169 + iphlpapi.dll
  170 + kernel32.dll
  171 + ksuser.dll
  172 + mpr.dll
  173 + mscms.dll
  174 + mscoree.dll
  175 + msimg32.dll
  176 + msvcr71.dll
  177 + msvcr80.dll
  178 + msvcr90.dll
  179 + msvcrt.dll
  180 + mswsock.dll
  181 + netapi32.dll
  182 + odbc32.dll
  183 + ole32.dll
  184 + oleacc.dll
  185 + oleaut32.dll
  186 + opengl32.dll
  187 + psapi.dll
  188 + rpcrt4.dll
  189 + secur32.dll
  190 + setupapi.dll
  191 + shell32.dll
  192 + shlwapi.dll
  193 + user32.dll
  194 + usp10.dll
  195 + version.dll
  196 + wininet.dll
  197 + winmm.dll
  198 + wldap32.dll
  199 + ws2_32.dll
  200 + wsock32.dll
  201 + winspool.drv
  202 + ntdll.dll
  203 + winhttp.dll
  204 + hid.dll
  205 + bcrypt.dll
  206 + "
  207 +
  208 + # Remove system DLLs from list
  209 + for i in $libs_to_exclude; do
  210 + sed -i -e "/${i}/d" ${REQUIRES}
  211 + done
  212 +
  213 + AGAIN=0
  214 + while read FILENAME
  215 + do
  216 +
  217 + echo ${FILENAME}
  218 +
  219 + if [ ! -e "${bindir}/${FILENAME}" ]; then
  220 +
  221 + if [ -e ${MINGW_PREFIX}/bin/${FILENAME} ]; then
  222 +
  223 + AGAIN=1
  224 + cp -v "${MINGW_PREFIX}/bin/${FILENAME}" "${bindir}/${FILENAME}"
  225 + if [ "$?" != "0" ]; then
  226 + exit -1
  227 + fi
  228 +
  229 + elif [ -e ${MINGW_PREFIX}/lib/${FILENAME} ]; then
  230 +
  231 + AGAIN=1
  232 + cp -v "${MINGW_PREFIX}/lib/${FILENAME}" "${bindir}/${FILENAME}"
  233 + if [ "$?" != "0" ]; then
  234 + exit -1
  235 + fi
  236 +
  237 + elif [ -e "${WIN_ROOT}/System32/${FILENAME}" ]; then
  238 +
  239 + echo "Ignoring ${WIN_ROOT}/System32/${FILENAME}"
  240 +
  241 + else
  242 +
  243 + echo "Can't find ${MINGW_PREFIX}/bin/${FILENAME} or ${WIN_ROOT}/System32/${FILENAME}"
  244 + find "${MINGW_PREFIX}" -iname "${FILENAME}"
  245 + exit -1
  246 +
  247 + fi
  248 +
  249 + fi
  250 +
  251 + done < ${REQUIRES}
  252 +
  253 + rm -f ${SOURCES}
  254 + rm -f ${REQUIRES}
  255 +
  256 + done
  257 +
  258 + # libhllapi should be available in windows path
  259 + if [ -e "${bindir}/libhllapi.dll" ]; then
  260 + mkdir -p "${sysdir}"
  261 + mv "${bindir}/libhllapi.dll" "${sysdir}"
  262 + if [ "$?" != "0" ]; then
  263 + exit -1
  264 + fi
  265 + fi
  266 +
  267 +}
  268 +
  269 +install_locale() {
  270 +
  271 + mkdir -p ${buildroot}${MINGW_PREFIX}/share/locale/pt_BR/LC_MESSAGES
  272 +
  273 + locales="
  274 + gettext-runtime.mo
  275 + gettext-tools.mo
  276 + glib20.mo
  277 + gtk30.mo
  278 + gtk30-properties.mo
  279 + "
  280 +
  281 + FILENAMES=$(mktemp)
  282 + for i in ${locales}
  283 + do
  284 + find "${MINGW_PREFIX}/share/locale" -name ${i} >> ${FILENAMES}
  285 + done
  286 +
  287 + while read FILENAME
  288 + do
  289 + mkdir -p $(dirname "${buildroot}${FILENAME}")
  290 + cp -v "${FILENAME}" "${buildroot}${FILENAME}"
  291 + if [ "$?" != "0" ]; then
  292 + exit -1
  293 + fi
  294 + done < ${FILENAMES}
  295 + rm -f ${FILENAMES}
  296 +}
  297 +
  298 +
  299 +make_zip() {
  300 +
  301 + cd ${buildroot}${MINGW_PREFIX}
  302 + if [ "$?" != "0" ]; then
  303 + exit -1
  304 + fi
  305 +
  306 + rm -f ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip
  307 +
  308 + zip -9 -r ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip .
  309 + if [ "$?" != "0" ]; then
  310 + exit -1
  311 + fi
  312 +
  313 + cd ${srcdir}
  314 + if [ "$?" != "0" ]; then
  315 + exit -1
  316 + fi
  317 +
  318 + if [ -z $(which gh) ]; then
  319 + return 0
  320 + fi
  321 +
  322 + argument "upload" > /dev/null
  323 + if [ "$?" == "0" ]; then
  324 + gh release upload --clobber "${PACKAGE_VERSION}" ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip
  325 + fi
  326 +
  327 +}
  328 +
  329 +make_nsis() {
  330 + makensis \
  331 + -INPUTCHARSET UTF8 \
  332 + -DWITHIPC \
  333 + -DWITHPLUGINS \
  334 + -DWITHSDK \
  335 + -DPKGDIR=${buildroot}${MINGW_PREFIX} \
  336 + ${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}.nsi
  337 + if [ "$?" != "0" ]; then
  338 + echo "Cant build nsis script"
  339 + fi
  340 +
  341 + if [ ! -z $(which gh) ]; then
  342 + argument "upload" > /dev/null
  343 + if [ "$?" == "0" ]; then
  344 + gh release upload --clobber "${PACKAGE_VERSION}" ${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}*.exe
  345 + if [ "$?" != "0" ]; then
  346 + echo "Cant upload nsis installer"
  347 + exit -1
  348 + fi
  349 + fi
  350 + fi
  351 +
  352 + mv -f ${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}*.exe "${srcdir}"
  353 + if [ "$?" != "0" ]; then
  354 + echo "Cant copy nsis installer"
  355 + exit -1
  356 + fi
  357 +}
  358 +
  359 +install_license() {
  360 + mkdir -p "${buildroot}${MINGW_PREFIX}/usr/share/${PACKAGE_NAME}"
  361 + cp "${srcdir}/LICENSE" "${buildroot}${MINGW_PREFIX}/usr/share/${PACKAGE_NAME}"
  362 + if [ "$?" != "0" ]; then
  363 + echo "Cant copy LICENSE"
  364 + exit -1
  365 + fi
  366 +}
  367 +
  368 +install_runtime() {
  369 + install_bin
  370 + install_locale
  371 +}
  372 +
  373 +build_package() {
  374 +
  375 + # Build
  376 + make -C "${srcdir}" all
  377 + if [ "$?" != "0" ]; then
  378 + echo "Build failed"
  379 + exit -1
  380 + fi
  381 +
  382 + make -C "${srcdir}" "DESTDIR=${buildroot}" install
  383 + if [ "$?" != "0" ]; then
  384 + echo "Install failed"
  385 + exit -1
  386 + fi
  387 +
  388 +}
  389 +
  390 +make_packages() {
  391 +
  392 + if [ -e "${srcdir}/win/${PACKAGE_NAME}.nsi" ]; then
  393 + mkdir -p "${buildroot}${MINGW_PREFIX}/nsi"
  394 + cp "${srcdir}/win/${PACKAGE_NAME}.nsi" "${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}.nsi"
  395 + if [ "$?" != "0" ]; then
  396 + echo "Cant copy nsis script"
  397 + fi
  398 + fi
  399 +
  400 + argument "zip" > /dev/null
  401 + if [ "$?" == "0" ]; then
  402 + make_zip
  403 + fi
  404 +
  405 + argument "nsi" > /dev/null
  406 + if [ "$?" == "0" ]; then
  407 + make_nsis
  408 + fi
  409 +
  410 +}
  411 +
  412 +
... ...
win/bundle.cross 0 → 100755
... ... @@ -0,0 +1,180 @@
  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 +MINGW_PREFIX="/usr/x86_64-w64-mingw32/sys-root/mingw"
  22 +PKG_CONFIG="/usr/bin/x86_64-w64-mingw32-pkg-config"
  23 +MINGW_PACKAGE_PREFIX="mingw64"
  24 +REPOSITORY_NAME="pw3270"
  25 +
  26 +# Load bundle functions
  27 +. "$(dirname $(readlink -f "${0}"))/bundle.gtk3"
  28 +
  29 +argument "help" > /dev/null
  30 +if [ "$?" == "0" ]; then
  31 + echo " --install-requires Install required packages"
  32 + echo " --build Build application from source"
  33 +fi
  34 +
  35 +prepare
  36 +
  37 +# List of pre-req packages
  38 +# gdk-pixbuf-loader-rsvg
  39 +
  40 +# List of pre-built packages
  41 +packages="lib3270 libv3270 libipc3270 libhllapi pw3270-plugin-ipc"
  42 +dev_packages="lib3270 libv3270 libipc3270"
  43 +
  44 +install_prereqs() {
  45 +
  46 + local list
  47 + local package
  48 +
  49 + list="${packages}"
  50 + for package in ${dev_packages}
  51 + do
  52 + list="${list} ${package}-devel"
  53 + done
  54 +
  55 + echo "Installing: ${list}"
  56 +
  57 + REPONUMBER=$(zypper lr | grep "${REPOSITORY_NAME}" | cut -d\| -f1)
  58 + if [ -z "${REPONUMBER}" ]; then
  59 + echo "Cant locate repository ${REPOSITORY_NAME}"
  60 + exit -1
  61 + fi
  62 +
  63 + sudo zypper ref ${REPONUMBER}
  64 + if [ "$?" != "0" ]; then
  65 + echo "Cant refresh repository ${REPOSITORY_NAME}"
  66 + exit -1
  67 + fi
  68 +
  69 + for package in ${list}
  70 + do
  71 + sudo zypper in --repo ${REPONUMBER} "${MINGW_PACKAGE_PREFIX}-${package}"
  72 + if [ "$?" != "0" ]; then
  73 + echo "Cant install ${MINGW_PACKAGE_PREFIX}-${package} from ${REPOSITORY_NAME}"
  74 + exit -1
  75 + fi
  76 + done
  77 +}
  78 +
  79 +argument "install-requires" > /dev/null
  80 +if [ "$?" == "0" ]; then
  81 + install_prereqs
  82 +fi
  83 +
  84 +argument "build" > /dev/null
  85 +if [ "$?" == "0" ]; then
  86 +
  87 + NOCONFIGURE=1 ./autogen.sh
  88 + if [ "$?" != "0" ]; then
  89 + echo "Configure failed"
  90 + exit -1
  91 + fi
  92 +
  93 + ${MINGW_PACKAGE_PREFIX}-configure
  94 + if [ "$?" != "0" ]; then
  95 + echo "Configure failed"
  96 + exit -1
  97 + fi
  98 +
  99 + build_package
  100 +
  101 +else
  102 +
  103 + packages="${packages} pw3270"
  104 +
  105 +fi
  106 +
  107 +unpack_rpm() {
  108 +
  109 + local package
  110 + local list
  111 + local PACKAGE_NAME
  112 +
  113 + for package in ${packages}
  114 + do
  115 + PACKAGE_NAME=$(rpm -qa | grep "${MINGW_PACKAGE_PREFIX}-${package}" | grep -v devel | head --lines=1)
  116 + if [ -z "${PACKAGE_NAME}" ]; then
  117 + echo "No data from ${MINGW_PACKAGE_PREFIX}-${package}"
  118 + exit -1
  119 + fi
  120 + echo "Copy ${PACKAGE_NAME}"
  121 + for FILE in $(rpm -ql "${PACKAGE_NAME}")
  122 + do
  123 + if [ ! -d ${FILE} ]; then
  124 +
  125 + FILEPATH="${buildroot}${FILE}"
  126 + mkdir -p "$(dirname ${FILEPATH})"
  127 + if [ "$?" != "0" ]; then
  128 + exit -1
  129 + fi
  130 +
  131 + cp "${FILE}" "${FILEPATH}"
  132 + if [ "$?" != "0" ]; then
  133 + echo "Cant copy '${FILE}' from '${PACKAGE_NAME}'"
  134 + exit -1
  135 + fi
  136 + fi
  137 + done
  138 +
  139 + done
  140 +
  141 +
  142 + for package in ${dev_packages}
  143 + do
  144 + PACKAGE_NAME=$(rpm -qa | grep "${MINGW_PACKAGE_PREFIX}-${package}" | grep devel | head --lines=1)
  145 + if [ -z "${PACKAGE_NAME}" ]; then
  146 + echo "No data from ${MINGW_PACKAGE_PREFIX}-${package}-devel"
  147 + exit -1
  148 + fi
  149 + echo "Copy ${PACKAGE_NAME}"
  150 + for FILE in $(rpm -ql "${PACKAGE_NAME}")
  151 + do
  152 + if [ ! -d ${FILE} ]; then
  153 +
  154 + FILEPATH="${buildroot}${FILE}"
  155 + mkdir -p "$(dirname ${FILEPATH})"
  156 + if [ "$?" != "0" ]; then
  157 + exit -1
  158 + fi
  159 +
  160 + cp "${FILE}" "${FILEPATH}"
  161 + if [ "$?" != "0" ]; then
  162 + echo "Cant copy '${FILE}' from '${PACKAGE_NAME}'"
  163 + exit -1
  164 + fi
  165 + fi
  166 + done
  167 +
  168 + done
  169 +
  170 +}
  171 +
  172 +unpack_rpm
  173 +
  174 +install_gtk3_runtime
  175 +install_license
  176 +
  177 +make_packages
  178 +
  179 +echo "Bundle build complete"
  180 +
... ...
win/bundle.gtk3 0 → 100644
... ... @@ -0,0 +1,139 @@
  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 +# Load bundle functions
  29 +. "$(dirname $(readlink -f "${0}"))/bundle.common"
  30 +
  31 +GTK_PREFIX=$(${PKG_CONFIG} --variable=prefix gtk+-3.0)
  32 +GTK_BINARY_VERSION=$(${PKG_CONFIG} --variable=gtk_binary_version gtk+-3.0)
  33 +GTK_LIBDIR=$(echo $(${PKG_CONFIG} --variable=libdir gtk+-3.0) | sed "s@^C:/@/c/@g")
  34 +GDK_LOADERS=$(echo $(${PKG_CONFIG} --variable=gdk_pixbuf_binarydir gdk-pixbuf-2.0) | sed -e "s@${GTK_PREFIX}@@g")
  35 +
  36 +install_schemas() {
  37 +
  38 + mkdir -p ${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas
  39 +
  40 + schemas="
  41 + org.gtk.Settings.FileChooser.gschema.xml
  42 + gschema.dtd
  43 + "
  44 +
  45 + for schema in ${schemas}
  46 + do
  47 + cp -v "${MINGW_PREFIX}/share/glib-2.0/schemas/${schema}" "${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas"
  48 + if [ "$?" != "0" ]; then
  49 + exit -1
  50 + fi
  51 + done
  52 +
  53 + glib-compile-schemas \
  54 + --targetdir="${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas" \
  55 + "${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas"
  56 +
  57 + if [ "$?" != "0" ]; then
  58 + exit -1
  59 + fi
  60 +}
  61 +
  62 +install_theme() {
  63 +
  64 + mkdir -p "${buildroot}${MINGW_PREFIX}/etc"
  65 + cp -rv "${MINGW_PREFIX}/etc/gtk-3.0" "${buildroot}${MINGW_PREFIX}/etc"
  66 + if [ "$?" != "0" ]; then
  67 + exit -1
  68 + fi
  69 +
  70 + # https://stackoverflow.com/questions/37035936/how-to-get-native-windows-decorations-on-gtk3-on-windows-7-and-msys2
  71 + mkdir -p ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0
  72 + rm -f ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/settings.ini
  73 + rm -f ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/gtkrc
  74 +
  75 + echo "[Settings]" > ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/settings.ini
  76 + echo "gtk-theme-name=${1}" >> ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/settings.ini
  77 +
  78 + if [ -e "${srcdir}/win/gtk.css" ]; then
  79 + mkdir -p "${buildroot}${MINGW_PREFIX}/share/themes/Default/gtk-3.0"
  80 + cp "${srcdir}/win/gtk.css" "${buildroot}${MINGW_PREFIX}/share/themes/Default/gtk-3.0/gtk.css"
  81 + fi
  82 +
  83 +}
  84 +
  85 +install_icons() {
  86 +
  87 + mkdir -p "${buildroot}${MINGW_PREFIX}/share/icons"
  88 +
  89 + if [ -d "${MINGW_PREFIX}/share/icons/${1}" ]; then
  90 +
  91 + cp -rv "${MINGW_PREFIX}/share/icons/${1}" "${buildroot}${MINGW_PREFIX}/share/icons"
  92 + if [ "$?" != 0 ]; then
  93 + echo "Can´t copy ${1} icons"
  94 + exit -1
  95 + fi
  96 +
  97 + elif [ -d "/usr/share/icons/${1}" ]; then
  98 +
  99 + cp -rv "/usr/share/icons/${1}" "${buildroot}${MINGW_PREFIX}/share/icons"
  100 + if [ "$?" != 0 ]; then
  101 + echo "Can´t copy ${1} icons"
  102 + exit -1
  103 + fi
  104 +
  105 + else
  106 +
  107 + echo "Can´t find ${1} icons"
  108 + exit -1
  109 +
  110 + fi
  111 +
  112 +}
  113 +
  114 +install_loaders() {
  115 +
  116 + if [ -d "${MINGW_PREFIX}${GDK_LOADERS}" ]; then
  117 + mkdir -p "${buildroot}/${MINGW_PREFIX}${GDK_LOADERS}"
  118 + cp -rv ${MINGW_PREFIX}${GDK_LOADERS}/* "${buildroot}/${MINGW_PREFIX}${GDK_LOADERS}"
  119 + if [ "$?" != "0" ]; then
  120 + exit -1
  121 + fi
  122 +
  123 + find ${buildroot}/${MINGW_PREFIX}${GDK_LOADERS} -iname "*.a" -exec rm -f {} \;
  124 +
  125 + fi
  126 +
  127 +}
  128 +
  129 +install_gtk3_runtime() {
  130 +
  131 + install_loaders
  132 + install_bin
  133 + install_locale
  134 + install_schemas
  135 + install_theme "Adwaita"
  136 + install_icons "Adwaita"
  137 +
  138 +}
  139 +
... ...
win/bundle.msys 0 → 100755
... ... @@ -0,0 +1,38 @@
  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 +# Load bundle functions
  22 +. "$(dirname $(readlink -f "${0}"))/bundle.gtk3"
  23 +
  24 +prepare
  25 +
  26 +for package in ${srcdir}/*.pkg.tar.zst
  27 +do
  28 + echo ${package}
  29 + tar -C ${buildroot} --zstd -xf ${package}
  30 + if [ "$?" != "0" ]; then
  31 + echo "Error unpacking ${package}"
  32 + exit -1
  33 + fi
  34 +done
  35 +
  36 +install_gtk3_runtime
  37 +
  38 +
... ...
win/ci-build.sh
1 1 #!/bin/bash
2 2 #
  3 +# SPDX-License-Identifier: LGPL-3.0-or-later
  4 +#
  5 +# Copyright (C) 2008 Banco do Brasil S.A.
  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 +#
3 21 # References:
4 22 #
5 23 # * https://www.msys2.org/docs/ci/
6 24 #
7   -#
  25 +
8 26 echo "Running ${0}"
9 27  
10 28 LOGFILE=build.log
... ... @@ -16,49 +34,20 @@ die ( ) {
16 34 exit -1
17 35 }
18 36  
19   -myDIR=$(dirname $(dirname $(readlink -f ${0})))
20   -echo "myDIR=${myDIR}"
21   -
22   -cd ${myDIR}
23   -rm -fr ${myDIR}/.build
24   -
25   -#
26   -# Build LIB3270
27   -#
28   -echo "Building lib3270"
29   -mkdir -p ${myDIR}/.build/lib3270
30   -git clone https://github.com/PerryWerneck/lib3270.git ${myDIR}/.build/lib3270 > $LOGFILE 2>&1 || die "clone lib3270 failure"
31   -pushd ${myDIR}/.build/lib3270
32   -./autogen.sh > $LOGFILE 2>&1 || die "Autogen failure"
33   -./configure > $LOGFILE 2>&1 || die "Configure failure"
34   -make clean > $LOGFILE 2>&1 || die "Make clean failure"
35   -make all > $LOGFILE 2>&1 || die "Make failure"
36   -make install > $LOGFILE 2>&1 || die "Install failure"
37   -popd
  37 +cd $(dirname $(dirname $(readlink -f ${0})))
38 38  
39 39 #
40   -# Build LIBV3270
  40 +# Install pre-reqs
41 41 #
42   -echo "Building libv3270"
43   -mkdir -p ${myDIR}/.build/libv3270
44   -git clone https://github.com/PerryWerneck/libv3270.git ${myDIR}/.build/libv3270 > $LOGFILE 2>&1 || die "clone libv3270 failure"
45   -pushd ${myDIR}/.build/libv3270
46   -./autogen.sh > $LOGFILE 2>&1 || die "Autogen failure"
47   -./configure > $LOGFILE 2>&1 || die "Configure failure"
48   -make clean > $LOGFILE 2>&1 || die "Make clean failure"
49   -make all > $LOGFILE 2>&1 || die "Make failure"
50   -make install > $LOGFILE 2>&1 || die "Install failure"
51   -popd
  42 +echo "Installing pre-reqs..."
  43 +pacman -U --noconfirm *.pkg.tar.zst || die "pacman failure"
52 44  
53 45 #
54   -# Build PW3270
  46 +# Build
55 47 #
56   -echo "Building PW3270"
57   -cd ${myDIR}
58   -./autogen.sh > $LOGFILE 2>&1 || die "Autogen failure"
59   -./configure > $LOGFILE 2>&1 || die "Configure failure"
60   -make clean > $LOGFILE 2>&1 || die "Make clean failure"
61   -make all > $LOGFILE 2>&1 || die "Make failure"
  48 +echo "Building package..."
  49 +dos2unix PKGBUILD.mingw || die "dos2unix failure"
  50 +makepkg BUILDDIR=/tmp/pkg -p PKGBUILD.mingw || die "makepkg failure"
62 51  
63 52 echo "Build complete"
64 53  
... ...
win/pw3270.nsi.in
... ... @@ -24,20 +24,16 @@
24 24  
25 25 Name "@PRODUCT_NAME@"
26 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 29 XPStyle on
34 30  
35 31 installDir "$@PROGRAMFILES@\@PRODUCT_NAME@"
36 32  
37 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 38 # Get installation folder from registry if available
43 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 56 # Interface
61 57  
62 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 61 !insertmacro MUI_PAGE_COMPONENTS
66 62 !insertmacro MUI_PAGE_DIRECTORY
67 63 !insertmacro MUI_PAGE_INSTFILES
68 64  
69   -# !insertmacro MUI_UNPAGE_WELCOME
  65 +!insertmacro MUI_UNPAGE_WELCOME
70 66 !insertmacro MUI_UNPAGE_CONFIRM
71 67 !insertmacro MUI_UNPAGE_INSTFILES
72   -# !insertmacro MUI_UNPAGE_FINISH
  68 +!insertmacro MUI_UNPAGE_FINISH
73 69  
74 70 # Languages
75 71 !insertmacro MUI_LANGUAGE "English"
... ... @@ -80,71 +76,48 @@ VIAddVersionKey &quot;LegalCopyright&quot; &quot;(C) 2017 Banco do Brasil S/A. All Rights Reser
80 76 # default section
81 77 SubSection "@PRODUCT_NAME@" SecMain
82 78  
83   - Section "Core" SecCore
  79 + Section "@PRODUCT_NAME@" SecCore
84 80  
85 81 SetRegView @WINARCH@
86 82 ${DisableX64FSRedirection}
87 83  
88   - # define the output path for this file
89   - setOutPath $INSTDIR
  84 + # Set SMPROGRAMS and DESKTOP path
90 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"
94   -
95 87 # 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"
  88 + setOutPath "$INSTDIR"
  89 + file /r "bin"
  90 +
  91 + setOutPath "$INSTDIR\share\@PRODUCT_NAME@"
  92 + file /r "share\@PRODUCT_NAME@\*.png"
  93 + file /r "share\@PRODUCT_NAME@\*.svg"
  94 + file /r "share\@PRODUCT_NAME@\*.ui.xml"
  95 + file /r "share\@PRODUCT_NAME@\*.conf"
  96 +
  97 + setOutPath "$INSTDIR\share\@PRODUCT_NAME@\remap"
  98 + file /r "share\@PRODUCT_NAME@\remap\*"
  99 +
  100 + setOutPath "$INSTDIR\lib\gdk-pixbuf-2.0"
  101 + file /r "lib\gdk-pixbuf-2.0\*"
  102 +
  103 + setOutPath "$INSTDIR\etc"
  104 + file /r "etc\*"
  105 +
  106 + setOutPath "$INSTDIR\share\locale"
  107 + file /r "share\locale\*"
147 108  
  109 + setOutPath "$INSTDIR\share\themes"
  110 + file /r "share\themes\*"
  111 +
  112 + setOutPath "$INSTDIR\share\icons"
  113 + file /r "share\icons\*"
  114 +
  115 + setOutPath "$INSTDIR\share\glib-2.0"
  116 + file /r "share\glib-2.0\*"
  117 +
  118 + setOutPath "$INSTDIR\share\@PRODUCT_NAME@\icons"
  119 + file /r "share\@PRODUCT_NAME@\icons\*"
  120 +
148 121 # define uninstaller name
149 122 SetRegView 32
150 123  
... ... @@ -209,124 +182,54 @@ SubSection &quot;@PRODUCT_NAME@&quot; SecMain
209 182 WriteRegStr HKLM "Software\@PRODUCT_NAME@" "font-family" "Lucida Console"
210 183 WriteRegStr HKLM "Software\@PRODUCT_NAME@" "colors" "rgb(24,24,24);rgb(79,156,254);rgb(237,74,70);rgb(235,110,183);rgb(131,199,70);rgb(86,216,201);rgb(239,197,65);rgb(222,222,222);rgb(59,59,59);rgb(54,142,171);rgb(250,145,83);rgb(165,128,226);rgb(112,180,51);rgb(65,199,185);rgb(219,179,45);rgb(119,119,119);rgb(131,199,70);rgb(237,74,70);rgb(65,199,185);rgb(250,145,83);rgb(37,37,37);rgb(222,222,222);rgb(222,222,222);rgb(24,24,24);rgb(222,222,222);rgb(79,156,254);rgb(131,199,70);rgb(239,197,65);rgb(239,197,65)"
211 184  
212   - sectionEnd
  185 + createShortCut "$SMPROGRAMS\@PRODUCT_NAME@.lnk" "$INSTDIR\bin\@PRODUCT_NAME@.exe" "" "$INSTDIR\bin\@PRODUCT_NAME@.ico"
  186 + createShortCut "$DESKTOP\@PRODUCT_NAME@.lnk" "$INSTDIR\bin\@PRODUCT_NAME@.exe" "" "$INSTDIR\bin\@PRODUCT_NAME@.ico"
213 187  
214   -!ifdef WITHCERTS
215   - Section "SSL Certificates" SSLCerts
216   - setOutPath $INSTDIR\certs
217   - file /r "sslcerts\*.*"
218 188 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 189  
287 190 !ifdef WITHSDK
288   - Section /o "Software Development Kit" SDK
  191 + Section /o "Software Development Kit" SDK
289 192  
290 193 setOutPath $INSTDIR\sdk\include
291 194 file /r "include\*.*"
292 195  
293   - CreateDirectory "$INSTDIR\sdk"
294   - CreateDirectory "$INSTDIR\sdk\def"
295   - CreateDirectory "$INSTDIR\sdk\lib"
  196 + setOutPath $INSTDIR\sdk\lib
  197 + file /r "lib\*.a"
296 198  
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"
  199 + setOutPath $INSTDIR\sdk\lib\pkgconfig
  200 + file /r "lib\pkgconfig\*.pc"
304 201  
305   - file "/oname=$INSTDIR\sdk\lib3270.mak" "share\@PRODUCT_NAME@\def\lib3270.mak"
306   -
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 206 SetRegView @WINARCH@
313 207 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PW3270_SDK_PATH" "$INSTDIR\sdk"
314 208 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
315 209  
316   - SectionEnd
  210 + SectionEnd
317 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
324 223  
325   - setOutPath $INSTDIR
326   - file /r "runtime\*.*"
  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"
  227 +
  228 + sectionEnd
327 229  
328   -SectionEnd
329   -!endif
  230 + SubSectionEnd
  231 +
  232 +SubSectionEnd
330 233  
331 234 Section "Uninstall"
332 235  
... ... @@ -343,15 +246,7 @@ Section &quot;Uninstall&quot;
343 246 delete $SMPROGRAMS\@PRODUCT_NAME@.lnk
344 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 251 # Remove registry
357 252 SetRegView 32
... ... @@ -486,42 +381,6 @@ Function .onInit
486 381  
487 382 !endif
488 383  
489   -
490   - #---[ Check for GTK runtime ]------------------------------------------------------------------------
491   -
492   -!ifdef WITHGTK
493   -
494   - SetRegView @WINARCH@
495   -
496   - ReadRegStr $4 HKLM "Software\gtkwin\@GTK_MODVERSION@" "path"
497   -
498   - ${if} $4 == ""
499   -
500   - SectionGetFlags ${SecGTK} $0
501   - IntOp $0 $0 | ${SF_SELECTED}
502   - SectionSetFlags ${SecGTK} $0
503   -
504   - ${Else}
505   -
506   - ${if} ${FileExists} `$4\*.*`
507   -
508   - SectionGetFlags ${SecGTK} $0
509   - IntOp $0 $0 & ${SECTION_OFF}
510   - SectionSetFlags ${SecGTK} $0
511   -
512   - ${Else}
513   -
514   - SectionGetFlags ${SecGTK} $0
515   - IntOp $0 $0 | ${SF_SELECTED}
516   - SectionSetFlags ${SecGTK} $0
517   -
518   - ${EndIf}
519   -
520   - ${EndIf}
521   -
522   -!endif
523   -
524   -
525 384 FunctionEnd
526 385  
527 386 Function .onInstSuccess
... ...
wine-run.sh
1 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  
... ...