Commit c33f93470bafc8ec4c179ff727d6375da26af394

Authored by Perry Werneck
Committed by GitHub
2 parents 7c8537fe 61064ce2
Exists in develop

Merge pull request #55 from PerryWerneck/develop

Better win32 package.
.github/workflows/msys2.yml
@@ -6,7 +6,6 @@ on: @@ -6,7 +6,6 @@ on:
6 push: 6 push:
7 branches: 7 branches:
8 - develop 8 - develop
9 -  
10 jobs: 9 jobs:
11 msys2-mingw: 10 msys2-mingw:
12 name: Publish Windows 64 11 name: Publish Windows 64
@@ -19,25 +18,24 @@ jobs: @@ -19,25 +18,24 @@ jobs:
19 - uses: oprypin/find-latest-tag@v1 18 - uses: oprypin/find-latest-tag@v1
20 id: gettag 19 id: gettag
21 with: 20 with:
22 - repository: PerryWerneck/libv3270 21 + repository: PerryWerneck/pw3270
23 releases-only: true 22 releases-only: true
24 - uses: msys2/setup-msys2@v2 23 - uses: msys2/setup-msys2@v2
25 with: 24 with:
26 msystem: mingw64 25 msystem: mingw64
27 update: true 26 update: true
28 - 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
29 - uses: robinraju/release-downloader@v1.7 28 - uses: robinraju/release-downloader@v1.7
30 with: 29 with:
31 repository: "PerryWerneck/lib3270" 30 repository: "PerryWerneck/lib3270"
32 latest: true 31 latest: true
33 - fileName: "mingw-lib3270.x86_64.tar.xz" 32 + fileName: "mingw-w64-x86_64-lib3270-5.4-0-x86_64.pkg.tar.zst"
34 - uses: robinraju/release-downloader@v1.7 33 - uses: robinraju/release-downloader@v1.7
35 with: 34 with:
36 repository: "PerryWerneck/libv3270" 35 repository: "PerryWerneck/libv3270"
37 latest: true 36 latest: true
38 - fileName: "mingw-libv3270.x86_64.tar.xz" 37 + fileName: "mingw-w64-x86_64-libv3270-5.4-0-x86_64.pkg.tar.zst"
39 - name: CI-Build 38 - name: CI-Build
40 - run: |  
41 - ./win/ci-build.sh 39 + run: ./win/ci-build.sh
42 40
43 41
.github/workflows/winpkg.yml 0 → 100644
@@ -0,0 +1,84 @@ @@ -0,0 +1,84 @@
  1 +---
  2 +name: WinPKG
  3 +on:
  4 + pull_request:
  5 + branches:
  6 + - master
  7 + push:
  8 + branches:
  9 + - winpkg
  10 +jobs:
  11 + msys2-mingw64:
  12 + name: Publish for Windows 64
  13 + runs-on: windows-latest
  14 + defaults:
  15 + run:
  16 + shell: msys2 {0}
  17 + steps:
  18 + - uses: actions/checkout@v3
  19 + - uses: oprypin/find-latest-tag@v1
  20 + id: gettag
  21 + with:
  22 + repository: PerryWerneck/pw3270
  23 + sort-tags: true
  24 + releases-only: true
  25 + - uses: msys2/setup-msys2@v2
  26 + with:
  27 + msystem: mingw64
  28 + update: true
  29 + install: xz dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf
  30 + mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl
  31 + libtool mingw-w64-x86_64-gtk3 mingw-w64-x86_64-librsvg mingw-w64-x86_64-gdk-pixbuf2
  32 + mingw-w64-x86_64-optipng mingw-w64-x86_64-nsis
  33 + - uses: robinraju/release-downloader@v1.7
  34 + with:
  35 + repository: "PerryWerneck/lib3270"
  36 + latest: true
  37 + fileName: "mingw-w64-x86_64-lib3270-5.4-0-x86_64.pkg.tar.zst"
  38 + - uses: robinraju/release-downloader@v1.7
  39 + with:
  40 + repository: "PerryWerneck/libv3270"
  41 + latest: true
  42 + fileName: "mingw-w64-x86_64-libv3270-5.4-0-x86_64.pkg.tar.zst"
  43 + - name: BuildApp
  44 + run: ./win/ci-build.sh
  45 + - uses: ncipollo/release-action@v1
  46 + with:
  47 + tag: ${{ steps.gettag.outputs.tag }}
  48 + artifacts: "*-pw3270-*.pkg.tar.zst"
  49 + allowUpdates: true
  50 + draft: true
  51 + makeLatest: true
  52 + omitBody: true
  53 + omitPrereleaseDuringUpdate: true
  54 + replacesArtifacts: true
  55 + - uses: robinraju/release-downloader@v1.7
  56 + with:
  57 + repository: PerryWerneck/libipc3270
  58 + latest: true
  59 + fileName: mingw-w64-x86_64-libipc3270-5.5-0-x86_64.pkg.tar.zst
  60 + - uses: robinraju/release-downloader@v1.7
  61 + with:
  62 + repository: PerryWerneck/libhllapi
  63 + latest: true
  64 + fileName: mingw-w64-x86_64-libhllapi-5.5-0-x86_64.pkg.tar.zst
  65 + - uses: robinraju/release-downloader@v1.7
  66 + with:
  67 + repository: PerryWerneck/pw3270-plugin-ipc
  68 + latest: true
  69 + fileName: mingw-w64-x86_64-pw3270-plugin-ipc-5.5-0-x86_64.pkg.tar.zst
  70 + - name: Make bundle
  71 + run: ./win/bundle.msys
  72 + - name: Make Package
  73 + run: tar -C ./.bin/bundle -Jcf mingw-w64-x86_64-pw3270-bundle-x86_64.tar.xz .
  74 + - uses: ncipollo/release-action@v1
  75 + with:
  76 + tag: ${{ steps.gettag.outputs.tag }}
  77 + artifacts: "*-pw3270-*.tar.xz"
  78 + allowUpdates: true
  79 + draft: true
  80 + makeLatest: true
  81 + omitBody: true
  82 + omitPrereleaseDuringUpdate: true
  83 + replacesArtifacts: true
  84 +
  1 +.tmp
  2 +.bin
  3 +.obj
  4 +.pot
1 .* 5 .*
2 *~ 6 *~
3 *.log 7 *.log
@@ -69,5 +73,4 @@ m4 @@ -69,5 +73,4 @@ m4
69 po 73 po
70 app-manifest.xml 74 app-manifest.xml
71 libtool 75 libtool
72 -  
73 - 76 +*.pkg.tar.zst
@@ -29,6 +29,7 @@ datarootdir=@datarootdir@ @@ -29,6 +29,7 @@ datarootdir=@datarootdir@
29 localedir=@localedir@ 29 localedir=@localedir@
30 docdir=@docdir@ 30 docdir=@docdir@
31 sysconfdir=@sysconfdir@ 31 sysconfdir=@sysconfdir@
  32 +datadir="$(datarootdir)/@PRODUCT_NAME@"
32 33
33 #---[ Configuration ]-------------------------------------------------------------------- 34 #---[ Configuration ]--------------------------------------------------------------------
34 35
@@ -72,7 +73,6 @@ MSGCAT=@MSGCAT@ @@ -72,7 +73,6 @@ MSGCAT=@MSGCAT@
72 WINDRES=@WINDRES@ 73 WINDRES=@WINDRES@
73 AR=@AR@ 74 AR=@AR@
74 VALGRIND=@VALGRIND@ 75 VALGRIND=@VALGRIND@
75 -CONVERT=@CONVERT@  
76 STRIP=@STRIP@ 76 STRIP=@STRIP@
77 77
78 #---[ Build Paths ]---------------------------------------------------------------------- 78 #---[ Build Paths ]----------------------------------------------------------------------
@@ -127,6 +127,13 @@ $(OBJDBG)/%.o: \ @@ -127,6 +127,13 @@ $(OBJDBG)/%.o: \
127 -DDEBUG=1 \ 127 -DDEBUG=1 \
128 -o $@ -c $< 128 -o $@ -c $<
129 129
  130 +%.ico: \
  131 + $(srcdir)/branding/%.ico
  132 +
  133 + @echo $< ...
  134 + @$(MKDIR) $(@D)
  135 + @cp "$<" "$@"
  136 +
130 $(OBJDBG)/%.o: \ 137 $(OBJDBG)/%.o: \
131 %.rc \ 138 %.rc \
132 $(PRODUCT_NAME).ico 139 $(PRODUCT_NAME).ico
@@ -218,30 +225,6 @@ install-%: \ @@ -218,30 +225,6 @@ install-%: \
218 prefix=$(prefix) \ 225 prefix=$(prefix) \
219 install 226 install
220 227
221 -%.ico: \  
222 - $(srcdir)/branding/%.svg  
223 -  
224 - @echo $@ ...  
225 - @$(MKDIR) $(@D)  
226 - @$(CONVERT) \  
227 - -density 384 \  
228 - -background transparent \  
229 - $< \  
230 - -define icon:auto-resize \  
231 - -colors 256 \  
232 - $@  
233 -  
234 -%.png: \  
235 - $(srcdir)/branding/%.svg  
236 -  
237 - @echo $@ ...  
238 - @$(MKDIR) $(@D)  
239 - @$(CONVERT) \  
240 - +antialias \  
241 - -background transparent \  
242 - $< \  
243 - $@  
244 -  
245 #---[ Main Target ]---------------------------------------------------------------------- 228 #---[ Main Target ]----------------------------------------------------------------------
246 229
247 all: \ 230 all: \
@@ -318,7 +301,7 @@ install-macos-application: \ @@ -318,7 +301,7 @@ install-macos-application: \
318 $(DESTDIR)$(bindir)/$(PRODUCT_NAME)@EXEEXT@ 301 $(DESTDIR)$(bindir)/$(PRODUCT_NAME)@EXEEXT@
319 302
320 install-windows-application: \ 303 install-windows-application: \
321 - $(PRODUCT_NAME).png \ 304 + branding/$(PRODUCT_NAME).png \
322 strip 305 strip
323 306
324 @$(MKDIR) \ 307 @$(MKDIR) \
@@ -332,7 +315,7 @@ install-windows-application: \ @@ -332,7 +315,7 @@ install-windows-application: \
332 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME) 315 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)
333 316
334 @$(INSTALL_DATA) \ 317 @$(INSTALL_DATA) \
335 - $(PRODUCT_NAME).png \ 318 + branding/$(PRODUCT_NAME).png \
336 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).png 319 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).png
337 320
338 @$(INSTALL_DATA) \ 321 @$(INSTALL_DATA) \
PKGBUILD.mingw 0 → 100644
@@ -0,0 +1,62 @@ @@ -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 +}
1 -  
2 ## GTK Based 3270 terminal emulator 1 ## GTK Based 3270 terminal emulator
3 2
4 <img src="https://raw.githubusercontent.com/PerryWerneck/PerryWerneck/master/screenshots/mvs-tk4.png" alt="Screenshot"> 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,20 +14,16 @@ Created originally for Banco do Brasil, it&#39;s now an official Brazilian Governmen
15 14
16 ## Installation 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 [<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) 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 [<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) 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 ## Building for Linux 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 PACKAGE_NAME=@PACKAGE_NAME@ 19 PACKAGE_NAME=@PACKAGE_NAME@
@@ -43,19 +35,20 @@ MKDIR=@MKDIR_P@ @@ -43,19 +35,20 @@ MKDIR=@MKDIR_P@
43 INSTALL=@INSTALL@ 35 INSTALL=@INSTALL@
44 INSTALL_DATA=@INSTALL_DATA@ 36 INSTALL_DATA=@INSTALL_DATA@
45 INSTALL_PROGRAM=@INSTALL_PROGRAM@ 37 INSTALL_PROGRAM=@INSTALL_PROGRAM@
46 -CONVERT=@CONVERT@  
47 DESKTOP_INSTALL=@DESKTOP_INSTALL@ 38 DESKTOP_INSTALL=@DESKTOP_INSTALL@
48 SCOUR=@SCOUR@ 39 SCOUR=@SCOUR@
49 APPSTREAMCLI=@APPSTREAMCLI@ 40 APPSTREAMCLI=@APPSTREAMCLI@
50 41
51 -#---[ Rules ]---------------------------------------------------------------------------- 42 +# CONVERT=@CONVERT@
52 43
53 -%.ico: \  
54 - $(PRODUCT_NAME).svg 44 +#---[ Rules ]----------------------------------------------------------------------------
55 45
56 - @echo $@ ...  
57 - @$(MKDIR) `dirname $@`  
58 - @$(CONVERT) -density 384 -background transparent $< -define icon:auto-resize -colors 256 $@ 46 +#%.ico: \
  47 +# %.svg
  48 +#
  49 +# @echo $@ ...
  50 +# @$(MKDIR) `dirname $@`
  51 +# @$(CONVERT) -density 384 -background transparent $< -define icon:auto-resize -colors 256 $@
59 52
60 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/%.svg: \ 53 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/%.svg: \
61 $(srcdir)/%.svg 54 $(srcdir)/%.svg
@@ -101,11 +94,10 @@ endif @@ -101,11 +94,10 @@ endif
101 94
102 validate: 95 validate:
103 96
104 -ifneq ($(SCOUR),no) 97 +ifneq ($(APPSTREAMCLI),no)
105 @$(APPSTREAMCLI) validate metainfo.xml 98 @$(APPSTREAMCLI) validate metainfo.xml
106 endif 99 endif
107 100
108 -  
109 install: \ 101 install: \
110 install-@OSNAME@ 102 install-@OSNAME@
111 103
@@ -159,7 +151,12 @@ install-macos: \ @@ -159,7 +151,12 @@ install-macos: \
159 151
160 install-windows: \ 152 install-windows: \
161 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).svg \ 153 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).svg \
162 - $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME)-logo.svg \  
163 - $(DESTDIR)$(bindir)/$(PRODUCT_NAME).ico 154 + $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME)-logo.svg
  155 +
  156 + @$(MKDIR) $(DESTDIR)$(bindir)
  157 +
  158 + @$(INSTALL_DATA) \
  159 + $(PRODUCT_NAME).ico \
  160 + $(DESTDIR)$(bindir)/$(PRODUCT_NAME).ico
164 161
165 162
branding/dropbox-badge-en.svg 0 → 100644
@@ -0,0 +1,132 @@ @@ -0,0 +1,132 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<svg
  3 + xmlns:dc="http://purl.org/dc/elements/1.1/"
  4 + xmlns:cc="http://creativecommons.org/ns#"
  5 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  6 + xmlns:svg="http://www.w3.org/2000/svg"
  7 + xmlns="http://www.w3.org/2000/svg"
  8 + xmlns: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 @@ @@ -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 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 -<!-- Created with Inkscape (http://www.inkscape.org/) -->  
3 -  
4 <svg 2 <svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/" 3 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#" 4 xmlns:cc="http://creativecommons.org/ns#"
@@ -14,10 +12,10 @@ @@ -14,10 +12,10 @@
14 height="256" 12 height="256"
15 id="svg2685" 13 id="svg2685"
16 sodipodi:version="0.32" 14 sodipodi:version="0.32"
17 - inkscape:version="0.48.1 r9760" 15 + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
18 sodipodi:docname="pw3270.svg" 16 sodipodi:docname="pw3270.svg"
19 inkscape:output_extension="org.inkscape.output.svg.inkscape" 17 inkscape:output_extension="org.inkscape.output.svg.inkscape"
20 - inkscape:export-filename="/home/perry/Project/3270/v4/image/icon.png" 18 + inkscape:export-filename="/home/perry/project/pw3270/pw3270/branding/pw3270.png"
21 inkscape:export-xdpi="90" 19 inkscape:export-xdpi="90"
22 inkscape:export-ydpi="90" 20 inkscape:export-ydpi="90"
23 version="1.1"> 21 version="1.1">
@@ -61,17 +59,19 @@ @@ -61,17 +59,19 @@
61 inkscape:pageopacity="0.0" 59 inkscape:pageopacity="0.0"
62 inkscape:pageshadow="2" 60 inkscape:pageshadow="2"
63 inkscape:zoom="0.97227183" 61 inkscape:zoom="0.97227183"
64 - inkscape:cx="-138.53895" 62 + inkscape:cx="-139.56747"
65 inkscape:cy="32" 63 inkscape:cy="32"
66 inkscape:current-layer="layer1" 64 inkscape:current-layer="layer1"
67 showgrid="true" 65 showgrid="true"
68 inkscape:document-units="px" 66 inkscape:document-units="px"
69 inkscape:grid-bbox="true" 67 inkscape:grid-bbox="true"
70 inkscape:window-width="1366" 68 inkscape:window-width="1366"
71 - inkscape:window-height="744" 69 + inkscape:window-height="714"
72 inkscape:window-x="0" 70 inkscape:window-x="0"
73 - inkscape:window-y="24"  
74 - inkscape:window-maximized="1" /> 71 + inkscape:window-y="0"
  72 + inkscape:window-maximized="1"
  73 + inkscape:document-rotation="0"
  74 + inkscape:pagecheckerboard="true" />
75 <metadata 75 <metadata
76 id="metadata2690"> 76 id="metadata2690">
77 <rdf:RDF> 77 <rdf:RDF>
@@ -80,6 +80,7 @@ @@ -80,6 +80,7 @@
80 <dc:format>image/svg+xml</dc:format> 80 <dc:format>image/svg+xml</dc:format>
81 <dc:type 81 <dc:type
82 rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 82 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  83 + <dc:title></dc:title>
83 </cc:Work> 84 </cc:Work>
84 </rdf:RDF> 85 </rdf:RDF>
85 </metadata> 86 </metadata>
branding/release-badge-en.svg 0 → 100644
@@ -0,0 +1,132 @@ @@ -0,0 +1,132 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<svg
  3 + xmlns:dc="http://purl.org/dc/elements/1.1/"
  4 + xmlns:cc="http://creativecommons.org/ns#"
  5 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  6 + xmlns:svg="http://www.w3.org/2000/svg"
  7 + xmlns="http://www.w3.org/2000/svg"
  8 + xmlns:xlink="http://www.w3.org/1999/xlink"
  9 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  10 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  11 + width="602"
  12 + height="202"
  13 + viewBox="0 0 602 202.00001"
  14 + version="1.1"
  15 + id="svg8129"
  16 + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
  17 + sodipodi:docname="release-badge-en.svg"
  18 + inkscape:export-filename="/home/jimmac/SparkleShare/flathub-mockups/assets/download-button/download.png"
  19 + inkscape:export-xdpi="96"
  20 + inkscape:export-ydpi="96">
  21 + <defs
  22 + id="defs8123">
  23 + <linearGradient
  24 + id="a"
  25 + x1="34.76569"
  26 + x2="25.431995"
  27 + y1="9.90843"
  28 + y2="28.426884"
  29 + gradientTransform="scale(0.9319351,1.0730361)"
  30 + gradientUnits="userSpaceOnUse">
  31 + <stop
  32 + offset="0"
  33 + stop-color="#fff"
  34 + stop-opacity="0"
  35 + id="stop2" />
  36 + <stop
  37 + offset="1"
  38 + stop-color="#fff"
  39 + stop-opacity=".27451"
  40 + id="stop4" />
  41 + </linearGradient>
  42 + <clipPath
  43 + id="vlpa">
  44 + <path
  45 + d="M 0,200.3 H 320 V 0 H 0 Z"
  46 + id="path4" />
  47 + </clipPath>
  48 + <clipPath
  49 + id="vlpa-5">
  50 + <path
  51 + d="M 0,200.3 H 320 V 0 H 0 Z"
  52 + id="path4-6" />
  53 + </clipPath>
  54 + </defs>
  55 + <sodipodi:namedview
  56 + id="base"
  57 + pagecolor="#ffffff"
  58 + bordercolor="#666666"
  59 + borderopacity="1.0"
  60 + inkscape:pageopacity="0.0"
  61 + inkscape:pageshadow="2"
  62 + inkscape:zoom="1.1171875"
  63 + inkscape:cx="297.92307"
  64 + inkscape:cy="217.5035"
  65 + inkscape:document-units="px"
  66 + inkscape:current-layer="layer1"
  67 + showgrid="false"
  68 + units="px"
  69 + borderlayer="true"
  70 + inkscape:showpageshadow="false"
  71 + inkscape:snap-nodes="false"
  72 + inkscape:snap-bbox="true"
  73 + inkscape:bbox-nodes="true"
  74 + inkscape:snap-bbox-midpoints="true"
  75 + inkscape:window-width="1366"
  76 + inkscape:window-height="714"
  77 + inkscape:window-x="0"
  78 + inkscape:window-y="0"
  79 + inkscape:window-maximized="1"
  80 + inkscape:document-rotation="0"
  81 + fit-margin-left="1"
  82 + fit-margin-right="1"
  83 + fit-margin-bottom="1"
  84 + fit-margin-top="1"
  85 + inkscape:pagecheckerboard="true">
  86 + <inkscape:grid
  87 + type="xygrid"
  88 + id="grid8722"
  89 + originx="1"
  90 + originy="0.99999005" />
  91 + </sodipodi:namedview>
  92 + <metadata
  93 + id="metadata8126">
  94 + <rdf:RDF>
  95 + <cc:Work
  96 + rdf:about="">
  97 + <dc:format>image/svg+xml</dc:format>
  98 + <dc:type
  99 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  100 + <dc:title />
  101 + </cc:Work>
  102 + </rdf:RDF>
  103 + </metadata>
  104 + <g
  105 + inkscape:label="Layer 1"
  106 + inkscape:groupmode="layer"
  107 + id="layer1"
  108 + transform="translate(1,-921.51966)">
  109 + <rect
  110 + style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#888a85;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:normal"
  111 + id="rect8720"
  112 + width="596.22046"
  113 + height="196.22047"
  114 + x="1.8897638"
  115 + y="924.40942"
  116 + rx="32"
  117 + ry="32" />
  118 + <image
  119 + width="151.99791"
  120 + height="148.69359"
  121 + preserveAspectRatio="none"
  122 + style="image-rendering:optimizeQuality"
  123 + xlink:href="data:image/png;base64,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>
@@ -74,7 +74,6 @@ case &quot;$host&quot; in @@ -74,7 +74,6 @@ case &quot;$host&quot; in
74 AC_CONFIG_FILES(src/main/windows/resources.rc) 74 AC_CONFIG_FILES(src/main/windows/resources.rc)
75 AC_CONFIG_FILES(src/main/windows/app-manifest.xml) 75 AC_CONFIG_FILES(src/main/windows/app-manifest.xml)
76 76
77 - AC_CONFIG_FILES(win/makeruntime.sh)  
78 AC_CONFIG_FILES(win/pw3270.nsi) 77 AC_CONFIG_FILES(win/pw3270.nsi)
79 78
80 if test "$host_cpu" = "x86_64"; then 79 if test "$host_cpu" = "x86_64"; then
gitsync.sh
@@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
1 -#!/bin/bash  
2 -#  
3 -# https://help.github.com/articles/syncing-a-fork/  
4 -#  
5 -# https://help.github.com/articles/configuring-a-remote-for-a-fork/  
6 -#  
7 -# https://www.opentechguides.com/how-to/article/git/177/git-sync-repos.html  
8 -#  
9 -# Setup:  
10 -#  
11 -# git remote add github https://github.com/PerryWerneck/lib3270.git  
12 -#  
13 -#  
14 -  
15 -git push  
16 -  
17 -git fetch origin  
18 -git merge  
19 -  
20 -BRANCH=$(git symbolic-ref --short HEAD)  
21 -REPOS=$(git remote -v | grep -v origin | grep "(push)" | awk '{print $1}')  
22 -  
23 -for repo in ${REPOS}  
24 -do  
25 - echo "Getting updates to branch ${BRANCH} from ${repo} ..."  
26 - git fetch "${repo}" "${BRANCH}"  
27 -# git merge 2>&1 > /dev/null  
28 -done  
29 -  
30 -for repo in ${REPOS}  
31 -do  
32 - echo "Updating ${repo} ..."  
33 - git push ${repo}  
34 -done  
35 -  
locale/Makefile.in
@@ -68,6 +68,5 @@ all: \ @@ -68,6 +68,5 @@ all: \
68 $(foreach SRC, $(basename $(wildcard *.po)), $(BINDIR)/$(SRC)/LC_MESSAGES/$(PRODUCT_NAME).mo) 68 $(foreach SRC, $(basename $(wildcard *.po)), $(BINDIR)/$(SRC)/LC_MESSAGES/$(PRODUCT_NAME).mo)
69 69
70 install: \ 70 install: \
71 - $(foreach SRC, $(basename $(wildcard *.po)), $(DESTDIR)/$(localedir)/$(SRC)/LC_MESSAGES/$(PRODUCT_NAME).mo)  
72 - 71 + $(foreach SRC, $(basename $(wildcard *.po)), $(DESTDIR)/$(localedir)/$(SRC)/LC_MESSAGES/$(PACKAGE_NAME).mo)
73 72
locale/pt_BR.po
@@ -5,8 +5,8 @@ msgid &quot;&quot; @@ -5,8 +5,8 @@ msgid &quot;&quot;
5 msgstr "" 5 msgstr ""
6 "Project-Id-Version: pw3270 5.0\n" 6 "Project-Id-Version: pw3270 5.0\n"
7 "Report-Msgid-Bugs-To: \n" 7 "Report-Msgid-Bugs-To: \n"
8 -"POT-Creation-Date: 2023-01-31 11:13-0300\n"  
9 -"PO-Revision-Date: 2023-01-31 11:14-0300\n" 8 +"POT-Creation-Date: 2023-04-08 01:14-0300\n"
  9 +"PO-Revision-Date: 2023-04-26 07:50-0300\n"
10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" 10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n"
11 "Language-Team: Brazilian Portuguese <perry.werneck@gmail.com>\n" 11 "Language-Team: Brazilian Portuguese <perry.werneck@gmail.com>\n"
12 "Language: pt_BR\n" 12 "Language: pt_BR\n"
@@ -24,29 +24,29 @@ msgstr &quot;&quot; @@ -24,29 +24,29 @@ msgstr &quot;&quot;
24 msgid "\"%s\" is not a valid user interface name" 24 msgid "\"%s\" is not a valid user interface name"
25 msgstr "\"%s\" não é um nome válido para interface de usuário" 25 msgstr "\"%s\" não é um nome válido para interface de usuário"
26 26
27 -#: src/objects/application/actions/about.c:118 27 +#: src/objects/application/actions/about.c:136
28 #, c-format 28 #, c-format
29 msgid "%s for %s." 29 msgid "%s for %s."
30 msgstr "%s para %s" 30 msgstr "%s para %s"
31 31
32 -#: src/objects/application/actions/about.c:125 32 +#: src/objects/application/actions/about.c:143
33 msgid "32 bits Linux" 33 msgid "32 bits Linux"
34 msgstr "Linux 32 bits" 34 msgstr "Linux 32 bits"
35 35
36 -#: src/objects/application/actions/about.c:123 36 +#: src/objects/application/actions/about.c:141
37 msgid "32 bits Windows" 37 msgid "32 bits Windows"
38 msgstr "Windows 32 bits" 38 msgstr "Windows 32 bits"
39 39
40 #: src/objects/actions/save.c:167 src/objects/os/linux/savedesktopicon.c:233 40 #: src/objects/actions/save.c:167 src/objects/os/linux/savedesktopicon.c:233
41 -#: src/objects/os/windows/savedesktopicon.c:224 41 +#: src/objects/os/windows/savedesktopicon.c:214
42 msgid "3270 session files" 42 msgid "3270 session files"
43 msgstr "Arquivos de sessão TN3270" 43 msgstr "Arquivos de sessão TN3270"
44 44
45 -#: src/objects/application/actions/about.c:127 45 +#: src/objects/application/actions/about.c:145
46 msgid "64 bits Linux" 46 msgid "64 bits Linux"
47 msgstr "Linux 64 bits" 47 msgstr "Linux 64 bits"
48 48
49 -#: src/objects/application/actions/about.c:121 49 +#: src/objects/application/actions/about.c:139
50 msgid "64 bits Windows" 50 msgid "64 bits Windows"
51 msgstr "Windows 64 bits" 51 msgstr "Windows 64 bits"
52 52
@@ -57,7 +57,7 @@ msgstr &quot;&quot; @@ -57,7 +57,7 @@ msgstr &quot;&quot;
57 "<small><b>Alterações na posição da barra de ferramentas só tem efeito apos " 57 "<small><b>Alterações na posição da barra de ferramentas só tem efeito apos "
58 "reinício da aplicação</b></small>" 58 "reinício da aplicação</b></small>"
59 59
60 -#: src/objects/application/actions/about.c:217 ui/windows.ui.xml:40 60 +#: src/objects/application/actions/about.c:235 ui/windows.ui.xml:40
61 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553 61 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553
62 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553 62 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553
63 msgid "About PW3270" 63 msgid "About PW3270"
@@ -67,7 +67,7 @@ msgstr &quot;Sobre o PW3270&quot; @@ -67,7 +67,7 @@ msgstr &quot;Sobre o PW3270&quot;
67 msgid "Action Name" 67 msgid "Action Name"
68 msgstr "Nome da ação" 68 msgstr "Nome da ação"
69 69
70 -#: src/objects/window/window.c:205 70 +#: src/objects/window/window.c:206
71 msgid "Action Names" 71 msgid "Action Names"
72 msgstr "Nome das ações" 72 msgstr "Nome das ações"
73 73
@@ -77,7 +77,7 @@ msgstr &quot;Nome das ações&quot; @@ -77,7 +77,7 @@ msgstr &quot;Nome das ações&quot;
77 msgid "Alert sound" 77 msgid "Alert sound"
78 msgstr "Aviso sonoro" 78 msgstr "Aviso sonoro"
79 79
80 -#: src/main/tools.c:79 80 +#: src/main/tools.c:68
81 msgid "All files" 81 msgid "All files"
82 msgstr "Todos os arquivos" 82 msgstr "Todos os arquivos"
83 83
@@ -86,7 +86,7 @@ msgstr &quot;Todos os arquivos&quot; @@ -86,7 +86,7 @@ msgstr &quot;Todos os arquivos&quot;
86 msgid "Append to copy" 86 msgid "Append to copy"
87 msgstr "Adicionar à cópia" 87 msgstr "Adicionar à cópia"
88 88
89 -#: src/objects/application/actions/about.c:160 89 +#: src/objects/application/actions/about.c:178
90 msgid "Apple version" 90 msgid "Apple version"
91 msgstr "Versão Apple" 91 msgstr "Versão Apple"
92 92
@@ -116,7 +116,7 @@ msgstr &quot;Reconectar automaticamente&quot; @@ -116,7 +116,7 @@ msgstr &quot;Reconectar automaticamente&quot;
116 msgid "Available" 116 msgid "Available"
117 msgstr "Disponível" 117 msgstr "Disponível"
118 118
119 -#: src/objects/application/actions/about.c:163 119 +#: src/objects/application/actions/about.c:181
120 msgid "Based on X3270 from" 120 msgid "Based on X3270 from"
121 msgstr "Baseado no X3270 por" 121 msgstr "Baseado no X3270 por"
122 122
@@ -146,10 +146,6 @@ msgstr &quot;Não foi possível carregar arquivo de sessão&quot; @@ -146,10 +146,6 @@ msgstr &quot;Não foi possível carregar arquivo de sessão&quot;
146 msgid "Can't load session preferences" 146 msgid "Can't load session preferences"
147 msgstr "Não foi possível carregar preferências da sessão" 147 msgstr "Não foi possível carregar preferências da sessão"
148 148
149 -#: src/objects/settings/gsettings.c:128  
150 -msgid "Can't load system settings"  
151 -msgstr "Não foi possível carregar configurações de sistema"  
152 -  
153 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192 149 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192
154 #, c-format 150 #, c-format
155 msgid "Can't use \"%s\"" 151 msgid "Can't use \"%s\""
@@ -224,11 +220,11 @@ msgstr &quot;Conectar ao iniciar&quot; @@ -224,11 +220,11 @@ msgstr &quot;Conectar ao iniciar&quot;
224 msgid "Connect to host" 220 msgid "Connect to host"
225 msgstr "Conectar ao servidor" 221 msgstr "Conectar ao servidor"
226 222
227 -#: src/objects/window/window.c:778 src/objects/window/page.c:218 223 +#: src/objects/window/window.c:779 src/objects/window/page.c:218
228 msgid "Connected to host" 224 msgid "Connected to host"
229 msgstr "Conectado no servidor" 225 msgstr "Conectado no servidor"
230 226
231 -#: src/objects/application/actions/about.c:161 227 +#: src/objects/application/actions/about.c:179
232 msgid "Contributors" 228 msgid "Contributors"
233 msgstr "Contribuidores" 229 msgstr "Contribuidores"
234 230
@@ -255,12 +251,12 @@ msgstr &quot;Copiar como tabela&quot; @@ -255,12 +251,12 @@ msgstr &quot;Copiar como tabela&quot;
255 msgid "Copy as text" 251 msgid "Copy as text"
256 msgstr "Copiar como texto" 252 msgstr "Copiar como texto"
257 253
258 -#: src/objects/application/actions/about.c:167 254 +#: src/objects/application/actions/about.c:185
259 msgid "Copyright © 2008 Banco do Brasil S.A." 255 msgid "Copyright © 2008 Banco do Brasil S.A."
260 msgstr "Copyright © 2008 Banco do Brasil S.A." 256 msgstr "Copyright © 2008 Banco do Brasil S.A."
261 257
262 #: src/objects/os/linux/savedesktopicon.c:114 258 #: src/objects/os/linux/savedesktopicon.c:114
263 -#: src/objects/os/windows/savedesktopicon.c:109 259 +#: src/objects/os/windows/savedesktopicon.c:99
264 #: src/objects/os/macos/savedesktopicon.c:54 260 #: src/objects/os/macos/savedesktopicon.c:54
265 msgid "Create shortcut for the current session" 261 msgid "Create shortcut for the current session"
266 msgstr "Criar atalho para a sessão atual." 262 msgstr "Criar atalho para a sessão atual."
@@ -295,7 +291,7 @@ msgstr &quot;Recortar&quot; @@ -295,7 +291,7 @@ msgstr &quot;Recortar&quot;
295 msgid "Delete Field" 291 msgid "Delete Field"
296 msgstr "Apagar campo" 292 msgstr "Apagar campo"
297 293
298 -#: src/objects/os/windows/savedesktopicon.c:82 294 +#: src/objects/os/windows/savedesktopicon.c:72
299 msgid "Description" 295 msgid "Description"
300 msgstr "Descrição" 296 msgstr "Descrição"
301 297
@@ -304,7 +300,7 @@ msgstr &quot;Descrição&quot; @@ -304,7 +300,7 @@ msgstr &quot;Descrição&quot;
304 msgid "Disconnect" 300 msgid "Disconnect"
305 msgstr "Desconectar" 301 msgstr "Desconectar"
306 302
307 -#: src/objects/window/window.c:778 src/objects/window/window.c:805 303 +#: src/objects/window/window.c:779 src/objects/window/window.c:806
308 #: src/objects/window/page.c:207 304 #: src/objects/window/page.c:207
309 msgid "Disconnected from host" 305 msgid "Disconnected from host"
310 msgstr "Desconectado do servidor" 306 msgstr "Desconectado do servidor"
@@ -365,7 +361,7 @@ msgstr &quot;Erro iniciando sessão&quot; @@ -365,7 +361,7 @@ msgstr &quot;Erro iniciando sessão&quot;
365 msgid "Field attributes" 361 msgid "Field attributes"
366 msgstr "Atributos de campo" 362 msgstr "Atributos de campo"
367 363
368 -#: src/objects/os/windows/savedesktopicon.c:221 364 +#: src/objects/os/windows/savedesktopicon.c:211
369 msgid "File for session preferences" 365 msgid "File for session preferences"
370 msgstr "Arquivo para preferências da sessão" 366 msgstr "Arquivo para preferências da sessão"
371 367
@@ -392,9 +388,9 @@ msgstr &quot;Ajuda&quot; @@ -392,9 +388,9 @@ msgstr &quot;Ajuda&quot;
392 msgid "Host and Emulation settings" 388 msgid "Host and Emulation settings"
393 msgstr "Configuração de servidor e emulação" 389 msgstr "Configuração de servidor e emulação"
394 390
395 -#: src/objects/application/actions/about.c:119 src/objects/window/window.c:564 391 +#: src/objects/application/actions/about.c:137 src/objects/window/window.c:565
396 #: src/objects/os/linux/savedesktopicon.c:102 392 #: src/objects/os/linux/savedesktopicon.c:102
397 -#: src/objects/os/windows/savedesktopicon.c:271 393 +#: src/objects/os/windows/savedesktopicon.c:261
398 msgid "IBM 3270 Terminal emulator" 394 msgid "IBM 3270 Terminal emulator"
399 msgstr "Emulador de terminal IBM 3270" 395 msgstr "Emulador de terminal IBM 3270"
400 396
@@ -434,6 +430,10 @@ msgstr &quot;Apenas ícones&quot; @@ -434,6 +430,10 @@ msgstr &quot;Apenas ícones&quot;
434 msgid "If the action can be activated" 430 msgid "If the action can be activated"
435 msgstr "Se a ação pode ser ativada" 431 msgstr "Se a ação pode ser ativada"
436 432
  433 +#: src/objects/application/application.c:541
  434 +msgid "Initialization has failed"
  435 +msgstr "Inicialização falhou"
  436 +
437 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022 437 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022
438 msgid "Insert" 438 msgid "Insert"
439 msgstr "Inserção" 439 msgstr "Inserção"
@@ -478,11 +478,11 @@ msgstr &quot;Altura do painel em linhas&quot; @@ -478,11 +478,11 @@ msgstr &quot;Altura do painel em linhas&quot;
478 msgid "Keypad width in columns" 478 msgid "Keypad width in columns"
479 msgstr "Largura do painel em colunas" 479 msgstr "Largura do painel em colunas"
480 480
481 -#: src/main/builder.c:112 481 +#: src/main/builder.c:117
482 msgid "Keypads" 482 msgid "Keypads"
483 msgstr "Painéis" 483 msgstr "Painéis"
484 484
485 -#: src/objects/application/actions/about.c:171 485 +#: src/objects/application/actions/about.c:189
486 msgid "LICENSE" 486 msgid "LICENSE"
487 msgstr "LICENCA" 487 msgstr "LICENCA"
488 488
@@ -518,7 +518,7 @@ msgstr &quot;Barra de ferramentas&quot; @@ -518,7 +518,7 @@ msgstr &quot;Barra de ferramentas&quot;
518 msgid "Main menu" 518 msgid "Main menu"
519 msgstr "Menu principal" 519 msgstr "Menu principal"
520 520
521 -#: src/objects/application/actions/about.c:159 521 +#: src/objects/application/actions/about.c:177
522 msgid "Maintainers" 522 msgid "Maintainers"
523 msgstr "Mantenedores" 523 msgstr "Mantenedores"
524 524
@@ -643,7 +643,7 @@ msgid &quot;Paste with left margin&quot; @@ -643,7 +643,7 @@ msgid &quot;Paste with left margin&quot;
643 msgstr "Colar com margem esquerda" 643 msgstr "Colar com margem esquerda"
644 644
645 #: src/objects/os/linux/savedesktopicon.c:71 645 #: src/objects/os/linux/savedesktopicon.c:71
646 -#: src/objects/os/windows/savedesktopicon.c:76 646 +#: src/objects/os/windows/savedesktopicon.c:66
647 msgid "Path for the new shortcut" 647 msgid "Path for the new shortcut"
648 msgstr "Caminho para o novo atalho" 648 msgstr "Caminho para o novo atalho"
649 649
@@ -718,7 +718,7 @@ msgid &quot;Save session preferences&quot; @@ -718,7 +718,7 @@ msgid &quot;Save session preferences&quot;
718 msgstr "Salvar preferências da sessão" 718 msgstr "Salvar preferências da sessão"
719 719
720 #: src/objects/os/linux/savedesktopicon.c:113 720 #: src/objects/os/linux/savedesktopicon.c:113
721 -#: src/objects/os/windows/savedesktopicon.c:108 721 +#: src/objects/os/windows/savedesktopicon.c:98
722 #: src/objects/os/macos/savedesktopicon.c:53 722 #: src/objects/os/macos/savedesktopicon.c:53
723 msgid "Save session shortcut" 723 msgid "Save session shortcut"
724 msgstr "Salvar atalho para a sessão" 724 msgstr "Salvar atalho para a sessão"
@@ -731,7 +731,7 @@ msgstr &quot;Salvar para arquivo de sessão&quot; @@ -731,7 +731,7 @@ msgstr &quot;Salvar para arquivo de sessão&quot;
731 msgid "Save to shortcut file" 731 msgid "Save to shortcut file"
732 msgstr "Salvar para arquivo de atalho" 732 msgstr "Salvar para arquivo de atalho"
733 733
734 -#: src/objects/os/windows/savedesktopicon.c:186 734 +#: src/objects/os/windows/savedesktopicon.c:176
735 msgid "Save to windows shortcut" 735 msgid "Save to windows shortcut"
736 msgstr "Salvar para atalho windows" 736 msgstr "Salvar para atalho windows"
737 737
@@ -796,7 +796,7 @@ msgid &quot;Session Trace&quot; @@ -796,7 +796,7 @@ msgid &quot;Session Trace&quot;
796 msgstr "Trace da sessão" 796 msgstr "Trace da sessão"
797 797
798 #: src/objects/actions/save.c:63 src/objects/os/linux/savedesktopicon.c:85 798 #: src/objects/actions/save.c:63 src/objects/os/linux/savedesktopicon.c:85
799 -#: src/objects/os/windows/savedesktopicon.c:96 799 +#: src/objects/os/windows/savedesktopicon.c:86
800 msgid "Session file" 800 msgid "Session file"
801 msgstr "Arquivo de sessão" 801 msgstr "Arquivo de sessão"
802 802
@@ -811,7 +811,7 @@ msgid &quot;Session in new window&quot; @@ -811,7 +811,7 @@ msgid &quot;Session in new window&quot;
811 msgstr "Sessão em nova janela" 811 msgstr "Sessão em nova janela"
812 812
813 #: src/objects/actions/save.c:56 src/objects/os/linux/savedesktopicon.c:77 813 #: src/objects/actions/save.c:56 src/objects/os/linux/savedesktopicon.c:77
814 -#: src/objects/os/windows/savedesktopicon.c:88 814 +#: src/objects/os/windows/savedesktopicon.c:78
815 msgid "Session name" 815 msgid "Session name"
816 msgstr "Nome da sessão" 816 msgstr "Nome da sessão"
817 817
@@ -847,7 +847,7 @@ msgid &quot;Setup toolbar&quot; @@ -847,7 +847,7 @@ msgid &quot;Setup toolbar&quot;
847 msgstr "Configurar barra de ferramentas" 847 msgstr "Configurar barra de ferramentas"
848 848
849 #: src/objects/os/linux/savedesktopicon.c:70 849 #: src/objects/os/linux/savedesktopicon.c:70
850 -#: src/objects/os/windows/savedesktopicon.c:75 850 +#: src/objects/os/windows/savedesktopicon.c:65
851 msgid "Shortcut file" 851 msgid "Shortcut file"
852 msgstr "Arquivo de atalho" 852 msgstr "Arquivo de atalho"
853 853
@@ -910,11 +910,11 @@ msgstr &quot;Simbólico&quot; @@ -910,11 +910,11 @@ msgstr &quot;Simbólico&quot;
910 msgid "System default" 910 msgid "System default"
911 msgstr "Padrão do sistema" 911 msgstr "Padrão do sistema"
912 912
913 -#: src/objects/settings/gsettings.c:133 913 +#: src/objects/application/application.c:546
914 msgid "System settings error" 914 msgid "System settings error"
915 msgstr "Erro nas configurações de sistema" 915 msgstr "Erro nas configurações de sistema"
916 916
917 -#: src/main/tools.c:75 917 +#: src/main/tools.c:64
918 msgid "TN3270 Session Files" 918 msgid "TN3270 Session Files"
919 msgstr "Arquivos de sessão TN3270" 919 msgstr "Arquivos de sessão TN3270"
920 920
@@ -960,7 +960,7 @@ msgid &quot;The file to save the current session preferences&quot; @@ -960,7 +960,7 @@ msgid &quot;The file to save the current session preferences&quot;
960 msgstr "O arquivo com as preferências da sessão atual" 960 msgstr "O arquivo com as preferências da sessão atual"
961 961
962 #: src/objects/os/linux/savedesktopicon.c:86 962 #: src/objects/os/linux/savedesktopicon.c:86
963 -#: src/objects/os/windows/savedesktopicon.c:97 963 +#: src/objects/os/windows/savedesktopicon.c:87
964 msgid "The file with the session preferences for this shortcut" 964 msgid "The file with the session preferences for this shortcut"
965 msgstr "O arquivo com as preferências da sessão para esse atalho" 965 msgstr "O arquivo com as preferências da sessão para esse atalho"
966 966
@@ -976,7 +976,7 @@ msgstr &quot;A etiqueta da ação&quot; @@ -976,7 +976,7 @@ msgstr &quot;A etiqueta da ação&quot;
976 msgid "The name of associated action" 976 msgid "The name of associated action"
977 msgstr "Nome da ação associada" 977 msgstr "Nome da ação associada"
978 978
979 -#: src/objects/window/window.c:206 979 +#: src/objects/window/window.c:207
980 msgid "The name of the actions in the header bar" 980 msgid "The name of the actions in the header bar"
981 msgstr "O nome das ações na barra de título" 981 msgstr "O nome das ações na barra de título"
982 982
@@ -1005,7 +1005,7 @@ msgid &quot;The position of the keypad&quot; @@ -1005,7 +1005,7 @@ msgid &quot;The position of the keypad&quot;
1005 msgstr "A posição do painel" 1005 msgstr "A posição do painel"
1006 1006
1007 #: src/objects/actions/save.c:57 src/objects/os/linux/savedesktopicon.c:79 1007 #: src/objects/actions/save.c:57 src/objects/os/linux/savedesktopicon.c:79
1008 -#: src/objects/os/windows/savedesktopicon.c:90 1008 +#: src/objects/os/windows/savedesktopicon.c:80
1009 msgid "The session name used in the window/tab title (empty for default)" 1009 msgid "The session name used in the window/tab title (empty for default)"
1010 msgstr "" 1010 msgstr ""
1011 "O nome da sessão usada no título da janela/aba. Vazio para usar o valor " 1011 "O nome da sessão usada no título da janela/aba. Vazio para usar o valor "
@@ -1041,7 +1041,7 @@ msgstr &quot;O tipo do estado mantido pela ação&quot; @@ -1041,7 +1041,7 @@ msgstr &quot;O tipo do estado mantido pela ação&quot;
1041 1041
1042 #: src/objects/os/macos/savedesktopicon.c:68 1042 #: src/objects/os/macos/savedesktopicon.c:68
1043 msgid "This action is not available in this platform" 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 #: src/objects/window/header-settings.c:52 1046 #: src/objects/window/header-settings.c:52
1047 msgid "Title bar" 1047 msgid "Title bar"
@@ -1091,13 +1091,11 @@ msgstr &quot;Mostrar posição do cursor&quot; @@ -1091,13 +1091,11 @@ msgstr &quot;Mostrar posição do cursor&quot;
1091 msgid "UI Type" 1091 msgid "UI Type"
1092 msgstr "Interface de usuário" 1092 msgstr "Interface de usuário"
1093 1093
1094 -#: src/objects/settings/gsettings.c:131  
1095 -msgid ""  
1096 -"Unable to initialize system settings. Application may crash in unexpected "  
1097 -"ways" 1094 +#: src/objects/application/application.c:544
  1095 +msgid "Unable to initialize settings. Application may crash in unexpected ways"
1098 msgstr "" 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 #: src/objects/os/windows/open.c:137 1100 #: src/objects/os/windows/open.c:137
1103 #, c-format 1101 #, c-format
@@ -1109,7 +1107,7 @@ msgstr &quot;Incapaz de ler preferências de sessa de &#39;%s&#39;&quot; @@ -1109,7 +1107,7 @@ msgstr &quot;Incapaz de ler preferências de sessa de &#39;%s&#39;&quot;
1109 msgid "Unselect" 1107 msgid "Unselect"
1110 msgstr "Remover seleção" 1108 msgstr "Remover seleção"
1111 1109
1112 -#: src/objects/application/actions/about.c:98 1110 +#: src/objects/application/actions/about.c:116
1113 #, c-format 1111 #, c-format
1114 msgid "Unstable version %s-%s" 1112 msgid "Unstable version %s-%s"
1115 msgstr "Versão instável %s-%s" 1113 msgstr "Versão instável %s-%s"
@@ -1119,7 +1117,7 @@ msgstr &quot;Versão instável %s-%s&quot; @@ -1119,7 +1117,7 @@ msgstr &quot;Versão instável %s-%s&quot;
1119 msgid "Use +/- for field navigation" 1117 msgid "Use +/- for field navigation"
1120 msgstr "Usar teclas +/- para navegar por campos" 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 #, c-format 1121 #, c-format
1124 msgid "Version %s-%s" 1122 msgid "Version %s-%s"
1125 msgstr "Versão %s-%s" 1123 msgstr "Versão %s-%s"
@@ -1131,7 +1129,7 @@ msgstr &quot;Versão %s-%s&quot; @@ -1131,7 +1129,7 @@ msgstr &quot;Versão %s-%s&quot;
1131 msgid "View" 1129 msgid "View"
1132 msgstr "Exibir" 1130 msgstr "Exibir"
1133 1131
1134 -#: src/objects/application/actions/about.c:191 1132 +#: src/objects/application/actions/about.c:209
1135 msgid "View this project on github" 1133 msgid "View this project on github"
1136 msgstr "Visite-nos no github" 1134 msgstr "Visite-nos no github"
1137 1135
@@ -1140,7 +1138,7 @@ msgstr &quot;Visite-nos no github&quot; @@ -1140,7 +1138,7 @@ msgstr &quot;Visite-nos no github&quot;
1140 msgid "Window with default session" 1138 msgid "Window with default session"
1141 msgstr "Janela com sessão padrão" 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 msgid "Windows shortcuts" 1142 msgid "Windows shortcuts"
1145 msgstr "Atalhos windows" 1143 msgstr "Atalhos windows"
1146 1144
@@ -1150,7 +1148,7 @@ msgstr &quot;_Aplicar&quot; @@ -1150,7 +1148,7 @@ msgstr &quot;_Aplicar&quot;
1150 1148
1151 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78 1149 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78
1152 #: src/objects/os/linux/savedesktopicon.c:140 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 msgid "_Cancel" 1152 msgid "_Cancel"
1155 msgstr "_Cancelar" 1153 msgstr "_Cancelar"
1156 1154
@@ -1200,7 +1198,7 @@ msgid &quot;_Rename session&quot; @@ -1200,7 +1198,7 @@ msgid &quot;_Rename session&quot;
1200 msgstr "Renomear sessão" 1198 msgstr "Renomear sessão"
1201 1199
1202 #: src/objects/actions/save.c:104 src/objects/os/linux/savedesktopicon.c:141 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 msgid "_Save" 1202 msgid "_Save"
1205 msgstr "_Salvar" 1203 msgstr "_Salvar"
1206 1204
@@ -1208,11 +1206,11 @@ msgstr &quot;_Salvar&quot; @@ -1208,11 +1206,11 @@ msgstr &quot;_Salvar&quot;
1208 msgid "_View" 1206 msgid "_View"
1209 msgstr "_Exibir" 1207 msgstr "_Exibir"
1210 1208
1211 -#: src/objects/application/actions/about.c:190 1209 +#: src/objects/application/actions/about.c:208
1212 msgid "https://github.com/PerryWerneck/pw3270" 1210 msgid "https://github.com/PerryWerneck/pw3270"
1213 msgstr "https://github.com/PerryWerneck/pw3270" 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 msgid "translator-credits" 1214 msgid "translator-credits"
1217 msgstr "translator-credits" 1215 msgstr "translator-credits"
1218 1216
@@ -1647,6 +1645,9 @@ msgstr &quot;translator-credits&quot; @@ -1647,6 +1645,9 @@ msgstr &quot;translator-credits&quot;
1647 #~ msgid "Can't load plugin %s" 1645 #~ msgid "Can't load plugin %s"
1648 #~ msgstr "Não foi possível carregar plugin %s" 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 #~ msgid "Can't open \"%s\"" 1651 #~ msgid "Can't open \"%s\""
1651 #~ msgstr "Não foi possível abrir %s" 1652 #~ msgstr "Não foi possível abrir %s"
1652 1653
@@ -2669,9 +2670,6 @@ msgstr &quot;translator-credits&quot; @@ -2669,9 +2670,6 @@ msgstr &quot;translator-credits&quot;
2669 #~ msgid "Operation failed" 2670 #~ msgid "Operation failed"
2670 #~ msgstr "Operação falhou" 2671 #~ msgstr "Operação falhou"
2671 2672
2672 -#~ msgid "Operation has failed"  
2673 -#~ msgstr "Operação falhou"  
2674 -  
2675 #~ msgid "Option '%c:' is not supported" 2673 #~ msgid "Option '%c:' is not supported"
2676 #~ msgstr "Opção não suportada: '%c:'" 2674 #~ msgstr "Opção não suportada: '%c:'"
2677 2675
locale/pw3270.pot
@@ -6,9 +6,384 @@ @@ -6,9 +6,384 @@
6 #, fuzzy 6 #, fuzzy
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
  9 +"#-#-#-#-# view.pot (PACKAGE VERSION) #-#-#-#-#\n"
9 "Project-Id-Version: PACKAGE VERSION\n" 10 "Project-Id-Version: PACKAGE VERSION\n"
10 "Report-Msgid-Bugs-To: \n" 11 "Report-Msgid-Bugs-To: \n"
11 -"POT-Creation-Date: 2023-03-29 15:03-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 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 387 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 388 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14 "Language-Team: LANGUAGE <LL@li.org>\n" 389 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -22,29 +397,29 @@ msgstr &quot;&quot; @@ -22,29 +397,29 @@ msgstr &quot;&quot;
22 msgid "\"%s\" is not a valid user interface name" 397 msgid "\"%s\" is not a valid user interface name"
23 msgstr "" 398 msgstr ""
24 399
25 -#: src/objects/application/actions/about.c:118 400 +#: src/objects/application/actions/about.c:136
26 #, c-format 401 #, c-format
27 msgid "%s for %s." 402 msgid "%s for %s."
28 msgstr "" 403 msgstr ""
29 404
30 -#: src/objects/application/actions/about.c:125 405 +#: src/objects/application/actions/about.c:143
31 msgid "32 bits Linux" 406 msgid "32 bits Linux"
32 msgstr "" 407 msgstr ""
33 408
34 -#: src/objects/application/actions/about.c:123 409 +#: src/objects/application/actions/about.c:141
35 msgid "32 bits Windows" 410 msgid "32 bits Windows"
36 msgstr "" 411 msgstr ""
37 412
38 #: src/objects/actions/save.c:167 src/objects/os/linux/savedesktopicon.c:233 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 msgid "3270 session files" 415 msgid "3270 session files"
41 msgstr "" 416 msgstr ""
42 417
43 -#: src/objects/application/actions/about.c:127 418 +#: src/objects/application/actions/about.c:145
44 msgid "64 bits Linux" 419 msgid "64 bits Linux"
45 msgstr "" 420 msgstr ""
46 421
47 -#: src/objects/application/actions/about.c:121 422 +#: src/objects/application/actions/about.c:139
48 msgid "64 bits Windows" 423 msgid "64 bits Windows"
49 msgstr "" 424 msgstr ""
50 425
@@ -53,7 +428,7 @@ msgid &quot;&quot; @@ -53,7 +428,7 @@ msgid &quot;&quot;
53 "<small><b>The toolbar position only takes effect after restart</b></small>" 428 "<small><b>The toolbar position only takes effect after restart</b></small>"
54 msgstr "" 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 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553 432 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553
58 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553 433 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553
59 msgid "About PW3270" 434 msgid "About PW3270"
@@ -63,7 +438,7 @@ msgstr &quot;&quot; @@ -63,7 +438,7 @@ msgstr &quot;&quot;
63 msgid "Action Name" 438 msgid "Action Name"
64 msgstr "" 439 msgstr ""
65 440
66 -#: src/objects/window/window.c:205 441 +#: src/objects/window/window.c:206
67 msgid "Action Names" 442 msgid "Action Names"
68 msgstr "" 443 msgstr ""
69 444
@@ -73,7 +448,7 @@ msgstr &quot;&quot; @@ -73,7 +448,7 @@ msgstr &quot;&quot;
73 msgid "Alert sound" 448 msgid "Alert sound"
74 msgstr "" 449 msgstr ""
75 450
76 -#: src/main/tools.c:79 451 +#: src/main/tools.c:68
77 msgid "All files" 452 msgid "All files"
78 msgstr "" 453 msgstr ""
79 454
@@ -82,7 +457,7 @@ msgstr &quot;&quot; @@ -82,7 +457,7 @@ msgstr &quot;&quot;
82 msgid "Append to copy" 457 msgid "Append to copy"
83 msgstr "" 458 msgstr ""
84 459
85 -#: src/objects/application/actions/about.c:160 460 +#: src/objects/application/actions/about.c:178
86 msgid "Apple version" 461 msgid "Apple version"
87 msgstr "" 462 msgstr ""
88 463
@@ -112,7 +487,7 @@ msgstr &quot;&quot; @@ -112,7 +487,7 @@ msgstr &quot;&quot;
112 msgid "Available" 487 msgid "Available"
113 msgstr "" 488 msgstr ""
114 489
115 -#: src/objects/application/actions/about.c:163 490 +#: src/objects/application/actions/about.c:181
116 msgid "Based on X3270 from" 491 msgid "Based on X3270 from"
117 msgstr "" 492 msgstr ""
118 493
@@ -142,10 +517,6 @@ msgstr &quot;&quot; @@ -142,10 +517,6 @@ msgstr &quot;&quot;
142 msgid "Can't load session preferences" 517 msgid "Can't load session preferences"
143 msgstr "" 518 msgstr ""
144 519
145 -#: src/objects/settings/gsettings.c:128  
146 -msgid "Can't load system settings"  
147 -msgstr ""  
148 -  
149 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192 520 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192
150 #, c-format 521 #, c-format
151 msgid "Can't use \"%s\"" 522 msgid "Can't use \"%s\""
@@ -220,11 +591,11 @@ msgstr &quot;&quot; @@ -220,11 +591,11 @@ msgstr &quot;&quot;
220 msgid "Connect to host" 591 msgid "Connect to host"
221 msgstr "" 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 msgid "Connected to host" 595 msgid "Connected to host"
225 msgstr "" 596 msgstr ""
226 597
227 -#: src/objects/application/actions/about.c:161 598 +#: src/objects/application/actions/about.c:179
228 msgid "Contributors" 599 msgid "Contributors"
229 msgstr "" 600 msgstr ""
230 601
@@ -251,12 +622,12 @@ msgstr &quot;&quot; @@ -251,12 +622,12 @@ msgstr &quot;&quot;
251 msgid "Copy as text" 622 msgid "Copy as text"
252 msgstr "" 623 msgstr ""
253 624
254 -#: src/objects/application/actions/about.c:167 625 +#: src/objects/application/actions/about.c:185
255 msgid "Copyright © 2008 Banco do Brasil S.A." 626 msgid "Copyright © 2008 Banco do Brasil S.A."
256 msgstr "" 627 msgstr ""
257 628
258 #: src/objects/os/linux/savedesktopicon.c:114 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 #: src/objects/os/macos/savedesktopicon.c:54 631 #: src/objects/os/macos/savedesktopicon.c:54
261 msgid "Create shortcut for the current session" 632 msgid "Create shortcut for the current session"
262 msgstr "" 633 msgstr ""
@@ -291,7 +662,7 @@ msgstr &quot;&quot; @@ -291,7 +662,7 @@ msgstr &quot;&quot;
291 msgid "Delete Field" 662 msgid "Delete Field"
292 msgstr "" 663 msgstr ""
293 664
294 -#: src/objects/os/windows/savedesktopicon.c:82 665 +#: src/objects/os/windows/savedesktopicon.c:72
295 msgid "Description" 666 msgid "Description"
296 msgstr "" 667 msgstr ""
297 668
@@ -300,7 +671,7 @@ msgstr &quot;&quot; @@ -300,7 +671,7 @@ msgstr &quot;&quot;
300 msgid "Disconnect" 671 msgid "Disconnect"
301 msgstr "" 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 #: src/objects/window/page.c:207 675 #: src/objects/window/page.c:207
305 msgid "Disconnected from host" 676 msgid "Disconnected from host"
306 msgstr "" 677 msgstr ""
@@ -361,7 +732,7 @@ msgstr &quot;&quot; @@ -361,7 +732,7 @@ msgstr &quot;&quot;
361 msgid "Field attributes" 732 msgid "Field attributes"
362 msgstr "" 733 msgstr ""
363 734
364 -#: src/objects/os/windows/savedesktopicon.c:221 735 +#: src/objects/os/windows/savedesktopicon.c:211
365 msgid "File for session preferences" 736 msgid "File for session preferences"
366 msgstr "" 737 msgstr ""
367 738
@@ -388,9 +759,9 @@ msgstr &quot;&quot; @@ -388,9 +759,9 @@ msgstr &quot;&quot;
388 msgid "Host and Emulation settings" 759 msgid "Host and Emulation settings"
389 msgstr "" 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 #: src/objects/os/linux/savedesktopicon.c:102 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 msgid "IBM 3270 Terminal emulator" 765 msgid "IBM 3270 Terminal emulator"
395 msgstr "" 766 msgstr ""
396 767
@@ -430,6 +801,10 @@ msgstr &quot;&quot; @@ -430,6 +801,10 @@ msgstr &quot;&quot;
430 msgid "If the action can be activated" 801 msgid "If the action can be activated"
431 msgstr "" 802 msgstr ""
432 803
  804 +#: src/objects/application/application.c:541
  805 +msgid "Initialization has failed"
  806 +msgstr ""
  807 +
433 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022 808 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022
434 msgid "Insert" 809 msgid "Insert"
435 msgstr "" 810 msgstr ""
@@ -474,11 +849,11 @@ msgstr &quot;&quot; @@ -474,11 +849,11 @@ msgstr &quot;&quot;
474 msgid "Keypad width in columns" 849 msgid "Keypad width in columns"
475 msgstr "" 850 msgstr ""
476 851
477 -#: src/main/builder.c:112 852 +#: src/main/builder.c:117
478 msgid "Keypads" 853 msgid "Keypads"
479 msgstr "" 854 msgstr ""
480 855
481 -#: src/objects/application/actions/about.c:171 856 +#: src/objects/application/actions/about.c:189
482 msgid "LICENSE" 857 msgid "LICENSE"
483 msgstr "" 858 msgstr ""
484 859
@@ -514,7 +889,7 @@ msgstr &quot;&quot; @@ -514,7 +889,7 @@ msgstr &quot;&quot;
514 msgid "Main menu" 889 msgid "Main menu"
515 msgstr "" 890 msgstr ""
516 891
517 -#: src/objects/application/actions/about.c:159 892 +#: src/objects/application/actions/about.c:177
518 msgid "Maintainers" 893 msgid "Maintainers"
519 msgstr "" 894 msgstr ""
520 895
@@ -639,7 +1014,7 @@ msgid &quot;Paste with left margin&quot; @@ -639,7 +1014,7 @@ msgid &quot;Paste with left margin&quot;
639 msgstr "" 1014 msgstr ""
640 1015
641 #: src/objects/os/linux/savedesktopicon.c:71 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 msgid "Path for the new shortcut" 1018 msgid "Path for the new shortcut"
644 msgstr "" 1019 msgstr ""
645 1020
@@ -714,7 +1089,7 @@ msgid &quot;Save session preferences&quot; @@ -714,7 +1089,7 @@ msgid &quot;Save session preferences&quot;
714 msgstr "" 1089 msgstr ""
715 1090
716 #: src/objects/os/linux/savedesktopicon.c:113 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 #: src/objects/os/macos/savedesktopicon.c:53 1093 #: src/objects/os/macos/savedesktopicon.c:53
719 msgid "Save session shortcut" 1094 msgid "Save session shortcut"
720 msgstr "" 1095 msgstr ""
@@ -727,7 +1102,7 @@ msgstr &quot;&quot; @@ -727,7 +1102,7 @@ msgstr &quot;&quot;
727 msgid "Save to shortcut file" 1102 msgid "Save to shortcut file"
728 msgstr "" 1103 msgstr ""
729 1104
730 -#: src/objects/os/windows/savedesktopicon.c:186 1105 +#: src/objects/os/windows/savedesktopicon.c:176
731 msgid "Save to windows shortcut" 1106 msgid "Save to windows shortcut"
732 msgstr "" 1107 msgstr ""
733 1108
@@ -792,7 +1167,7 @@ msgid &quot;Session Trace&quot; @@ -792,7 +1167,7 @@ msgid &quot;Session Trace&quot;
792 msgstr "" 1167 msgstr ""
793 1168
794 #: src/objects/actions/save.c:63 src/objects/os/linux/savedesktopicon.c:85 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 msgid "Session file" 1171 msgid "Session file"
797 msgstr "" 1172 msgstr ""
798 1173
@@ -807,7 +1182,7 @@ msgid &quot;Session in new window&quot; @@ -807,7 +1182,7 @@ msgid &quot;Session in new window&quot;
807 msgstr "" 1182 msgstr ""
808 1183
809 #: src/objects/actions/save.c:56 src/objects/os/linux/savedesktopicon.c:77 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 msgid "Session name" 1186 msgid "Session name"
812 msgstr "" 1187 msgstr ""
813 1188
@@ -843,7 +1218,7 @@ msgid &quot;Setup toolbar&quot; @@ -843,7 +1218,7 @@ msgid &quot;Setup toolbar&quot;
843 msgstr "" 1218 msgstr ""
844 1219
845 #: src/objects/os/linux/savedesktopicon.c:70 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 msgid "Shortcut file" 1222 msgid "Shortcut file"
848 msgstr "" 1223 msgstr ""
849 1224
@@ -906,11 +1281,11 @@ msgstr &quot;&quot; @@ -906,11 +1281,11 @@ msgstr &quot;&quot;
906 msgid "System default" 1281 msgid "System default"
907 msgstr "" 1282 msgstr ""
908 1283
909 -#: src/objects/settings/gsettings.c:133 1284 +#: src/objects/application/application.c:546
910 msgid "System settings error" 1285 msgid "System settings error"
911 msgstr "" 1286 msgstr ""
912 1287
913 -#: src/main/tools.c:75 1288 +#: src/main/tools.c:64
914 msgid "TN3270 Session Files" 1289 msgid "TN3270 Session Files"
915 msgstr "" 1290 msgstr ""
916 1291
@@ -956,7 +1331,7 @@ msgid &quot;The file to save the current session preferences&quot; @@ -956,7 +1331,7 @@ msgid &quot;The file to save the current session preferences&quot;
956 msgstr "" 1331 msgstr ""
957 1332
958 #: src/objects/os/linux/savedesktopicon.c:86 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 msgid "The file with the session preferences for this shortcut" 1335 msgid "The file with the session preferences for this shortcut"
961 msgstr "" 1336 msgstr ""
962 1337
@@ -972,7 +1347,7 @@ msgstr &quot;&quot; @@ -972,7 +1347,7 @@ msgstr &quot;&quot;
972 msgid "The name of associated action" 1347 msgid "The name of associated action"
973 msgstr "" 1348 msgstr ""
974 1349
975 -#: src/objects/window/window.c:206 1350 +#: src/objects/window/window.c:207
976 msgid "The name of the actions in the header bar" 1351 msgid "The name of the actions in the header bar"
977 msgstr "" 1352 msgstr ""
978 1353
@@ -1001,7 +1376,7 @@ msgid &quot;The position of the keypad&quot; @@ -1001,7 +1376,7 @@ msgid &quot;The position of the keypad&quot;
1001 msgstr "" 1376 msgstr ""
1002 1377
1003 #: src/objects/actions/save.c:57 src/objects/os/linux/savedesktopicon.c:79 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 msgid "The session name used in the window/tab title (empty for default)" 1380 msgid "The session name used in the window/tab title (empty for default)"
1006 msgstr "" 1381 msgstr ""
1007 1382
@@ -1085,10 +1460,8 @@ msgstr &quot;&quot; @@ -1085,10 +1460,8 @@ msgstr &quot;&quot;
1085 msgid "UI Type" 1460 msgid "UI Type"
1086 msgstr "" 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 msgstr "" 1465 msgstr ""
1093 1466
1094 #: src/objects/os/windows/open.c:137 1467 #: src/objects/os/windows/open.c:137
@@ -1101,7 +1474,7 @@ msgstr &quot;&quot; @@ -1101,7 +1474,7 @@ msgstr &quot;&quot;
1101 msgid "Unselect" 1474 msgid "Unselect"
1102 msgstr "" 1475 msgstr ""
1103 1476
1104 -#: src/objects/application/actions/about.c:98 1477 +#: src/objects/application/actions/about.c:116
1105 #, c-format 1478 #, c-format
1106 msgid "Unstable version %s-%s" 1479 msgid "Unstable version %s-%s"
1107 msgstr "" 1480 msgstr ""
@@ -1111,7 +1484,7 @@ msgstr &quot;&quot; @@ -1111,7 +1484,7 @@ msgstr &quot;&quot;
1111 msgid "Use +/- for field navigation" 1484 msgid "Use +/- for field navigation"
1112 msgstr "" 1485 msgstr ""
1113 1486
1114 -#: src/objects/application/actions/about.c:100 1487 +#: src/objects/application/actions/about.c:118
1115 #, c-format 1488 #, c-format
1116 msgid "Version %s-%s" 1489 msgid "Version %s-%s"
1117 msgstr "" 1490 msgstr ""
@@ -1123,7 +1496,7 @@ msgstr &quot;&quot; @@ -1123,7 +1496,7 @@ msgstr &quot;&quot;
1123 msgid "View" 1496 msgid "View"
1124 msgstr "" 1497 msgstr ""
1125 1498
1126 -#: src/objects/application/actions/about.c:191 1499 +#: src/objects/application/actions/about.c:209
1127 msgid "View this project on github" 1500 msgid "View this project on github"
1128 msgstr "" 1501 msgstr ""
1129 1502
@@ -1132,7 +1505,7 @@ msgstr &quot;&quot; @@ -1132,7 +1505,7 @@ msgstr &quot;&quot;
1132 msgid "Window with default session" 1505 msgid "Window with default session"
1133 msgstr "" 1506 msgstr ""
1134 1507
1135 -#: src/objects/os/windows/savedesktopicon.c:189 1508 +#: src/objects/os/windows/savedesktopicon.c:179
1136 msgid "Windows shortcuts" 1509 msgid "Windows shortcuts"
1137 msgstr "" 1510 msgstr ""
1138 1511
@@ -1142,7 +1515,7 @@ msgstr &quot;&quot; @@ -1142,7 +1515,7 @@ msgstr &quot;&quot;
1142 1515
1143 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78 1516 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78
1144 #: src/objects/os/linux/savedesktopicon.c:140 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 msgid "_Cancel" 1519 msgid "_Cancel"
1147 msgstr "" 1520 msgstr ""
1148 1521
@@ -1192,7 +1565,7 @@ msgid &quot;_Rename session&quot; @@ -1192,7 +1565,7 @@ msgid &quot;_Rename session&quot;
1192 msgstr "" 1565 msgstr ""
1193 1566
1194 #: src/objects/actions/save.c:104 src/objects/os/linux/savedesktopicon.c:141 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 msgid "_Save" 1569 msgid "_Save"
1197 msgstr "" 1570 msgstr ""
1198 1571
@@ -1200,10 +1573,10 @@ msgstr &quot;&quot; @@ -1200,10 +1573,10 @@ msgstr &quot;&quot;
1200 msgid "_View" 1573 msgid "_View"
1201 msgstr "" 1574 msgstr ""
1202 1575
1203 -#: src/objects/application/actions/about.c:190 1576 +#: src/objects/application/actions/about.c:208
1204 msgid "https://github.com/PerryWerneck/pw3270" 1577 msgid "https://github.com/PerryWerneck/pw3270"
1205 msgstr "" 1578 msgstr ""
1206 1579
1207 -#: src/objects/application/actions/about.c:193 1580 +#: src/objects/application/actions/about.c:211
1208 msgid "translator-credits" 1581 msgid "translator-credits"
1209 msgstr "" 1582 msgstr ""
msys-run.sh 0 → 100644
@@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
  1 +#!/bin/bash
  2 +
  3 +make all
  4 +if [ "$?" != "0" ]; then
  5 + exit -1
  6 +fi
  7 +
  8 +make DESTDIR=${PWD}/.build install
  9 +if [ "$?" != "0" ]; then
  10 + exit -1
  11 +fi
  12 +
  13 +bash ./win/makeruntime.sh
  14 +if [ "$?" != "0" ]; then
  15 + exit -1
  16 +fi
  17 +
  18 +.build/mingw64/bin/pw3270.exe
  19 +if [ "$?" != "0" ]; then
  20 + exit -1
  21 +fi
  22 +
  23 +
  24 +
pushtag.sh
@@ -1,32 +0,0 @@ @@ -1,32 +0,0 @@
1 -#!/bin/bash  
2 -#  
3 -# https://help.github.com/articles/syncing-a-fork/  
4 -#  
5 -# https://help.github.com/articles/configuring-a-remote-for-a-fork/  
6 -#  
7 -# https://www.opentechguides.com/how-to/article/git/177/git-sync-repos.html  
8 -#  
9 -# Setup:  
10 -#  
11 -# git remote add github https://github.com/PerryWerneck/lib3270.git  
12 -#  
13 -#  
14 -  
15 -if [ -z ${1} ]; then  
16 - echo "Inform target tag"  
17 - exit -1  
18 -fi  
19 -  
20 -git push  
21 -  
22 -git fetch origin  
23 -  
24 -git tag -f ${1}  
25 -git push -f --tags  
26 -  
27 -for repo in $(git remote -v | grep -v origin | grep "(push)" | awk '{print $1}')  
28 -do  
29 - echo "Updating ${repo} ..."  
30 - git push ${repo} -f --tags  
31 -done  
32 -  
@@ -58,6 +58,9 @@ @@ -58,6 +58,9 @@
58 <Unit filename="src/main/builder.c"> 58 <Unit filename="src/main/builder.c">
59 <Option compilerVar="CC" /> 59 <Option compilerVar="CC" />
60 </Unit> 60 </Unit>
  61 + <Unit filename="src/main/linux/tools.c">
  62 + <Option compilerVar="CC" />
  63 + </Unit>
61 <Unit filename="src/main/main.c"> 64 <Unit filename="src/main/main.c">
62 <Option compilerVar="CC" /> 65 <Option compilerVar="CC" />
63 </Unit> 66 </Unit>
@@ -69,6 +72,9 @@ @@ -69,6 +72,9 @@
69 <Option compilerVar="CC" /> 72 <Option compilerVar="CC" />
70 </Unit> 73 </Unit>
71 <Unit filename="src/main/windows/resources.rc" /> 74 <Unit filename="src/main/windows/resources.rc" />
  75 + <Unit filename="src/main/windows/tools.c">
  76 + <Option compilerVar="CC" />
  77 + </Unit>
72 <Unit filename="src/objects/actions/abstract.c"> 78 <Unit filename="src/objects/actions/abstract.c">
73 <Option compilerVar="CC" /> 79 <Option compilerVar="CC" />
74 </Unit> 80 </Unit>
schemas/Makefile.in
@@ -55,15 +55,15 @@ all: @@ -55,15 +55,15 @@ all:
55 install: \ 55 install: \
56 all 56 all
57 57
58 - @$(MKDIR) $(DESTDIR)/$(schemadir) 58 + @$(MKDIR) $(DESTDIR)$(schemadir)
59 @$(INSTALL_DATA) \ 59 @$(INSTALL_DATA) \
60 application.gschema.xml \ 60 application.gschema.xml \
61 - $(DESTDIR)/$(schemadir)/$(PRODUCT_NAME)-application.gschema.xml 61 + $(DESTDIR)$(schemadir)/$(PRODUCT_NAME)-application.gschema.xml
62 62
63 @$(INSTALL_DATA) \ 63 @$(INSTALL_DATA) \
64 window.gschema.xml \ 64 window.gschema.xml \
65 - $(DESTDIR)/$(schemadir)/$(PRODUCT_NAME)-window.gschema.xml 65 + $(DESTDIR)$(schemadir)/$(PRODUCT_NAME)-window.gschema.xml
66 66
67 @$(GLIB_SCHEMA_COMPILER) \ 67 @$(GLIB_SCHEMA_COMPILER) \
68 - $(DESTDIR)/$(schemadir) 68 + $(DESTDIR)$(schemadir)
69 69
src/include/pw3270.h
@@ -63,6 +63,8 @@ struct _Pw3270SettingsPage { @@ -63,6 +63,8 @@ struct _Pw3270SettingsPage {
63 }; 63 };
64 64
65 void gtk_file_chooser_set_pw3270_filters(GtkFileChooser *chooser); 65 void gtk_file_chooser_set_pw3270_filters(GtkFileChooser *chooser);
  66 +gchar * pw3270_build_data_filename(const char *filename);
  67 +gchar * pw3270_build_data_path(const char *path);
66 68
67 G_END_DECLS 69 G_END_DECLS
68 70
src/main/builder.c
@@ -20,12 +20,17 @@ @@ -20,12 +20,17 @@
20 #include "private.h" 20 #include "private.h"
21 #include <pw3270/application.h> 21 #include <pw3270/application.h>
22 #include <pw3270/keypad.h> 22 #include <pw3270/keypad.h>
  23 + #include <pw3270.h>
23 24
24 GtkBuilder * pw3270_application_builder_new(GApplication *application) { 25 GtkBuilder * pw3270_application_builder_new(GApplication *application) {
25 26
26 #if !defined(DEBUG) 27 #if !defined(DEBUG)
27 28
28 - lib3270_autoptr(char) filename = lib3270_build_data_filename(G_STRINGIFY(PRODUCT_NAME) ".ui.xml",NULL); 29 + #if defined(G_OS_WIN32)
  30 + g_autofree gchar * filename = pw3270_build_data_filename(G_STRINGIFY(PRODUCT_NAME) ".ui.xml");
  31 + #else
  32 + lib3270_autoptr(char) filename = lib3270_build_data_filename(G_STRINGIFY(PRODUCT_NAME) ".ui.xml",NULL);
  33 + #endif // G_OS_WIN32
29 34
30 #elif defined(G_OS_UNIX) 35 #elif defined(G_OS_UNIX)
31 36
src/main/linux/tools.c 0 → 100644
@@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
  3 +/*
  4 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  5 + *
  6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 + #include <config.h>
  21 + #include <pw3270.h>
  22 +
  23 + gchar * pw3270_build_data_path(const char *name) {
  24 +
  25 + gchar * path = g_build_filename(G_STRINGIFY(DATADIR),name,NULL);
  26 +
  27 + if(g_file_test(path,G_FILE_TEST_IS_DIR)) {
  28 + return path;
  29 + }
  30 + g_free(path);
  31 +
  32 + g_message("Cant find path for '%s'",path);
  33 + return NULL;
  34 +
  35 + }
  36 +
  37 + gchar * pw3270_build_data_filename(const char *filename) {
  38 +
  39 + gchar * path = g_build_filename(G_STRINGIFY(DATADIR),filename,NULL);
  40 +
  41 + if(g_file_test(path,G_FILE_TEST_IS_REGULAR)) {
  42 + return path;
  43 + }
  44 + g_free(path);
  45 +
  46 + g_error("Cant find '%s'",filename);
  47 + return NULL;
  48 + }
  49 +
src/main/main.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob  
5 - * o nome G3270.  
6 - *  
7 * Copyright (C) <2008> <Banco do Brasil S.A.> 4 * Copyright (C) <2008> <Banco do Brasil S.A.>
8 * 5 *
9 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
10 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
11 - * Free Software Foundation.  
12 - *  
13 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
14 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
15 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
16 - * obter mais detalhes.  
17 - *  
18 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
19 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
20 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
21 - *  
22 - * Este programa está nomeado como main.c e possui - linhas de código.  
23 - *  
24 - * Contatos: 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
25 * 10 *
26 - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
27 - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
28 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
29 */ 18 */
30 19
31 /** 20 /**
@@ -74,10 +63,19 @@ int main (int argc, char **argv) { @@ -74,10 +63,19 @@ int main (int argc, char **argv) {
74 63
75 #ifdef _WIN32 64 #ifdef _WIN32
76 { 65 {
77 - g_autofree gchar * appdir = g_win32_get_package_installation_directory_of_module(NULL);  
78 - g_autofree gchar * locdir = g_build_filename(appdir,"locale",NULL);  
79 - debug("Locale from \"%s\"\n",locdir);  
80 - bindtextdomain( G_STRINGIFY(PRODUCT_NAME), locdir ); 66 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  67 + {
  68 + g_autofree gchar * appdir = g_build_filename(pkgdir,"locale",NULL);
  69 + if(g_file_test(appdir,G_FILE_TEST_IS_DIR)) {
  70 + bindtextdomain( PACKAGE_NAME, appdir );
  71 + } else {
  72 + g_autofree gchar * sysdir = g_build_filename(pkgdir,"share","locale",NULL);
  73 + if(g_file_test(sysdir,G_FILE_TEST_IS_DIR)) {
  74 + bindtextdomain( PACKAGE_NAME, sysdir );
  75 + }
  76 + }
  77 +
  78 + }
81 } 79 }
82 #endif // _WIN32 80 #endif // _WIN32
83 81
src/main/tools.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob  
5 - * o nome G3270.  
6 - *  
7 * Copyright (C) <2008> <Banco do Brasil S.A.> 4 * Copyright (C) <2008> <Banco do Brasil S.A.>
8 * 5 *
9 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
10 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
11 - * Free Software Foundation.  
12 - *  
13 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
14 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
15 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
16 - * obter mais detalhes.  
17 - *  
18 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
19 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
20 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
21 - *  
22 - * Este programa está nomeado como main.c e possui - linhas de código.  
23 - *  
24 - * Contatos: 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
25 * 10 *
26 - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
27 - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
28 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
29 */ 18 */
30 19
31 /** 20 /**
src/main/windows/tools.c 0 → 100644
@@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
  3 +/*
  4 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  5 + *
  6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 + #include <config.h>
  21 + #include <pw3270.h>
  22 +
  23 + gchar * pw3270_build_data_path(const char *name) {
  24 +
  25 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  26 +
  27 + gchar * path = g_build_filename(pkgdir,name,NULL);
  28 + if(g_file_test(path,G_FILE_TEST_IS_DIR)) {
  29 + return path;
  30 + }
  31 + g_free(path);
  32 +
  33 + path = g_build_filename(pkgdir,"share",G_STRINGIFY(PRODUCT_NAME),name,NULL);
  34 + if(g_file_test(path,G_FILE_TEST_IS_DIR)) {
  35 + return path;
  36 + }
  37 +
  38 + g_free(path);
  39 + g_message("Cant find path for '%s'",path);
  40 + return NULL;
  41 +
  42 + }
  43 +
  44 + gchar * pw3270_build_data_filename(const char *filename) {
  45 +
  46 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  47 +
  48 + gchar * path = g_build_filename(pkgdir,filename,NULL);
  49 + if(g_file_test(path,G_FILE_TEST_IS_REGULAR)) {
  50 + return path;
  51 + }
  52 + g_free(path);
  53 +
  54 + path = g_build_filename(pkgdir,"share",G_STRINGIFY(PRODUCT_NAME),filename,NULL);
  55 + if(g_file_test(path,G_FILE_TEST_IS_REGULAR)) {
  56 + return path;
  57 + }
  58 +
  59 + g_free(path);
  60 + g_error("Cant find '%s'",filename);
  61 + return NULL;
  62 + }
src/objects/application/actions/about.c
@@ -32,6 +32,55 @@ @@ -32,6 +32,55 @@
32 #include <pw3270/actions.h> 32 #include <pw3270/actions.h>
33 #include <pw3270/application.h> 33 #include <pw3270/application.h>
34 34
  35 +static char * find_logo() {
  36 +
  37 + static const char * names[] = {
  38 +#ifdef _WIN32
  39 +
  40 + G_STRINGIFY(PRODUCT_NAME) "-about.png",
  41 + G_STRINGIFY(PRODUCT_NAME) "-logo.png",
  42 + G_STRINGIFY(PRODUCT_NAME) ".png",
  43 + G_STRINGIFY(PACKAGE_NAME) "-about.png",
  44 + G_STRINGIFY(PACKAGE_NAME) "-logo.png",
  45 + G_STRINGIFY(PACKAGE_NAME) ".png",
  46 +
  47 +#else
  48 +
  49 + G_STRINGIFY(PRODUCT_NAME) "-about.svg",
  50 + G_STRINGIFY(PRODUCT_NAME) "-logo.svg",
  51 + G_STRINGIFY(PRODUCT_NAME) ".svg",
  52 + G_STRINGIFY(PRODUCT_NAME) "-about.png",
  53 + G_STRINGIFY(PRODUCT_NAME) "-logo.png",
  54 + G_STRINGIFY(PRODUCT_NAME) ".png",
  55 +
  56 + G_STRINGIFY(PACKAGE_NAME) "-about.svg",
  57 + G_STRINGIFY(PACKAGE_NAME) "-logo.svg",
  58 + G_STRINGIFY(PACKAGE_NAME) ".svg",
  59 + G_STRINGIFY(PACKAGE_NAME) "-about.png",
  60 + G_STRINGIFY(PACKAGE_NAME) "-logo.png",
  61 + G_STRINGIFY(PACKAGE_NAME) ".png",
  62 +#endif // _WIN32
  63 + };
  64 +
  65 + size_t ix;
  66 +
  67 + for(ix = 0; ix < G_N_ELEMENTS(names); ix++) {
  68 +
  69 + char * filename = lib3270_build_data_filename(names[ix],NULL);
  70 +
  71 + if(filename) {
  72 +
  73 + if(g_file_test(filename,G_FILE_TEST_IS_REGULAR))
  74 + return filename;
  75 + free(filename);
  76 +
  77 + }
  78 +
  79 + }
  80 +
  81 + return NULL;
  82 +}
  83 +
35 static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication *application) { 84 static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication *application) {
36 85
37 GtkAboutDialog * dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new()); 86 GtkAboutDialog * dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new());
@@ -46,49 +95,18 @@ static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication * @@ -46,49 +95,18 @@ static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication *
46 95
47 // Get application logo 96 // Get application logo
48 { 97 {
49 - static const char * names[] = {  
50 - G_STRINGIFY(PRODUCT_NAME) "-about.svg",  
51 - G_STRINGIFY(PRODUCT_NAME) "-logo.svg",  
52 - G_STRINGIFY(PRODUCT_NAME) ".svg",  
53 - G_STRINGIFY(PRODUCT_NAME) "-logo.png",  
54 - G_STRINGIFY(PRODUCT_NAME) ".png",  
55 -  
56 - G_STRINGIFY(PACKAGE_NAME) "-about.svg",  
57 - G_STRINGIFY(PACKAGE_NAME) "-logo.svg",  
58 - G_STRINGIFY(PACKAGE_NAME) ".svg",  
59 - G_STRINGIFY(PACKAGE_NAME) "-logo.png",  
60 - G_STRINGIFY(PACKAGE_NAME) ".png",  
61 - };  
62 -  
63 - size_t ix;  
64 -  
65 - for(ix = 0; ix < G_N_ELEMENTS(names); ix++) {  
66 -  
67 -#ifdef DEBUG  
68 - g_autofree gchar * filename = g_build_filename(".","branding",names[ix],NULL);  
69 - debug("Searching for '%s'",filename);  
70 -#else  
71 - lib3270_autoptr(char) filename = lib3270_build_data_filename(names[ix],NULL);  
72 -#endif // DEBUG  
73 -  
74 - if(!g_file_test(filename,G_FILE_TEST_IS_REGULAR))  
75 - continue;  
76 -  
77 - GError * error = NULL;  
78 - g_autoptr(GdkPixbuf) pix = gdk_pixbuf_new_from_file_at_size(filename,-1,150,&error); 98 + char * logo = find_logo();
  99 + if(logo) {
  100 + GError * error = NULL;
  101 + g_autoptr(GdkPixbuf) pix = gdk_pixbuf_new_from_file_at_size(logo,-1,150,&error);
79 if(error) { 102 if(error) {
80 - g_warning("Can't load \"%s\": %s",filename,error->message); 103 + g_message("Can't load \"%s\": %s",logo,error->message);
81 g_error_free(error); 104 g_error_free(error);
82 - continue;  
83 - }  
84 -  
85 - if(pix) { 105 + } else {
86 gtk_about_dialog_set_logo(dialog,pix); 106 gtk_about_dialog_set_logo(dialog,pix);
87 - break;  
88 } 107 }
89 - 108 + free(logo);
90 } 109 }
91 -  
92 } 110 }
93 111
94 // Set version 112 // Set version
src/objects/application/application.c
@@ -278,9 +278,41 @@ static void pw3270Application_init(pw3270Application *app) { @@ -278,9 +278,41 @@ static void pw3270Application_init(pw3270Application *app) {
278 g_settings_bind(app->settings, "ui-style", app, "ui-style", G_SETTINGS_BIND_DEFAULT); 278 g_settings_bind(app->settings, "ui-style", app, "ui-style", G_SETTINGS_BIND_DEFAULT);
279 } 279 }
280 280
  281 + // Load plugins from registry
  282 + /*
281 { 283 {
282 - lib3270_autoptr(char) plugin_path = lib3270_build_data_filename("plugins",NULL);  
283 - pw3270_load_plugins_from_path(app, plugin_path); 284 + HKEY hKey;
  285 + DWORD cbData = 4096;
  286 + g_autofree gchar *path = g_malloc0(cbData);
  287 +
  288 + if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,G_STRINGIFY(PRODUCT_NAME)"\\plugin",0,KEY_READ,&hKey) == ERROR_SUCCESS) {
  289 + DWORD dwRet = RegQueryValueEx(hKey,"path",NULL,NULL,(LPBYTE) path, &cbData);
  290 + if(dwRet != ERROR_SUCCESS && *path) {
  291 + pw3270_load_plugins_from_path(app, path);
  292 + }
  293 + CloseHandle(hKey);
  294 + }
  295 + }
  296 + */
  297 +
  298 + // Load plugin from default paths.
  299 + {
  300 + const char *paths[] = {
  301 + "plugins",
  302 + G_STRINGIFY(PRODUCT_NAME) "-plugins",
  303 + "lib/plugins",
  304 + "lib/" G_STRINGIFY(PRODUCT_NAME) "-plugins",
  305 + };
  306 + size_t ix;
  307 +
  308 + for(ix = 0; ix < G_N_ELEMENTS(paths);ix++) {
  309 + lib3270_autoptr(char) path = lib3270_build_data_filename("plugins",NULL);
  310 + if(g_file_test(path,G_FILE_TEST_IS_DIR)) {
  311 + pw3270_load_plugins_from_path(app, path);
  312 + break;
  313 + }
  314 + }
  315 +
284 } 316 }
285 317
286 #elif defined(__APPLE__) 318 #elif defined(__APPLE__)
@@ -430,8 +462,6 @@ void startup(GApplication *application) { @@ -430,8 +462,6 @@ void startup(GApplication *application) {
430 462
431 G_APPLICATION_CLASS(pw3270Application_parent_class)->startup(application); 463 G_APPLICATION_CLASS(pw3270Application_parent_class)->startup(application);
432 464
433 -// GSettings *settings = pw3270_application_get_settings(application);  
434 -  
435 // 465 //
436 // Common actions 466 // Common actions
437 // 467 //
@@ -488,25 +518,33 @@ void startup(GApplication *application) { @@ -488,25 +518,33 @@ void startup(GApplication *application) {
488 // Load keypad models 518 // Load keypad models
489 // 519 //
490 { 520 {
491 - lib3270_autoptr(char) keypad_path = lib3270_build_data_filename("keypad",NULL); 521 + g_autofree gchar *keypad_path = pw3270_build_data_path("keypad");
  522 +
  523 + if(keypad_path) {
492 524
493 - g_autoptr(GError) error = NULL;  
494 - g_autoptr(GDir) dir = g_dir_open(keypad_path,0,&error); 525 + g_message("Searching for keypads in '%s'",keypad_path);
495 526
496 - if(dir) { 527 + g_autoptr(GError) error = NULL;
  528 + g_autoptr(GDir) dir = g_dir_open(keypad_path,0,&error);
  529 +
  530 + if(dir) {
  531 +
  532 + const gchar *name = g_dir_read_name(dir);
  533 + while(!error && name) {
  534 + g_autofree gchar * path = g_build_filename(keypad_path,name,NULL);
  535 + app->keypads = pw3270_keypad_model_new_from_xml(app->keypads,path);
  536 + name = g_dir_read_name(dir);
  537 + }
497 538
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 } 539 }
504 540
505 - } 541 + if(error) {
  542 + g_message("Can't read %s: %s",keypad_path,error->message);
  543 + }
  544 +
506 545
507 - if(error) {  
508 - g_message("Can't read %s: %s",keypad_path,error->message);  
509 } 546 }
  547 +
510 } 548 }
511 549
512 // 550 //
@@ -525,6 +563,32 @@ void activate(GApplication *application) { @@ -525,6 +563,32 @@ void activate(GApplication *application) {
525 563
526 GtkWidget * window = pw3270_application_window_new(GTK_APPLICATION(application),NULL); 564 GtkWidget * window = pw3270_application_window_new(GTK_APPLICATION(application),NULL);
527 565
  566 + if(!PW3270_APPLICATION(application)->settings) {
  567 +
  568 + GtkWidget * dialog = gtk_message_dialog_new_with_markup(
  569 + NULL,
  570 + 0,
  571 + GTK_MESSAGE_ERROR,
  572 + GTK_BUTTONS_CLOSE,
  573 + _("Initialization has failed")
  574 + );
  575 +
  576 + gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),_("Unable to initialize settings. Application may crash in unexpected ways"));
  577 +
  578 + gtk_window_set_title(GTK_WINDOW(dialog),_("System settings error"));
  579 +
  580 + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
  581 +
  582 + gtk_widget_show_all(dialog);
  583 +
  584 + gtk_dialog_run(GTK_DIALOG(dialog));
  585 +
  586 + gtk_widget_destroy(dialog);
  587 +
  588 + g_application_quit(G_APPLICATION(application));
  589 +
  590 + }
  591 +
528 // Present the new window 592 // Present the new window
529 pw3270_window_set_current_page(window,0); 593 pw3270_window_set_current_page(window,0);
530 gtk_window_present(GTK_WINDOW(window)); 594 gtk_window_present(GTK_WINDOW(window));
src/objects/application/plugins.c
@@ -65,6 +65,10 @@ void pw3270_load_plugins_from_path(pw3270Application *app, const char *path) { @@ -65,6 +65,10 @@ void pw3270_load_plugins_from_path(pw3270Application *app, const char *path) {
65 65
66 } 66 }
67 67
  68 + } else {
  69 +
  70 + g_warning("Can't load plugins from %s: %s",path,"Invalid path");
  71 +
68 } 72 }
69 73
70 } 74 }
src/objects/os/windows/savedesktopicon.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270.  
5 - *  
6 - * Copyright (C) <2008> <Banco do Brasil S.A.>  
7 - *  
8 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
9 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
10 - * Free Software Foundation.  
11 - *  
12 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
13 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
14 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
15 - * obter mais detalhes.  
16 - *  
17 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
18 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
19 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
20 - *  
21 - * Este programa está nomeado como - e possui - linhas de código. 4 + * Copyright (C) 2008 Banco do Brasil S.A.
22 * 5 *
23 - * Contatos: 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
24 * 10 *
25 - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
26 - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
27 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
28 */ 18 */
29 19
30 /** 20 /**
src/objects/settings/gsettings.c
@@ -30,11 +30,94 @@ @@ -30,11 +30,94 @@
30 #include <pw3270/application.h> 30 #include <pw3270/application.h>
31 #include <pw3270/window.h> 31 #include <pw3270/window.h>
32 32
  33 + /*
  34 + static void failed() {
  35 +
  36 + GtkWidget * dialog = gtk_message_dialog_new_with_markup(
  37 + NULL,
  38 + 0,
  39 + GTK_MESSAGE_ERROR,
  40 + GTK_BUTTONS_CLOSE,
  41 + _("Can't load system settings")
  42 + );
  43 +
  44 + gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),_("Unable to initialize system settings. Application may crash in unexpected ways"));
  45 +
  46 + gtk_window_set_title(GTK_WINDOW(dialog),_("System settings error"));
  47 +
  48 + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
  49 +
  50 + gtk_widget_show_all(dialog);
  51 +
  52 + gtk_dialog_run(GTK_DIALOG(dialog));
  53 +
  54 + gtk_widget_destroy(dialog);
  55 +
  56 + g_application_quit(g_application_get_default());
  57 +
  58 + }
  59 + */
  60 +
33 static GSettings * settings_new(const gchar *schema_id) { 61 static GSettings * settings_new(const gchar *schema_id) {
34 62
35 GSettings *settings = NULL; 63 GSettings *settings = NULL;
36 64
37 -#if defined(DEBUG) 65 +#if defined(_WIN32)
  66 +
  67 + {
  68 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  69 +
  70 + g_autofree gchar * appdir = g_build_filename(pkgdir,"gschemas.compiled",NULL);
  71 + g_autofree gchar * sysdir = g_build_filename(pkgdir,"share","glib-2.0","schemas","gschemas.compiled",NULL);
  72 +
  73 + const char * names[] = { appdir, sysdir };
  74 + size_t ix;
  75 +
  76 + for(ix = 0; ix < G_N_ELEMENTS(names); ix++) {
  77 +
  78 + if(g_file_test(names[ix],G_FILE_TEST_IS_REGULAR)) {
  79 +
  80 + GError * error = NULL;
  81 + g_autofree gchar *dirname = g_path_get_dirname(names[ix]);
  82 +
  83 + GSettingsSchemaSource * source =
  84 + g_settings_schema_source_new_from_directory(
  85 + dirname,
  86 + NULL,
  87 + TRUE,
  88 + &error
  89 + );
  90 +
  91 + if(error) {
  92 + g_warning("Error loading '%s': %s",names[ix],error->message);
  93 + g_error_free(error);
  94 + return NULL;
  95 + }
  96 +
  97 + GSettingsSchema * schema =
  98 + g_settings_schema_source_lookup(
  99 + source,
  100 + schema_id,
  101 + TRUE);
  102 +
  103 + g_message("Loading '%s'",names[ix]);
  104 + settings = g_settings_new_full(schema, NULL, NULL);
  105 +
  106 + g_settings_schema_source_unref(source);
  107 +
  108 + if(settings) {
  109 + g_message("Got gsettings from %s",names[ix]);
  110 + return settings;
  111 + }
  112 +
  113 + }
  114 + }
  115 +
  116 +
  117 + }
  118 +
  119 +#elif defined(DEBUG)
  120 +
38 { 121 {
39 GError * error = NULL; 122 GError * error = NULL;
40 GSettingsSchemaSource * source = 123 GSettingsSchemaSource * source =
@@ -62,87 +145,12 @@ @@ -62,87 +145,12 @@
62 145
63 g_settings_schema_source_unref(source); 146 g_settings_schema_source_unref(source);
64 } 147 }
65 -#elif defined(_WIN32)  
66 - {  
67 - g_autofree gchar * appdir = g_win32_get_package_installation_directory_of_module(NULL);  
68 - g_autofree gchar * filename = g_build_filename(appdir,"gschemas.compiled",NULL);  
69 -  
70 - if(g_file_test(filename,G_FILE_TEST_IS_REGULAR)) {  
71 -  
72 - GError * error = NULL;  
73 - g_autofree gchar *dirname = g_path_get_dirname(filename);  
74 -  
75 - GSettingsSchemaSource * source =  
76 - g_settings_schema_source_new_from_directory(  
77 - dirname,  
78 - NULL,  
79 - TRUE,  
80 - &error  
81 - );  
82 -  
83 - if(error) {  
84 - g_warning("Error loading '%s': %s",filename,error->message);  
85 - g_error_free(error);  
86 - return NULL;  
87 - }  
88 -  
89 - GSettingsSchema * schema =  
90 - g_settings_schema_source_lookup(  
91 - source,  
92 - schema_id,  
93 - TRUE);  
94 -  
95 - g_message("Loading '%s'",filename);  
96 - settings = g_settings_new_full(schema, NULL, NULL);  
97 148
98 - g_settings_schema_source_unref(source);  
99 -  
100 - } else {  
101 -  
102 -#ifdef DEBUG  
103 - g_message("Can't find '%s' loading from default path",filename);  
104 -#endif // DEBUG  
105 - settings = g_settings_new(schema_id);  
106 -  
107 - }  
108 - }  
109 #else 149 #else
110 150
111 -#ifdef DEBUG  
112 - g_message("Loading '%s' from default path","gschemas.compiled");  
113 -#endif // DEBUG  
114 -  
115 settings = g_settings_new(schema_id); 151 settings = g_settings_new(schema_id);
116 152
117 -#endif // DEBUG  
118 -  
119 - if(!settings) {  
120 -  
121 - g_warning("Error loading system settings");  
122 -  
123 - GtkWidget * dialog = gtk_message_dialog_new_with_markup(  
124 - NULL,  
125 - 0,  
126 - GTK_MESSAGE_ERROR,  
127 - GTK_BUTTONS_CLOSE,  
128 - _("Can't load system settings")  
129 - );  
130 -  
131 - gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),_("Unable to initialize system settings. Application may crash in unexpected ways"));  
132 -  
133 - gtk_window_set_title(GTK_WINDOW(dialog),_("System settings error"));  
134 -  
135 - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);  
136 -  
137 - gtk_widget_show_all(dialog);  
138 -  
139 - //g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL);  
140 - //g_signal_connect(dialog,"response",G_CALLBACK(gtk_widget_destroy),NULL);  
141 - gtk_dialog_run(GTK_DIALOG(dialog));  
142 -  
143 - g_application_quit(g_application_get_default());  
144 -  
145 - } 153 +#endif
146 154
147 return settings; 155 return settings;
148 } 156 }
src/objects/window/window.c
@@ -138,15 +138,16 @@ static void pw3270ApplicationWindow_class_init(pw3270ApplicationWindowClass *kla @@ -138,15 +138,16 @@ static void pw3270ApplicationWindow_class_init(pw3270ApplicationWindowClass *kla
138 #ifdef _WIN32 138 #ifdef _WIN32
139 "share/icons", 139 "share/icons",
140 #endif // _WIN32 140 #endif // _WIN32
  141 + "share/" G_STRINGIFY(PRODUCT_NAME) "/icons"
141 }; 142 };
142 143
143 size_t ix; 144 size_t ix;
144 for(ix = 0; ix < G_N_ELEMENTS(icon_search_paths); ix++) { 145 for(ix = 0; ix < G_N_ELEMENTS(icon_search_paths); ix++) {
145 #if defined(DEBUG) 146 #if defined(DEBUG)
146 - lib3270_autoptr(char) path = g_build_filename(g_get_current_dir(),icon_search_paths[ix],NULL); 147 + g_autofree gchar * path = g_build_filename(g_get_current_dir(),icon_search_paths[ix],NULL);
147 #elif defined(_WIN32) 148 #elif defined(_WIN32)
148 g_autofree gchar * appdir = g_win32_get_package_installation_directory_of_module(NULL); 149 g_autofree gchar * appdir = g_win32_get_package_installation_directory_of_module(NULL);
149 - lib3270_autoptr(char) path = g_build_filename(appdir,icon_search_paths[ix],NULL); 150 + g_autofree gchar * path = g_build_filename(appdir,icon_search_paths[ix],NULL);
150 #else 151 #else
151 lib3270_autoptr(char) path = lib3270_build_data_filename(icon_search_paths[ix],NULL); 152 lib3270_autoptr(char) path = lib3270_build_data_filename(icon_search_paths[ix],NULL);
152 #endif 153 #endif
update.sh
@@ -1,7 +0,0 @@ @@ -1,7 +0,0 @@
1 -#!/bin/bash  
2 -  
3 -git pull  
4 -git fetch origin  
5 -  
6 -git submodule update --remote --recursive  
7 -  
win/building_on_windows-the-hard-way.txt
@@ -1,24 +0,0 @@ @@ -1,24 +0,0 @@
1 -  
2 - 1. Instalar o mingw e o pacote básico do msys ( http://www.mingw.org/wiki/Getting_Started )  
3 -  
4 - 2. Abrir o shell mingw e executar (não é o cmd normal do windows, o ícone fica no menu do mingw).  
5 - . mingw-get install autotools  
6 - . mingw-get install gettext  
7 - . mingw-get install msys-openssl  
8 - . mingw-get install msys-libopenssl  
9 -  
10 - 3. Instalar o tortoise SVN ( http://tortoisesvn.net/downloads.html )  
11 -  
12 - 4. Instalar o pacote completo do gtk  
13 - . Baixar o bundle em http://www.gtk.org/download/win32.php  
14 - . Descompactar o bundle em c:\mingw  
15 -  
16 - 5. Abrir uma linha de comando do mingw (não é o cmd normal do windows  
17 - . Mudar para o diretório dos fontes (PS: usei o tortoise svn para baixar os arquivos)  
18 -  
19 - 6. Executar ./autogen.sh (atente para o lado da barra, é "/" mesmo já que o prompt do mingw é um bash  
20 - . Vai dar alguns error relacionados a linguagem; não me preocupei com eles nessa etapa.  
21 -  
22 - 7. Executar ./configure - Ele vai dar falta da libssl porque, por algum motivo, a libssl do mingw4windows não se registra no pkg-config  
23 -  
24 - 8. Executar make  
win/building_windows_on_SuSE-the-easy-way.txt
@@ -1,22 +0,0 @@ @@ -1,22 +0,0 @@
1 -  
2 -The proposal of this document is to show how to build pw3270 installers for windows using the cross-compilers available on SuSE linux.  
3 -  
4 -1. First install the MinGW Repositories to your SuSE version from:  
5 -  
6 - * 32 bits: https://build.opensuse.org/project/show/windows:mingw:win32  
7 - * 64 bits: https://build.opensuse.org/project/show/windows:mingw:win64  
8 -  
9 -2. Get pw3270 sources from git  
10 -  
11 - * git clone http://softwarepublico.gov.br/gitlab/pw3270/principal.git ./pw3270  
12 -  
13 -3. Install cross compilers  
14 -  
15 - * ./pw3270/win/install-cross.sh --all  
16 -  
17 -  
18 -4. Build pw3270 windows installers  
19 -  
20 - * cd pw3270/ && ./win/pack.sh  
21 -  
22 -  
win/bundle.common 0 → 100644
@@ -0,0 +1,412 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 #!/bin/bash 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 # References: 21 # References:
4 # 22 #
5 # * https://www.msys2.org/docs/ci/ 23 # * https://www.msys2.org/docs/ci/
6 # 24 #
7 -# 25 +
8 echo "Running ${0}" 26 echo "Running ${0}"
9 27
10 LOGFILE=build.log 28 LOGFILE=build.log
@@ -16,36 +34,20 @@ die ( ) { @@ -16,36 +34,20 @@ die ( ) {
16 exit -1 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 -# Unpack LIB3270  
27 -#  
28 -echo "Unpacking lib3270"  
29 -tar -C / -Jxf mingw-lib3270.${MSYSTEM_CARCH}.tar.xz > $LOGFILE 2>&1 || die "Unpack lib3270 failure" 37 +cd $(dirname $(dirname $(readlink -f ${0})))
30 38
31 # 39 #
32 -# Build LIBV3270 40 +# Install pre-reqs
33 # 41 #
34 -echo "Unpacking libv3270"  
35 -tar -C / -Jxf mingw-libv3270.tar.xz > $LOGFILE 2>&1 || die "Unpack libv3270 failure" 42 +echo "Installing pre-reqs..."
  43 +pacman -U --noconfirm *.pkg.tar.zst || die "pre-reqs failure"
36 44
37 # 45 #
38 -# Build PW3270 46 +# Build
39 # 47 #
40 -echo "Building PW3270"  
41 -cd ${myDIR}  
42 -./autogen.sh > $LOGFILE 2>&1 || die "Autogen failure"  
43 -./configure > $LOGFILE 2>&1 || die "Configure failure"  
44 -make clean > $LOGFILE 2>&1 || die "Make clean failure"  
45 -make all > $LOGFILE 2>&1 || die "Make failure"  
46 -  
47 -make DESTDIR=.bin/package install  
48 -tar --create --xz --file=mingw-pw3270.${MSYSTEM_CARCH}.tar.xz --directory=.bin/package --verbose . 48 +echo "Building package..."
  49 +dos2unix PKGBUILD.mingw || die "dos2unix failure"
  50 +makepkg BUILDDIR=/tmp/pkg -p PKGBUILD.mingw || die "makepkg failure"
49 51
50 echo "Build complete" 52 echo "Build complete"
51 53
win/copydeps.sh.in
@@ -1,133 +0,0 @@ @@ -1,133 +0,0 @@
1 -#!/bin/bash  
2 -myDIR=$(dirname $(readlink -f $0))  
3 -  
4 -# Updated by ./configure  
5 -BUILDDIR=@BUILDDIR@  
6 -prefix=@prefix@  
7 -  
8 -# Crio diretório temporário  
9 -TEMPDIR=$(mktemp -d)  
10 -  
11 -# Cleanup em caso de falha  
12 -ontrap()  
13 -{  
14 - #  
15 - # Apaga diretorio temporário caso o script seja interrompido  
16 - #  
17 - cd ${myDIR}  
18 - rm -fr ${TEMPDIR}  
19 - exit -1  
20 -}  
21 -  
22 -trap ontrap INT  
23 -  
24 -#  
25 -# Lista de DLLs a ignorar  
26 -#  
27 -libs_to_exclude="  
28 - advapi32  
29 - cfgmgr32  
30 - comctl32  
31 - comdlg32  
32 - crypt32  
33 - d3d8  
34 - d3d9  
35 - ddraw  
36 - dnsapi  
37 - dsound  
38 - dwmapi  
39 - gdi32  
40 - gdiplus  
41 - glu32  
42 - glut32  
43 - imm32  
44 - iphlpapi  
45 - kernel32  
46 - ksuser  
47 - mpr  
48 - mscms  
49 - mscoree  
50 - msimg32  
51 - msvcr71  
52 - msvcr80  
53 - msvcr90  
54 - msvcrt  
55 - mswsock  
56 - netapi32  
57 - odbc32  
58 - ole32  
59 - oleacc  
60 - oleaut32  
61 - opengl32  
62 - psapi  
63 - rpcrt4  
64 - secur32  
65 - setupapi  
66 - shell32  
67 - shlwapi  
68 - user32  
69 - usp10  
70 - version  
71 - wininet  
72 - winmm  
73 - wldap32  
74 - ws2_32  
75 - wsock32  
76 - winspool.drv  
77 -"  
78 -  
79 -#  
80 -# Fico em loop montando dependências  
81 -#  
82 -APPLICATION_PATH=${BUILDDIR}/.bin/Release  
83 -RUNTIME_PATH=${BUILDDIR}/.bin/runtime  
84 -  
85 -mkdir -p ${RUNTIME_PATH}  
86 -  
87 -AGAIN=1  
88 -until [ $AGAIN = 0 ]; do  
89 -  
90 - AGAIN=0  
91 -  
92 - find ${APPLICATION_PATH} -iname *.exe > ${TEMPDIR}/binaries.txt  
93 - find ${APPLICATION_PATH} -iname *.dll >> ${TEMPDIR}/binaries.txt  
94 - find ${RUNTIME_PATH} -iname *.dll >> ${TEMPDIR}/binaries.txt  
95 -  
96 - # Obtenho a lista de DLLs  
97 - rm -f ${TEMPDIR}/requires.txt  
98 - touch ${TEMPDIR}/requires.txt  
99 - while read FILENAME  
100 - do  
101 - objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${TEMPDIR}/requires.txt  
102 - done < ${TEMPDIR}/binaries.txt  
103 -  
104 - # Excluo DLLs do sistema  
105 - for i in $libs_to_exclude; do  
106 - sed -i -e "/${i}/d" ${TEMPDIR}/requires.txt  
107 - done  
108 -  
109 - while read FILENAME  
110 - do  
111 -  
112 - if [ -e ${APPLICATION_PATH}/${FILENAME} ]; then  
113 - touch ${APPLICATION_PATH}/${FILENAME}  
114 -  
115 - elif [ -e ${RUNTIME_PATH}/${FILENAME} ]; then  
116 - touch ${RUNTIME_PATH}/${FILENAME}  
117 -  
118 - elif [ -e ${prefix}/bin/${FILENAME} ]; then  
119 - AGAIN=1  
120 - echo ${prefix}/bin/${FILENAME}  
121 - cp ${prefix}/bin/${FILENAME} ${RUNTIME_PATH}  
122 -  
123 - fi  
124 -  
125 - done < ${TEMPDIR}/requires.txt  
126 - rm -f ${TEMPDIR}/requires.txt  
127 -  
128 -  
129 -done  
130 -  
131 -cd ${myDIR}  
132 -rm -fr ${TEMPDIR}  
133 -  
win/force_inet_ntop.patch
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
1 ---- src/include/lib3270/config.h.in 2017-01-20 15:37:46.462843502 -0200  
2 -+++ src/include/lib3270/config.h.in 2017-01-24 15:19:45.547022420 -0200  
3 -@@ -44,7 +44,7 @@  
4 - #undef HAVE_SYSLOG  
5 - #undef HAVE_DBUS  
6 - #undef HAVE_VASPRINTF  
7 -- #undef HAVE_INET_NTOP  
8 -+ #define HAVE_INET_NTOP  
9 -  
10 - #undef HAVE_ICONV  
11 - #undef ICONV_CONST  
win/makeruntime.sh.in
@@ -1,350 +0,0 @@ @@ -1,350 +0,0 @@
1 -#!/bin/bash  
2 -#  
3 -# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
4 -# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
5 -# aplicativos mainframe. Registro no INPI sob o nome G3270.  
6 -#  
7 -# Copyright (C) <2008> <Banco do Brasil S.A.>  
8 -#  
9 -# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
10 -# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
11 -# Free Software Foundation.  
12 -#  
13 -# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
14 -# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
15 -# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
16 -# obter mais detalhes.  
17 -#  
18 -# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
19 -# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple  
20 -# Place, Suite 330, Boston, MA, 02111-1307, USA  
21 -#  
22 -# Contatos:  
23 -#  
24 -# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
25 -# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)  
26 -#  
27 -  
28 -#  
29 -# Referencias:  
30 -#  
31 -# https://www.gtk.org/docs/installations/windows/  
32 -# http://drup.org/gtk-warning-error-loading-icon-couldnt-recognize-image-file-format  
33 -#  
34 -  
35 -# Get myDIR  
36 -myDIR=$(dirname $(readlink -f "${0}"))  
37 -  
38 -# Disable i18n  
39 -export LANG=C  
40 -  
41 -prefix="@prefix@"  
42 -PKG_CONFIG="@PKG_CONFIG@"  
43 -GTK_VERSION="gtk+-@GTK_VERSION@"  
44 -  
45 -GTK_PREFIX=$($PKG_CONFIG --variable=prefix ${GTK_VERSION})  
46 -GDK_LOADERS=$(${PKG_CONFIG} --variable=gdk_pixbuf_binarydir gdk-pixbuf-2.0 | sed -e "s@${prefix}@@g")  
47 -  
48 -TARGET="@BUILDDIR@/.bin/runtime"  
49 -BINDIR="@BUILDDIR@/.bin/Release/"  
50 -SCHEMADIR="@BUILDDIR@/schemas/"  
51 -  
52 -# Change to bin path  
53 -mkdir -p ${TARGET}  
54 -rm -fr ${TARGET}/*  
55 -  
56 -copy_dll() {  
57 -  
58 - AGAIN=1  
59 - until [ $AGAIN = 0 ]; do  
60 -  
61 - SOURCES=$(mktemp)  
62 - REQUIRES=$(mktemp)  
63 -  
64 - find "${BINDIR}" -iname "*.dll" > ${SOURCES}  
65 - find "${BINDIR}" -iname "*.exe" >> ${SOURCES}  
66 - find "${TARGET}" -iname *.dll >> ${SOURCES}  
67 -  
68 - while read FILENAME  
69 - do  
70 - objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${REQUIRES}  
71 - done < ${SOURCES}  
72 -  
73 - libs_to_exclude="  
74 - advapi32  
75 - cfgmgr32  
76 - comctl32  
77 - comdlg32  
78 - crypt32  
79 - d3d8  
80 - d3d9  
81 - ddraw  
82 - dnsapi  
83 - dsound  
84 - dwmapi  
85 - gdi32  
86 - gdiplus  
87 - glu32  
88 - glut32  
89 - imm32  
90 - iphlpapi  
91 - kernel32  
92 - ksuser  
93 - mpr  
94 - mscms  
95 - mscoree  
96 - msimg32  
97 - msvcr71  
98 - msvcr80  
99 - msvcr90  
100 - msvcrt  
101 - mswsock  
102 - netapi32  
103 - odbc32  
104 - ole32  
105 - oleacc  
106 - oleaut32  
107 - opengl32  
108 - psapi  
109 - rpcrt4  
110 - secur32  
111 - setupapi  
112 - shell32  
113 - shlwapi  
114 - user32  
115 - usp10  
116 - version  
117 - wininet  
118 - winmm  
119 - wldap32  
120 - ws2_32  
121 - wsock32  
122 - winspool.drv  
123 - ntdll  
124 - winhttp  
125 - "  
126 -  
127 - # Excluo DLLs do sistema  
128 - for i in $libs_to_exclude; do  
129 - sed -i -e "/${i}/d" ${REQUIRES}  
130 - done  
131 -  
132 - # Procuro pelas DLLs que faltam  
133 - AGAIN=0  
134 - while read FILENAME  
135 - do  
136 - if [ ! -e "${TARGET}/${FILENAME}" ]; then  
137 -  
138 - COUNT=$(find "${BINDIR}" -iname ${FILENAME} | wc --lines)  
139 - if [ "${COUNT}" == "0" ]; then  
140 -  
141 - echo ${FILENAME}  
142 -  
143 - if [ -e ${prefix}/bin/${FILENAME} ]; then  
144 -  
145 - echo "Copiando $(basename ${FILENAME})..."  
146 -  
147 - AGAIN=1  
148 - cp -v "${prefix}/bin/${FILENAME}" "${TARGET}/${FILENAME}"  
149 - if [ "$?" != "0" ]; then  
150 - exit -1  
151 - fi  
152 -  
153 - elif [ -e ${prefix}/lib/${FILENAME} ]; then  
154 -  
155 - echo "Copiando $(basename ${FILENAME})..."  
156 -  
157 - AGAIN=1  
158 - cp -v "${prefix}/lib/${FILENAME}" "${TARGET}/${FILENAME}"  
159 - if [ "$?" != "0" ]; then  
160 - exit -1  
161 - fi  
162 -  
163 - else  
164 -  
165 - echo "Can't find ${FILENAME}"  
166 - exit -1  
167 -  
168 - fi  
169 -  
170 - fi  
171 -  
172 -  
173 - fi  
174 -  
175 - done < ${REQUIRES}  
176 -  
177 - rm -f ${SOURCES}  
178 - rm -f ${REQUIRES}  
179 -  
180 - done  
181 -  
182 -}  
183 -  
184 -copy_locale() {  
185 -  
186 - rm -fr ${TARGET}/share/locale/pt_BR/LC_MESSAGES  
187 - mkdir -p ${TARGET}/share/locale/pt_BR/LC_MESSAGES  
188 -  
189 - locales="  
190 - gettext-runtime.mo  
191 - gettext-tools.mo  
192 - glib20.mo  
193 - gtk30.mo  
194 - gtk30-properties.mo  
195 - "  
196 -  
197 - for i in $locales; do  
198 - if [ -e "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i}" ]; then  
199 - echo "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i} ..."  
200 - cp "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i}" "${TARGET}/share/locale/pt_BR/LC_MESSAGES"  
201 - if [ "$?" != "0" ]; then  
202 - exit -1  
203 - fi  
204 - fi  
205 - done  
206 -  
207 -}  
208 -  
209 -copy_loaders() {  
210 -  
211 - mkdir -p "${TARGET}/${GDK_LOADERS}"  
212 - cp -rv "${prefix}/${GDK_LOADERS}/loaders" "${TARGET}/${GDK_LOADERS}"  
213 - if [ "$?" != "0" ]; then  
214 - exit -1  
215 - fi  
216 -  
217 -}  
218 -  
219 -copy_schemes() {  
220 -  
221 - mkdir -p "${TARGET}/share/glib-2.0/schemas"  
222 -  
223 - cp -v \  
224 - ${SCHEMADIR}/windows/*.xml \  
225 - "${TARGET}/share/glib-2.0/schemas"  
226 -  
227 - if [ "$?" != "0" ]; then  
228 - exit -1  
229 - fi  
230 -  
231 - cp -rv \  
232 - "${prefix}/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml" \  
233 - "${TARGET}/share/glib-2.0/schemas"  
234 -  
235 - if [ "$?" != "0" ]; then  
236 - exit -1  
237 - fi  
238 -  
239 - cp -rv \  
240 - "${prefix}/share/glib-2.0/schemas/gschema.dtd" \  
241 - "${TARGET}/share/glib-2.0/schemas"  
242 -  
243 - if [ "$?" != "0" ]; then  
244 - exit -1  
245 - fi  
246 -  
247 - glib-compile-schemas \  
248 - --targetdir="${TARGET}/share/glib-2.0/schemas" \  
249 - "${TARGET}/share/glib-2.0/schemas"  
250 -  
251 - if [ "$?" != "0" ]; then  
252 - exit -1  
253 - fi  
254 -}  
255 -  
256 -  
257 -copy_theme() {  
258 -  
259 - mkdir -p "${TARGET}/etc"  
260 - cp -rv "${prefix}/etc/gtk-3.0" "${TARGET}/etc"  
261 -  
262 - # https://stackoverflow.com/questions/37035936/how-to-get-native-windows-decorations-on-gtk3-on-windows-7-and-msys2  
263 - mkdir -p ${TARGET}/etc/gtk-3.0  
264 - rm -f ${TARGET}/etc/gtk-3.0/settings.ini  
265 - rm -f ${TARGET}/etc/gtk-3.0/gtkrc  
266 -  
267 - mkdir -p ${TARGET}/share/icons  
268 - if [ "$?" != 0 ]; then  
269 - echo "Can´t create icons folder"  
270 - exit -1  
271 - fi  
272 -  
273 - cp -rv /usr/share/icons/${1} ${TARGET}/share/icons  
274 - if [ "$?" != 0 ]; then  
275 - echo "Can´t copy ${1} icons"  
276 - exit -1  
277 - fi  
278 -  
279 - mkdir -p ${TARGET}/share/themes  
280 - if [ "$?" != 0 ]; then  
281 - echo "Can´t create themes folder"  
282 - exit -1  
283 - fi  
284 -  
285 -# cp -rv /usr/share/themes/${1} ${TARGET}/share/themes  
286 -# if [ "$?" != 0 ]; then  
287 -# echo "Can´t copy ${1} theme"  
288 -# exit -1  
289 -# fi  
290 -  
291 - echo "${myDIR}/gtk.css"  
292 - if [ -e "${myDIR}/gtk.css" ]; then  
293 - cp "${myDIR}/gtk.css" "${TARGET}/share/themes/${1}/gtk-3.0/gtk.css"  
294 - fi  
295 -  
296 -}  
297 -  
298 -#  
299 -# Check command line parameters  
300 -#  
301 -until [ -z "$1" ]  
302 -do  
303 - if [ ${1:0:2} = '--' ]; then  
304 - tmp=${1:2}  
305 - parameter=${tmp%%=*}  
306 - parameter=$(echo $parameter | tr "[:lower:]" "[:upper:]")  
307 - value=${tmp##*=}  
308 -  
309 - case "$parameter" in  
310 - OUTPUT-DIR)  
311 - TARGET=$value  
312 - ;;  
313 -  
314 - BINDIR)  
315 - BINDIR=$value  
316 - ;;  
317 -  
318 - HELP)  
319 - echo "${0} [options]"  
320 - echo ""  
321 - echo "Options:"  
322 - echo ""  
323 - echo " --path Set runtime instalation path (default is $TARGET)"  
324 - echo " --bindir Set binaries source path (default is $BINDIR)"  
325 - echo ""  
326 - exit 0  
327 -  
328 - ;;  
329 -  
330 - esac  
331 - fi  
332 -  
333 - shift  
334 -  
335 -done  
336 -  
337 -#  
338 -# Make runtime  
339 -#  
340 -copy_dll  
341 -copy_locale  
342 -copy_loaders  
343 -copy_schemes  
344 -copy_theme "Adwaita"  
345 -  
346 -# Otimiza todos os pngs  
347 -#echo "Optimizing..."  
348 -#find ${TARGET} -iname *.png -exec optipng -o7 -quiet {} \; 2>&1 > /dev/null  
349 -  
350 -echo "Runtime ok"  
win/msys2-install-tn3270-libs.sh
@@ -1,72 +0,0 @@ @@ -1,72 +0,0 @@
1 -#!/bin/bash  
2 -#  
3 -# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
4 -# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
5 -# aplicativos mainframe. Registro no INPI sob o nome G3270.  
6 -#  
7 -# Copyright (C) <2008> <Banco do Brasil S.A.>  
8 -#  
9 -# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
10 -# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
11 -# Free Software Foundation.  
12 -#  
13 -# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
14 -# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
15 -# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
16 -# obter mais detalhes.  
17 -#  
18 -# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
19 -# programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
20 -# St, Fifth Floor, Boston, MA 02110-1301 USA  
21 -#  
22 -# Contatos:  
23 -#  
24 -# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
25 -# erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)  
26 -#  
27 -#  
28 -VERSION="5.2"  
29 -  
30 -install() {  
31 -  
32 - BUILD_DIR=${TEMPDIR}/${1}  
33 -  
34 - mkdir -p ${BUILD_DIR}  
35 - if [ "$?" != "0" ]; then  
36 - exit -1  
37 - fi  
38 -  
39 - pushd ${BUILD_DIR}  
40 - if [ "$?" != "0" ]; then  
41 - exit -1  
42 - fi  
43 -  
44 - wget https://github.com/PerryWerneck/${1}/releases/download/${VERSION}/PKGBUILD  
45 - if [ "$?" != "0" ]; then  
46 - exit -1  
47 - fi  
48 -  
49 - makepkg  
50 - if [ "$?" != "0" ]; then  
51 - exit -1  
52 - fi  
53 -  
54 - popd  
55 -  
56 - cp ${BUILD_DIR}/mingw*-${1}*.tar.xz .  
57 -  
58 - rm -fr ${BUILD_DIR}  
59 -  
60 - pacman -U mingw*-${1}*.tar.xz  
61 - if [ "$?" != "0" ]; then  
62 - exit -1  
63 - fi  
64 -  
65 -}  
66 -  
67 -TEMPDIR=$(mktemp -d)  
68 -  
69 -install lib3270  
70 -install libv3270  
71 -  
72 -rm -fr ${TEMPDIR}  
win/pw3270.nsi.in
@@ -24,20 +24,16 @@ @@ -24,20 +24,16 @@
24 24
25 Name "@PRODUCT_NAME@" 25 Name "@PRODUCT_NAME@"
26 Caption "@PRODUCT_NAME@ - @PACKAGE_DESCRIPTION@" 26 Caption "@PRODUCT_NAME@ - @PACKAGE_DESCRIPTION@"
27 -!ifdef WITHGTK  
28 -outfile "@PRODUCT_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@-gtk-@GTK_MODVERSION@-@host_cpu@.exe"  
29 -!else  
30 -outfile "@PRODUCT_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@-requires-gtk-@GTK_MODVERSION@-@host_cpu@.exe"  
31 -!endif 27 +outfile "@PRODUCT_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@-@host_cpu@.exe"
32 28
33 XPStyle on 29 XPStyle on
34 30
35 installDir "$@PROGRAMFILES@\@PRODUCT_NAME@" 31 installDir "$@PROGRAMFILES@\@PRODUCT_NAME@"
36 32
37 #define the installer icon 33 #define the installer icon
38 -!define MUI_ICON "@PRODUCT_NAME@.ico"  
39 -!define MUI_UNICON "@PRODUCT_NAME@.ico"  
40 -icon "@PRODUCT_NAME@.ico" 34 +!define MUI_ICON "bin\@PRODUCT_NAME@.ico"
  35 +!define MUI_UNICON "bin\@PRODUCT_NAME@.ico"
  36 +icon "bin\@PRODUCT_NAME@.ico"
41 37
42 # Get installation folder from registry if available 38 # Get installation folder from registry if available
43 InstallDirRegKey HKLM "Software\@PRODUCT_NAME@" "InstallLocation" 39 InstallDirRegKey HKLM "Software\@PRODUCT_NAME@" "InstallLocation"
@@ -60,16 +56,16 @@ VIAddVersionKey &quot;LegalCopyright&quot; &quot;(C) 2017 Banco do Brasil S/A. All Rights Reser @@ -60,16 +56,16 @@ VIAddVersionKey &quot;LegalCopyright&quot; &quot;(C) 2017 Banco do Brasil S/A. All Rights Reser
60 # Interface 56 # Interface
61 57
62 !define MUI_ABORTWARNING 58 !define MUI_ABORTWARNING
63 -# !insertmacro MUI_PAGE_WELCOME  
64 -!insertmacro MUI_PAGE_LICENSE "LICENSE" 59 +!insertmacro MUI_PAGE_WELCOME
  60 +!insertmacro MUI_PAGE_LICENSE "share\@PRODUCT_NAME@\LICENSE"
65 !insertmacro MUI_PAGE_COMPONENTS 61 !insertmacro MUI_PAGE_COMPONENTS
66 !insertmacro MUI_PAGE_DIRECTORY 62 !insertmacro MUI_PAGE_DIRECTORY
67 !insertmacro MUI_PAGE_INSTFILES 63 !insertmacro MUI_PAGE_INSTFILES
68 64
69 -# !insertmacro MUI_UNPAGE_WELCOME 65 +!insertmacro MUI_UNPAGE_WELCOME
70 !insertmacro MUI_UNPAGE_CONFIRM 66 !insertmacro MUI_UNPAGE_CONFIRM
71 !insertmacro MUI_UNPAGE_INSTFILES 67 !insertmacro MUI_UNPAGE_INSTFILES
72 -# !insertmacro MUI_UNPAGE_FINISH 68 +!insertmacro MUI_UNPAGE_FINISH
73 69
74 # Languages 70 # Languages
75 !insertmacro MUI_LANGUAGE "English" 71 !insertmacro MUI_LANGUAGE "English"
@@ -80,71 +76,48 @@ VIAddVersionKey &quot;LegalCopyright&quot; &quot;(C) 2017 Banco do Brasil S/A. All Rights Reser @@ -80,71 +76,48 @@ VIAddVersionKey &quot;LegalCopyright&quot; &quot;(C) 2017 Banco do Brasil S/A. All Rights Reser
80 # default section 76 # default section
81 SubSection "@PRODUCT_NAME@" SecMain 77 SubSection "@PRODUCT_NAME@" SecMain
82 78
83 - Section "Core" SecCore 79 + Section "@PRODUCT_NAME@" SecCore
84 80
85 SetRegView @WINARCH@ 81 SetRegView @WINARCH@
86 ${DisableX64FSRedirection} 82 ${DisableX64FSRedirection}
87 83
88 - # define the output path for this file  
89 - setOutPath $INSTDIR 84 + # Set SMPROGRAMS and DESKTOP path
90 SetShellVarContext all 85 SetShellVarContext all
91 86
92 - createShortCut "$SMPROGRAMS\@PRODUCT_NAME@.lnk" "$INSTDIR\@PRODUCT_NAME@.exe"  
93 - createShortCut "$DESKTOP\@PRODUCT_NAME@.lnk" "$INSTDIR\@PRODUCT_NAME@.exe"  
94 -  
95 # Binary files 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 # define uninstaller name 121 # define uninstaller name
149 SetRegView 32 122 SetRegView 32
150 123
@@ -209,124 +182,54 @@ SubSection &quot;@PRODUCT_NAME@&quot; SecMain @@ -209,124 +182,54 @@ SubSection &quot;@PRODUCT_NAME@&quot; SecMain
209 WriteRegStr HKLM "Software\@PRODUCT_NAME@" "font-family" "Lucida Console" 182 WriteRegStr HKLM "Software\@PRODUCT_NAME@" "font-family" "Lucida Console"
210 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)" 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 sectionEnd 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 !ifdef WITHSDK 190 !ifdef WITHSDK
288 - Section /o "Software Development Kit" SDK 191 + Section /o "Software Development Kit" SDK
289 192
290 setOutPath $INSTDIR\sdk\include 193 setOutPath $INSTDIR\sdk\include
291 file /r "include\*.*" 194 file /r "include\*.*"
292 195
293 - CreateDirectory "$INSTDIR\sdk"  
294 - CreateDirectory "$INSTDIR\sdk\def"  
295 - CreateDirectory "$INSTDIR\sdk\lib" 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 SetRegView @WINARCH@ 206 SetRegView @WINARCH@
313 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PW3270_SDK_PATH" "$INSTDIR\sdk" 207 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PW3270_SDK_PATH" "$INSTDIR\sdk"
314 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 208 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
315 209
316 - SectionEnd 210 + SectionEnd
317 !endif 211 !endif
318 212
319 -SubSectionEnd 213 +!ifdef WITHCERTS
  214 + Section "SSL Certificates" SSLCerts
  215 + setOutPath $INSTDIR\certs
  216 + file /r "sslcerts\*.*"
  217 + sectionEnd
  218 +!endif
320 219
  220 + SubSection "Plugins" SecPLugin
321 221
322 -!ifdef WITHGTK  
323 -Section "GTK+ Runtime" SecGTK 222 + Section "Remote control" IPCPlugin
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 Section "Uninstall" 234 Section "Uninstall"
332 235
@@ -343,15 +246,7 @@ Section &quot;Uninstall&quot; @@ -343,15 +246,7 @@ Section &quot;Uninstall&quot;
343 delete $SMPROGRAMS\@PRODUCT_NAME@.lnk 246 delete $SMPROGRAMS\@PRODUCT_NAME@.lnk
344 delete $DESKTOP\@PRODUCT_NAME@.lnk 247 delete $DESKTOP\@PRODUCT_NAME@.lnk
345 248
346 - RMDir /r "$INSTDIR\locale"  
347 - RMDir /r "$INSTDIR\share"  
348 - RMDir /r "$INSTDIR\etc"  
349 - RMDir /r "$INSTDIR\plugins"  
350 - RMDir /r "$INSTDIR\sdk"  
351 - RMDir /r "$INSTDIR\gtk2-runtime"  
352 -  
353 - # Delete all files  
354 - delete "$INSTDIR\*.dll" 249 + RMDir /r "$INSTDIR"
355 250
356 # Remove registry 251 # Remove registry
357 SetRegView 32 252 SetRegView 32
@@ -486,42 +381,6 @@ Function .onInit @@ -486,42 +381,6 @@ Function .onInit
486 381
487 !endif 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 FunctionEnd 384 FunctionEnd
526 385
527 Function .onInstSuccess 386 Function .onInstSuccess
win/win32-configure
@@ -1,37 +0,0 @@ @@ -1,37 +0,0 @@
1 -#!/bin/bash  
2 -  
3 -export HOST_CC=/usr/bin/gcc  
4 -export cache=win32.cache  
5 -  
6 -OPT=$@  
7 -  
8 -OFFICE=$(grep -c 'AC_ARG_ENABLE(\[office' configure.ac)  
9 -  
10 -if [ "$OFFICE" != "0" ]; then  
11 - OPT="$OPT --disable-office"  
12 -fi  
13 -  
14 -if [ -d ~/win32/jdk ]; then  
15 - export JDK_HOME=$(readlink -f ~/win32/jdk)  
16 -else  
17 - unset JDK_HOME  
18 -fi  
19 -  
20 -if [ -d ~/win32/jre ]; then  
21 - export JRE_HOME=$(readlink -f ~/win32/jre)  
22 -else  
23 - unset JRE_HOME  
24 -fi  
25 -  
26 -./configure --cache-file=$cache \  
27 - --host=i686-w64-mingw32 \  
28 - --prefix=/usr/i686-w64-mingw32/sys-root/mingw \  
29 - --libdir=/usr/i686-w64-mingw32/sys-root/mingw/lib \  
30 - $OPT  
31 -  
32 -  
33 -status=$?  
34 -  
35 -rm -f "$cache"  
36 -exit $status  
37 -  
win/win64-configure
@@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
1 -#!/bin/bash  
2 -  
3 -export HOST_CC=/usr/bin/gcc  
4 -export cache=win64.cache  
5 -  
6 -OPT=$@  
7 -  
8 -OFFICE=$(grep -c 'AC_ARG_ENABLE(\[office' configure.ac)  
9 -  
10 -if [ "$OFFICE" != "0" ]; then  
11 - OPT="$OPT --disable-office"  
12 -fi  
13 -  
14 -if [ -d ~/win64/jdk ]; then  
15 - export JDK_HOME=$(readlink -f ~/win64/jdk)  
16 -fi  
17 -  
18 -if [ -d ~/win64/jre ]; then  
19 - export JRE_HOME=$(readlink -f ~/win64/jre)  
20 -fi  
21 -  
22 -  
23 -./configure --cache-file=$cache \  
24 - --host=x86_64-w64-mingw32 \  
25 - --prefix=/usr/x86_64-w64-mingw32/sys-root/mingw \  
26 - --libdir=/usr/x86_64-w64-mingw32/sys-root/mingw/lib \  
27 - $OPT  
28 -  
29 -status=$?  
30 -  
31 -rm -f "$cache"  
32 -exit $status  
33 -  
1 #!/bin/bash 1 #!/bin/bash
2 2
3 -make Debug  
4 -make gschemas.compiled 3 +rm -fr ${PWD}/.build
  4 +
  5 +make DESTDIR=${PWD}/.build install
  6 +if [ "$?" != "0" ]; then
  7 + exit -1
  8 +fi
  9 +
  10 +bash ./win/makeruntime.sh
  11 +if [ "$?" != "0" ]; then
  12 + exit -1
  13 +fi
  14 +
  15 +wine .build/usr/x86_64-w64-mingw32/sys-root/mingw/bin/pw3270.exe
  16 +if [ "$?" != "0" ]; then
  17 + exit -1
  18 +fi
5 19
6 -cp gschemas.compiled .bin/Debug  
7 20
8 -wine .bin/Debug/pw3270.exe  
9 21