diff -Nru q4wine-1.3.11/AUTHORS q4wine-1.3.12/AUTHORS --- q4wine-1.3.11/AUTHORS 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/AUTHORS 2020-02-08 12:56:10.000000000 +0000 @@ -24,7 +24,7 @@ Project maintainer, lead developer, website designer and developer, project documentation, support etc. ;) mail: brezerk@gmail.com web: https://brezblock.org.ua -Kiev, Ukraine +Kyiv, Ukraine Sergey Skrypnic (opium) Website developer, hosting administration @@ -41,7 +41,7 @@ Moscow, Russia Xavier Corredor Llano -build-in nuvoX icon theme +built-in nuvoX icon theme mail: xavier.corredor.llano@gmail.com |=-------------------------=[ translations ]=----------------------------=| @@ -50,7 +50,7 @@ Ukrainian translation mail: brezerk@gmail.com web: https://brezblock.org.ua -Kiev, Ukraine +Kyiv, Ukraine Boris Pek (tehnick) Russian translation @@ -132,7 +132,7 @@ Uriy O. Chornoivan Ukrainian translation mail: yurchor@ukr.net -Kiev, Ukraine +Kyiv, Ukraine seigneurfuo French translation diff -Nru q4wine-1.3.11/ChangeLog q4wine-1.3.12/ChangeLog --- q4wine-1.3.11/ChangeLog 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/ChangeLog 2020-02-08 12:56:10.000000000 +0000 @@ -1,3 +1,24 @@ +Version 1.3.12 + Updated: + - Afrikaans translation; + - Japanese translation; + - Ukrainian translation; + - Russian translation; + - Traditional Chinese translation; + - German translation; + Add: + - Add an option to show / hide "Args" parameter [BUG-114]; + - Generate StartupWMClass values in created .desktop files [BUG-153]; + - Added a feature to keep the terminal open when running winetricks so users can see the output. + Fixed: + - Fix parsing of env causing issues with wine kill [BUG-143]; + - Error: wrong or broken XML data. Try again later. [BUG-146]; + - Fixed a bug where /etc/mtab was not being read and resulted in being unable to unmount iso images. + - Fixed a bug where the temporary director for generating icons wasn't being deleted. Refactored this to use QTemporaryDir. + - Added workaround for st terminal, similar to konsole. + - Fixed warnings: Qt deprecated function useage; + - Fixed warnings: use of old-style cast + Version 1.3.11 Fixed: - Display of Valve Proton in Processes view [BUG-138]; @@ -194,7 +215,7 @@ Version 1.0 Fixed: - - Quote run string in case of console useage (gnome-terminal, see BUG-15) + - Quote run string in case of console usage (gnome-terminal, see BUG-15) - Winetricks functionality fails to work [BUG-15] - Cannot run 'Create Fake Drive' for a new prefix with a win32 architecture [BUG-14] - System Language autodetection does not work [BUG-13] @@ -241,7 +262,7 @@ - Desktop Paths are wrongly labeled [3491775]; - Win32 prefix creation while prefix directory exists; - Unite Icon\Detail toolbar actions; - - No translations autoupdate at project build. Use `make translations` insted; + - No translations autoupdate at project build. Use `make translations` instead; - Fixed process refresh loop; - Extended env command after console terminal; - Updated README file: added "Known Issues" section; @@ -415,7 +436,7 @@ - q4wine now remembers 8 recent launched binaries via Run dialog; - QtSingleApp integration. Now you can run only one instance of q4wine-gui; - Online documentation; - - New website: http://q4wine.brezblock.org.ua/; + - New website: https://q4wine.brezblock.org.ua/; - Now q4wine save last user selected prefix and dir; - Added "open directory" menu items via xdg-utils; - Added "open directory" menu items via winefile; diff -Nru q4wine-1.3.11/config.h.cmake q4wine-1.3.12/config.h.cmake --- q4wine-1.3.11/config.h.cmake 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/config.h.cmake 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -60,7 +60,7 @@ #define APPDB_HOSTNAME "q4wine.brezblock.org.ua" #define BUGS_HOSTNAME "bugs.winehq.org" -#define APPDB_PORT 80 +#define APPDB_PORT 443 #cmakedefine _OS_LINUX_ #cmakedefine _OS_FREEBSD_ diff -Nru q4wine-1.3.11/COPYING q4wine-1.3.12/COPYING --- q4wine-1.3.11/COPYING 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/COPYING 2020-02-08 12:56:10.000000000 +0000 @@ -305,7 +305,7 @@ actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. +the only significan't mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install diff -Nru q4wine-1.3.11/debian/changelog q4wine-1.3.12/debian/changelog --- q4wine-1.3.11/debian/changelog 2020-01-16 23:23:55.000000000 +0000 +++ q4wine-1.3.12/debian/changelog 2020-02-10 21:22:45.000000000 +0000 @@ -1,8 +1,14 @@ -q4wine (1.3.11-1ppa1~eoan1) eoan; urgency=medium +q4wine (1.3.12-0ppa1~eoan1) eoan; urgency=medium * Automatic backport; no changes required. - -- Boris Pek Fri, 17 Jan 2020 02:23:55 +0300 + -- Boris Pek Tue, 11 Feb 2020 00:22:45 +0300 + +q4wine (1.3.12-0ppa1~focal1) focal; urgency=medium + + * New stable release. + + -- Boris Pek Tue, 11 Feb 2020 00:22:41 +0300 q4wine (1.3.11-1ppa1~focal1) focal; urgency=medium diff -Nru q4wine-1.3.11/debian/control q4wine-1.3.12/debian/control --- q4wine-1.3.11/debian/control 2020-01-16 23:23:24.000000000 +0000 +++ q4wine-1.3.12/debian/control 2020-02-10 21:22:41.000000000 +0000 @@ -14,7 +14,8 @@ Homepage: https://web.archive.org/web/http://q4wine.brezblock.org.ua/ Vcs-Git: https://github.com/tehnick/q4wine-debian.git Vcs-Browser: https://github.com/tehnick/q4wine-debian -Standards-Version: 4.3.0 +Standards-Version: 4.5.0 +Rules-Requires-Root: no Package: q4wine Architecture: any diff -Nru q4wine-1.3.11/debian/copyright q4wine-1.3.12/debian/copyright --- q4wine-1.3.11/debian/copyright 2020-01-16 23:23:24.000000000 +0000 +++ q4wine-1.3.12/debian/copyright 2020-02-10 21:22:41.000000000 +0000 @@ -7,7 +7,7 @@ The orig.tar.bz2 is just renamed upstream tarball (without changes). Files: * -Copyright: 2008-2019 Oleksii S. Malakhov aka John Brezerk +Copyright: 2008-2020 Oleksii S. Malakhov aka John Brezerk 2009 Pavel Zinin (pashazz) 2008 Dmitry Marakasov (amdmi3) 2008 Sergey V. Dyatko @@ -134,7 +134,7 @@ SUCH DAMAGE. Files: debian/* -Copyright: 2010-2019 Boris Pek +Copyright: 2010-2020 Boris Pek License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru q4wine-1.3.11/debian/patches/fix-documentation-url.patch q4wine-1.3.12/debian/patches/fix-documentation-url.patch --- q4wine-1.3.11/debian/patches/fix-documentation-url.patch 2020-01-16 23:23:24.000000000 +0000 +++ q4wine-1.3.12/debian/patches/fix-documentation-url.patch 2020-02-10 21:22:41.000000000 +0000 @@ -1,10 +1,10 @@ Description: Fix documentation URL Use web.archive.org until project website will be available from around the globe. Author: Boris Pek -Last-Update: 2017-10-26 +Last-Update: 2019-06-10 Forwarded: not-needed Bug: https://github.com/brezerk/q4wine/issues/45 -Bug-Debian: http://bugs.debian.org/761968, https://bugs.debian.org/836429 +Bug-Debian: https://bugs.debian.org/761968, https://bugs.debian.org/836429 Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/q4wine/+bug/1332725 @@ -27,15 +27,15 @@ +#define APPDB_HOSTNAME "web.archive.org/web/http://q4wine.brezblock.org.ua" #define BUGS_HOSTNAME "bugs.winehq.org" - #define APPDB_PORT 80 + #define APPDB_PORT 443 --- a/src/q4wine-lib/q4wine-lib.cpp +++ b/src/q4wine-lib/q4wine-lib.cpp -@@ -1509,7 +1509,7 @@ - } - url.append(APP_WEBSITE); - url.append("/documentation/"); -- url.append(lang); -+ url.append("en_us"); - url.append("/"); - if (rawurl.contains('#')) { - QStringList list = rawurl.split('#'); +@@ -1603,7 +1603,7 @@ void corelib::openHelpUrl(const QString &rawurl){ + } + url.append(APP_WEBSITE); + url.append("/documentation/"); +- url.append(lang); ++ url.append("en_us"); + url.append("/"); + if (rawurl.contains('#')) { + QStringList list = rawurl.split('#'); diff -Nru q4wine-1.3.11/debian/rules q4wine-1.3.12/debian/rules --- q4wine-1.3.11/debian/rules 2020-01-16 23:23:24.000000000 +0000 +++ q4wine-1.3.12/debian/rules 2020-02-10 21:22:41.000000000 +0000 @@ -1,5 +1,6 @@ #!/usr/bin/make -f +export DEB_CXXFLAGS_MAINT_APPEND = $(shell dpkg-buildflags --get CPPFLAGS) export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed export DEB_BUILD_MAINT_OPTIONS = hardening=+all diff -Nru q4wine-1.3.11/Doxyfile q4wine-1.3.12/Doxyfile --- q4wine-1.3.11/Doxyfile 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/Doxyfile 2020-02-08 12:56:10.000000000 +0000 @@ -288,10 +288,10 @@ # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. +# causing a significan't performance penalty. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the +# a logarithmic scale so increasing the size by one will roughly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols @@ -968,7 +968,7 @@ TREEVIEW_WIDTH = 250 -# Use this tag to change the font size of Latex formulas included +# Use this tag to change the font size of LaTeX formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory @@ -981,7 +981,7 @@ #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. +# generate LaTeX output. GENERATE_LATEX = NO diff -Nru q4wine-1.3.11/.gitignore q4wine-1.3.12/.gitignore --- q4wine-1.3.11/.gitignore 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/.gitignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -latex/ -build/ -qt-creator/ -qtcreator-build/ -*~ -CMakeFiles/ -CMakeCache.txt -CMakeLists.txt.user -Makefile -cmake_install.cmake -install_manifest.txt -*.qm -*.o -*.so -*.ccx -*.a -*.cxx -ui_*.h -config.h -q4wine-mount -q4wine-cli -q4wine -q4wine-helper -*.cbp -*.user -*.gz -*.bz2 -*.autosave -doc/ -src/version.h diff -Nru q4wine-1.3.11/INSTALL q4wine-1.3.12/INSTALL --- q4wine-1.3.11/INSTALL 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/INSTALL 2020-02-08 12:56:10.000000000 +0000 @@ -100,7 +100,7 @@ You may wish to remove Desktop menu structure as well: $HOME/.local/share/applications/q4wine -Don't forget to refresh Application cache by runing kbuildsycoca or kbuildsycoca5 (for KDE) +Don't forget to refresh Application cache by running kbuildsycoca or kbuildsycoca5 (for KDE) Uninstall: @@ -111,7 +111,7 @@ You may wish to remove Desktop menu structure as well: $HOME/.local/share/applications/q4wine -Don't forget to refresh Application cache by runing kbuildsycoca or kbuildsycoca5 (for KDE) +Don't forget to refresh Application cache by running kbuildsycoca or kbuildsycoca5 (for KDE) Changelog *********************************************** diff -Nru q4wine-1.3.11/pkg/files/db-5.1.29-rename-atomic-compare-exchange.patch q4wine-1.3.12/pkg/files/db-5.1.29-rename-atomic-compare-exchange.patch --- q4wine-1.3.11/pkg/files/db-5.1.29-rename-atomic-compare-exchange.patch 1970-01-01 00:00:00.000000000 +0000 +++ q4wine-1.3.12/pkg/files/db-5.1.29-rename-atomic-compare-exchange.patch 2020-02-08 12:56:10.000000000 +0000 @@ -0,0 +1,22 @@ +diff --git a/src/dbinc/atomic.h b/src/dbinc/atomic.h +index 0034dcc..fa7ba93 100644 +--- a/src/dbinc/atomic.h ++++ b/src/dbinc/atomic.h +@@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val; + #define atomic_inc(env, p) __atomic_inc(p) + #define atomic_dec(env, p) __atomic_dec(p) + #define atomic_compare_exchange(env, p, o, n) \ +- __atomic_compare_exchange((p), (o), (n)) ++ __db_atomic_compare_exchange((p), (o), (n)) + static inline int __atomic_inc(db_atomic_t *p) + { + int temp; +@@ -176,7 +176,7 @@ static inline int __atomic_dec(db_atomic_t *p) + * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html + * which configure could be changed to use. + */ +-static inline int __atomic_compare_exchange( ++static inline int __db_atomic_compare_exchange( + db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval) + { + atomic_value_t was; diff -Nru q4wine-1.3.11/pkg/ua.org.brezblock.Q4Wine.yaml q4wine-1.3.12/pkg/ua.org.brezblock.Q4Wine.yaml --- q4wine-1.3.11/pkg/ua.org.brezblock.Q4Wine.yaml 1970-01-01 00:00:00.000000000 +0000 +++ q4wine-1.3.12/pkg/ua.org.brezblock.Q4Wine.yaml 2020-02-08 12:56:10.000000000 +0000 @@ -0,0 +1,203 @@ +app-id: ua.org.brezblock.Q4Wine +branch: master +runtime: org.kde.Sdk +runtime-version: "5.12" +sdk: org.kde.Sdk +inherit-extensions: + - org.freedesktop.Platform.GL + - org.freedesktop.Platform.Timezones + - org.freedesktop.Platform.GStreamer + - org.freedesktop.Platform.VAAPI.Intel + - org.freedesktop.Sdk.Extension + # - org.freedesktop.Platform.Compat.i386 +command: q4wine +finish-args: + - --share=network + - --share=ipc + - --socket=x11 + - --socket=wayland + - --device=dri + - --allow=multiarch + - --env=PATH=/app/bin:/app/lib/wine/bin:/app/lib/wine-32bit/bin:/app/lib/32bit/wine:/usr/lib/wine/bin:/usr/lib/wine-32bit/bin:/usr/bin:/usr/lib/32bit/bin + - --env=XDG_DATA_DIRS=/app/share:/usr/share:/usr/share/runtime/share:/run/host/share + - --env=WINEDEBUG=-all + - --env=WINEPREFIX=/var/data/wine +# - --filesystem=host +# - --persist=.config +cleanup: + - /share/doc + - /share/man + - '*.a' + - '*.la' +cleanup-commands: # https://github.com/flatpak/flatpak-builder/issues/233 + - rm -rf /app/{include,lib/{cmake,mkspecs,pkgconfig}} +build-options: + cflags: -O2 -g -fstack-protector-strong -D_FORTIFY_SOURCE=2 + cxxflags: -O2 -g -fstack-protector-strong -D_FORTIFY_SOURCE=2 + ldflags: -fstack-protector-strong -Wl,-z,relro,-z,now + env: + V: '1' + +modules: + - name: openldap + config-opts: + - --disable-static + sources: + # OpenLDAP required for Wine + # Due to the licencing of BDB v6.* we must stick with OpenLDAP 2.4.46 + # FTP isn't support in flatpak & flatpak-builder so we use he https mirror + # https://www.openldap.org/software/download/OpenLDAP/openldap-release/ + - type: archive + url: https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.46.tgz + sha256: 9a90dcb86b99ae790ccab93b7585a31fbcbeec8c94bf0f7ab0ca0a87ea0c4b2d + modules: + - name: BDB + config-opts: + - --enable-compat185 + - --enable-shared + - --enable-static + - --enable-cxx + - --enable-dbm + - --enable-stl + make-install-args: + - LIBSO_LIBS=-lpthread + sources: + # Bereley DB required for OpenLDAP + # Due to licencing v6.* will not work with later versions of OpenLDAP + # and for that matter a lot of other software. Stick to v5.3.28 + # http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html + - type: archive + url: http://download.oracle.com/berkeley-db/db-5.3.28.tar.gz + sha256: e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628 + - type: patch + path: files/db-5.1.29-rename-atomic-compare-exchange.patch + - type: script + dest-filename: configure + commands: + - "./dist/configure $@" + + - name: q4wine + buildsystem: simple + build-commands: + - cd q4wine-1.3.11 && + mkdir build && + cd build && + cmake .. -DCMAKE_INSTALL_PREFIX=/app -DWITH_ICOUTILS=OFF && + make -j4 && + make install + sources: + - type: archive + url: "https://netix.dl.sourceforge.net/project/q4wine/q4wine/q4wine%201.3.11/q4wine-1.3.11.tar.bz2" + sha256: d07f7d9b5d080d45150a1f08d32b766d0ab3488e3e0bd5316d9143fbb22cec65 + - name: wine64 + only-arches: + - x86_64 +# buildsystem: autotools + config-opts: + - --enable-win64 + - --disable-win16 + - --disable-tests + - --with-x + - --with-pulse + - --with-dbus + - --without-hal + - --without-oss + - --with-ldap + - --without-cups + - --without-curses + - --without-capi + - --without-glu + - --without-gphoto + - --without-gsm + - --without-netapi + - --without-opencl + - --without-pcap + - --without-udev + - --without-v4l + cleanup: + - /share/man + - /share/applications + sources: + - type: archive + url: "https://dl.winehq.org/wine/source/4.0/wine-4.0.2.tar.xz" + sha256: 994050692f8417ee206daafa5fc0ff810cc9392ffda1786ac0f0fb0cf74dbd74 + - name: wine32 + only-arches: + - i386 +# buildsystem: autotools + config-opts: + - --disable-win64 + - --disable-win16 + - --disable-tests + - --with-x + - --with-pulse + - --with-dbus + - --without-hal + - --without-oss + - --with-ldap + - --without-cups + - --without-curses + - --without-capi + - --without-glu + - --without-gphoto + - --without-gsm + - --without-netapi + - --without-opencl + - --without-pcap + - --without-udev + - --without-v4l + cleanup: + - /share/man + - /share/applications + sources: + - type: archive + url: "https://dl.winehq.org/wine/source/4.0/wine-4.0.2.tar.xz" + sha256: 994050692f8417ee206daafa5fc0ff810cc9392ffda1786ac0f0fb0cf74dbd74 + - name: wine-gecko + buildsystem: simple + build-commands: + - install -D --target-directory=/app/usr/share/wine/gecko/ wine_gecko-*.msi + no-make-install: true + sources: + - type: file + only-arches: + - x86_64 + url: https://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi + sha256: c565ea25e50ea953937d4ab01299e4306da4a556946327d253ea9b28357e4a7d + - type: file + url: https://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi + sha256: 3b8a361f5d63952d21caafd74e849a774994822fb96c5922b01d554f1677643a + + - name: wine-mono + buildsystem: simple + build-commands: + - install -D --target-directory=/app/usr/share/wine/mono/ wine-mono-*.msi + no-make-install: true + sources: + - type: file + url: https://dl.winehq.org/wine/wine-mono/4.7.1/wine-mono-4.7.1.msi + sha256: 2c8d5db7f833c3413b2519991f5af1f433d59a927564ec6f38a3f1f8b2c629aa + + - name: cabextract + buildsystem: autotools + sources: + - type: archive + url: https://www.cabextract.org.uk/cabextract-1.6.tar.gz + sha256: cee661b56555350d26943c5e127fc75dd290b7f75689d5ebc1f04957c4af55fb +# FIXME +# - name: winetricks +# buildsystem: simple +# build-commands: +# - make +# - make install +# sources: +# - type: archive +# url: https://github.com/Winetricks/winetricks/archive/20180513.tar.gz +# sha256: 626aff64e3d93698704b0b668225d5504fd8ef556e3834f569058deaeafada8e + - name: icoutils + buildsystem: autotools + sources: + - type: archive + url: http://savannah.nongnu.org/download/icoutils/icoutils-0.32.3.tar.bz2 + sha256: 17abe02d043a253b68b47e3af69c9fc755b895db68fdc8811786125df564c6e0 + diff -Nru q4wine-1.3.11/Q4Wine.pro q4wine-1.3.12/Q4Wine.pro --- q4wine-1.3.11/Q4Wine.pro 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/Q4Wine.pro 1970-01-01 00:00:00.000000000 +0000 @@ -1,339 +0,0 @@ -#------------------------------------------------- -# -# Project created by QtCreator 2013-03-20T04:30:04 -# -#------------------------------------------------- - -QT += core gui - -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - -TARGET = Q4Wine -TEMPLATE = app - - -SOURCES += src/main.cpp\ - src/q4wine-gui/mainwindow.cpp - - -HEADERS += src/q4wine-gui/mainwindow.h - -FORMS += src/q4wine-gui/uis/MainWindow.ui - -FORMS += \ - src/q4wine-gui/uis/Wizard.ui \ - src/q4wine-gui/uis/WineDriveDialog.ui \ - src/q4wine-gui/uis/Run.ui \ - src/q4wine-gui/uis/Process.ui \ - src/q4wine-gui/uis/PrefixSettings.ui \ - src/q4wine-gui/uis/InfoDialog.ui \ - src/q4wine-gui/uis/ImageManager.ui \ - src/q4wine-gui/uis/IconsView.ui \ - src/q4wine-gui/uis/IconSettings.ui \ - src/q4wine-gui/uis/FakeDriveSettings.ui \ - src/q4wine-gui/uis/CommentWidget.ui \ - src/q4wine-gui/uis/AppTestWidget.ui \ - src/q4wine-gui/uis/AppSettings.ui \ - src/q4wine-gui/uis/AppInfoWidget.ui \ - src/q4wine-gui/uis/About.ui - -RESOURCES += \ - src/q4wine.qrc \ - src/q4wine-gui/uis/q4wine.qrc - -SOURCES += \ - src/plugins/sysmenu.cpp \ - src/plugins/winetricks.cpp - -SOURCES += \ - src/core/xmlparser.cpp \ - src/core/registry.cpp \ - src/core/httpcore.cpp - -HEADERS += \ - src/core/xmlparser.h \ - src/core/registry.h \ - src/core/httpcore.h \ - src/core/appdbstructs.h - -SOURCES += \ - src/darwin/ps.c - -HEADERS += \ - src/darwin/ps.h - -OTHER_FILES += \ - src/data/zoom-out.png \ - src/data/zoom-in.png \ - src/data/wordpad.png \ - src/data/wizard.png \ - src/data/winetricks-install.png \ - src/data/winemine.png \ - src/data/wineconsole.png \ - src/data/winecfg.png \ - src/data/wineappdb.png \ - src/data/wineappdb-app.png \ - src/data/wine16x16.png \ - src/data/wine.png \ - src/data/view-list-icons.png \ - src/data/view-list-details.png \ - src/data/up.png \ - src/data/uninstaller.png \ - src/data/tools-report-bug.png \ - src/data/terminal.png \ - src/data/taskmgr.png \ - src/data/stop.png \ - src/data/sort-desc.png \ - src/data/sort-create-desc.png \ - src/data/sort-create-asc.png \ - src/data/sort-asc.png \ - src/data/remove.png \ - src/data/reload.png \ - src/data/regedit.png \ - src/data/rebuild.png \ - src/data/q4wine.png \ - src/data/q4wine-128x128.png \ - src/data/prefixc.png \ - src/data/prefix.png \ - src/data/oleview.png \ - src/data/ok.png \ - src/data/notepad.png \ - src/data/love.png \ - src/data/logo.png \ - src/data/list.png \ - src/data/ledorange.png \ - src/data/ledgreen.png \ - src/data/kill.png \ - src/data/iso_manager.png \ - src/data/important.png \ - src/data/import.png \ - src/data/iexplore.png \ - src/data/help.png \ - src/data/go-home.png \ - src/data/folder.png \ - src/data/folder-import.png \ - src/data/folder-downloads.png \ - src/data/folder_open.png \ - src/data/firstc.png \ - src/data/find.png \ - src/data/filter.png \ - src/data/fileopen.png \ - src/data/fakedrive-update.png \ - src/data/fakedrive-new.png \ - src/data/fail.png \ - src/data/export.png \ - src/data/explorer.png \ - src/data/expand.png \ - src/data/exec.png \ - src/data/exec_wine.png \ - src/data/eject.png \ - src/data/drive_menu.png \ - src/data/down.png \ - src/data/down_log.png \ - src/data/date.png \ - src/data/control.png \ - src/data/configure.png \ - src/data/collapse.png \ - src/data/clear-rtl.png \ - src/data/clear-ltr.png \ - src/data/clear-list.png \ - src/data/cdrom_menu.png \ - src/data/bookmark-new.png \ - src/data/blockdevice.png \ - src/data/add.png - -OTHER_FILES += \ - src/freebsd/umount.sh \ - src/freebsd/umount_freebsd.sh \ - src/freebsd/mount_image.sh - -OTHER_FILES += \ - src/man1/q4wine.1 \ - src/man1/q4wine-helper.1 \ - src/man1/q4wine-cli.1 - -HEADERS += \ - src/q4wine-cli/q4wine-cli.h - -SOURCES += \ - src/q4wine-cli/q4wine-cli.cpp - -FORMS += \ - src/plugins/winetricks.ui - -HEADERS += \ - src/plugins/winetricks.h \ - src/plugins/sysmenu.h - -OTHER_FILES += \ - src/plugins/CMakeLists.txt - -SOURCES += \ - src/q4wine-gui/wizard.cpp \ - src/q4wine-gui/winedrivedialog.cpp \ - src/q4wine-gui/run.cpp \ - src/q4wine-gui/progress.cpp \ - src/q4wine-gui/process.cpp \ - src/q4wine-gui/prefixsettings.cpp \ - src/q4wine-gui/infodialog.cpp \ - src/q4wine-gui/imagemanager.cpp \ - src/q4wine-gui/iconsview.cpp \ - src/q4wine-gui/iconsettings.cpp \ - src/q4wine-gui/fakedrivesettings.cpp \ - src/q4wine-gui/appsettings.cpp \ - src/q4wine-gui/about.cpp \ - src/q4wine-gui/versions.cpp - -HEADERS += \ - src/q4wine-gui/wizard.h \ - src/q4wine-gui/winedrivedialog.h \ - src/q4wine-gui/run.h \ - src/q4wine-gui/progress.h \ - src/q4wine-gui/process.h \ - src/q4wine-gui/prefixsettings.h \ - src/q4wine-gui/infodialog.h \ - src/q4wine-gui/imagemanager.h \ - src/q4wine-gui/iconsview.h \ - src/q4wine-gui/iconsettings.h \ - src/q4wine-gui/fakedrivesettings.h \ - src/q4wine-gui/appsettings.h \ - src/q4wine-gui/about.h \ - src/q4wine-gui/versions.h - -OTHER_FILES += \ - src/q4wine-gui/CMakeLists.txt - -SOURCES += \ - src/q4wine-helper/wineobject.cpp \ - src/q4wine-helper/q4wine-helper.cpp - -HEADERS += \ - src/q4wine-helper/wineobject.h \ - src/q4wine-helper/q4wine-helper.h - -SOURCES += \ - src/q4wine-lib/q4wine-lib.cpp - -HEADERS += \ - src/q4wine-lib/q4wine-lib.h - -SOURCES += \ - src/qtsingleapplication/qtsingleapplication.cpp \ - src/qtsingleapplication/qtlockedfile.cpp \ - src/qtsingleapplication/qtlockedfile_win.cpp \ - src/qtsingleapplication/qtlockedfile_unix.cpp \ - src/qtsingleapplication/qtlocalpeer.cpp - -HEADERS += \ - src/qtsingleapplication/qtsingleapplication.h \ - src/qtsingleapplication/QtSingleApplication \ - src/qtsingleapplication/qtlockedfile.h \ - src/qtsingleapplication/QtLockedFile \ - src/qtsingleapplication/qtlocalpeer.h - -OTHER_FILES += \ - src/qtsingleapplication/README.TXT \ - src/qtsingleapplication/LICENSE.GPL3 - -SOURCES += \ - src/core/database/sysconfig.cpp \ - src/core/database/prefix.cpp \ - src/core/database/logging.cpp \ - src/core/database/last_run_icon.cpp \ - src/core/database/image.cpp \ - src/core/database/icon.cpp \ - src/core/database/dir.cpp \ - src/core/database/db.cpp - -HEADERS += \ - src/core/database/sysconfig.h \ - src/core/database/prefix.h \ - src/core/database/logging.h \ - src/core/database/last_run_icon.h \ - src/core/database/image.h \ - src/core/database/icon.h \ - src/core/database/dir.h \ - src/core/database/db.h - -OTHER_FILES += \ - src/CMakeLists.txt - -OTHER_FILES += \ - src/data/CMakeLists.txt - -OTHER_FILES += \ - src/freebsd/CMakeLists.txt - -OTHER_FILES += \ - src/i18n/CMakeLists.txt - -OTHER_FILES += \ - src/man1/CMakeLists.txt - -OTHER_FILES += \ - src/qtsingleapplication/CMakeLists.txt - -OTHER_FILES += \ - src/theme/CMakeLists.txt - -OTHER_FILES += \ - src/theme/nuvola/data/wizard.png \ - src/theme/nuvola/data/wine.png \ - src/theme/nuvola/data/up.png \ - src/theme/nuvola/data/theme.info \ - src/theme/nuvola/data/stop.png \ - src/theme/nuvola/data/reload.png \ - src/theme/nuvola/data/rebuild.png \ - src/theme/nuvola/data/prefix.png \ - src/theme/nuvola/data/power.png \ - src/theme/nuvola/data/kill.png \ - src/theme/nuvola/data/folder.png \ - src/theme/nuvola/data/folder_open.png \ - src/theme/nuvola/data/exit.png \ - src/theme/nuvola/data/exec.png \ - src/theme/nuvola/data/exec_wine.png \ - src/theme/nuvola/data/edit.png \ - src/theme/nuvola/data/down.png \ - src/theme/nuvola/data/configure.png - -SOURCES += \ - src/q4wine-gui/widgets/appdb/linkitemwidget.cpp \ - src/q4wine-gui/widgets/appdb/lineitemwidget.cpp \ - src/q4wine-gui/widgets/appdb/commentwidget.cpp \ - src/q4wine-gui/widgets/appdb/apptestwidget.cpp \ - src/q4wine-gui/widgets/appdb/appinfowidget.cpp \ - src/q4wine-gui/widgets/appdb/appdbwidget.cpp \ - src/q4wine-gui/widgets/appdb/appdbscrollwidget.cpp \ - src/q4wine-gui/widgets/appdb/appdbheaderwidget.cpp - -HEADERS += \ - src/q4wine-gui/widgets/appdb/linkitemwidget.h \ - src/q4wine-gui/widgets/appdb/lineitemwidget.h \ - src/q4wine-gui/widgets/appdb/commentwidget.h \ - src/q4wine-gui/widgets/appdb/apptestwidget.h \ - src/q4wine-gui/widgets/appdb/appinfowidget.h \ - src/q4wine-gui/widgets/appdb/appdbwidget.h \ - src/q4wine-gui/widgets/appdb/appdbscrollwidget.h \ - src/q4wine-gui/widgets/appdb/appdbheaderwidget.h - -SOURCES += \ - src/q4wine-gui/widgets/wineprocesswidget.cpp \ - src/q4wine-gui/widgets/prefixtreewidget.cpp \ - src/q4wine-gui/widgets/prefixtreetoolbar.cpp \ - src/q4wine-gui/widgets/prefixcontrolwidget.cpp \ - src/q4wine-gui/widgets/prefixconfigwidget.cpp \ - src/q4wine-gui/widgets/loggingwidget.cpp \ - src/q4wine-gui/widgets/iconlistwidget.cpp \ - src/q4wine-gui/widgets/iconlisttoolbar.cpp \ - src/q4wine-gui/widgets/drivelistwidgetitem.cpp - -HEADERS += \ - src/q4wine-gui/widgets/wineprocesswidget.h \ - src/q4wine-gui/widgets/prefixtreewidget.h \ - src/q4wine-gui/widgets/prefixtreetoolbar.h \ - src/q4wine-gui/widgets/prefixcontrolwidget.h \ - src/q4wine-gui/widgets/prefixconfigwidget.h \ - src/q4wine-gui/widgets/loggingwidget.h \ - src/q4wine-gui/widgets/iconlistwidget.h \ - src/q4wine-gui/widgets/iconlisttoolbar.h \ - src/q4wine-gui/widgets/drivelistwidgetitem.h diff -Nru q4wine-1.3.11/README q4wine-1.3.12/README --- q4wine-1.3.11/README 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/README 2020-02-08 12:56:10.000000000 +0000 @@ -36,7 +36,7 @@ Q4WINE_USERS ALL=(ALL) NOPASSWD: Q4WINE_COMMS #---------- End of Cut ----------------------- -This will allow to run /sbin/losetup, which is used for building the mounted +This will allow one to run /sbin/losetup, which is used for building the mounted .isos menues' lists, with out prompting for root password. Otherwise you will not be able to get the mount menu working. =) @@ -49,7 +49,7 @@ You may wish to remove Desktop menu structure as well: $HOME/.local/share/applications/q4wine -Don't forget to refresh Application cache by runing kbuildsycoca or kbuildsycoca5 (for KDE) +Don't forget to refresh Application cache by running kbuildsycoca or kbuildsycoca5 (for KDE) Changelog *********************************************** @@ -63,5 +63,5 @@ BrezBlock ( https://brezblock.org.ua/ ) maintainer E-mail: brezerk@gmail.com Web-site: https://brezblock.org.ua/ -BrezBlock, Kiev, Ukraine +BrezBlock, Kyiv, Ukraine diff -Nru q4wine-1.3.11/src/CMakeLists.txt q4wine-1.3.12/src/CMakeLists.txt --- q4wine-1.3.11/src/CMakeLists.txt 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/CMakeLists.txt 2020-02-08 12:56:10.000000000 +0000 @@ -4,7 +4,7 @@ SET(CMAKE_VERBOSE_MAKEFILE ON) -SET(APP_VERSION "1.3.11") +SET(APP_VERSION "1.3.12") SET(APP_NAME_GLOBAL "q4wine") if(POLICY CMP0011) @@ -23,11 +23,11 @@ option(LINGUAS "Language list" "af;cs;de;en;es;fa;fr;he;it;ja;pl;pt_BR;ru;uk;zh_TW;zh_CN") option(LIBS_ENTRY_PATH "Destination directory for q4wine-core library") -MESSAGE("\n * Utility for Wine applications and prefixes management.") -MESSAGE(" * Copyright (C) 2008-2019 by Oleksii S. Malakhov ") -MESSAGE(" * http://brezblock.org.ua/\n") +message(STATUS "\n * Utility for Wine applications and prefixes management.") +message(STATUS " * Copyright (C) 2008-2020 by Oleksii S. Malakhov ") +message(STATUS " * https://brezblock.org.ua/\n") -MESSAGE(STATUS "Q4Wine build environment -- \n") +message(STATUS "Q4Wine build environment -- \n") set(QT_MIN_VERSION "5.2.1") find_package(Qt5Core REQUIRED) @@ -38,14 +38,14 @@ find_package(Qt5Xml REQUIRED) find_package(Qt5Svg REQUIRED) if (Qt5Core_FOUND) - message("\n-- Found Qt Core version : ${Qt5Core_VERSION}") + message(STATUS "\n-- Found Qt Core version : ${Qt5Core_VERSION}") else (Qt5Core_FOUND) - message(FATAL ERROR "Qt Core libs not found. Please install Qt ${QT_MIN_VERSION}.") + message(FATAL_ERROR "Qt Core libs not found. Please install Qt ${QT_MIN_VERSION}.") endif (Qt5Core_FOUND) if (WITH_DBUS MATCHES ON) find_package(Qt5DBus REQUIRED) if (NOT Qt5DBus_FOUND) - message(FATAL ERROR "Qt DBus libraries missing. Please install Qt DBus ${QT_MIN_VERSION} or set WITH_DBUS to OFF") + message(FATAL_ERROR "Qt DBus libraries missing. Please install Qt DBus ${QT_MIN_VERSION} or set WITH_DBUS to OFF") endif (NOT Qt5DBus_FOUND) endif (WITH_DBUS MATCHES ON) @@ -72,8 +72,8 @@ SET( MACOSX_BUNDLE_SHORT_VERSION_STRING ${APP_VERSION} ) SET( MACOSX_BUNDLE_VERSION ${APP_VERSION} ) SET( MACOSX_BUNDLE_LONG_VERSION_STRING Version ${APP_VERSION} ) - SET( MACOSX_BUNDLE_GUI_IDENTIFIER "http://q4wine.brezblock.org.ua/" ) - SET( MACOSX_BUNDLE_COPYRIGH "Copyright (C) 2008-2019 by Oleksii S. Malakhov " ) + SET( MACOSX_BUNDLE_GUI_IDENTIFIER "https://q4wine.brezblock.org.ua/" ) + SET( MACOSX_BUNDLE_COPYRIGH "Copyright (C) 2008-2020 by Oleksii S. Malakhov " ) SET( DESKTOP_ENTRY_PATH ${CMAKE_INSTALL_PREFIX}/${APP_NAME_GLOBAL}.app/Contents/Applications ) SET( PIXMAPS_ENTRY_PATH ${CMAKE_INSTALL_PREFIX}/${APP_NAME_GLOBAL}.app/Contents/Resources ) SET( DATA_ENTRY_PATH ${CMAKE_INSTALL_PREFIX}/${APP_NAME_GLOBAL}.app/Contents/Resources/icons ) @@ -173,7 +173,7 @@ MESSAGE(STATUS "MANPAGE_ENTRY_PATH : ${MANPAGE_ENTRY_PATH}") MESSAGE(STATUS "LIBS_ENTRY_PATH : ${LIBS_ENTRY_PATH}\n") ELSE ( RELEASE ) - MESSAGE("\n") + MESSAGE(STATUS "\n") MESSAGE(STATUS "Build Q4Wine in development mode (RELEASE=OFF) --\n") ENDIF( RELEASE ) file(APPEND ${PROJECT_BINARY_DIR}/config.h "\n#endif\n" ) @@ -227,9 +227,9 @@ ENDIF (WITH_ICOUTILS MATCHES ON) IF (${WITH_EMBEDDED_FUSEISO} MATCHES ON ) - MESSAGE(ERROE " ERROR: Embedded fuseiso is not supported any more, plese remove WITH_EMBEDDED_FUSEISO flag") - MESSAGE(ERROR " ERROR: and use native fuseiso instead!\n") - MESSAGE(ERROR " ERROR: fuseiso package avalible here: http://fuseiso.sourceforge.net/ \n") + MESSAGE(FATAL_ERROR " ERROR: Embedded fuseiso is not supported any more, plese remove WITH_EMBEDDED_FUSEISO flag") + MESSAGE(FATAL_ERROR " ERROR: and use native fuseiso instead!\n") + MESSAGE(FATAL_ERROR " ERROR: fuseiso package available here: https://sourceforge.net/projects/fuseiso/ \n") ENDIF (${WITH_EMBEDDED_FUSEISO} MATCHES ON ) SET ( Q4WINE_HEADERS_DIR @@ -274,7 +274,7 @@ MESSAGE(STATUS " library : NOT FOUND!\n") MESSAGE(FATAL_ERROR "Please install SingleApplication Library or disable system qtsingleapp support by adding -DWITH_SYSTEM_SINGLEAPP=\"OFF\" option to cmake") ENDIF (QTSINGLEAPPLIB_INCLUDE_DIR AND QTSINGLEAPPLIB ) - MESSAGE("\n") + MESSAGE(STATUS "\n") ELSE (${WITH_SYSTEM_SINGLEAPP} MATCHES ON ) SET ( Q4WINE_HEADERS_DIR ${Q4WINE_HEADERS_DIR} diff -Nru q4wine-1.3.11/src/core/appdbstructs.h q4wine-1.3.12/src/core/appdbstructs.h --- q4wine-1.3.11/src/core/appdbstructs.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/appdbstructs.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -44,7 +44,7 @@ int id; QString topic; QString date; - QString autor; + QString author; int parent_id; QString message; }; diff -Nru q4wine-1.3.11/src/core/database/db.cpp q4wine-1.3.12/src/core/database/db.cpp --- q4wine-1.3.11/src/core/database/db.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/db.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/core/database/db.h q4wine-1.3.12/src/core/database/db.h --- q4wine-1.3.11/src/core/database/db.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/db.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/core/database/dir.cpp q4wine-1.3.12/src/core/database/dir.cpp --- q4wine-1.3.11/src/core/database/dir.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/dir.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -22,7 +22,7 @@ { } -QStringList Dir::getDirList(const QString prefix_name) const{ +QStringList Dir::getDirList(const QString &prefix_name) const{ QStringList valuelist; QSqlQuery query; @@ -42,90 +42,90 @@ return valuelist; } -bool Dir::delDir(const QString prefix_name, const QString dir_name) const{ - QSqlQuery query; - if (dir_name.isEmpty()){ - query.prepare("DELETE FROM dir WHERE prefix_id=(SELECT id FROM prefix WHERE name=:prefix_name)"); - } else { - query.prepare("DELETE FROM dir WHERE prefix_id=(SELECT id FROM prefix WHERE name=:prefix_name) and name=:dir_name"); - query.bindValue(":dir_name", dir_name); - } - query.bindValue(":prefix_name", prefix_name); - - if (!query.exec()){ - qDebug()<<"SqlError: "< * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -37,55 +37,55 @@ class Dir { public: - //! Class constructor - Dir(); + //! Class constructor + Dir(); - /*! \brief This function gets all table fields by prefixId key value from table. - * - * \param prefixId A prefixid value. - * \return Return a list of table fields value or -1 on error. - */ - QStringList getDirList(const QString prefix_name) const; - - /*! \brief This function deletes all dirs fields by prefix_name keys value from table. - * - * \param prefix_name A prefix name value. - * \return Return true on success. - */ - bool delDir(const QString prefix_name, const QString dir_name = "") const; - - /*! \brief This function add dir by name and prefix_name. - * - * \param prefix_name A prefix name value. - * \param dir_name A name value. - * \return Return true if exists. - */ - bool addDir(const QString prefix_name, const QString dir_name) const; - - /*! \brief This function check is reccord exists by dir_name or not. - * - * \param prefix_name A prefix name value. - * \param dir_name A dir name value. - * \return Return true if exists. - */ - bool isExistsByName(const QString prefix_name, const QString dir_name) const; - - /*! \brief This function gets prefix id by name. - * - * \param dir_name A dir name value. - * \param prefix_name A prefix name value. - * \return Return prefix id. - */ - QString getId(const QString dir_name, const QString prefix_name) const; - - /*! \brief Rename dir. - * - * \param prefix_name A prefix name value. - * \param dir_name A dir name value. - * \param new_dir_name A icon name value. - * \return Return a list of table fields. - */ - bool renameDir(const QString dir_name, const QString prefix_name, const QString new_dir_name) const; + /*! \brief This function gets all table fields by prefixId key value from table. + * + * \param prefixId A prefixid value. + * \return Return a list of table fields value or -1 on error. + */ + QStringList getDirList(const QString &prefix_name) const; + + /*! \brief This function deletes all dirs fields by prefix_name keys value from table. + * + * \param prefix_name A prefix name value. + * \return Return true on success. + */ + bool delDir(const QString &prefix_name, const QString &dir_name = "") const; + + /*! \brief This function add dir by name and prefix_name. + * + * \param prefix_name A prefix name value. + * \param dir_name A name value. + * \return Return true if exists. + */ + bool addDir(const QString &prefix_name, const QString &dir_name) const; + + /*! \brief This function check is reccord exists by dir_name or not. + * + * \param prefix_name A prefix name value. + * \param dir_name A dir name value. + * \return Return true if exists. + */ + bool isExistsByName(const QString &prefix_name, const QString &dir_name) const; + + /*! \brief This function gets prefix id by name. + * + * \param dir_name A dir name value. + * \param prefix_name A prefix name value. + * \return Return prefix id. + */ + QString getId(const QString &dir_name, const QString &prefix_name) const; + + /*! \brief Rename dir. + * + * \param prefix_name A prefix name value. + * \param dir_name A dir name value. + * \param new_dir_name A icon name value. + * \return Return a list of table fields. + */ + bool renameDir(const QString &dir_name, const QString &prefix_name, const QString &new_dir_name) const; diff -Nru q4wine-1.3.11/src/core/database/icon.cpp q4wine-1.3.12/src/core/database/icon.cpp --- q4wine-1.3.11/src/core/database/icon.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/icon.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -22,7 +22,7 @@ { } -QStringList Icon::getIconsList(const QString prefix, const QString dir, const QString filter, const int sort_type){ +QStringList Icon::getIconsList(const QString &prefix, const QString &dir, const QString &filter, const int sort_type) const{ QStringList list; QSqlQuery query; QString sql; @@ -69,7 +69,7 @@ return list; } -QString Icon::getPixmapIcon(const QString prefix, const QString dir, const QString name){ +QString Icon::getPixmapIcon(const QString &prefix, const QString &dir, const QString &name) const{ QString icon; QSqlQuery query; @@ -96,7 +96,7 @@ return icon; } -QHash Icon::getByName(const QString prefix_name, const QString dir_name, const QString icon_name) const{ +QHash Icon::getByName(const QString &prefix_name, const QString &dir_name, const QString &icon_name) const{ QHash icon; QSqlQuery query; // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 @@ -331,7 +331,7 @@ } */ -bool Icon::delIconsByPrefixName(const QString prefix_name) const{ +bool Icon::delIconsByPrefixName(const QString &prefix_name) const{ QSqlQuery query; query.prepare("DELETE FROM icon WHERE prefix_id=(SELECT id FROM prefix WHERE name=:prefix_name)"); query.bindValue(":prefix_name", prefix_name); @@ -343,7 +343,7 @@ return true; } -bool Icon::delIcon(const QString prefix_name, const QString dir_name, const QString icon_name) const{ +bool Icon::delIcon(const QString &prefix_name, const QString &dir_name, const QString &icon_name) const{ QSqlQuery query; if (dir_name.isEmpty()){ query.prepare("DELETE FROM icon WHERE prefix_id=(SELECT id FROM prefix WHERE name=:prefix_name) AND dir_id ISNULL AND name=:icon_name"); @@ -368,7 +368,7 @@ return true; } -bool Icon::isExistsByName(const QString prefix_name, const QString icon_name) const{ +bool Icon::isExistsByName(const QString &prefix_name, const QString &icon_name) const{ QSqlQuery query; query.prepare("SELECT id FROM icon WHERE prefix_id=(SELECT id FROM prefix WHERE name=:prefix_name) AND dir_id ISNULL AND name=:icon_name"); query.bindValue(":prefix_name", prefix_name); @@ -387,7 +387,7 @@ return false; } -bool Icon::isExistsByName(const QString prefix_name, const QString dir_name, const QString icon_name) const{ +bool Icon::isExistsByName(const QString &prefix_name, const QString &dir_name, const QString &icon_name) const{ QSqlQuery query; if (!dir_name.isEmpty()){ query.prepare("SELECT id FROM icon WHERE prefix_id=(SELECT id FROM prefix WHERE name=:prefix_name) AND dir_id=(SELECT id FROM dir WHERE prefix_id=(SELECT id FROM prefix WHERE name=:prefix_name1) AND name=:dir_name) AND name=:icon_name"); @@ -412,7 +412,7 @@ return false; } -bool Icon::addIcon(const QString cmdargs, const QString exec, const QString icon_path, const QString desc, const QString prefix_name, const QString dir_name, const QString name, const QString override, const QString winedebug, const QString useconsole, const QString display, const QString wrkdir, const QString desktop, const int nice, const QString lang, const QString prerun, const QString postrun) const{ +bool Icon::addIcon(const QString &cmdargs, const QString &exec, const QString &icon_path, const QString &desc, const QString &prefix_name, const QString &dir_name, const QString &name, const QString &override, const QString &winedebug, const QString &useconsole, const QString &display, const QString &wrkdir, const QString &desktop, const int nice, const QString &lang, const QString &prerun, const QString &postrun) const{ QSqlQuery query; query.prepare("INSERT INTO icon(override, winedebug, useconsole, display, cmdargs, exec, icon_path, desc, dir_id, id, name, prefix_id, wrkdir, desktop, nice, lang, prerun, postrun) VALUES(:override, :winedebug, :useconsole, :display, :cmdargs, :exec, :icon_path, :desc, (SELECT id FROM dir WHERE name=:dir_name AND prefix_id=(SELECT id FROM prefix WHERE name=:prefix_dir_name)), NULL, :name, (SELECT id FROM prefix WHERE name=:prefix_name), :wrkdir, :desktop, :nice, :lang, :prerun, :postrun);"); @@ -519,7 +519,7 @@ return true; } -bool Icon::updateIcon(const QString icon_name, const QString prefix_id, const QString dir_id, const QString old_prefix_id, const QString old_dir_id, const QString old_icon_name) const{ +bool Icon::updateIcon(const QString &icon_name, const QString &prefix_id, const QString &dir_id, const QString &old_prefix_id, const QString &old_dir_id, const QString &old_icon_name) const{ QSqlQuery query; if (!old_dir_id.isEmpty()){ query.prepare("UPDATE icon SET name=:icon_name, prefix_id=:prefix_id, dir_id=:dir_id WHERE name=:old_icon_name and prefix_id=:old_prefix_id and dir_id=:old_dir_id"); @@ -546,12 +546,12 @@ return true; } -bool Icon::copyIcon(const QString icon_name, const QString prefix_name, const QString dir_name, const QString new_icon_name, const QString new_prefix_name, const QString new_dir_name) const{ +bool Icon::copyIcon(const QString &icon_name, const QString &prefix_name, const QString &dir_name, const QString &new_icon_name, const QString &new_prefix_name, const QString &new_dir_name) const{ QHash iconRec = this->getByName(prefix_name, dir_name, icon_name); return this->addIcon(iconRec.value("cmdargs"), iconRec.value("exec"), iconRec.value("icon_path"), iconRec.value("desc"), new_prefix_name, new_dir_name, new_icon_name, iconRec.value("override"), iconRec.value("winedebug"), iconRec.value("useconsole"), iconRec.value("display"), iconRec.value("wrkdir"), iconRec.value("desktop"), iconRec.value("nice").toInt(), iconRec.value("lang")); } -bool Icon::renameIcon(const QString icon_name, const QString prefix_name, const QString dir_name, const QString new_icon_name) const{ +bool Icon::renameIcon(const QString &icon_name, const QString &prefix_name, const QString &dir_name, const QString &new_icon_name) const{ QSqlQuery query; if (!dir_name.isEmpty()){ query.prepare("UPDATE icon SET name=:new_icon_name WHERE name=:icon_name and dir_id=(SELECT id FROM dir WHERE name=:dir_name AND prefix_id=(SELECT id FROM prefix WHERE name=:prefix_dir_name)) and prefix_id=(SELECT id FROM prefix WHERE name=:prefix_name)"); @@ -572,7 +572,7 @@ return true; } -bool Icon::updateIcon(const QString cmdargs, const QString exec, const QString icon_path, const QString desc, const QString prefix_name, const QString dir_name, const QString name, const QString icon_name, const QString override, const QString winedebug, const QString useconsole, const QString display, const QString wrkdir, const QString desktop, const int nice, const QString lang, const QString prerun, const QString postrun) const{ +bool Icon::updateIcon(const QString &cmdargs, const QString &exec, const QString &icon_path, const QString &desc, const QString &prefix_name, const QString &dir_name, const QString &name, const QString &icon_name, const QString &override, const QString &winedebug, const QString &useconsole, const QString &display, const QString &wrkdir, const QString &desktop, const int nice, const QString &lang, const QString &prerun, const QString &postrun) const{ QSqlQuery query; if (!dir_name.isEmpty()){ query.prepare("UPDATE icon SET override=:override, winedebug=:winedebug, useconsole=:useconsole, display=:display, cmdargs=:cmdargs, exec=:exec, icon_path=:icon_path, desc=:desc, name=:name, wrkdir=:wrkdir, desktop=:desktop, nice=:nice, lang=:lang, prerun=:prerun, postrun=:postrun WHERE name=:icon_name and dir_id=(SELECT id FROM dir WHERE name=:dir_name AND prefix_id=(SELECT id FROM prefix WHERE name=:prefix_dir_name)) and prefix_id=(SELECT id FROM prefix WHERE name=:prefix_name)"); diff -Nru q4wine-1.3.11/src/core/database/icon.h q4wine-1.3.12/src/core/database/icon.h --- q4wine-1.3.11/src/core/database/icon.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/icon.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -41,22 +41,29 @@ //! Class constructor Icon(); - QStringList getIconsList(const QString prefix, const QString dir, const QString filter, const int sort_type=D_SORT_TYPE_BY_DATE_ASC); - QString getPixmapIcon(const QString prefix, const QString dir, const QString name); - - QHash getByName(const QString prefix_name, const QString dir_name, const QString icon_name) const; + QStringList getIconsList(const QString &prefix, + const QString &dir, + const QString &filter, + const int sort_type=D_SORT_TYPE_BY_DATE_ASC) const; + QString getPixmapIcon(const QString &prefix, + const QString &dir, + const QString &name) const; + + QHash getByName(const QString &prefix_name, + const QString &dir_name, + const QString &icon_name) const; //QList getIconsInfo(const QString prefix_id, const QString dir_id) const; - /*! \brief This function gets all icons fields by prefixId key value from table. + /*! \brief This function gets all icons fields by prefixId key value from table. * * \param prefix_id A prefix id value. * \return Return a list of table fields. */ //QList getIconsInfo(const QString prefix_id) const; - /*! \brief This function gets all icons fields by prefix_name and dir_name (optional by icon name) keys value from table. + /*! \brief This function gets all icons fields by prefix_name and dir_name (optional by icon name) keys value from table. * * \param prefix_name A prefix name value. * \param dir_name A dir name value. @@ -65,7 +72,7 @@ */ //QList getIconsInfoByNames(const QString prefix_name, const QString dir_name, const QString icon_name = "") const; - /*! \brief This function gets icon fields by prefix_name, dir_name and icon name keys value from table. + /*! \brief This function gets icon fields by prefix_name, dir_name and icon name keys value from table. * * \param prefix_name A prefix name value. * \param dir_name A dir name value. @@ -75,7 +82,7 @@ //QStringList getByName(const QString prefix_name, const QString dir_name, const QString icon_name = "") const; //QList getByPrefixAndDirName(const QString prefix_name, const QString dir_name, const QString filter = "") const; - /*! \brief Copy icon. + /*! \brief Copy icon. * * \param prefix_name A prefix name value. * \param dir_name A dir name value. @@ -85,9 +92,14 @@ * \param new_icon_name A icon name value. * \return Return a list of table fields. */ - bool copyIcon(const QString icon_name, const QString prefix_name, const QString dir_name, const QString new_icon_name, const QString new_prefix_name, const QString new_dir_name) const; + bool copyIcon(const QString &icon_name, + const QString &prefix_name, + const QString &dir_name, + const QString &new_icon_name, + const QString &new_prefix_name, + const QString &new_dir_name) const; - /*! \brief Rename icon. + /*! \brief Rename icon. * * \param prefix_name A prefix name value. * \param dir_name A dir name value. @@ -95,9 +107,12 @@ * \param new_icon_name A icon name value. * \return Return a list of table fields. */ - bool renameIcon(const QString icon_name, const QString prefix_name, const QString dir_name, const QString new_icon_name) const; + bool renameIcon(const QString &icon_name, + const QString &prefix_name, + const QString &dir_name, + const QString &new_icon_name) const; - /*! \brief This function gets all icons fields by prefix_name (optional by icon name) keys value from table. + /*! \brief This function gets all icons fields by prefix_name (optional by icon name) keys value from table. * * \param prefix_name A prefix name value. * \param icon_name A icon name value (optional). @@ -105,20 +120,22 @@ */ //QList getIconsInfoByPrefixName(const QString prefix_name, const QString icon_name = "") const; - /*! \brief This function deletes all icons fields by prefix_name keys value from table. + /*! \brief This function deletes all icons fields by prefix_name keys value from table. * * \param prefix_name A prefix name value. * \return Return true on success. */ - bool delIconsByPrefixName(const QString prefix_name) const; + bool delIconsByPrefixName(const QString &prefix_name) const; - /*! \brief This function delete icon field by prefix_name and dir_name key value from table. + /*! \brief This function delete icon field by prefix_name and dir_name key value from table. * * \param prefix_name A prefix name value. * \param dir_name A dir name value. * \return Return true on success. */ - bool delIcon(const QString prefix_name, const QString dir_name, const QString icon_name) const; + bool delIcon(const QString &prefix_name, + const QString &dir_name, + const QString &icon_name) const; /*! \brief This function check is reccord exists by icon_name or not. * @@ -126,7 +143,8 @@ * \param name A name value. * \return Return true if exists. */ - bool isExistsByName(const QString prefix_name, const QString icon_name) const; + bool isExistsByName(const QString &prefix_name, + const QString &icon_name) const; /*! \brief This function check is reccord exists by icon_name or not. * @@ -135,7 +153,9 @@ * \param icon_name A name value. * \return Return true if exists. */ - bool isExistsByName(const QString prefix_name, const QString dir_name, const QString icon_name) const; + bool isExistsByName(const QString &prefix_name, + const QString &dir_name, + const QString &icon_name) const; /*! \brief This function add icon record. * @@ -148,7 +168,23 @@ * \param name A dir name value. * \return Return true on success. */ - bool addIcon(const QString cmdargs, const QString exec, const QString icon_path, const QString desc, const QString prefix_name, const QString dir_name, const QString name, const QString override="", const QString winedebug="", const QString useconsole="", const QString display="", const QString wrkdir="", const QString desktop="", const int nice=0, const QString lang="", const QString prerun="", const QString postrun="") const; + bool addIcon(const QString &cmdargs, + const QString &exec, + const QString &icon_path, + const QString &desc, + const QString &prefix_name, + const QString &dir_name, + const QString &name, + const QString &override="", + const QString &winedebug="", + const QString &useconsole="", + const QString &display="", + const QString &wrkdir="", + const QString &desktop="", + const int nice=0, + const QString &lang="", + const QString &prerun="", + const QString &postrun="") const; /*! \brief This function updates icon record by name, prefix_name and dir_name. * @@ -161,7 +197,24 @@ * \param name A dir name value. * \return Return true on success. */ - bool updateIcon(const QString cmdargs, const QString exec, const QString icon_path, const QString desc, const QString prefix_name, const QString dir_name, const QString name, const QString icon_name, const QString override="", const QString winedebug="", const QString useconsole="", const QString display="", const QString wrkdir="", const QString desktop="", const int nice=0, const QString lang="", const QString prerun="", const QString postrun="") const; + bool updateIcon(const QString &cmdargs, + const QString &exec, + const QString &icon_path, + const QString &desc, + const QString &prefix_name, + const QString &dir_name, + const QString &name, + const QString &icon_name, + const QString &override="", + const QString &winedebug="", + const QString &useconsole="", + const QString &display="", + const QString &wrkdir="", + const QString &desktop="", + const int nice=0, + const QString &lang="", + const QString &prerun="", + const QString &postrun="") const; /*! \brief This function updates name, prefix_name and dir_name by old_name. * @@ -171,10 +224,15 @@ * \param old_icon_name A old icon name value. * \return Return true on success. */ - bool updateIcon(const QString icon_name, const QString prefix_id, const QString dir_id, const QString old_prefix_id, const QString old_dir_id, const QString old_icon_name) const; + bool updateIcon(const QString &icon_name, + const QString &prefix_id, + const QString &dir_id, + const QString &old_prefix_id, + const QString &old_dir_id, + const QString &old_icon_name) const; - }; +}; #endif // ICON_H diff -Nru q4wine-1.3.11/src/core/database/image.cpp q4wine-1.3.12/src/core/database/image.cpp --- q4wine-1.3.11/src/core/database/image.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/image.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -44,7 +44,7 @@ } -QString Image::getPath(const QString name) const{ +QString Image::getPath(const QString &name) const{ QString result; QSqlQuery query; query.prepare("SELECT path FROM images WHERE name=:name ORDER BY name"); @@ -58,7 +58,7 @@ return result; } -bool Image::isExistsByName(const QString name) const{ +bool Image::isExistsByName(const QString &name) const{ QSqlQuery query; query.prepare("SELECT id FROM images WHERE name=:name"); query.bindValue(":name", name); @@ -73,7 +73,7 @@ return false; } -bool Image::addImage(const QString name, const QString path) const{ +bool Image::addImage(const QString &name, const QString &path) const{ QSqlQuery query; query.prepare("INSERT INTO images(name, path) VALUES(:name, :path)"); query.bindValue(":name", name); @@ -86,7 +86,7 @@ return true; } -bool Image::renameImage(const QString name, const QString old_name) const{ +bool Image::renameImage(const QString &name, const QString &old_name) const{ QSqlQuery query; query.prepare("UPDATE images SET name=:name WHERE name=:old_name"); query.bindValue(":name", name); @@ -99,7 +99,7 @@ return true; } -bool Image::delImage(const QString name) const{ +bool Image::delImage(const QString &name) const{ QSqlQuery query; query.prepare("DELETE FROM images WHERE name=:name"); query.bindValue(":name", name); diff -Nru q4wine-1.3.11/src/core/database/image.h q4wine-1.3.12/src/core/database/image.h --- q4wine-1.3.11/src/core/database/image.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/image.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -38,33 +38,33 @@ class Image { public: - //! Class constructor - Image(); - /*! \brief Getting images list. - * \return Return QList on QStringList containing images. - */ - QList getFields(void) const; - - /*! \brief Getting file path reccord by image name - * \param name image name - * \return Return QList on QStringList containing images. - */ - QString getPath(const QString name) const;\ - - /*! \brief Chek for image existance by name - * \param name image name - * \return If image exists -- returns true. - */ - bool isExistsByName(const QString name) const; - - /*! \brief Add image reccord - * \param name image name - * \param path image file path - * \return If image exists -- returns true. - */ - bool addImage(const QString name, const QString path) const; - bool delImage(const QString name) const; - bool renameImage(const QString name, const QString old_name) const; + //! Class constructor + Image(); + /*! \brief Getting images list. + * \return Return QList on QStringList containing images. + */ + QList getFields(void) const; + + /*! \brief Getting file path reccord by image name + * \param name image name + * \return Return QList on QStringList containing images. + */ + QString getPath(const QString &name) const;\ + + /*! \brief Check for image existence by name + * \param name image name + * \return If image exists -- returns true. + */ + bool isExistsByName(const QString &name) const; + + /*! \brief Add image reccord + * \param name image name + * \param path image file path + * \return If image exists -- returns true. + */ + bool addImage(const QString &name, const QString &path) const; + bool delImage(const QString &name) const; + bool renameImage(const QString &name, const QString &old_name) const; }; #endif // IMAGE_H diff -Nru q4wine-1.3.11/src/core/database/last_run_icon.cpp q4wine-1.3.12/src/core/database/last_run_icon.cpp --- q4wine-1.3.11/src/core/database/last_run_icon.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/last_run_icon.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -22,7 +22,7 @@ { } -QStringList Last_Run_Icon::getByExec(const QString exec) const{ +QStringList Last_Run_Icon::getByExec(const QString &exec) const{ QStringList valuelist; QSqlQuery query; // 0 1 2 3 4 5 6 7 @@ -62,7 +62,16 @@ return list; } -bool Last_Run_Icon::addIcon(const QString cmdargs, const QString exec, QString override, const QString winedebug, const QString useconsole, const QString display, const QString wrkdir, const QString desktop, const int nice, const QString lang) const{ +bool Last_Run_Icon::addIcon(const QString &cmdargs, + const QString &exec, + const QString &override, + const QString &winedebug, + const QString &useconsole, + const QString &display, + const QString &wrkdir, + const QString &desktop, + const int nice, + const QString &lang) const{ QSqlQuery query; query.prepare("DELETE FROM last_run_icon WHERE exec=:exec"); query.bindValue(":exec", exec); diff -Nru q4wine-1.3.11/src/core/database/last_run_icon.h q4wine-1.3.12/src/core/database/last_run_icon.h --- q4wine-1.3.11/src/core/database/last_run_icon.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/last_run_icon.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -41,12 +41,12 @@ //! Class constructor Last_Run_Icon(); - /*! \brief This function gets all icons fields by prefix_name (optional by icon name) keys value from table. + /*! \brief This function gets all icons fields by prefix_name (optional by icon name) keys value from table. * * \param exec A exec binary value. * \return Return a list of table fields value. */ - QStringList getByExec(const QString exec) const; + QStringList getByExec(const QString &exec) const; /*! \brief This function add icon record. * @@ -59,7 +59,16 @@ * \param name A dir name value. * \return Return true on success. */ - bool addIcon(const QString cmdargs, const QString exec, const QString override="", const QString winedebug="", const QString useconsole="", const QString display="", const QString wrkdir="", const QString desktop="", const int nice=0, const QString lang="") const; + bool addIcon(const QString &cmdargs, + const QString &exec, + const QString &override="", + const QString &winedebug="", + const QString &useconsole="", + const QString &display="", + const QString &wrkdir="", + const QString &desktop="", + const int nice=0, + const QString &lang="") const; /*! \brief This function reurns list of recent launched icons. * @@ -67,6 +76,6 @@ */ QStringList getIcons(); - }; +}; #endif // LAST_RUN_ICON_H diff -Nru q4wine-1.3.11/src/core/database/logging.cpp q4wine-1.3.12/src/core/database/logging.cpp --- q4wine-1.3.11/src/core/database/logging.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/logging.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/core/database/logging.h q4wine-1.3.12/src/core/database/logging.h --- q4wine-1.3.11/src/core/database/logging.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/logging.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/core/database/prefix.cpp q4wine-1.3.12/src/core/database/prefix.cpp --- q4wine-1.3.11/src/core/database/prefix.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/prefix.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -51,7 +51,7 @@ query.clear(); } -QString Prefix::getId(const QString prefix_name) const{ +QString Prefix::getId(const QString &prefix_name) const{ QString value; QSqlQuery query; @@ -74,7 +74,7 @@ return value; } -QString Prefix::getPath(const QString prefix_name) const{ +QString Prefix::getPath(const QString &prefix_name) const{ QString value; if (prefix_name == "Default"){ @@ -105,7 +105,7 @@ return value; } -QString Prefix::getName(const QString prefix_path) const{ +QString Prefix::getName(const QString &prefix_path) const{ QString value; QSqlQuery query; query.prepare("SELECT name FROM prefix WHERE path=:prefix_path"); @@ -123,7 +123,7 @@ return value; } -QHash Prefix::getByName(const QString prefix_name) const{ +QHash Prefix::getByName(const QString &prefix_name) const{ QHash values; QSqlQuery query; @@ -170,7 +170,7 @@ return values; } -QString Prefix::getMountPoint(const QString prefix_name) const{ +QString Prefix::getMountPoint(const QString &prefix_name) const{ QString value; QSqlQuery query; @@ -189,7 +189,7 @@ return value; } -QChar Prefix::getMountPointWindrive(const QString prefix_name) const{ +QChar Prefix::getMountPointWindrive(const QString &prefix_name) const{ QString value; QSqlQuery query; @@ -235,7 +235,7 @@ return true; } -bool Prefix::delByName(const QString prefix_name) const{ +bool Prefix::delByName(const QString &prefix_name) const{ QSqlQuery query; query.prepare("DELETE FROM prefix WHERE id=(SELECT id FROM prefix WHERE name=:prefix_name )"); query.bindValue(":prefix_name", prefix_name); @@ -247,9 +247,9 @@ return true; } -bool Prefix::addPrefix(const QString prefix_name, const QString prefix_path, const QString wine_exec, const QString wine_server, const QString wine_loader, const QString wine_dllpath, const QString cdrom_mount, const QString arch, const QString mountpoint_windrive, const QString run_string, const QString version_id) const{ +bool Prefix::addPrefix(const QString &prefix_name, const QString &prefix_path, const QString &wine_exec, const QString &wine_server, const QString &wine_loader, const QString &wine_dllpath, const QString &cdrom_mount, const QString &arch, const QString &mountpoint_windrive, const QString &run_string, const QString &version_id) const{ QSqlQuery query; - query.prepare("INSERT INTO prefix(name, path, wine_exec, wine_server, wine_loader, wine_dllpath, cdrom_mount, arch, mountpoint_windrive, run_string, version_id) VALUES(:prefix_name, :prefix_path, :wine_exec, :wine_server, :wine_loader, :wine_dllpath, :cdrom_mount, :arch, :mountpoint_windrive, :run_string, :version_id);"); + query.prepare("INSERT INTO prefix(name, path, wine_exec, wine_server, wine_loader, wine_dllpath, cdrom_mount, arch, mountpoint_windrive, run_string, version_id) VALUES(:prefix_name, :prefix_path, :wine_exec, :wine_server, :wine_loader, :wine_dllpath, :cdrom_mount, :arch, :mountpoint_windrive, :run_string, :version_id);"); query.bindValue(":prefix_name", prefix_name); @@ -321,9 +321,9 @@ return true; } -bool Prefix::updatePrefix(const QString prefix_name, const QString prefix_path, const QString wine_exec, const QString wine_server, const QString wine_loader, const QString wine_dllpath, const QString cdrom_mount, const QString old_prefix_name, const QString arch, const QString mountpoint_windrive, const QString run_string, const QString version_id) const{ +bool Prefix::updatePrefix(const QString &prefix_name, const QString &prefix_path, const QString &wine_exec, const QString &wine_server, const QString &wine_loader, const QString &wine_dllpath, const QString &cdrom_mount, const QString &old_prefix_name, const QString &arch, const QString &mountpoint_windrive, const QString &run_string, const QString &version_id) const{ QSqlQuery query; - query.prepare("UPDATE prefix SET wine_dllpath=:wine_dllpath, wine_loader=:wine_loader, wine_server=:wine_server, wine_exec=:wine_exec, cdrom_mount=:cdrom_mount, arch=:arch, name=:prefix_name, mountpoint_windrive=:mountpoint_windrive, path=:prefix_path, run_string=:run_string, version_id=:version_id WHERE name=:old_prefix_name"); + query.prepare("UPDATE prefix SET wine_dllpath=:wine_dllpath, wine_loader=:wine_loader, wine_server=:wine_server, wine_exec=:wine_exec, cdrom_mount=:cdrom_mount, arch=:arch, name=:prefix_name, mountpoint_windrive=:mountpoint_windrive, path=:prefix_path, run_string=:run_string, version_id=:version_id WHERE name=:old_prefix_name"); query.bindValue(":prefix_name", prefix_name); query.bindValue(":old_prefix_name", old_prefix_name); @@ -396,7 +396,7 @@ return true; } -bool Prefix::isExistsByName(const QString prefix_name) const{ +bool Prefix::isExistsByName(const QString &prefix_name) const{ QSqlQuery query; query.prepare("SELECT id FROM prefix WHERE name=:prefix_name"); query.bindValue(":prefix_name", prefix_name); diff -Nru q4wine-1.3.11/src/core/database/prefix.h q4wine-1.3.12/src/core/database/prefix.h --- q4wine-1.3.11/src/core/database/prefix.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/prefix.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -42,44 +42,44 @@ class Prefix { - public: - /*! \brief This is calss constructor. +public: + /*! \brief This is class constructor. */ - Prefix(); + Prefix(); - /*! \brief This function gets all table fields by prefix id key value from table. + /*! \brief This function gets all table fields by prefix id key value from table. * * \param prefix_id Prefix id key value. * \return Return a list of table fields value or -1 on error. */ - QHash getByName(const QString prefix_name) const; - QString getMountPoint(const QString prefix_name) const; - QChar getMountPointWindrive(const QString prefix_name) const; - QStringList getPrefixList(void) const; + QHash getByName(const QString &prefix_name) const; + QString getMountPoint(const QString &prefix_name) const; + QChar getMountPointWindrive(const QString &prefix_name) const; + QStringList getPrefixList(void) const; - /*! \brief This function gets prefix id by name. + /*! \brief This function gets prefix id by name. * * \param prefix_name A prefix name value. * \return Return prefix id. */ - QString getId(const QString prefix_name) const; + QString getId(const QString &prefix_name) const; - /*! \brief This function gets prefix path by name. + /*! \brief This function gets prefix path by name. * * \param prefix_name A prefix name value. * \return Return prefix path. */ - QString getPath(const QString prefix_name) const; - QString getName(const QString prefix_path) const; + QString getPath(const QString &prefix_name) const; + QString getName(const QString &prefix_path) const; - /*! \brief This function deletes all prefix fields by prefix_name keys value from table. + /*! \brief This function deletes all prefix fields by prefix_name keys value from table. * * \param prefix_name A prefix name value. * \return Return true on success. */ - bool delByName(const QString prefix_name) const; + bool delByName(const QString &prefix_name) const; - /*! \brief This function deletes all prefix fields by prefix_name keys value from table. + /*! \brief This function deletes all prefix fields by prefix_name keys value from table. * * \param prefix_name A prefix name value. * \param prefix_path A prefix path value. @@ -90,16 +90,26 @@ * \param cdrom_mount A cdrom mount directory. * \return Return true on success. */ - bool addPrefix(const QString prefix_name, const QString prefix_path="", const QString wine_exec="", const QString wine_server="", const QString wine_loader="", const QString wine_dllpath="", const QString cdrom_mount="", const QString arch="", const QString mountpoint_windrive="", const QString run_string="", const QString version_id="") const; + bool addPrefix(const QString &prefix_name, + const QString &prefix_path="", + const QString &wine_exec="", + const QString &wine_server="", + const QString &wine_loader="", + const QString &wine_dllpath="", + const QString &cdrom_mount="", + const QString &arch="", + const QString &mountpoint_windrive="", + const QString &run_string="", + const QString &version_id="") const; - /*! \brief This function check is reccord exists by prefix name or not. + /*! \brief This function check is reccord exists by prefix name or not. * * \param name A prefix name value. * \return Return true if exists. */ - bool isExistsByName(const QString prefix_name) const; + bool isExistsByName(const QString &prefix_name) const; - /*! \brief This function deletes all prefix fields by prefix_name keys value from table. + /*! \brief This function deletes all prefix fields by prefix_name keys value from table. * * \param prefix_name A prefix name value. * \param prefix_path A prefix path value. @@ -112,16 +122,27 @@ * \param mountpoint_windrive The windows drive to use for this mountpoint * \return Return true on success. */ - bool updatePrefix(const QString prefix_name, const QString prefix_path, const QString wine_exec, const QString wine_server, const QString wine_loader, const QString wine_dllpath, const QString cdrom_mount, const QString old_prefix_name, const QString arch, const QString mountpoint_windrive, const QString run_string, const QString version_id) const; + bool updatePrefix(const QString &prefix_name, + const QString &prefix_path, + const QString &wine_exec, + const QString &wine_server, + const QString &wine_loader, + const QString &wine_dllpath, + const QString &cdrom_mount, + const QString &old_prefix_name, + const QString &arch, + const QString &mountpoint_windrive, + const QString &run_string, + const QString &version_id) const; - void fixPrefixPath(); + void fixPrefixPath(); protected: - /*! \brief This function executes requested query. + /*! \brief This function executes requested query. * * \param SQL Query * \return Return true on success */ - bool updateQuery(QSqlQuery *sqlQuery) const; + bool updateQuery(QSqlQuery *sqlQuery) const; }; diff -Nru q4wine-1.3.11/src/core/database/sysconfig.cpp q4wine-1.3.12/src/core/database/sysconfig.cpp --- q4wine-1.3.11/src/core/database/sysconfig.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/sysconfig.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/core/database/sysconfig.h q4wine-1.3.12/src/core/database/sysconfig.h --- q4wine-1.3.11/src/core/database/sysconfig.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/sysconfig.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -59,7 +59,7 @@ { public: - /*! \brief This is calss constructor. + /*! \brief This is class constructor. */ Sysconfig(); diff -Nru q4wine-1.3.11/src/core/database/table.cpp q4wine-1.3.12/src/core/database/table.cpp --- q4wine-1.3.11/src/core/database/table.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/table.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/core/database/table.h q4wine-1.3.12/src/core/database/table.h --- q4wine-1.3.11/src/core/database/table.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/table.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/core/database/versions.cpp q4wine-1.3.12/src/core/database/versions.cpp --- q4wine-1.3.11/src/core/database/versions.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/versions.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/core/database/versions.h q4wine-1.3.12/src/core/database/versions.h --- q4wine-1.3.11/src/core/database/versions.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/database/versions.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/core/httpcore.cpp q4wine-1.3.12/src/core/httpcore.cpp --- q4wine-1.3.11/src/core/httpcore.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/httpcore.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -35,7 +35,7 @@ libq4wine.load(); } - // Getting corelib calss pointer + // Getting corelib class pointer CoreLibClassPointer = (CoreLibPrototype*) libq4wine.resolve("createCoreLib"); CoreLib.reset(static_cast(CoreLibClassPointer(true))); @@ -74,8 +74,9 @@ { this->page = page; if (!this->getCacheFile(page)){ - QString url = QString("http://%1:%2/%3").arg(host, QString::number(port), page); + QString url = QString("https://%1:%2/%3").arg(host, QString::number(port), page); QNetworkRequest request = QNetworkRequest(QUrl(url)); + request.setSslConfiguration(QSslConfiguration::defaultConfiguration()); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); request.setHeader(QNetworkRequest::UserAgentHeader, user_agent); http->get(request); diff -Nru q4wine-1.3.11/src/core/httpcore.h q4wine-1.3.12/src/core/httpcore.h --- q4wine-1.3.11/src/core/httpcore.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/httpcore.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/core/registry.cpp q4wine-1.3.12/src/core/registry.cpp --- q4wine-1.3.11/src/core/registry.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/registry.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -30,13 +30,13 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); return; } -Registry::Registry(QString prefixPath): Registry(){ +Registry::Registry(const QString &prefixPath): Registry(){ regfile.append(prefixPath); regfile.append("/"); return; @@ -47,88 +47,89 @@ return true; } -void Registry::append(QString reg_keys){ - //regfile_image.append(reg_keys); - return; -} - -void Registry::set(QString path, const QString key, const QString value, const QString hkey){ - QString regString; - regString.append("\n\n["); - regString.append(hkey); - regString.append("\\"); - regString.append(path); - regString.append("]\n"); - if (!key.isEmpty()){ - regString.append("\""); - regString.append(key); - regString.append("\"=\""); - regString.append(value); - regString.append("\""); - } else { - regString.append(value); - } - - regfile_image.append(regString); - return; -} - -void Registry::unset(QString path, const QString key, const QString hkey){ - QString regString; - regString.append("\n\n["); - regString.append(hkey); - regString.append("\\"); - regString.append(path); - regString.append("]\n\""); - regString.append(key); - regString.append("\"=-"); - - regfile_image.append(regString); - return; -} - -void Registry::unsetPath(QString path, const QString hkey){ - QString regString; - regString.append("\n\n[-"); - regString.append(hkey); - regString.append("\\"); - regString.append(path); - regString.append("]"); - - regfile_image.append(regString); - return; +void Registry::append(const QString ®_keys){ + //regfile_image.append(reg_keys); + Q_UNUSED(reg_keys) + return; } -bool Registry::exec(QObject *parent, QString prefix_path, QString prefix_name, QString post_run){ +void Registry::set(const QString &path, const QString &key, const QString &value, const QString &hkey){ + QString regString; + regString.append("\n\n["); + regString.append(hkey); + regString.append("\\"); + regString.append(path); + regString.append("]\n"); + if (!key.isEmpty()){ + regString.append("\""); + regString.append(key); + regString.append("\"=\""); + regString.append(value); + regString.append("\""); + } else { + regString.append(value); + } + + regfile_image.append(regString); + return; +} - //This function wrights regfile_image into file, then run regedit.exe and import this file. - //Also, clean files before end +void Registry::unset(const QString &path, const QString &key, const QString &hkey){ + QString regString; + regString.append("\n\n["); + regString.append(hkey); + regString.append("\\"); + regString.append(path); + regString.append("]\n\""); + regString.append(key); + regString.append("\"=-"); - QDir dir(prefix_path); + regfile_image.append(regString); + return; +} + +void Registry::unsetPath(const QString &path, const QString &hkey){ + QString regString; + regString.append("\n\n[-"); + regString.append(hkey); + regString.append("\\"); + regString.append(path); + regString.append("]"); + + regfile_image.append(regString); + return; +} +bool Registry::exec(QObject *parent, const QString &prefix_path, const QString &prefix_name, const QString &post_run){ + + //This function wrights regfile_image into file, then run regedit.exe and import this file. + //Also, clean files before end + + QDir dir(prefix_path); + + if (!dir.exists()){ + qDebug()<<"[ee] Fake drive dir does not exist!"; + return false; + } else { + dir.setPath(QString("%1/drive_c/temp").arg(dir.path())); if (!dir.exists()){ - qDebug()<<"[ee] Fake drive dir does not exist!"; - return false; - } else { - dir.setPath(QString("%1/drive_c/temp").arg(dir.path())); - if (!dir.exists()){ - if (!dir.mkdir(dir.path())){ - qDebug()<<"[ee] Cannot create tmp dir for fake drive dir!"; - return false; - } + if (!dir.mkdir(dir.path())){ + qDebug()<<"[ee] Cannot create tmp dir for fake drive dir!"; + return false; } } + } - QTime midnight(0, 0, 0); - qsrand(midnight.secsTo(QTime::currentTime())); + QTime midnight(0, 0, 0); + qsrand(midnight.secsTo(QTime::currentTime())); - int file_name = qrand() % 10000; - QString full_file_path = QString("%1/%2.reg").arg(dir.path()).arg(file_name); + int file_name = qrand() % 10000; + QString full_file_path = QString("%1/%2.reg").arg(dir.path()).arg(file_name); - QFile file(full_file_path); - file.open(QIODevice::WriteOnly); - file.write(regfile_image.toLatin1()); // write to stderr - file.close(); + QFile file(full_file_path); + file.open(QIODevice::WriteOnly); + file.write(regfile_image.toLatin1()); // write to stderr + file.close(); ExecObject execObj; execObj.cmdargs = QString("C:/temp/%1.reg").arg(file_name); @@ -143,95 +144,95 @@ return ret; } -QStringList Registry::readKeys(const QString sysfile, const QString path, const QStringList keys) const{ - QStringList ret; - QString searchPath; - - for (int i=0; i-1) and (!readFlag)){ - readFlag=true; - } - - if (readFlag){ - QList key = line.trimmed().split('='); - int index = keys.indexOf(key.at(0)); - if (index>-1){ - ret.replace(index, key.at(1).mid(1, (key.at(1).length()-2))); - } - } - - if (((line=="\n") or (line.isEmpty())) and (readFlag)) - readFlag=false; - } - - return ret; -} - -QStringList Registry::readExcludedKeys(const QString sysfile, const QString path, const QStringList keys, const int count) const{ - QStringList ret; - QString searchPath; - - searchPath="["; - searchPath.append(path); - searchPath.append("]"); - searchPath.replace("\\","\\\\"); - - QString sfile = regfile; - sfile.append(sysfile); - sfile.append(".reg"); - - QFile file(sfile); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){ - qDebug()<<" [EE] Cannot open reg file: "< key = line.trimmed().split('='); - int index = keys.indexOf(key.at(0)); - if (index==-1){ - ret.append(line.trimmed()); - readed++; - if (readed>count) - return ret; - } - } else { - if ((line.indexOf(searchPath)>-1) and (!readFlag)) - readFlag=true; - } - - if (((line=="\n") or (line.isEmpty())) and (readFlag)) - readFlag=false; - } - return ret; +QStringList Registry::readKeys(const QString &sysfile, const QString &path, const QStringList &keys) const{ + QStringList ret; + QString searchPath; + + for (int i=0; i-1) and (!readFlag)){ + readFlag=true; + } + + if (readFlag){ + QList key = line.trimmed().split('='); + int index = keys.indexOf(key.at(0)); + if (index>-1){ + ret.replace(index, key.at(1).mid(1, (key.at(1).length()-2))); + } + } + + if (((line=="\n") or (line.isEmpty())) and (readFlag)) + readFlag=false; + } + + return ret; +} + +QStringList Registry::readExcludedKeys(const QString &sysfile, const QString &path, const QStringList &keys, const int count) const{ + QStringList ret; + QString searchPath; + + searchPath="["; + searchPath.append(path); + searchPath.append("]"); + searchPath.replace("\\","\\\\"); + + QString sfile = regfile; + sfile.append(sysfile); + sfile.append(".reg"); + + QFile file(sfile); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){ + qDebug()<<" [EE] Cannot open reg file: "< key = line.trimmed().split('='); + int index = keys.indexOf(key.at(0)); + if (index==-1){ + ret.append(line.trimmed()); + read++; + if (read>count) + return ret; + } + } else { + if ((line.indexOf(searchPath)>-1) and (!readFlag)) + readFlag=true; + } + + if (((line=="\n") or (line.isEmpty())) and (readFlag)) + readFlag=false; + } + return ret; } diff -Nru q4wine-1.3.11/src/core/registry.h q4wine-1.3.12/src/core/registry.h --- q4wine-1.3.11/src/core/registry.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/registry.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -46,74 +46,88 @@ */ class Registry: public QObject { - Q_OBJECT + Q_OBJECT public: - /*! \brief This is empty calss constructor. - */ - Registry(); - /*! \brief This is calss constructor. - * \param prefixPath Base prefix path. This is need to get wine system registry file path. - */ - explicit Registry(QString prefixPath); - - /*! \brief Creates heade information for exported reg file. - * - * \return ture on success. - */ - bool init(); - - /*! \brief Appends path and keys to exported reg file. - * \param reg_keys QString of keys and it's values. - */ - void append(QString reg_keys); - - /*! \brief Append setted key to exported reg file. - * \param path Registry path - * \param key Registry key name - * \param value Keristry key value - */ - void set(QString path, const QString key, const QString value, const QString hkey = "HKEY_CURRENT_USER"); - - /*! \brief Append setted unsetkey to exported reg file. - * \param path Registry path - * \param key Registry key name - */ - void unset(QString path, const QString key, const QString hkey = "HKEY_CURRENT_USER"); - void unsetPath(QString path, const QString hkey = "HKEY_CURRENT_USER"); - - /*! \brief Executes regedit to import exported file into wine registry. - * - * \return ture on success. - */ - bool exec(QObject *parent, QString prefix_path, QString prefix_name = "Default", QString post_run = ""); - - /*! \brief Read registry keys value from regfile by path. - * \param path Registry path. - * \param keys List of keys to be readed from registry. - * - * \return List of readed key's value. Index of readed keys identical to requested keys. - */ - QStringList readKeys(const QString sysfile, const QString path, const QStringList keys) const; - - /*! \brief Read registry all keys (exclude of requested keys) value from regfile by path. - * \param sysfile - * \param path Registry path. - * \param keys List of keys to be excluded readed from registry. - * \param count Number of keys to be readed from registry. - * - * \return List of readed key's value. Index of readed keys identical to requested keys. - */ - QStringList readExcludedKeys(const QString sysfile, const QString path, const QStringList keys, const int count) const; + /*! \brief This is empty class constructor. + */ + Registry(); + /*! \brief This is class constructor. + * \param prefixPath Base prefix path. This is need to get wine system registry file path. + */ + explicit Registry(const QString &prefixPath); + + /*! \brief Creates heade information for exported reg file. + * + * \return true on success. + */ + bool init(); + + /*! \brief Appends path and keys to exported reg file. + * \param reg_keys QString of keys and it's values. + */ + void append(const QString ®_keys); + + /*! \brief Append set key to exported reg file. + * \param path Registry path + * \param key Registry key name + * \param value Keristry key value + */ + void set(const QString &path, + const QString &key, + const QString &value, + const QString &hkey = "HKEY_CURRENT_USER"); + + /*! \brief Append set unsetkey to exported reg file. + * \param path Registry path + * \param key Registry key name + */ + void unset(const QString &path, + const QString &key, + const QString &hkey = "HKEY_CURRENT_USER"); + void unsetPath(const QString &path, + const QString &hkey = "HKEY_CURRENT_USER"); + + /*! \brief Executes regedit to import exported file into wine registry. + * + * \return true on success. + */ + bool exec(QObject *parent, + const QString &prefix_path, + const QString &prefix_name = "Default", + const QString &post_run = ""); + + /*! \brief Read registry keys value from regfile by path. + * \param path Registry path. + * \param keys List of keys to be read from registry. + * + * \return List of read key's value. Index of read keys identical to requested keys. + */ + QStringList readKeys(const QString &sysfile, + const QString &path, + const QStringList &keys) const; + + /*! \brief Read registry all keys (exclude of requested keys) value from regfile by path. + * \param sysfile + * \param path Registry path. + * \param keys List of keys to be excluded read from registry. + * \param count Number of keys to be read from registry. + * + * \return List of read key's value. Index of read keys identical to requested keys. + */ + QStringList readExcludedKeys(const QString &sysfile, + const QString &path, + const QStringList &keys, + const int count) const; private: - //! This is need for libq4wine-core.so import; - typedef void *CoreLibPrototype (bool); - CoreLibPrototype *CoreLibClassPointer; - std::unique_ptr CoreLib; - QLibrary libq4wine; + //! This is need for libq4wine-core.so import; + typedef void *CoreLibPrototype (bool); + CoreLibPrototype *CoreLibClassPointer; + std::unique_ptr CoreLib; + QLibrary libq4wine; - QString regfile; - QString regfile_image; + QString regfile; + QString regfile_image; }; #endif diff -Nru q4wine-1.3.11/src/core/xmlparser.cpp q4wine-1.3.12/src/core/xmlparser.cpp --- q4wine-1.3.11/src/core/xmlparser.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/xmlparser.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -391,8 +391,8 @@ comment.id = element.attribute("id").toInt(); } else if (node.toElement().tagName()=="date"){ comment.date = getChildNodeData(node.firstChild()); - } else if (node.toElement().tagName()=="autor"){ - comment.autor = getChildNodeData(node.firstChild()); + } else if (node.toElement().tagName()=="author"){ + comment.author = getChildNodeData(node.firstChild()); } else if (node.toElement().tagName()=="parent"){ comment.parent_id = getChildNodeData(node.firstChild()).toInt(); } else if (node.toElement().tagName()=="message"){ diff -Nru q4wine-1.3.11/src/core/xmlparser.h q4wine-1.3.12/src/core/xmlparser.h --- q4wine-1.3.11/src/core/xmlparser.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/core/xmlparser.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/darwin/ps.c q4wine-1.3.12/src/darwin/ps.c --- q4wine-1.3.11/src/darwin/ps.c 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/darwin/ps.c 2020-02-08 12:56:10.000000000 +0000 @@ -33,7 +33,7 @@ * Copyright (c) 2004 - Garance Alistair Drosehn . * All rights reserved. * - * Significant modifications made to bring `ps' options somewhat closer + * Significan't modifications made to bring `ps' options somewhat closer * to the standard for `ps' as described in SingleUnixSpec-v3. * ------+---------+---------+-------- + --------+---------+---------+---------* */ diff -Nru q4wine-1.3.11/src/data/wine/COPYING q4wine-1.3.12/src/data/wine/COPYING --- q4wine-1.3.11/src/data/wine/COPYING 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/data/wine/COPYING 2020-02-08 12:56:10.000000000 +0000 @@ -252,7 +252,7 @@ When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be +Whether this is true is especially significan't if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. diff -Nru q4wine-1.3.11/src/freebsd/umount_freebsd.sh q4wine-1.3.12/src/freebsd/umount_freebsd.sh --- q4wine-1.3.11/src/freebsd/umount_freebsd.sh 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/freebsd/umount_freebsd.sh 2020-02-08 12:56:10.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh # /************************************************************************** -# * Copyright (C) 2008-2019 by Oleksii S. Malakhov * +# * Copyright (C) 2008-2020 by Oleksii S. Malakhov * # * * # * This program is free software: you can redistribute it and/or modify * # * it under the terms of the GNU General Public License as published by * @@ -44,7 +44,7 @@ exit 255 fi -# Check is $1 an executable bianry +# Check is $1 an executable binary if [ ! -x $1 ]; then echo "Error: $1 is not an executable file." exit 255 diff -Nru q4wine-1.3.11/src/icons/Info.plist q4wine-1.3.12/src/icons/Info.plist --- q4wine-1.3.11/src/icons/Info.plist 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/icons/Info.plist 2020-02-08 12:56:10.000000000 +0000 @@ -11,7 +11,7 @@ CFBundleIconFile q4wine-128x128.icns CFBundleIdentifier - http://q4wine.brezblock.org.ua/ + https://q4wine.brezblock.org.ua/ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString diff -Nru q4wine-1.3.11/src/l10n/q4wine_af.ts q4wine-1.3.12/src/l10n/q4wine_af.ts --- q4wine-1.3.11/src/l10n/q4wine_af.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_af.ts 2020-02-08 12:56:10.000000000 +0000 @@ -1,5311 +1,5332 @@ - - - - - About - - - - About %1 - Meer oor ?? - Omtrent %1 - - - - About - ? - Omtrent - - - - Utility for Wine applications and prefixes management. - Nutsprogram vir Wine programmatuur en om Wine-tuistes te bestuur. - - - - - - - Authors - Outeurs - - - - Packages Authors - Verpakkingsouteurs - - - - Translation - Danie Wessels - Vertaling - - - - Thanks - Bedankings - - - - Special Thanks - Spesiale Bedankings - - - - - License agreement - Lisensie ooreenkoms - - - - OK - Goed - - - - AppDBHeaderWidget - - - Page %1 of %2 - Bladsy %1 van %2 - - - - AppDBWidget - - - - Status: Ready - Status: Gereed - - - - - - - - - Status: Connecting to %1 - Status: Bewerk verbinding aan %1 - - - - Applications - Programmatuur - - - - Subcategories - Sub-kategorieë - - - - Error: unexpected error. - Fout: onverwagte fout. - - - - Error: cannot read data from %1. - Fout: kan nie data lees vanaf %1 nie. - - - - Error: wrong or broken XML data. Try again later. - Fout: foutiewe of gebreekte XML data. Probeer weer later. - - - - Error: wrong or broken AppDB XML version. This might be caused by an outdated application version. - Fout: foutiewe of gebreekte AppDB XML weergawe. Dis moontlik weens 'n verouderde program weergawe. - - - - Error: XML parse error. - Fout: XML ontledingsfout. - - - - Search: No matches found. - Soek: Geen voorkomste gevind. - - - - Open AppDB - Open AppDB - - - - Open Wine AppDB web site - Open Wine AppDB webwerf - - - - Open App page - Open Programmatuur bladsy - - - - Open current application page at Wine AppDB web site - Open huidige program bladsy by Wine AppDB webwerf - - - - - Clear results - Herstel resultate - - - - - Clear search field - Herstel soekveld - - - - Search in AppDB - Soek in AppDB - - - - Search in Wine AppDB - Soek in Wine AppDB - - - - AppDB categories list - AppDB kategorieë lys - - - - View Wine AppDB categories list - Bekyk Wine AppDB kategorieë lys - - - - Error: %1 - Fout: %1 - - - - Status: Sending request to the server. - Status: Versend versoek na die bediener. - - - - Status: Reading server's response. - Status: Lees die bediener se reaksie. - - - - Status: Closing down connection. - Status: Afsluiting van die verbinding. - - - - Status: Not connected. - Status: Nie verbind nie. - - - - AppSettings - - - - %1 settings - %1 instellings - - - - - - - No Proxy - ? - Geen instaanbediener nie - - - - generic - generic - - - - Open File - Open Lêer - - - - Open Directory - Open Gids - - - - - - - - - - Error - Fout - - - - Sorry, specify proxy host. - Jammer, spesifiseer instaanbediener. - - - - Sorry, specify proxy port. - ? - Jammer, spesifiseer instaanbedienerpoort. - - - - Invalid virtual desktop size. - - - - - Sorry, specify %1 directory. - Jammer, spesifiseer %1 gids. - - - - Sorry, specify %1 binary. - Jammer, spesifiseer %1 binêre lêer. - - - - Sorry, specified %1 directory does not exist. - Jammer, die gespesifiseerde %1 gids bestaan nie. - - - - Sorry, specified %1 binary does not exist. - Jammer, die gespesifiseerde %1 binêre lêer bestaan nie. - - - - - - System Default - Stelsel Verstek Instellings - - - - - - - - - - General - Algemeen - - - - Wine settings - Wine instellings - - - - - - Ambient Light - - - - - - - Ambient Dark - - - - - Bin: - Binêre Lêer: - - - Server: - Bediener: - - - Loader: - Laaier: - - - - Use tray icon. - ?? - Gebruik skinkbordstaaf ikoon. - - - - Minimize to tray at application startup. - skinkbord = tray?? - Minimiseer na skinkbordstaaf tydens program aanskakeling. - - - - - - - System - Stelsel - - - - System utils - Stelsel nutsprogramme - - - tar: - tar: - - - mount: - Heg ('mount'): - - - umount: - Ontheg ('umount'): - - - sudo: - sudo: - - - gui sudo: - gui sudo: - - - nice: - nice: - - - renice: - renice: - - - sh: - sh: - - - - - - - Utils - Nutsgoed ('Utils') - - - - Console - Konsole - - - - Args: - ?? - Parameters ('Args'): - - - - - - - Quick Mount - Vinnige Hegting - - - - - - - Logging - Boekstawing - - - - Logging subsystem: - Boekstawing substelsel: - - - - Clear logs at startup. - Herstel boekstawing tydens aanskakeling. - - - - Run recent program - Loop onlangse program - - - - Open Run dialog. - ? - Open Loop dialoog. - - - - OK - Goed - - - wrestool: - wrestool: - - - icotool: - icotool: - - - - - - - - Language - Taal - - - - - Themes - Temas - - - - - - - Network - Netwerk - - - - Proxy settings - Instaanbediener instellings - - - - Password: - Wagwoord: - - - HTTP - HTTP - - - - Tray Icon - Skinkbord ?? - Skinkbord-ikoon - - - Icoutils - Icoutils - - - - Language: - Taal: - - - - Proxy type: - Instaanbediener tipe: - - - Libs (32bit): - Biblioteke (32bis): - - - Libs (64bit): - Biblioteke (64bis): - - - - Minimize to tray at startup. - Minimiseer na skinkbordstaaf tydens aanskakeling. - - - - Show tray icon notifications. - Vertoon skinkbordstaaf kennisgewings. - - - Socks v5 - Socks v5 - - - - Host: - Gasheer: - - - - Port: - Poort: - - - - Username: - Gebruikernaam: - - - - Select Quick Mount Profile - -? - Kies Vinnigehegtingsprofiel - - - - Profile Strings: - Profiel Stringe: - - - - Mount: - Heg: - - - - Mount image: - Heg databeeld: - - - - Umount: - Ontheg: - - - - Note: Since SQLite was not designed to handle large amount of data, activating this can have a negative impact on the performance of Q4Wine. Use it with care. - Nota: Aangesien SQLite nie ontwerp was om groot hoeveelheid data te kan hanteer nie, kan die aktivering hiervan 'n negatiewe effek hê op die gedrag van Q4Wine. Gebruik met omsigtigheid. - - - - - - - AppDB browser - AppDB blaaier - - - - AppDB browser subsystem: - AppDB blaaier substelsel: - - - - Open application details in system browser - Open program besonderhede in stelsel blaaier - - - - - - - Desktop Menu - Lessenaar Gids - - - - Desktop menu plugin - Lessenaar gids inprop - - - - Enable automatic generation of desktop menu - Aktiveer outomatiese skep van lessenaar gids - - - - Export 'system' folder - - - - - Regenerate desktop menu - Herskep lessenaar gids - - - - Remove desktop menu entries - Verwyder lessenaar gids inskrywings - - - - - - - Defaults - Verstek waardes - - - - Program icons - Program ikone - - - - Use single-click to run program icons. - Gebruik enkel klik om program ikone te loop. - - - - File dialogs - Lêer dialoë - - - - Use the native file dialogs. - Gebruik die oorsproklike lêer dialoë. - - - - Default directory for new wine prefixes - ? - Verstek gids vir nuwe wine wine-tuistee - - - - - - - Desktop Integration - - - - - Default Wine Desktop Paths for new prefixes. - - - - - Desktop: - Lessenaar: - - - - My Documents: - My Dokumente: - - - - My Pictures: - My Prente: - - - - My Music: - My Musiek: - - - - My Videos: - My Video's: - - - - - - - Run dialog - Loop dialoog - - - - - - - - Wine desktop import - ? - Wine lessenaar intrek - - - - Remove processed wine desktop files. - Verwyder verwerkte wine lessenaar lêers. - - - - - - Interface - Koppelvlak - - - - - - Subsystems - Substelsel - - - - - - Plugins - Inproppe - - - - - - Advanced - Gevorderd - - - - Default virtual desktop - Verstek virtuele lessenaar - - - - You can call it via Tools menu or via shortcut Ctrl+M - - - - - Wine Version Manager - Wine weergawebestuurder - - - - App Icon - - - - - App Icon: - - - - - - Default - Verstek - - - - Default virtual desktop size will be used for "Icon creation" and "Run" dialogs. - Verstek virtuele lessenaar grootte wat vir die ikoon skepping en loop dialoë gebruik word. - - - - Size: - Grootte: - - - - - No virtual desktop - Geen virtuele lessenaar nie - - - - Import Wine desktop files at Q4Wine startup. - Trek Wine lessenaar lêers in tydens Q4Wine aanskakeling. - - - - Help - Hulp - - - - Cancel - Kanselleer - - - - DataBase - - - No database loaded. Aborting... - Staking?? - Geen databasis is gelaai nie. Staking... - - - - FakeDriveSettings - - - Dialog - Dialoog - - - - Fake drive settings - Vals skyf instellings - - - - - - - - - - General - Algemeen - - - - - - - - - - - - Video - Video - - - - - OpenGL - OpenGL - - - - - - - - Wine Drives - Wine Skywe - - - - - - - - Scripts - Skripte - - - - General Settings - Algemene Instellings - - - - Please enter user registration information: - Voer asseblief gebruiker registrasie inligting in: - - - - Owner: - Eienaar: - - - - Organization: - Organisasie: - - - - Version: - Weergawe: - - - - Misc: - Allerlei: - - - - Wine Colors Theme - Wine Kleurtema - - - - To change the color theme in Wine dialogs, select one of the following options: - Om die kleurtema in Wine dialoë te verander, kies een van die volgende keuses: - - - Use existing color theme - Gebruik bestaande kleurtema - - - Reset to default - Herstel na verstek waardes - - - Use current Qt4 colors - Gebruik huidige Qt4 kleure - - - - - - - - - - - Note: Leave empty for default - Nota: Laat veld leeg vir verstek waarde - - - - Direct3D settings - Direct3D instellings - - - - Note: Q4Wine does not check if the selected driver is available in the current Wine build. Use this option with care. - Nota: Q4Wine toets nie of die gekose skyf beskikbaar is in die huidige Wine bou nie. Gebruik dié keuse met omsigtigheid. - - - - OK - Goed - - - - - - - - Wine Browsers - Wine Blaaiers - - - - - - - Color Theme - Kleurtema - - - - - - - Sound Driver - Klankdrywer - - - - - - - ALSA Driver - ALSA Drywer - - - - - - - Misc Audio - Allerlei Audio - - - - - - File System - Lêer Stelsel - - - - - - - Desktop Paths - Lessenaar Paaie - - - - &Reset to default - - - - - &Use current Qt colors - - - - - Browsers: - Blaaiers: - - - - Mailers: - 'Mailers': - - - - Post run script will be executed after the Prefix update. Wine environment settings will be exported as well. - - - - - Post run: - Na lopie: - - - - Video Card Settings - Videokaart Instellings - - - - Description: - Beskrywing: - - - - - Driver: - Drywer: - - - - Shaders - 'Shaders' - - - - Joystick Axes Mapping: - 'Joystick' Asse afbeelding: - - - - - Add - Byvoeg - - - - - Edit - Redigeer - - - - - Remove - Verwyder - - - - Disabled extensions: - Gedeaktiveerde uitbreidings: - - - - - - - - - - Input - Toevoer - - - - - - Audio - Audio - - - - Fake Drive Version: - Vals Skyf Weergawe: - - - - Disable graphical crash dialog - Deaktiveer grafiese faling dialoog - - - - - - - - - - - - X11 Driver - X11 Drywer - - - - - - Direct3D - Direct3D - - - - Use e&xisting color theme - - - - - Memory (MB): - Geheue (MB): - - - - Current Sound Driver - Huidige Klank Drywer - - - - Alsa driver settings - ALSA aandrywer instellings - - - - Misc Options: - Allerlei Keuses: - - - - DirectSound workaround for bug #9612 - DirectSound akkommodering vir gogga #9612 - - - - Wine Desktop Paths: - Wine Lessenaar Paaie: - - - - Desktop: - Lessenaar: - - - - My Documents: - My Dokumente: - - - - My Pictures: - My Prente: - - - - My Music: - My Musiek: - - - - My Videos: - My Video's: - - - - Mouse - Muis - - - - Clipboard - 'Clipboard' - - - - Help - Hulp - - - - Cancel - Kanselleer - - - Fake drive settings for prefix "%1" - Vals skyf instellings vir Wine tuiste "%1" - - - - - - - - - - - - - - - - - - - - - - Error - Fout - - - - Error in string: - -%1 - -Joystick axes mappings might be defined as: -"Joystick name"="axes mapping" - -For example: -"Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1" - -See help for details. - Fout in string: - -%1 - -'Joystick' asse afbeeldings mag gedefinieer word as: -"Joystick name"="axes mapping" - -Byvoorbeeld: -"Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1" - -Sien hulp vir verderre besonderhede. - - - - Open File - Open Lêer - - - - Open Directory - Open Gids - - - - - Joystick Axes Mappings - 'Joystick' Asse Afbeeldings - - - - - Cannot read desktop paths! - Kan nie lessenaar paaie lees nie! - - - - Cannot remove symlink: %1 - Kan nie simboliese skakel verwyder nie: %1 - - - - - - - - - Cannot symlink "%1" to "%2" - Kan nie simboliese skakel koppel van "%1" na "%2" nie - - - - - - Cannot create dir: %1 - Kan nie die gids skep nie: %1 - - - - - - - - Cannot remove dir: %1 - Kan nie die gids verwyder nie: %1 - - - - - Joystick axes mappings might be defined as: -"Joystick name"="axes mapping" - -For example: -"Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1" - -See help for details. - 'Joystick' asse afbeelding mag gedefineerd word as: -"Joystick name"="axes mapping" - -Byvoorbeeld: -"Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1" - -Sien hulp vir verderre besonderhede. - - - - Sorry, You cannot delete or modify wine C: drive.<br>But You can change it in prefix settings dialog. - Jammer, maar u kan nie die Wine C: skyf verwyder of verander nie.<br>Maar u kan dit in die Wine-tuiste instellings dialoog verander. - - - - HttpCore - - Download failed: %1. - Aflaai het misluk: %1. - - - - IconListToolbar - - - - Clear search field - Herstel soekveld - - - - - - - Icons view mode - Aansig modus vir ikone - - - - - - - Details view mode - Besonderhede aansig modus - - - - - Zoom In - Zoem in - - - - - Zoom Out - Zoem Uit - - - - - - - - - Alphabetic sort ascending - Alfabeties toenemend sorteer - - - - - - - - - Sort ascending by create order - Sorteer toenemend volgens skeppingsorde - - - - - - - Alphabetic sort descending - Alfabetiese sortering - afnemend - - - - - - - Sort descending by create order - Sorteer afnemend volgens skeppings orde - - - - IconListWidget - - - - - %1 successfully mounted. - %1 suksesvol geheg. - - - Disc image files (*.iso *.nrg *.img *.bin *.mdf) - Skyf beeld lêers (*.iso *.nrg *.img *.bin *.mdf) - - - ISO image files (*.iso) - ISO beeld lêers (*.iso) - - - - Open Disc Image Files - Open Skyf Beeld Lêers - - - - Fail to mount %1. - Hegting onsuksesvol vir %1. - - - - No mount point set in prefix configuration. - Geen hegpunt gestel in wine-tuiste opstelling. - - - - Mount [%1] - Heg [%1] - - - - - [none] - [geen] - - - Mount media drive. - Heg media skyf. - - - - - - Sorry. It seems that the icon already exists. - Jammer. Dit blyk dat dié ikoon alreeds bestaan. - - - - Sorry. It seems that icon already exists.<br>Please choose another name or cancel the operation. - Jammer. Dit blyk of dié ikoon alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. - - - - No media drives detected. - Geen media skywe bespeur nie. - - - - Mount media image. - Heg media beeld. - - - - - Browse... - Blaai... - - - - - Browse for media image. - Blaai vir media beeld. - - - - Unmount [%1] - Ontheg [%1] - - - - Unmount media. - Ontheg media. - - - - Run - Loop - - - - Run current icon - Loop huidige ikoon - - - - Options - Keuses - - - - Modify current icon options - Verander huidige ikoon keuses - - - - - Cut - Sny - - - - - Cut selected icons to buffer - Sny gekose ikone na buffer - - - - - Copy - Kopieer - - - - - Copy selected icons to buffer - Kopieer gekose ikone na buffer - - - - - Paste - Plak - - - - - Paste selected icons from buffer to selected folder - Plak gekose ikone vanaf buffer na gekose gids - - - - Rename - Herbenoem - - - - Rename current icon - Herbenoem huidige ikoon - - - - - Delete - Verwyder - - - - - Delete current icon - Verwyder huidige ikoon - - - - - Browser - Blaaier - - - - - Open application directory - Open program gids - - - - Open application directory in system file browser - Open program gids in stelsel lêer blaaier - - - - - - - Open prefix directory - Open Wine-tuiste gids - - - - - Open prefix directory in system file browser - Open Wine-tuiste gids in stelsel lêer blaaier - - - - - - - Open mount point directory - Open hegtingspunt gids - - - - - Open mount point directory in system file browser - Open hegtingspunt gids in stelsel lêer blaaier - - - - - Wine Browser - Wine Blaaier - - - - Open application directory in wine file browser - Open program gids in Wine lêer blaaier - - - - - Open prefix directory in wine file browser - Open wine-tuiste gids in Wine lêer blaaier - - - - - Open mount point directory in wine file browser - Open hegtingspunt gids in Wine lêer blaaier - - - - - Console - Konsole - - - - Open console in application directory - Open konsole in program gids - - - - Open system console in application directory - Open stelsel konsole in program gids - - - - - Open console in prefix directory - Open konsole in wine-tuiste gids - - - - - Open system console in prefix directory - Open stelsel konsole in wine-tuiste gids - - - - - Open console in mount point directory - Open konsole in hegtingspunt gids - - - - - Open system console in mount point directory - Open stelsel konsole in hegtingspunt gids - - - - Search in Wine AppDB - Soek in Wine AppDB - - - - Search for application name in wine AppDB - Soek vir program naam in Wine AppDB - - - - Copy to clipboard - Kopieer na klipbord - - - - Directory path - Gids pad - - - - - Browse for application - - - - - New icon - - - - - Disc image files (*.iso *.ISO *.nrg *.NRG *.img *.IMG *.bin *.BIN *.mdf *.MDF);;All files (*) - - - - - ISO image files (*.iso *.ISO);;All files (*) - - - - - Drive successfully unmounted. - Skyf was suksesvol ontheg. - - - - Failed to unmount drive. - Kon nie skyf ontheg nie. - - - - Application path - Program pad - - - - q4wine-cli cmd - q4wine-'cli' 'cmd' - - - - Run... - Loop... - - - - Do you wish to delete all of the selected icons? - Wil u graag die gekose ikone verwyder? - - - - - Failed to mount %1. - Onsuksesvol om %1 te heg. - - - - Preparing to run the Wine binary... - Maak gereed om Wine binêre lêer te loop... - - - - Trying to run "%1"... - Probeer om "%1" te loop... - - - - "%1" failed to start. - "%1" kon nie begin nie. - - - - Mount ISO... - Heg ISO... - - - - Mount... - Heg... - - - - Copy application directory path to system's clipboard - Kopieer program gids pad na die stelsel se klipbord - - - - Copy full application path to system's clipboard - Kopieer volle program pad na die stelsel se klipbord - - - - Copy q4wine-cli command for current application - Kopieer q4wine 'cli' bevel vir huidige program - - - Browse for another image - Blaai vir 'n ander beeld - - - New - Nuut - - - - Create new icon - Skep nuwe ikoon - - - - Enter new icon name - Benoem nuwe ikoon - - - - Icon name: - Ikoon naam: - - - - - Sorry. It seems that the icon already exists.<br>Please choose another name or cancel the operation. - Jammer. Dit blyk of dié ikoon alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. - - - - Delete Icon - Verwyder Ikoon - - - - Error - Fout - - - - No device drive specified in prefix settings. - Geen stelsel skyf gestel in wine-tuiste opstelling. - - - - IconSettings - - - - Icon settings - Ikooninstellings - - - - Virtual Desktop - Virtuele Lessenaar - - - - Override DLL - Oorheers DLL - - - - Present Wine DLLs - Huidige Wine DLLs - - - - - - - - Native - Oorspronklik - - - - - - - - Built-in - Ingebou - - - - - - - - Native, Built-in - Oorspronklik, Ingebou - - - - - - - - Built-in, Native - Ingebou, Oorspronklik - - - - Adding new icon - Voeg nuwe ikoon in - - - - Open Directory - Open Gids - - - - - - Open Exe file - Open Exe Lêer - - - Exe files (*.exe) - Exe lêers (*.exe) - - - - Open image file - Open beeld lêers - - - Image files (*.png *.jpg *.gif *.bmp *.xpm) - Beeld lêers (*.png *.jpg *.gif *.bmp *.xpm) - - - - Exe, MSI, BAT files (*.exe *.EXE *.msi *.MSI *.bat *.BAT);;Exe files (*.exe *.EXE);;MSI files (*.msi *.MSI);;BAT files (*.bat *.BAT);;All files (*) - - - - - Image files (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.svg *.SVG *.svgz *.SVGZ) - - - - - Image and Win32 binary files (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.exe *.EXE *.dll *.DLL);;Image files (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.svg *.SVG *.svgz *.SVGZ);;Win32 Executable (*.exe *.EXE);;Win32 Shared libraries (*.dll *.DLL);;Win32 Executable and Shared libraries (*.exe *.EXE *.dll *.DLL);;All files (*) - - - - - - - - - - Error - Fout - - - - No program selected. - Geen program is gekies nie. - - - - Selected working directory does not exist. - Gekose werksgids bestaan nie. - - - - - Sorry, an icon named %1 already exists. - Jammer, dit blyk dat dié ikoon, %1, alreeds bestaan. - - - - No program name specified. - Geen programnaam is gekies nie. - - - Image and Win32 binary files (*.png *.jpg *.gif *.bmp *.xpm *.exe *.dll);;Image files (*.png *.jpg *.gif *.bmp *.xpm);;Win32 Executable (*.exe);;Win32 Shared libraries (*.dll);;Win32 Executable and Shared libraries (*.exe *.dll) - ? - Beeld en Win32 binêre lêers (*.png *.jpg *.gif *.bmp *.xpm *.exe *.dll);;Image files (*.png *.jpg *.gif *.bmp *.xpm);;Win32 Uitvoerbare lêers (*.exe);;Win32 Gedeelde biblioteek lêers (*.dll);;Win32 Uitvoerbare en Gedeelde biblioteke (*.exe *.dll) - - - - - Extracting icon from binary file.<br>This can take a while... - ? - Omttrek ikoon vanaf binêre lêer.<br>Dit kan 'n wyle duur... - - - - - Extracting icon - Onttrekking van ikoon - - - - - - - Disabled - Ge-deaktiveer - - - - Invalid virtual desktop size. - - - - - - Shell script (*.sh) - Skulp skrip (*.sh) - - - - - No virtual desktop - Geen virtuele lessenaar nie - - - Icon Settings - Ikoon Instellings - - - - - General - Algemeen - - - - Program: - Program: - - - - Cmd Args: - Bevel Parameters: - - - - Working dir: - Werksgids: - - - - Icon Options - Ikoon Keuses - - - - Name: - Naam: - - - - Description: - Beskrywing: - - - - Size: - Grootte: - - - - Disable - Deaktiveer - - - - Add - Byvoeg - - - - Overridden DLLs - Oorheersde-DLLS - Ooheersde DLLs - - - - DLL Name - DLL Naam - - - - Override Algorithm - Oorheersende Algoritme - - - - Advanced - Gevorderd - - - - Display - Vertoon - - - - Debug Options - Ontfoutingskeuses - - - - Run With Output in Console - Loop met Afvoer in 'n Konsole - - - - Note: This option will disable Pre and Post run scripts. - Nota: Hierdie keuse sal veroorsaak dat Voor en Na lopie skripte nie uitgevoer word nie. - - - - Nice Priority Level - 'Nice' Prioriteitsvlak - - - - Priority: - Prioriteitsvlak: - - - - Locale - 'Locale' - - - - - Scripts - Skripte - - - - Note: Pre and post run scripts will not be executed in case the "Run With Output in Console" option is enabled. - Let Wel: Voor en Na lopie skripte sal nie uitgevoer word nie as "Run With Output in Console" opsie aktief is. - - - - Pre run: - Voor lopie: - - - - Post run: - Na lopie: - - - - Help - Hulp - - - - Cancel - Kanselleer - - - - OK - Goed - - - - IconsView - - - - Cancel - Kanselleer - - - - Exporting icon - Voer ikoon uit - - - - Rename - Herbenoem - - - - Use existing - Gebruik bestaande - - - - Replace - Vervang - - - - - Error - Fout - - - - Sorry, file cannot be removed:<br>%1. - Jammer, dié lêer kan nie verwyder word nie:<br>%1. - - - - Sorry, file cannot be created:<br>%1. - Jammer, dié lêer kan nie geskep word nie:<br>%1. - - - - Select file to save - Kies die lêer om te stoor - - - - Sorry. It seems that the file already exists.<br>Replace existing file or rename current one? - Jammer. Dit blyk of dié lêer alreeds bestaan.<br>Vervang die bestaande lêer of herbenoem die huidige een? - - - - Sorry. It seems that the file already exists. - Jammer. Dit blyk of dié lêer alreeds bestaan. - - - - Replace existing file or rename current one? - Vervang die bestaande lêer of herbenoem die huidige een? - - - - Images (*.png) - Prente (*.png) - - - - Icons Export - Ikoon Uitvoer - - - - Available Icons: - Beskikbare Ikone: - - - - Export icons to default place - Onttrek ikone na verstek pad - - - - OK - Goed - - - - ImageManager - - - File path: %1 - Lêer pad: %1 - - - - - %1 Mb - %1 Mb - - - - Add image - Voeg beeld by - - - - Rename image - Herbenoem beeld - - - - Remove image - Verwyder beeld - - - - Refresh image list - Verfris beeld lys - - - - Disc image files (*.iso *.ISO *.nrg *.NRG *.img *.IMG *.bin *.BIN *.mdf *.MDF);;All files (*) - - - - - ISO image files (*.iso *.ISO);;All files (*) - - - - - - Sorry. It seems that the CD image already exists. - Jammer. Dit blyk of die CD beeld alreeds bestaan. - - - - Sorry. It seems that the CD image file already exists.<br>Please rename it, or cancel add image operation. - Jammer. Dit blyk of die CD beeld alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. - - - - Sorry. CD image name cannot be empty. - Jammer. Die CD beeld lêernaam kan nie leeg wees nie. - - - - Sorry. CD image name cannot be empty.<br>Please enter new name, or cancel rename image operation. - Jammer. Dit blyk of die CD beeld alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. - - - - Sorry. It seems that the CD image file already exists.<br>Please rename it, or cancel rename image operation. - Jammer. Dit blyk of die CD beeld alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. - - - Disc image files (*.iso *.nrg *.img *.bin *.mdf) - Skyf beeldlêers (*.iso *.nrg *.img *.bin *.mdf) - - - ISO image files (*.iso) - ISO beeld lêers (*.iso) - - - - Open ISO image file - Open ISO beeld lêer - - - - Enter new name - Gee 'n nuwe naam - - - - Enter new name: - Gee 'n nuwe naam: - - - - Disc Image Manager - Skyfbeeld Bestuurder - - - - Disc Image Name - Skyfbeeld Naam - - - - Size - Grootte - - - - File path: - Lêer pad: - - - - Help - Hulp - - - - OK - Goed - - - - InfoDialog - - Information - Inligting - - - Do not show this dialog next time - Moenie hierdie venter weer vertoon nie - - - Cancel - Kanselleer - - - OK - Goed - - - Winetricks plugin notification - Winetricks inprop kennisgewing - - - AppDB browser notification - AppDB blaaier kennisgewing - - - - LoggingWidget - - - Logging list - Boekstaaf lys - - - - Clear logs - Herstel boekstawings - - - - Clear logs database - Herstel boekstawings databasis - - - - Delete log - Verwyder boekstawing - - - - Delete current log - Verwyder huidige boekstawing - - - - Export log - Voer boekstawing uit - - - - Export current log to file - Voer huidige boekstawing uit na lêer - - - - Select all - Kies alles - - - - Select all log rows - Kies alle boekstawingsrye - - - - Copy selected - Kopieer gekose data - - - - Copy selection into copy buffer - Kopieer gekose data in na buffer - - - - - - - Status - Status - - - - - Logging enabled - Boekstawing is aktief - - - - - - - Disable logging - Stel boekstawing onaktief - - - - - Logging disabled - Boekstawing is gedeaktiveer - - - - - - - Enable logging - Aktiveer boekstawing - - - - Exec string: - Uitvoer string: - - - - Prerun Exec string: - - - - - Postrun Exec string: - - - - - Exit code: - ? - Afsluitingskode: - - - - App STDOUT and STDERR output: - Program 'STDOUT' en 'STDERR' afvoer: - - - - Select file to save - Kies die lêer om te stoor - - - - Log Files (*.log) - Boekstawingslêers (*.log) - - - - MainWindow - - - - %1 :. Qt GUI for Wine v%2 - %1 :. Qt GUI vir Wine v%2 - - - - Program: %1<br> Args: %2 - Program: %1<br> Args: %2 - - - - Socket file "%1" already exists! - Soklêer "%1" bestaan alreeds! - - - - It seems that another instance of Q4Wine is running, or Q4Wine was shutdown incorrectly. Do you wish to remove the socket file? - Dit blyk dat nog 'n Q4Wine proses tans besig is, óf Q4Wine was verkeerdelik beëindig. Wil u die soklêer verwyder? - - - - - - Application: "%1" started fine for prefix: "%2". - Program: "%1" het goed begin vir Wine-tuiste "%2". - - - - Console started fine for Application: "%1" in prefix: "%2". - Konsole vir Program: "%1" het goed begin in Wine-tuiste "%2". - - - - - Application: "%1" finished for prefix: "%2". Exit code is: "%3". - Program: "%1" het goed afgesluit vir Wine-tuiste "%2". Die uitgang kode is: "%3". - - - - Unexpected socket message received. - Onverwagte sok boodskap ontvang. - - - - WIP - WIP - - - - Open image file - Open beeldlêer - - - - Win32 Executable and Shared libraries (*.exe *.EXE *.dll *.DLL);;Win32 Executable (*.exe *.EXE);;Win32 Shared libraries (*.dll *.DLL);;All files (*) - - - - Win32 Executable and Shared libraries (*.exe *.dll);;Win32 Executable (*.exe);;Win32 Shared libraries (*.dll) - Win32 Uitvoerbare kode en Gedeelde biblioteke (*.exe *.dll);;Win32 Uitvoerbare kode (*.exe);;Win32 Gedeelde biblioteke (*.dll) - - - - - Extracting icon from binary file.<br>This can take a while... - Trek ikoon uit lêer in.<br>Dit mag 'n wyle neem... - - - - - Extracting icon - Onttrekking van ikoon - - - - Only one instance of %1 can be launched at same time. - Slegs een instansie van %1 kan op 'n slag loop. - - - - Description: %1 - Beskrywing: %1 - - - - Yes - Ja - - - - No - Nee - - - - Runs in console: %1<br> Desktop size: %2 - Loop in konsole: %1<br> Lessenaar grootte: %2 - - - - - - - - helper notification - helper kennisgewing - - - - - Cannot start application: "%1" for prefix: "%2". - Kan nie program begin nie: "%1" vir Wine-tuiste: "%2". - - - - - Cannot start console for application: "%1" in prefix: "%2". - Kan nie konsole vir program begin nie: "%1" in Wine-tuiste: "%2". - - - - Sorry, the install wizard has not been implemented yet. It will be available in a future version. - Jammer, die installerings towenaar is nog nie geïmplementeer nie. Dit sal in 'n volgende weergawe beskikbaar wees. - - - - - Binary "%1" does not exist. - Binêre lêer "%1" bestaan nie. - - - - Cannot run binary - Kan nie binêre lêer loop nie - - - Options - Keuses - - - Run... - Loop... - - - - Programs - Programme - - - - Prefixes - Wine-tuistes - - - - Default - Verstek - - - Process - Proses - - - - Setup - Instelling - - - - Processes - Prosesse - - - - Logging - Boekstawing - - - - &File - &Lêer - - - Help - Hulp - - - - Tools - Gereedskap - - - - Ctrl+Z - Ctrl+Z - - - Quit - Verlaat - - - - Ctrl+Q - Ctrl+Q - - - About - Omtrent - - - - Ctrl+E - Ctrl+E - - - - Installation Wizard - Instellings Towenaar - - - Disc Image Manager - Skyfbeeld Bestuurder - - - First Steps - Eerste Treetjies - - - Help for This Tab - Hulp vir hierdie Oortjie - - - - Import Wine Desktop Files - Intrek van Wine Lessenaar Lêers - - - Wine Version Manager - Wine weergawebestuurder - - - - Ctrl+M - - - - Version Manager - Weergawebestuurder - - - - He&lp - - - - - &Handbook - - - - - &Run... - - - - - &Quit - - - - - &About - - - - - About &Qt - - - - - &Programs - - - - - P&rocess - - - - - &Setup - - - - - Pre&fixes - - - - - &Extract Images from PE Files - - - - - Extract images from PE files using icoutils. - Omttrek beelde vanaf PE lêers deur 'icoutils' te gebruik. - - - - &Options - - - - - &Disc Image Manager - - - - - &First Steps - - - - - &Short FAQ - - - - - &Index - - - - - &Website - - - - - &Donate - - - - - &Bugs - - - - - &Wine AppDB Browser - - - - - &Logging - - - - - Help &for This Tab - - - - - F1 - F1 - - - - &Import Wine Desktop Files - - - - - - Scan for Wine desktop files and import them into Q4Wine's icon view. - Soek vir die Wine lessenaar lêers en trek dit in na Q4Wine se ikoon aansig. - - - - Ctrl+I - Ctrl+I - - - - Wine &Version Manager - - - - Short FAQ - Kort 'FAQ' - - - Index - Inhoudsopgaaf - - - Website - Webwerf - - - Donate - Donasies - - - Bugs - Goggas - - - Wine AppDB Browser - Wine AppDB Blaaier - - - - Ctrl+B - Ctrl+B - - - - Ctrl+L - Ctrl+L - - - Handbook - Handleiding - - - - Wine AppDB - Wine AppDB - - - About Qt - Omtrent Qt - - - - Ctrl+X - Ctrl+X - - - - Ctrl+S - Ctrl+S - - - - Ctrl+D - Ctrl+D - - - - Ctrl+F - Ctrl+F - - - Extract Images from PE Files - Onttrek beelde vanaf die PE lêers - - - - Ctrl+W - Ctrl+W - - - - PrefixConfigWidget - - - - Name - Naam - - - - - Description - Beskrywing - - - - - Manage prefixes - Bestuur Wine-tuistes - - - - - Clear search field - Herstel soekveld - - - - - - - Alphabetic sort descending - Alfabetiese sortering - afnemend - - - - - - - Alphabetic sort ascending - Alfabetiese sortering - toenemend - - - - - Zoom In - Zoem in - - - - - Zoom Out - Zoem Uit - - - - - Create Fake Drive - Skep Vals Skyf - - - - Create new Fake Drive configuration. Old Fake Drive will be removed. - Skep 'n nuwe Vals Skyf opstelling. Die ou Vals Skyf sal verwyder word. - - - - - Update Fake Drive - Opdateer Vals Skyf - - - - Update Fake Drive configuration. - Opdateer Vals Skyf opstelling. - - - - - Install or update Winetricks script - Installeer of dateer Winetricks skrip op - - - - Install new or update installed Winetricks script. - Installeer 'n nuwe of opdateer 'n Winetricks skrip. - - - - - Refresh Winetricks application list - Verfris Winetricks progammatuur lys - - - - Create or update Q4Wine's cache of Winetricks appications. - Installeer 'n nuwe of opdateer 'n Q4Wine kas vir Winetricks programmatuur. - - - - - Goto Winetricks homepage - - - - - Read news, report bugs and join the Winetricks community at https://github.com/Winetricks/winetricks - - - - - Fail to remove %1 - Kon nie %1 verwyder nie - - - - Sorry, no fake drive configuration found.<br>Create fake drive configuration before attempting to update it. - Jammer. geen vals skyf opstelling is gevind nie. <br>Skep 'n vals skyf opstelling voor u probeer om dit op te dateer. - - - - Warning - Waarskuwing - - - - A fake drive already exists within <b>%1</b>.<br><br>Do you wish to remove <b>all</b> files from this prefix? - 'n Vals skyf bestaan alreeds binne <b>%1</b>.<br><br>Wil u graag <b>alle</b> lêers van hierdie wine-tuiste verwyder? - - - - Removing old fake drive - Verwydering van ou vals skyf - - - - Removing old fake drive.<br>This may take a while... - Verwydering van ou vals skyf.<br>Dit mag 'n wyle neem... - - - - - Error - Fout - - - - PrefixControlWidget - - - Create new - Skep nuut - - - - Create new prefix - Skep nuwe Wine-tuiste - - - - - Import prefix - Trek wine-tuiste in - - - - - Export prefix - Voer wine-tuiste uit - - - - - Delete prefix - Verwyder wine-tuiste - - - - - Edit prefix settings - Redigeer wine-tuiste instellings - - - - Set up prefix fake drive - Stel 'n Wine-tuiste vals skyf op - - - - Set up prefix fake drive and applications - Skep Wine-tuiste vals skyf en toepassings - - - - Name - Naam - - - Architecture - Argitektuur - - - - Arch - Arch - - - - Version - Weergawe - - - - Path - Pad - - - - Error - Fout - - - - Sorry, you cannot delete the Default prefix. - Jammer, u kan nie die Verstek wine-tuiste verwyder nie. - - - - Do you really wish to delete the prefix named "%1" and all associated icons? - Wil u regtig graag die wine-tuiste genaamd "%1" en alle betrokke ikone verwyder? - - - - - Warning - Waarskuwing - - - - - Configure wine versions - - - - - Select file to import - Kies die lêer om in te trek - - - - Prefix archive images (*.tbz *.TBZ);;All files (*) - - - - - Prefix archive images (*.tbz) - Argiveer wine-tuiste beelde (*.tbz) - - - - Do you really wish to delete all old prefix files? - ?? - Wil u regtig graag al die wine-tuiste leers verwyder? - - - - Removing old fake drive.<br>This can take a while... - Verwydering van ou vals skyf.<br>Dit mag 'n wyle neem... - - - - Removing old fake drive - Verwydering van ou vals skyf - - - - Importing prefix.<br>This can take a while... - Trek Wine-tuistes in.<br>Dit mag 'n wyle neem... - - - - Importing prefix - Trek Wine-tuiste in - - - - Select file to export - Kies die lêer om na toe af te voer - - - - Exporting %1 prefix.<br>This can take a while... - Voer Wine-tuiste %1 uit.<br>Dit mag 'n wyle neem... - - - - Exporting prefix - Voer Wine-tuiste uit - - - - PrefixSettings - - - Add new Prefix - Voeg nuwe Wine-tuiste by - - - - - - - - - Error - Fout - - - - Fail to load version by name: %1 - Kon nie weergawe met dié naam laai nie: %1 - - - - Enter a prefix name - Gee die wine-tuiste 'n naam - - - - - Unable to load version by name: %1 - Kon nie weergawe met dié naam laai nie: %1 - - - - Sorry, but prefix named %1 already exists. - Jammer, maar wine-tuiste %1 bestaan alreeds. - - - - Warning - Waarskuwing - - - - Directory "%1" already exists. Do you wish to use it anyway? - Gids "%1" bestaan alreeds. Wil u dit in elkgeval gebruik? - - - - The directory "%1" could not be created. - Die gids "%1" kon nie geskep word nie. - - - - Open File - Open Lêer - - - - Open Directory - Open Gids - - - - - Prefix Settings - Wine tuiste Instellings - - - - General - Algemeen - - - - Name: - Naam: - - - - Prefix path: - Wine tuiste pad: - - - - Architecture: - Argitektuur: - - - - Default - Verstek - - - - Quick Mount - Vinnige Hegting - - - - Device: - Toestel: - - - - Options below are obsolete, please delete them and use version manager instead: - Die keuse hieronder is nie meer van toepassing nie, verwyder dit en gebruik eerder die weergawebestuurder: - - - - Parse result: - Ontledingsresultaat: - - - - Mount point: - Hegtingspunt: - - - - - Wine settings - Wine instellings - - - - If you wish to use different Wine versions, you may wish to select here one. - Indien u verskillende Wine weergawes wil gebruik, kan u een hier kies. - - - - Version: - Weergawe: - - - - This template will be used to run wine programs. Normally you do not need to change it. See help for details. - Hierdie templaat sal vir die Wine programmatuur gebruik word. U hoef dit nie gewoonlik te verander nie. Sien hulp vir meer besonderhede. - - - - Predefined: - Voorafgedefinieerd: - - - - OK - Goed - - - - Bin: - Binêre lêer: - - - If you wish to use different Wine versions, you may wish to set custom Wine paths here. -Note: leave it blank for default. - Indien u verskillende Wine weergawes wil gebruik, mag u doelgemaakte Wine paaie hier plaas. -Nota: Laat die veld oop vir verstek waardes. - - - - Server: - Bediener: - - - - Loader: - Laaier: - - - - Libs: - Biblioteke: - - - - Advanced - Gevorderd - - - - Execution template string - Uitvoer templaat string - - - This template will be used to run wine programs. Normally you do not need to change it. See help for details. To restore default value, just leave it blank. - Hierdie templaat sal gebruik word om wine programme mee te loop. Normaalweg behoort u dit nie te verander nie. Sien hulp vir besonderhede. Om te herstel na verstek waards, los dit net oop. - - - - Help - Hulp - - - - Cancel - Kanselleer - - - - PrefixTreeToolbar - - - - - - Expand prefix tree - Brei Wine-tuiste boom uit - - - - - - - Collapse prefix tree - Voeg wine-tuiste boom saam - - - - Import prefixes - Trek wine-tuistes in - - - - Import prefixes from ~/.local/share/wineprefixes/ - Trek Wine-tuistes in vanaf ~/.local/share/wineprefixes/ - - - - Export prefixes - Voer Wine-tuistes uit - - - - Export prefixes to ~/.local/share/wineprefixes/ - Voer Wine-tuistes uit na ~/.local/share/wineprefixes/ - - - - PrefixTreeWidget - - - Enter new directory name - Benoem nuwe gids - - - - - Directory name: - Gidsnaam: - - - - Enter new name for directory - Benoen gids - - - - Q4Wine - Q4Wine - - - - Mount [%1] - Heg [%1] - - - - - [none] - [geen] - - - Mount media drive. - Heg media skyf. - - - - - Sorry. It seems that the directory already exists. - Jammer. Dit blyk dat dié gids alreeds bestaan. - - - - Do you really wish to delete the folder named "%1" and all associated icons? - - Wil u regtig graag die gids genaamd "%1" en alle betrokke ikone verwyder? - - - - - No media drives detected. - Geen media skywe bespeur nie. - - - - Mount media image. - Heg media beeld. - - - - Mount ... - Heg ... - - - - Browse... - Blaai... - - - - - Browse for media image. - Blaai vir media beeld. - - - - Unmount [%1] - Ontheg [%1] - - - - Unmount media. - Ontheg media. - - - - Run... - Loop... - - - - Browse ... - Blaai ... - - - New - Nuut - - - - - Browse for wine binary - - - - - New directory - - - - - Create new directory - Skep nuwe gids - - - - Rename - Herbenoem - - - - Rename current directory - Herbenoem huidige gids - - - - Delete - Verwyder - - - - Delete current directory - Verwyder huidige gids - - - - Browser - Blaaier - - - - - Open prefix directory - Open Wine-tuiste gids - - - - Open prefix directory in system file browser - Open wine-tuiste gids in stelsel lêer blaaier - - - - - Open mount point directory - Open hegtingspunt gids - - - - Open mount point directory in system file browser - Open hegtingspunt gids in stelsel lêer blaaier - - - - Wine Browser - Wine Blaaier - - - - Open prefix directory in wine file browser - Open wine-tuiste gids in wine lêer blaaier - - - - Open mount point directory in wine file browser - Open hegtingspunt gids in wine lêer blaaier - - - - Console - Konsole - - - - Open console in prefix directory - Open konsole in wine-tuiste gids - - - - Open system console in prefix directory - Open stelsel konsole in wine-tuiste gids - - - - Open console in mount point directory - Open konsole in hegtingspunt gids - - - - Open system console in mount point directory - Open stelsel konsole in hegtingspunt gids - - - - - Create new prefix - Skep nuwe Wine-tuiste - - - - Set up prefix fake drive and applications - ? - Skep Wine-tuiste vals skyf en toepassings - - - - - Delete prefix - Verwyder Wine-tuiste - - - - Sorry. It seems that the icon already exists. - Jammer. Dit blyk of dié ikoon alreeds bestaan. - - - - Sorry. It seems that the icon already exists.<br>Please choose another name or cancel the operation. - Jammer. Dit blyk of dié ikoon alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. - - - - Disc image files (*.iso *.ISO *.nrg *.NRG *.img *.IMG *.bin *.BIN *.mdf *.MDF);;All files (*) - - - - - ISO image files (*.iso *.ISO);;All files (*) - - - - Disc image files (*.iso *.nrg *.img *.bin *.mdf) - Skyf beeld lêers (*.iso *.nrg *.img *.bin *.mdf) - - - ISO image files (*.iso) - ISO beeld lêers (*.iso) - - - - Open Disc Image Files - Open Skyf Beeld Lêers - - - - Failed to mount %1. - Onsuksesvol om %1 te heg. - - - - Drive successfully unmounted. - Skyf was suksesvol ontheg. - - - - Failed to unmount drive. - Kon nie skyf ontheg nie. - - - - Sorry, you cannot delete the Default prefix. - Jammer, u kan nie die Verstek wine-tuiste verwyder nie. - - - - Do you really wish to delete the prefix named "%1" and all associated icons? - Wil u regtig graag die wine-tuiste genaamd "%1" en alle betrokke ikone verwyder? - - - - Warning - Waarskuwing - - - - Edit prefix settings - Redigeer Wine-tuiste instellings - - - - - Sorry. It seems that the directory already exists.<br>Please choose another name or cancel the operation. - Jammer. Dit blyk of dié gids alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. - - - - Mount ISO... - Heg ISO... - - - Browse for another image - Blaai vir 'n ander beeld - - - - Configure prefix settings - Stel Wine-tuiste instellings op - - - - Configure fake drive settings - Stel vals skyf opstelling in - - - - - Error - Fout - - - - No device drive specified in prefix settings. - Geen stelsel skyf gestel in wine-tuiste opstelling. - - - - - %1 successfully mounted. - %1 suksesvol geheg. - - - - Fail to mount %1. - Hegting onsuksesvol vir %1. - - - - Process - - - - - - - - - - - - - - - Error - Fout - - - - It seems that the process failed.<br><br>Error log:<br>%1 - Dit blyk dat die proses gefaal het.<br><br>Fout boekstaaf:<br>%1 - - - - - Process: The process failed to start. Either the invoked program is missing, or you may have insufficient permissions to invoke the program. - Proses: Die proses kon nie begin nie. Óf die betrokke programnaam is leeg, óf u het onvoldoende klaring om die program te loop. - - - - - Process: The process crashed some time after starting successfully. - Proses: Die proses het na 'n tydtjie gefaal, nadat dit suksesvol begin het. - - - - - Process: An error occurred when attempting to read from the process. For example, the process may not be running. - Proses: 'n Fout het voorgekom tydens lees vanaf die proses. Byvoorbeeld, die proses mag dalk nie meer loop nie. - - - - - Process: An error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel. - Proses: 'n Fout het voorgekom tydens skryf na die proses. Byvoorbeeld, die proses mag dalk nie meer loop nie, of dit dalk sy invoer kanaal gesluit. - - - - - Process: An unknown error occurred. This is the default return value of error(). - Proses: 'n Onbekende fout het voorgekom. Dit is die verstek afvoer waarde van 'n fout(). - - - - - Output - Afvoer - - - - It seems that the process exited normally.<br><br>STDERR log:<br>%1 - Dit blyk dat die proses normaal geeindig het<br><br>STDERR boekstaaf:<br>%1 - - - - It seems that the process crashed.<br><br>STDERR log:<br>%1 - Dit blyk dat die proses abnormaal geeindig het<br><br>STDERR boekstaaf:<br>%1 - - - - - Process: The last waitFor...() function timed out. - Proses: Die laaste 'waitFor...()' funksie se tyd het uit geloop. - - - - Mounting image... - ? - Hegting van databeeld... - - - - Cancel - Kanselleer - - - - Progress - - - Importing Wine desktop icons from:<br>"%1"<br><br>This can take a while...<br><br><b>Note:</b> To remove processed files see Q4Wine options dialog. - In trek van Wine lessenaar ikone vanaf:<br>"%1"<br><br>Dit kan 'n wyle duur...<br><br><b>Nota:</b> Sien Q4Wine opstellings dialoog on verwerkte leers te kan verwyder. - - - - Importing Wine desktop icons: %1 of %2 - Trek Wine lessenaar ikone in: %1 van %2 - - - - - Waiting for Wine process to finish... - Wag vir Wine proses om klaar te maak... - - - - - There are %1 processes running for prefix %2. - Daar loop nog %1 proses(se) vir Wine-tuiste %2. - - - - - If the processes keep running -- end them manually. - Indien die prosesse aanhou loop - beëindig hulle handmatig. - - - - - Running process: %1 - Lopended prosesse: %1 - - - - Importing desktop icons: %1 of %2 - Trek Wine lessenaar ikone in: %1 van %2 - - - - QObject - - - - Default - Verstek - - - - - - - - - - No current prefix set. Set prefix via "-p <prefix_name>" key. - Geen wine-tuiste is tans gestel nie. Stel wine-tuiste via "-p <prefix_name>" sleutel. - - - - No current icon set. Set icon via "-i <icon_name>" key. - Geen ikoon is tans gestel nie. Stel ikoon via "-i <icon_name>" sleutel. - - - - Wine process list - Wine proses lys - - - - Wine process list for "%1" prefix - Wine proses lys vir "%1" wine-tuiste - - - - PID - PID - - - - Nice - 'Nice' Prioriteit - - - - - - - - Name - Naam - - - - Prefix path - Wine tuiste pad - - - - Prefix list - Wine tuiste lys - - - - Prefix named "%1" does not exist. Run "%2-cli -pl" for prefix list. - Wine tuiste genaamd "%1", bestaan nie. Loop "%2-cli -pl" vir wine-tuiste lys. - - - - - Path - Pad - - - - Icon named "%1" does not exist. Run "%2-cli -il" for icon list. - Ikoon genaamd "%1", bestaan nie. Loop "%2-cli -il" vir ikoon lys. - - - - Prefix "%1" has following dir list - Wine tuiste "%1" het die volgende gids lys - - - - Dir named "%1" does not exist. Run "%2-cli -dl" for dir list. - Gids genaamd "%1" bestaan nie. Loop "%2-cli -dl" vir gids lys. - - - - Prefix "%1" has following icon list - Wine tuiste "%1" het die volgende ikoon lys - - - - Prefix "%1" has following icon list at "%2" directory - Wine tuiste "%1" het die volgende ikoon lys in die "%2" gids - - - - Description - Beskrywing - - - - %1 has the following disc images in the database - %1 het die volgende skyf beelde in die databasis - - - - Killing prefix "%1" wineserver. - Beëindig Wine-tuiste "%1" 'wineserver'. - - - - - - No mount point set in prefix configuration. - Heen hegtingspunt is gestel in Wine-tuiste instelling nie. - - - - Disc image named "%1" does not exist. Run "%2-cli -cl" for disc image list. - Skyf beeld "%1" bestaa nie. Loop "%2-cli -cl" vir die lys van skyf beelde. - - - - Unmounting mount point "%1". - Ontheg hegtingspunt "%1". - - - - File "%1" does not exist. - Lêer %1 bestaan nie. - - - - Mounted media list for all prefixes - Gehegde media lys vir alle Wine tuistes - - - - Prefix - Wine tuiste - - - - - Mount point - Hegtingspunt - - - - - Media - Media - - - - Mounted media list for prefix "%1" - Gehegde media lys vir Wine tuiste "%1" - - - - - - This is free software: you are free to change and redistribute it. - Hierdie is gratis programmatuur: u is vry om dit te verander en om dit te versprei. - - - - - - There is NO WARRANTY, to the extent permitted by law. - Daar is GEEN WAARBORG, in sover die die wet dit toelaat nie. - - - - - - Author: %1. - Outeur: %1. - - - - - - Report %1 bugs to %2 - Reporteer %1 foute aan %2 - - - - %1 [KEY]... - %1 [KEY]... - - - - GUI utility for Wine applications and prefixes management. - GGK ('GUI') nutsprogram vir Wine programmatuur en Wine-tuiste bestuur. - - - - open Q4Wine run dialog for Windows binary - open Q4Wine dialoog venster vir Windows binêre lêer - - - - minimize %1 main window on startup - minimiseer %1 hoof venster tydens aanskakeling - - - - - - Usage: - Gebruik: - - - - Console utility for wine applications and prefixes management. - Konsole nutsprogram vir Wine programmatuur en Wine tuiste bestuur. - - - - - - KEYs list: - SLEUTELs lys: - - - - - display this help and exit - vertoon hierdie hulp en sluit af - - - - - output version information and exit - voer weergawe inligting af en sluit af - - - - output wine process list for current prefix or for all prefixes and exit - voer Wine proses lys af vir huidige Wine-tuiste of vir alle Wine-tuistes en sluit af - - - - - sets the current prefix name - stel die huidige Wine-tuiste naam - - - - sets the current icon name - stel die huidige ikoon naam - - - - sets the path to windows binary for execute with current prefix settings - stel die pad na die Windows lêer vir uitvoering met die huidige Wine tuiste stellings - - - - output all existing prefixes names and exit - lys alle bestaande Wine tuistes en sluit af - - - - output all existing dir names for current prefix and exit - lys alle bestaande gidse vir die huidige Wine-tuistes en sluit af - - - - output all existing icon names for current prefix/directory and exit - lys alle bestaande ikone vir die huidige Wine tuiste / gids en sluit af - - - - mount a cd image or drive for current prefix and exit - heg 'n CD beeld of skyf vir die huidige Wine-tuiste en sluit af - - - - unmount a cd image or drive for current prefix and exit - ontheg 'n CD beeld of skyf vir die huidige Wine tuiste en sluit af - - - - -1 if serious troubles - -1 indien ernstige probleme - - - - %1-cli [KEY]... - %1-cli [KEY]... - - - - %1-cli -p <prefix_name> [-d <dir_name>] -i <icon_name> - %1-cli -p <prefix_name> [-d <dir_name>] -i <icon_name> - - - - %1-cli -p <prefix_name> -b <windows_binary_path> [args] - ? - %1-cli -p <prefix_name> -b <windows_binary_path> [args] - - - - sets the current directory name - stel die huidige gids se naam - - - - sets the cd image name - stel die CD beeld se naam - - - - sends -9 term signal to current prefix process or for all prefixes processes - stuur -9 terminaal sein na die huidige Wine tuiste se proses of vir alle Wine tuistes se prosesses - - - - output all cd images list and exit - lys alle CD beelde en sluit af - - - - output all mounted media for current prefix or all prefixes and exit - lys alle gehegde media vir die huidige Wine tuiste of vir alle Wine tuistes en sluit af - - - - Exit status: - Afsluit status: - - - - 0 if OK, - 0 indien GOED, - - - - - - %1 homepage: <%2> - ? - %1 tuiswebwerf: <%2> - - - - - - General help using GNU software: <http://www.gnu.org/gethelp/> - Algemene hulp vir die gebruik van GNU programmatuur: <http://www.gnu.org/gethelp/> - - - - %1-helper [KEYs]... - %1-helper [SLEUTELs]... - - - - Console utility for Q4Wine which helps to handle Wine application exit status and its stdout/stderr output logging. - Terminaal nutsprogram vir Q4Wine wat Wine program help met sy afsluit status en sy 'stdout'/'stderr' afvoer boekstawing. - - - - sets WINEDEBUG variable - stel WINEDEBUG veranderlike - - - - run with output in console - ? - loop met afvoer in terminaal - - - - sets DISPLAY variable - stel DISPLAY veranderlike - - - - sets program niceness - stel program se 'nice'-prioriteit - - - - sets program virtual desktop resolution - stel program se virtuele werkskerm resolusie - - - - sets program binary - ?? - stel program binêre lêer - - - - sets program args - stel program 'args' parameters - - - - sets program working directory - stel program se werksgids - - - - sets program LANG variable - I am not sure? - stel program se taal ('LANG') veranderlike - - - - sets WINEDLLOVERRIDES variable - stel WINEDLLOVERRIDES veranderlike - - - - execute script before program run - voer skript uit voordat program loop - - - - execute script after program run - voer skript uit nadat program afgesluit het - - - - Remove prefix directory - - - - - Run - - - - - - Native - Oorspronklik - - - - - - - Built-in - Ingebou - - - - - - - Native, Built-in - Oorspronklik, Ingebou - - - - - - - Built-in, Native - Ingebou, Oorspronklik - - - - - No virtual desktop - Geen virtuele lessenaar nie - - - - - - Error - Fout - - - - No program name specified. - Geen programnaam is gestel nie. - - - - Selected working directory does not exist. - Gespesifiseerde werksgids bestaan nie. - - - - Invalid virtual desktop size. - - - - - Exe, MSI, BAT files (*.exe *.EXE *.msi *.MSI *.bat *.BAT);;Exe files (*.exe *.EXE);;MSI files (*.msi *.MSI);;BAT files (*.bat *.BAT);;All files (*) - - - - - - Disabled - Gedeaktiveer - - - - Open Exe file - Open Exe Lêer - - - Exe files (*.exe) - Exe lêers (*.exe) - - - - Open Directory - Open Gids - - - - Run Program - Loop Program - - - - - General - Algemeen - - - - Prefix - Wine tuiste - - - - Name: - Naam: - - - - Program: - Program: - - - - Virtual Desktop - Virtuele Lessenaar - - - - Size: - Grootte: - - - - Disable - Deaktiveer - - - - Add - Byvoeg - - - - Arguments: - Parameters ('Args'): - - - - Working directory: - Werksgids: - - - - Override DLLs - Oorheers DLLs - - - - Present Wine DLLs - Huidige Wine DLLs - - - - Overridden DLLs - Ooheersde DLLs - - - - DLL Name - DLL Naam - - - - Override Algorithm - Oorheersende Algoritme - - - - Advanced - Gevorderd - - - - Display - Vertoon - - - - Debug Options - Ontfoutingskeuses - - - - Run With Output in Console - Loop met Afvoer in 'n Konsole - - - - Nice Priority Level - 'Nice' Prioriteitsvlak - - - - Priority: - Prioriteitsvlak: - - - - Locale - 'Locale' - - - - Help - Hulp - - - - Cancel - Kanselleer - - - - OK - Goed - - - - VersionManager - - - - Wine Version Manager - Wine weergawebestuurder - - - - Bin: - Bin: - - - - Server: - Bediener: - - - - Loader: - Laaier: - - - - Optional - - - - - Libs 32: - Libs 32: - - - - Libs 64: - Libs 64: - - - - Help - Hulp - - - - OK - Goed - - - - The Version settings has been modified. - Die weergawe instellings was verander. - - - - - - - Add version - Voeg weergawe by - - - - Version name: - Weergawenaam: - - - - Sorry. It seems that the version name already exists.<br>Please choose another version name. - Jammer. Dit blyk dat die weergawenaam alreeds bestaan.<br>Kies asseblief 'n ander weergawenaam. - - - - - - - - Error - Fout - - - - Default version can not be removed. - Verstek weergawe kan nie verwyder word nie. - - - 32 or 64 wine library path required. - 32 of 64 Wine-biblioteekpad word benodig. - - - - Can't save changes... - Kan nie veranderings stoor nie... - - - - Path '%1' is not exists. - Pad '%1' bestaan nie. - - - - Path '%1' is not a directory. - Pad '%1' is nie ’n gids nie. - - - - Path '%1' is not a file. - Pad '%1' is nie ’n lêer nie. - - - - - Remove version - Verwyder weergawe - - - - - Save changes - Stoor veranderinge - - - - - Clear search field - Herstel soekveld - - - - - Open File - Open Lêer - - - - - Open Directory - Open Gids - - - - WineDriveDialog - - - Wine Drive settings - Wine Skyf instellings - - - - Wine Drive - Wine Skyf - - - - Drive letter: - Skyf letter: - - - - Path: - Pad: - - - - Type: - Tipe: - - - - Cancel - Kanselleer - - - - OK - Goed - - - - - Error - Fout - - - - Sorry, you need to set existing drive directory. - Jammer, u moet 'n bestaande skyf gids instel. - - - - Sorry, drive directory does not exist. - Jammer,die skyf gids bestaan nie. - - - - Open Directory - Open Gids - - - - WineProcessWidget - - - PID - PID - - - - Name - Naam - - - - Ni - Ni - - - - Prefix path - Wine tuiste pad - - - - - - Total process count: %1 - Totale aantal prosesse: %1 - - - - Stop current - Staak huidige lopie - - - - Send TERM signal to selected process - Stuur TERM sein na gekose proses - - - - Stop wine - Staak Wine - - - - Send TERM signal to main wine process - Stuur TERM sein na hoof Wine proses - - - - Refresh List - Verfris Lys - - - - Refresh process list - Verfris proseslys - - - - Renice - Herstel 'nice' prioriteit - - - - Set process priority - Stel proses prioriteit - - - - - Warning - Waarskuwing - - - - This action will send a KILL(-9) signal to selected processes<br><br>It is HIGH risk to damage wine normal state.<br><br>Do you really wish to proceed? - Die aksie stuur 'n KILL(-9) sein na die gekose prosesse<br><br>Daar is 'n HOË risko dat die normale wine staat beskadig kan word.<br><br>Wil u regtig voortgaan? - - - - Cannot run: %1 - Kan nie loop nie: %1 - - - - It seems that the process %1 has been killed successfully. - Dit blyk dat die proses %1 suksesvol beëindig is. - - - - This action will send a KILL(-9) signal to all wine processes of the selected prefixes<br><br>Do you really wish to proceed? - Die aksie stuur 'n KILL(-9) sein na al die Wine prosesse van die geselekteerde Wine-tuistes<br><br>Wil u regtig voortgaan? - - - - It seems that the process %1 has been reniced to %2 successfully. - Dit blyk dat die proses %1 suksesvol geherprioritiseer is na %2 'nice' waarde. - - - - Error - Fout - - - - Select process priority - Kies proses prioriteit - - - - <p>Priority value can be in<br>the range from PRIO_MIN (-20)<br>to PRIO_MAX (20).</p><p>See "man renice" for details.</p> - <p>Prioriteitswaarde kan in <br>die bestek wees van PRIO_MIN (-20)<br>tot PRIO_MAX (20).</p><p>Sien "man renice" vir besonderhede.</p> - - - - Wizard - - - - - - No Proxy - ? - Geen instaanbediener nie - - - - - - Next > - Volgende > - - - <b>Step %1 of %2</b> - <b>Stap %1 van %2</b> - - - - First startup wizard - ? - Eerste-instellings towenaar - - - <b>First startup wizard</b> - <b>Eerste-instellings towenaar</b> - - - - generic - generic - - - - Open File - Open Lêer - - - - Open Directory - Open Gids - - - - - - - - - Error - Fout - - - - Sorry, specify %1 directory. - Jammer, spesifiseer %1 gids. - - - - Sorry, specify %1 binary. - Jammer, spesifiseer %1 binêre lêer. - - - - Sorry, specify proxy host. - ? - Jammer, spesifiseer instaanbediener. - - - - Sorry, specify proxy port. - Jammer, spesifiseer instaanbedienerpoort. - - - - <p><b><span style='font-weight:600; color:#6495ed;'>%1</span></b> was initially written by Oleksii S. Malakhov aka John Brezerk [<a href='mailto:brezerk@gmail.com'>brezerk@gmail.com</a>]</p><p>General idea comes from <b><span style='font-weight:600; color:#6495ed;'>WineTools</span></b> scripts which was initially written by Frank Hendriksen [<a href='mailto:frank@frankscorner.org'>frank@frankscorner.org</a>]</p><p>It is licensed under the <b><span style='font-weight:600; color:#6495ed;'>GPL v3</span></b>.</p><p>Send comments, bugreports, etc. to [<a href='mailto:brezerk@gmail.com'>brezerk@gmail.com</a>]</p><p><b><span style='font-weight:600; color:#6495ed;'>Note</span></b>: This software comes with absolutely no warranty. You will <b><span style='font-weight:600; color:#7D1D10;'>NOT</span></b> get any support or help for WineTools, Wine, software installations, Linux or Microsoft Windows from the author.</p><p>If you <span style='font-weight:600; color:#6495ed;'>need help</span>, ask the mailing lists at <a href='http://www.winehq.org/site/forums'>http://www.winehq.org/site/forums</a>.</p><p>If you <span style='font-weight:600; color:#6495ed;'>want support</span>, buy the commercial versions of wine: CodeWeavers CrossOver Office (<a href='http://www.codeweavers.com'>http://www.codeweavers.com</a>) for Desktop Applications</p> - <p><b><span style='font-weight:600; color:#6495ed;'>%1</span></b> was oorspronklik deur Oleksii S. Malakhov aka John Brezerk [<a href='mailto:brezerk@gmail.com'>brezerk@gmail.com</a>] geskryf.</p><p>Die algemene idee van die <b><span style='font-weight:600; color:#6495ed;'>WineTools</span></b> skripte het gekom en was aanvanklik geskryf deur Frank Hendriksen [<a href='mailto:frank@frankscorner.org'>frank@frankscorner.org</a>].</p><p>Dit word gelisensieer onder <b><span style='font-weight:600; color:#6495ed;'>GPL v3</span></b>.</p><p>Stuur kommentaar, foutverslae, ens. na [<a href='mailto:brezerk@gmail.com'>brezerk@gmail.com</a>]</p><p><b><span style='font-weight:600; color:#6495ed;'>Let Wel</span></b>: Hierdie programmatuur kom met absoluut geen waarborg nie. U sal <b><span style='font-weight:600; color:#7D1D10;'>GEEN</span></b> ondersteuning of hulp vir WineTools, Wine, programmatuur installasies, Linux of Microsoft Windows kry, vanaf die outeur nie.</p><p>Indien u <span style='font-weight:600; color:#6495ed;'>hulp benodig</span>, vra op die eposlys by <a href='http://www.winehq.org/site/forums'>http://www.winehq.org/site/forums</a>.</p><p>Indien u <span style='font-weight:600; color:#6495ed;'>ondersteuning verlang</span>, koop dan asseblief die kommersiële weergawes van Wine: CodeWeavers CrossOver Office (<a href='http://www.codeweavers.com'>http://www.codeweavers.com</a>) vir "Desktop Applications"</p> - - - - <p>Welcome to first startup wizard.</p><p>This wizard helps you to make all necessary steps for successful %1 setup.</p><p>Please, press the <b>Next</b> button to go to the next wizard's page. Or press <b>Back</b> button for return.</p> - <p>Welkom by die eerste-instellings towenaar.</p><p>Hierdie towenaar sal u help om al die nodige stappe vir suksesvolle %1 instelling op te stel.</p><p>Druk asseblief die <b>Volgende</b> knoppie om voort te gaan na die volgende bladsy. Of druk die <b>Terug</b> knoppie om terug te gaan.</p> - - - - Sorry, specified %1 directory does not exist. - Jammer, gespesifiseerde %1 gids bestaan nie. - - - - Sorry, specified %1 binary does not exist. - Jammer, gespesifiseerde %1 binêre leër bestaan nie. - - - - <p>Everything is ready for finishing %1 setup. </p><p>Please, press the <b>Finish</b> button to finish setup process. Or press <b>Back</b> button for return.</p><p><b>Note:</b> You can access online documentation at any time by pressing <b>F1</b> key or by clicking "Help" button.</p></p>If you are new to %1, please check our online guide:</p> - - - - - Finish - Voltooi - - - <p>All ready for finishing %1 setup. </p><p>Please, press the <b>Finish</b> button to create finish setup process. Or press <b>Back</b> button for return.</p> - <p>Alles reg vir voltooiing van %1 opstelling. </p><p>Druk asseblief die <b>Voltooi</b> konppie om die opstellingsproses te voltooi. Of druk die <b>Terug</b> knoppie om terug te keer.</p> - - - - Wizard - Towenaar - - - - Base information: - Basiese inligting: - - - - Bin: - Binêre Lêer: - - - - Args: - ? - Parameters ('Args'): - - - - Proxy type: - ? - Instaanbediener tipe: - - - - Host: - Gasheer: - - - - Port: - Poort: - - - - Username: - Gebruikernaam: - - - - Password: - Wagwoord: - - - - Default Wine paths: - Verstek Wine paaie: - - - - Open online guide - - - - - System utils paths: - Stelsel nuts paaie: - - - - media-gfx/icoutils settings: - media-gfx/icoutils instellings: - - - - Console application settings: - Konsole program instellings: - - - - Network settings - Netwerk instellings - - - - Select Quick Mount Profile - Kies Vinnige Heg Profiel - - - - Quick Mount feature allows you to mountumount cd images and drivers via context menu entry. - Die vinnige heg, ('mount'), eienskappe stel u instaat om CD beelde en skyfaandrywers te heg / ontheg met 'n konteks kieslys inskrywing. - - - - Profiles: - Profiele: - - - - Profile Strings: - Profiel Stringe: - - - - Help - Hulp - - - - < Back - < Terug - - - - Cancel - Kanselleer - - - - winetricks - - - - - Error - Fout - - - - Cannot locate Winetricks script. Install Winetricks script first. - Kan nie Winetricks skrip vind nie. Installeer eers Winetricks skrip. - - - - File '%1' is not writable or not readable. Check file permissions. - - - - - Can't create file '%1'. Check folder permissions. - - - - - Refreshing Winetricks application list. - - - - - Winetricks plugin - - - - - Dropping stale items... - - - - - Getting list of installed items... - - - - - Adding verb: %1 - - - - Refreshing winetricks application list. - Verfris Winetricks progammatuurlys. - - - + + + + + About + + + + About %1 + Meer oor ?? + Omtrent %1 + + + + About + ? + Omtrent + + + + Utility for Wine applications and prefixes management. + Nutsprogram vir Wine programmatuur en om Wine-tuistes te bestuur. + + + + + + + Authors + Outeurs + + + + Packages Authors + Verpakkingsouteurs + + + + Translation + Danie Wessels + Vertaling + + + + Thanks + Bedankings + + + + Special Thanks + Spesiale Bedankings + + + + + License agreement + Lisensie ooreenkoms + + + + OK + Goed + + + + AppDBHeaderWidget + + + Page %1 of %2 + Bladsy %1 van %2 + + + + AppDBWidget + + + + Status: Ready + Status: Gereed + + + + + + + + + Status: Connecting to %1 + Status: Bewerk verbinding aan %1 + + + + Applications + Programmatuur + + + + Subcategories + Sub-kategorieë + + + + Error: unexpected error. + Fout: onverwagte fout. + + + + Error: cannot read data from %1. + Fout: kan nie data lees vanaf %1 nie. + + + + Error: wrong or broken XML data. Try again later. + Fout: foutiewe of gebreekte XML data. Probeer weer later. + + + + Error: wrong or broken AppDB XML version. This might be caused by an outdated application version. + Fout: foutiewe of gebreekte AppDB XML weergawe. Dis moontlik weens 'n verouderde program weergawe. + + + + Error: XML parse error. + Fout: XML ontledingsfout. + + + + Search: No matches found. + Soek: Geen voorkomste gevind. + + + + Open AppDB + Open AppDB + + + + Open Wine AppDB web site + Open Wine AppDB webwerf + + + + Open App page + Open Programmatuur bladsy + + + + Open current application page at Wine AppDB web site + Open huidige program bladsy by Wine AppDB webwerf + + + + + Clear results + Herstel resultate + + + + + Clear search field + Herstel soekveld + + + + Search in AppDB + Soek in AppDB + + + + Search in Wine AppDB + Soek in Wine AppDB + + + + AppDB categories list + AppDB kategorieë lys + + + + View Wine AppDB categories list + Bekyk Wine AppDB kategorieë lys + + + + Error: %1 + Fout: %1 + + + + Status: Sending request to the server. + Status: Versend versoek na die bediener. + + + + Status: Reading server's response. + Status: Lees die bediener se reaksie. + + + + Status: Closing down connection. + Status: Afsluiting van die verbinding. + + + + Status: Not connected. + Status: Nie verbind nie. + + + + AppSettings + + + + %1 settings + %1 instellings + + + + + + + No Proxy + ? + Geen instaanbediener nie + + + + generic + generic + + + + Open File + Open Lêer + + + + Open Directory + Open Gids + + + + + + + + + + Error + Fout + + + + Sorry, specify proxy host. + Jammer, spesifiseer instaanbediener. + + + + Sorry, specify proxy port. + ? + Jammer, spesifiseer instaanbedienerpoort. + + + + Invalid virtual desktop size. + Ongeldige virtuele skermgrootte. + + + + Sorry, specify %1 directory. + Jammer, spesifiseer %1 gids. + + + + Sorry, specify %1 binary. + Jammer, spesifiseer %1 binêre lêer. + + + + Sorry, specified %1 directory does not exist. + Jammer, die gespesifiseerde %1 gids bestaan nie. + + + + Sorry, specified %1 binary does not exist. + Jammer, die gespesifiseerde %1 binêre lêer bestaan nie. + + + + + + System Default + Stelsel Verstek Instellings + + + + + + + + + + General + Algemeen + + + + Wine settings + Wine instellings + + + + + + Ambient Light + Omliggend Lig + + + + + + Ambient Dark + Omliggend Donker + + + + Bin: + Binêre Lêer: + + + Server: + Bediener: + + + Loader: + Laaier: + + + + Use tray icon. + ?? + Gebruik skinkbordstaaf ikoon. + + + + Minimize to tray at application startup. + skinkbord = tray?? + Minimiseer na skinkbordstaaf tydens program aanskakeling. + + + + + + + System + Stelsel + + + + System utils + Stelsel nutsprogramme + + + tar: + tar: + + + mount: + Heg ('mount'): + + + umount: + Ontheg ('umount'): + + + sudo: + sudo: + + + gui sudo: + gui sudo: + + + nice: + nice: + + + renice: + renice: + + + sh: + sh: + + + + + + + Utils + Nutsgoed ('Utils') + + + + Console + Konsole + + + + Args: + ?? + Parameters ('Args'): + + + + + + + Quick Mount + Vinnige Hegting + + + + + + + Logging + Boekstawing + + + + Logging subsystem: + Boekstawing substelsel: + + + + Clear logs at startup. + Herstel boekstawing tydens aanskakeling. + + + + Run recent program + Loop onlangse program + + + + Open Run dialog. + ? + Open Loop dialoog. + + + + OK + Goed + + + wrestool: + wrestool: + + + icotool: + icotool: + + + + + + + + Language + Taal + + + + + Themes + Temas + + + + + + + Network + Netwerk + + + + Proxy settings + Instaanbediener instellings + + + + Password: + Wagwoord: + + + HTTP + HTTP + + + + Tray Icon + Skinkbord ?? + Skinkbord-ikoon + + + Icoutils + Icoutils + + + + Language: + Taal: + + + + Proxy type: + Instaanbediener tipe: + + + Libs (32bit): + Biblioteke (32bis): + + + Libs (64bit): + Biblioteke (64bis): + + + + Minimize to tray at startup. + Minimiseer na skinkbordstaaf tydens aanskakeling. + + + + Show tray icon notifications. + Vertoon skinkbordstaaf kennisgewings. + + + Socks v5 + Socks v5 + + + + Host: + Gasheer: + + + + Port: + Poort: + + + + Username: + Gebruikernaam: + + + + Select Quick Mount Profile + -? + Kies Vinnigehegtingsprofiel + + + + Profile Strings: + Profiel Stringe: + + + + Mount: + Heg: + + + + Mount image: + Heg databeeld: + + + + Umount: + Ontheg: + + + + Note: Since SQLite was not designed to handle large amount of data, activating this can have a negative impact on the performance of Q4Wine. Use it with care. + Nota: Aangesien SQLite nie ontwerp was om groot hoeveelheid data te kan hanteer nie, kan die aktivering hiervan 'n negatiewe effek hê op die gedrag van Q4Wine. Gebruik met omsigtigheid. + + + + + + + AppDB browser + AppDB blaaier + + + + AppDB browser subsystem: + AppDB blaaier substelsel: + + + + Open application details in system browser + Open program besonderhede in stelsel blaaier + + + + + + + Desktop Menu + Lessenaar Gids + + + + Desktop menu plugin + Lessenaar gids inprop + + + + Enable automatic generation of desktop menu + Aktiveer outomatiese skep van lessenaar gids + + + + Export 'system' folder + Afvoer van 'system' stelselgids + + + + Regenerate desktop menu + Herskep lessenaar gids + + + + Remove desktop menu entries + Verwyder lessenaar gids inskrywings + + + + + + + Defaults + Verstek waardes + + + + Program icons + Program ikone + + + + Use single-click to run program icons. + Gebruik enkel klik om program ikone te loop. + + + + Hide program arguments in the icon info display. + Versteek die program se argumente in die ikoon inligting vertoon. + + + + File dialogs + Lêer dialoë + + + + Use the native file dialogs. + Gebruik die oorsproklike lêer dialoë. + + + + Default directory for new wine prefixes + ? + Verstek gids vir nuwe wine wine-tuistee + + + + + + + Desktop Integration + Skermblad integrasie + + + + Default Wine Desktop Paths for new prefixes. + Verstek Wine skermblad paaie vir nuwe tuistes. + + + + Desktop: + Skermblad: + + + + My Documents: + My Dokumente: + + + + My Pictures: + My Prente: + + + + My Music: + My Musiek: + + + + My Videos: + My Video's: + + + + + + + Run dialog + Loop dialoog + + + + + + + + Wine desktop import + ? + Wine lessenaar intrek + + + + Remove processed wine desktop files. + Verwyder verwerkte wine lessenaar lêers. + + + + + + Interface + Koppelvlak + + + + + + Subsystems + Substelsel + + + + + + Plugins + Inproppe + + + + + + Advanced + Gevorderd + + + + Default virtual desktop + Verstek virtuele lessenaar + + + + You can call it via Tools menu or via shortcut Ctrl+M + U kan dit oproep deur die Nutsgoed keuse of deur die Ctrl+M kortpad + + + + Wine Version Manager + Wine Weergawebestuurder + + + + App Icon + Toepassingsikoon + + + + App Icon: + Toepassingsikoon: + + + + + Default + Verstek + + + + Default virtual desktop size will be used for "Icon creation" and "Run" dialogs. + Verstek virtuele lessenaar grootte wat vir die ikoon skepping en loop dialoë gebruik word. + + + + Size: + Grootte: + + + + + No virtual desktop + Geen virtuele lessenaar nie + + + + Import Wine desktop files at Q4Wine startup. + Trek Wine lessenaar lêers in tydens Q4Wine aanskakeling. + + + + Help + Hulp + + + + Cancel + Kanselleer + + + + DataBase + + + No database loaded. Aborting... + Staking?? + Geen databasis is gelaai nie. Staking... + + + + FakeDriveSettings + + + Dialog + Dialoog + + + + Fake drive settings + Vals skyf instellings + + + + + + + + + + General + Algemeen + + + + + + + + + + + + Video + Video + + + + + OpenGL + OpenGL + + + + + + + + Wine Drives + Wine Skywe + + + + + + + + Scripts + Skripte + + + + General Settings + Algemene Instellings + + + + Please enter user registration information: + Voer asseblief gebruiker registrasie inligting in: + + + + Owner: + Eienaar: + + + + Organization: + Organisasie: + + + + Version: + Weergawe: + + + + Misc: + Allerlei: + + + + Wine Colors Theme + Wine Kleurtema + + + + To change the color theme in Wine dialogs, select one of the following options: + Om die kleurtema in Wine dialoë te verander, kies een van die volgende keuses: + + + Use existing color theme + Gebruik bestaande kleurtema + + + Reset to default + Herstel na verstek waardes + + + Use current Qt4 colors + Gebruik huidige Qt4 kleure + + + + + + + + + + + Note: Leave empty for default + Nota: Laat veld leeg vir verstek waarde + + + + Direct3D settings + Direct3D instellings + + + + Note: Q4Wine does not check if the selected driver is available in the current Wine build. Use this option with care. + Nota: Q4Wine toets nie of die gekose skyf beskikbaar is in die huidige Wine bou nie. Gebruik dié keuse met omsigtigheid. + + + + OK + Goed + + + + + + + + Wine Browsers + Wine Blaaiers + + + + + + + Color Theme + Kleurtema + + + + + + + Sound Driver + Klankdrywer + + + + + + + ALSA Driver + ALSA Drywer + + + + + + + Misc Audio + Allerlei Audio + + + + + + File System + Lêerstelsel + + + + + + + Desktop Paths + Lessenaar Paaie + + + + &Reset to default + He&rstel na verstek instelling + + + + &Use current Qt colors + Gebr&uik die huidige Qt kleure + + + + Browsers: + Blaaiers: + + + + Mailers: + 'Mailers': + + + + Post run script will be executed after the Prefix update. Wine environment settings will be exported as well. + Nabetragtingsskript sal uitvoer na afloop van Tuiste opdatering. Wine omegewingsinstellings sal ook afgevoer word. + + + + Post run: + Nabetragtingslopie: + + + + Video Card Settings + Videokaart Instellings + + + + Description: + Beskrywing: + + + + + Driver: + Drywer: + + + + Shaders + 'Shaders' + + + + Joystick Axes Mapping: + 'Joystick' Asse afbeelding: + + + + + Add + Byvoeg + + + + + Edit + Redigeer + + + + + Remove + Verwyder + + + + Disabled extensions: + Gedeaktiveerde uitbreidings: + + + + + + + + + + Input + Toevoer + + + + + + Audio + Audio + + + + Fake Drive Version: + Vals Skyf Weergawe: + + + + Disable graphical crash dialog + Deaktiveer grafiese faling dialoog + + + + + + + + + + + + X11 Driver + X11 Drywer + + + + + + Direct3D + Direct3D + + + + Use e&xisting color theme + Gebruik &bestaande kleurskema + + + + Memory (MB): + Geheue (MB): + + + + Current Sound Driver + Huidige Klank Drywer + + + + Alsa driver settings + ALSA aandrywer instellings + + + + Misc Options: + Allerlei Keuses: + + + + DirectSound workaround for bug #9612 + DirectSound akkommodering vir gogga #9612 + + + + Wine Desktop Paths: + Wine Lessenaar Paaie: + + + + Desktop: + Lessenaar: + + + + My Documents: + My Dokumente: + + + + My Pictures: + My Prente: + + + + My Music: + My Musiek: + + + + My Videos: + My Video's: + + + + Mouse + Muis + + + + Clipboard + 'Clipboard' + + + + Help + Hulp + + + + Cancel + Kanselleer + + + Fake drive settings for prefix "%1" + Vals skyf instellings vir Wine tuiste "%1" + + + + + + + + + + + + + + + + + + + + + + Error + Fout + + + + Error in string: + +%1 + +Joystick axes mappings might be defined as: +"Joystick name"="axes mapping" + +For example: +"Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1" + +See help for details. + Fout in string: + +%1 + +'Joystick' asse afbeeldings mag gedefinieer word as: +"Joystick name"="axes mapping" + +Byvoorbeeld: +"Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1" + +Sien hulp vir verderre besonderhede. + + + + Open File + Open Lêer + + + + Open Directory + Open Gids + + + + + Joystick Axes Mappings + 'Joystick' Asse Afbeeldings + + + + + Cannot read desktop paths! + Kan nie lessenaar paaie lees nie! + + + + Cannot remove symlink: %1 + Kan nie simboliese skakel verwyder nie: %1 + + + + + + + + + Cannot symlink "%1" to "%2" + Kan nie simboliese skakel koppel van "%1" na "%2" nie + + + + + + Cannot create dir: %1 + Kan nie die gids skep nie: %1 + + + + + + + + Cannot remove dir: %1 + Kan nie die gids verwyder nie: %1 + + + + + Joystick axes mappings might be defined as: +"Joystick name"="axes mapping" + +For example: +"Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1" + +See help for details. + 'Joystick' asse afbeelding mag gedefineerd word as: +"Joystick name"="axes mapping" + +Byvoorbeeld: +"Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1" + +Sien hulp vir verderre besonderhede. + + + + Sorry, You cannot delete or modify wine C: drive.<br>But You can change it in prefix settings dialog. + Jammer, maar u kan nie die Wine C: skyf verwyder of verander nie.<br>Maar u kan dit in die Wine-tuiste instellings dialoog verander. + + + + HttpCore + + Download failed: %1. + Aflaai het misluk: %1. + + + + IconListToolbar + + + + Clear search field + Herstel soekveld + + + + + + + Icons view mode + Aansig modus vir ikone + + + + + + + Details view mode + Besonderhede aansig modus + + + + + Zoom In + Zoem in + + + + + Zoom Out + Zoem Uit + + + + + + + + + Alphabetic sort ascending + Alfabeties toenemend sorteer + + + + + + + + + Sort ascending by create order + Sorteer toenemend volgens skeppingsorde + + + + + + + Alphabetic sort descending + Alfabetiese sortering - afnemend + + + + + + + Sort descending by create order + Sorteer afnemend volgens skeppings orde + + + + IconListWidget + + + + + %1 successfully mounted. + %1 suksesvol geheg. + + + Disc image files (*.iso *.nrg *.img *.bin *.mdf) + Skyf beeld lêers (*.iso *.nrg *.img *.bin *.mdf) + + + ISO image files (*.iso) + ISO beeld lêers (*.iso) + + + + Open Disc Image Files + Open Skyf Beeld Lêers + + + + Fail to mount %1. + Hegting onsuksesvol vir %1. + + + + No mount point set in prefix configuration. + Geen hegpunt gestel in wine-tuiste opstelling. + + + + Mount [%1] + Heg [%1] + + + + + [none] + [geen] + + + Mount media drive. + Heg media skyf. + + + + + + Sorry. It seems that the icon already exists. + Jammer. Dit blyk dat dié ikoon alreeds bestaan. + + + + Sorry. It seems that icon already exists.<br>Please choose another name or cancel the operation. + Jammer. Dit blyk of dié ikoon alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. + + + + No media drives detected. + Geen media skywe bespeur nie. + + + + Mount media image. + Heg media beeld. + + + + + Browse... + Blaai... + + + + + Browse for media image. + Blaai vir media beeld. + + + + Unmount [%1] + Ontheg [%1] + + + + Unmount media. + Ontheg media. + + + + Run + Loop + + + + Run current icon + Loop huidige ikoon + + + + Options + Keuses + + + + Modify current icon options + Verander huidige ikoon keuses + + + + + Cut + Sny + + + + + Cut selected icons to buffer + Sny gekose ikone na buffer + + + + + Copy + Kopieer + + + + + Copy selected icons to buffer + Kopieer gekose ikone na buffer + + + + + Paste + Plak + + + + + Paste selected icons from buffer to selected folder + Plak gekose ikone vanaf buffer na gekose gids + + + + Rename + Herbenoem + + + + Rename current icon + Herbenoem huidige ikoon + + + + + Delete + Verwyder + + + + + Delete current icon + Verwyder huidige ikoon + + + + + Browser + Blaaier + + + + + Open application directory + Open program gids + + + + Open application directory in system file browser + Open program gids in stelsel lêer blaaier + + + + + + + Open prefix directory + Open Wine-tuiste gids + + + + + Open prefix directory in system file browser + Open Wine-tuiste gids in stelsel lêer blaaier + + + + + + + Open mount point directory + Open hegtingspunt gids + + + + + Open mount point directory in system file browser + Open hegtingspunt gids in stelsel lêer blaaier + + + + + Wine Browser + Wine Blaaier + + + + Open application directory in wine file browser + Open program gids in Wine lêer blaaier + + + + + Open prefix directory in wine file browser + Open wine-tuiste gids in Wine lêer blaaier + + + + + Open mount point directory in wine file browser + Open hegtingspunt gids in Wine lêer blaaier + + + + + Console + Konsole + + + + Open console in application directory + Open konsole in program gids + + + + Open system console in application directory + Open stelsel konsole in program gids + + + + + Open console in prefix directory + Open konsole in wine-tuiste gids + + + + + Open system console in prefix directory + Open stelsel konsole in wine-tuiste gids + + + + + Open console in mount point directory + Open konsole in hegtingspunt gids + + + + + Open system console in mount point directory + Open stelsel konsole in hegtingspunt gids + + + + Search in Wine AppDB + Soek in Wine AppDB + + + + Search for application name in wine AppDB + Soek vir program naam in Wine AppDB + + + + Copy to clipboard + Kopieer na klipbord + + + + Directory path + Gids pad + + + + + Browse for application + Deursoek vir toepassing + + + + New icon + Nuwe ikoon + + + + Disc image files (*.iso *.ISO *.nrg *.NRG *.img *.IMG *.bin *.BIN *.mdf *.MDF);;All files (*) + Skyf beeldlêers (*.iso *.ISO *.nrg *.NRG *.img *.IMG *.bin *.BIN *.mdf *.MDF);;Alle lêers (*) + + + + ISO image files (*.iso *.ISO);;All files (*) + ISO beeldlêers (*.iso *.ISO);;Alle lêers (*) + + + + Drive successfully unmounted. + Skyf was suksesvol ontheg. + + + + Failed to unmount drive. + Kon nie skyf ontheg nie. + + + + Application path + Program pad + + + + q4wine-cli cmd + q4wine-'cli' 'cmd' + + + + Run... + Loop... + + + + Do you wish to delete all of the selected icons? + Wil u graag die gekose ikone verwyder? + + + + + Failed to mount %1. + Onsuksesvol om %1 te heg. + + + + Preparing to run the Wine binary... + Maak gereed om Wine binêre lêer te loop... + + + + Trying to run "%1"... + Probeer om "%1" te loop... + + + + "%1" failed to start. + "%1" kon nie begin nie. + + + + Mount ISO... + Heg ISO... + + + + Mount... + Heg... + + + + Copy application directory path to system's clipboard + Kopieer program gids pad na die stelsel se klipbord + + + + Copy full application path to system's clipboard + Kopieer volle program pad na die stelsel se klipbord + + + + Copy q4wine-cli command for current application + Kopieer q4wine 'cli' bevel vir huidige program + + + Browse for another image + Blaai vir 'n ander beeld + + + New + Nuut + + + + Create new icon + Skep nuwe ikoon + + + + Enter new icon name + Benoem nuwe ikoon + + + + Icon name: + Ikoon naam: + + + + + Sorry. It seems that the icon already exists.<br>Please choose another name or cancel the operation. + Jammer. Dit blyk of dié ikoon alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. + + + + Delete Icon + Verwyder Ikoon + + + + Error + Fout + + + + No device drive specified in prefix settings. + Geen stelsel skyf gestel in wine-tuiste opstelling. + + + + IconSettings + + + + Icon settings + Ikooninstellings + + + + Virtual Desktop + Virtuele Lessenaar + + + + Override DLL + Oorheers DLL + + + + Present Wine DLLs + Huidige Wine DLLs + + + + + + + + Native + Oorspronklik + + + + + + + + Built-in + Ingebou + + + + + + + + Native, Built-in + Oorspronklik, Ingebou + + + + + + + + Built-in, Native + Ingebou, Oorspronklik + + + + Adding new icon + Voeg nuwe ikoon in + + + + Open Directory + Open Gids + + + + + + Open Exe file + Open Exe Lêer + + + Exe files (*.exe) + Exe lêers (*.exe) + + + + Open image file + Open beeld lêers + + + Image files (*.png *.jpg *.gif *.bmp *.xpm) + Beeld lêers (*.png *.jpg *.gif *.bmp *.xpm) + + + + Exe, MSI, BAT files (*.exe *.EXE *.msi *.MSI *.bat *.BAT);;Exe files (*.exe *.EXE);;MSI files (*.msi *.MSI);;BAT files (*.bat *.BAT);;All files (*) + Exe, MSI, BAT lêers (*.exe *.EXE *.msi *.MSI *.bat *.BAT);;Exe lêers (*.exe *.EXE);;MSI lêers (*.msi *.MSI);;BAT lêers (*.bat *.BAT);;Alle lêers (*) + + + + Image files (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.svg *.SVG *.svgz *.SVGZ) + Grafiese lêers (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.svg *.SVG *.svgz *.SVGZ) + + + + Image and Win32 binary files (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.exe *.EXE *.dll *.DLL);;Image files (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.svg *.SVG *.svgz *.SVGZ);;Win32 Executable (*.exe *.EXE);;Win32 Shared libraries (*.dll *.DLL);;Win32 Executable and Shared libraries (*.exe *.EXE *.dll *.DLL);;All files (*) + Grafiese en Win32 binêre lêers (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.exe *.EXE *.dll *.DLL);;Grafiese lêers (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.svg *.SVG *.svgz *.SVGZ);;Win32 Uitvoerkode lêers (*.exe *.EXE);;Win32 Gedeelded biblioteke (*.dll *.DLL);;Win32 Uitvoerbare lêers en Gedeelde biblioteke (*.exe *.EXE *.dll *.DLL);;All files (*) + + + + + + + + + Error + Fout + + + + No program selected. + Geen program is gekies nie. + + + + Selected working directory does not exist. + Gekose werksgids bestaan nie. + + + + + Sorry, an icon named %1 already exists. + Jammer, dit blyk dat dié ikoon, %1, alreeds bestaan. + + + + No program name specified. + Geen programnaam is gekies nie. + + + Image and Win32 binary files (*.png *.jpg *.gif *.bmp *.xpm *.exe *.dll);;Image files (*.png *.jpg *.gif *.bmp *.xpm);;Win32 Executable (*.exe);;Win32 Shared libraries (*.dll);;Win32 Executable and Shared libraries (*.exe *.dll) + ? + Beeld en Win32 binêre lêers (*.png *.jpg *.gif *.bmp *.xpm *.exe *.dll);;Image files (*.png *.jpg *.gif *.bmp *.xpm);;Win32 Uitvoerbare lêers (*.exe);;Win32 Gedeelde biblioteek lêers (*.dll);;Win32 Uitvoerbare en Gedeelde biblioteke (*.exe *.dll) + + + + + Extracting icon from binary file.<br>This can take a while... + ? + Omttrek ikoon vanaf binêre lêer.<br>Dit kan 'n wyle duur... + + + + + Extracting icon + Onttrekking van ikoon + + + + + + + Disabled + Ge-deaktiveer + + + + Invalid virtual desktop size. + Ongeldige virtuele skermgrootte. + + + + + Shell script (*.sh) + Skulp skrip (*.sh) + + + + + No virtual desktop + Geen virtuele lessenaar nie + + + Icon Settings + Ikoon Instellings + + + + + General + Algemeen + + + + Program: + Program: + + + + Cmd Args: + Bevel Parameters: + + + + Working dir: + Werksgids: + + + + Icon Options + Ikoon Keuses + + + + Name: + Naam: + + + + Description: + Beskrywing: + + + + Size: + Grootte: + + + + Disable + Deaktiveer + + + + Add + Byvoeg + + + + Overridden DLLs + Oorheersde-DLLS + Ooheersde DLLs + + + + DLL Name + DLL Naam + + + + Override Algorithm + Oorheersende Algoritme + + + + Advanced + Gevorderd + + + + Display + Vertoon + + + + Debug Options + Ontfoutingskeuses + + + + Run With Output in Console + Loop met Afvoer in 'n Konsole + + + + Note: This option will disable Pre and Post run scripts. + Nota: Hierdie keuse sal veroorsaak dat Voor en Na lopie skripte nie uitgevoer word nie. + + + + Nice Priority Level + 'Nice' Prioriteitsvlak + + + + Priority: + Prioriteitsvlak: + + + + Locale + 'Locale' + + + + + Scripts + Skripte + + + + Note: Pre and post run scripts will not be executed in case the "Run With Output in Console" option is enabled. + Let Wel: Voor en Na lopie skripte sal nie uitgevoer word nie as "Run With Output in Console" opsie aktief is. + + + + Pre run: + Voor lopie: + + + + Post run: + Na lopie: + + + + Help + Hulp + + + + Cancel + Kanselleer + + + + OK + Goed + + + + IconsView + + + + Cancel + Kanselleer + + + + Exporting icon + Voer ikoon uit + + + + Rename + Herbenoem + + + + Use existing + Gebruik bestaande + + + + Replace + Vervang + + + + + Error + Fout + + + + Sorry, file cannot be removed:<br>%1. + Jammer, dié lêer kan nie verwyder word nie:<br>%1. + + + + Sorry, file cannot be created:<br>%1. + Jammer, dié lêer kan nie geskep word nie:<br>%1. + + + + Select file to save + Kies die lêer om te stoor + + + + Sorry. It seems that the file already exists.<br>Replace existing file or rename current one? + Jammer. Dit blyk of dié lêer alreeds bestaan.<br>Vervang die bestaande lêer of herbenoem die huidige een? + + + + Sorry. It seems that the file already exists. + Jammer. Dit blyk of dié lêer alreeds bestaan. + + + + Replace existing file or rename current one? + Vervang die bestaande lêer of herbenoem die huidige een? + + + + Images (*.png) + Prente (*.png) + + + + Icons Export + Ikoon Uitvoer + + + + Available Icons: + Beskikbare Ikone: + + + + Export icons to default place + Onttrek ikone na verstek pad + + + + OK + Goed + + + + ImageManager + + + File path: %1 + Lêer pad: %1 + + + + + %1 Mb + %1 Mb + + + + Add image + Voeg beeld by + + + + Rename image + Herbenoem beeld + + + + Remove image + Verwyder beeld + + + + Refresh image list + Verfris beeld lys + + + + Disc image files (*.iso *.ISO *.nrg *.NRG *.img *.IMG *.bin *.BIN *.mdf *.MDF);;All files (*) + Skyf beeldlêers (*.iso *.ISO *.nrg *.NRG *.img *.IMG *.bin *.BIN *.mdf *.MDF);;Alle lêers (*) + + + + ISO image files (*.iso *.ISO);;All files (*) + ISO beeldlêers (*.iso *.ISO);;Alle lêers (*) + + + + + Sorry. It seems that the CD image already exists. + Jammer. Dit blyk of die CD beeld alreeds bestaan. + + + + Sorry. It seems that the CD image file already exists.<br>Please rename it, or cancel add image operation. + Jammer. Dit blyk of die CD beeld alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. + + + + Sorry. CD image name cannot be empty. + Jammer. Die CD beeld lêernaam kan nie leeg wees nie. + + + + Sorry. CD image name cannot be empty.<br>Please enter new name, or cancel rename image operation. + Jammer. Dit blyk of die CD beeld alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. + + + + Sorry. It seems that the CD image file already exists.<br>Please rename it, or cancel rename image operation. + Jammer. Dit blyk of die CD beeld alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. + + + Disc image files (*.iso *.nrg *.img *.bin *.mdf) + Skyf beeldlêers (*.iso *.nrg *.img *.bin *.mdf) + + + ISO image files (*.iso) + ISO beeld lêers (*.iso) + + + + Open ISO image file + Open ISO beeld lêer + + + + Enter new name + Gee 'n nuwe naam + + + + Enter new name: + Gee 'n nuwe naam: + + + + Disc Image Manager + Skyfbeeld Bestuurder + + + + Disc Image Name + Skyfbeeld Naam + + + + Size + Grootte + + + + File path: + Lêer pad: + + + + Help + Hulp + + + + OK + Goed + + + + InfoDialog + + Information + Inligting + + + Do not show this dialog next time + Moenie hierdie venter weer vertoon nie + + + Cancel + Kanselleer + + + OK + Goed + + + Winetricks plugin notification + Winetricks inprop kennisgewing + + + AppDB browser notification + AppDB blaaier kennisgewing + + + + LoggingWidget + + + Logging list + Boekstaaf lys + + + + Clear logs + Herstel boekstawings + + + + Clear logs database + Herstel boekstawings databasis + + + + Delete log + Verwyder boekstawing + + + + Delete current log + Verwyder huidige boekstawing + + + + Export log + Voer boekstawing uit + + + + Export current log to file + Voer huidige boekstawing uit na lêer + + + + Select all + Kies alles + + + + Select all log rows + Kies alle boekstawingsrye + + + + Copy selected + Kopieer gekose data + + + + Copy selection into copy buffer + Kopieer gekose data in na buffer + + + + + + + Status + Status + + + + + Logging enabled + Boekstawing is aktief + + + + + + + Disable logging + Stel boekstawing onaktief + + + + + Logging disabled + Boekstawing is gedeaktiveer + + + + + + + Enable logging + Aktiveer boekstawing + + + + Exec string: + Uitvoer string: + + + + Prerun Exec string: + Voorafgaande Exec teks: + + + + Postrun Exec string: + Nabetragting Exec teks: + + + + Exit code: + ? + Afsluitingskode: + + + + App STDOUT and STDERR output: + Program 'STDOUT' en 'STDERR' afvoer: + + + + Select file to save + Kies die lêer om te stoor + + + + Log Files (*.log) + Boekstawingslêers (*.log) + + + + MainWindow + + + + %1 :. Qt GUI for Wine v%2 + %1 :. Qt GUI vir Wine v%2 + + + Program: %1<br> Args: %2 + Program: %1<br> Args: %2 + + + + Socket file "%1" already exists! + Soklêer "%1" bestaan alreeds! + + + + It seems that another instance of Q4Wine is running, or Q4Wine was shutdown incorrectly. Do you wish to remove the socket file? + Dit blyk dat nog 'n Q4Wine proses tans besig is, óf Q4Wine was verkeerdelik beëindig. Wil u die soklêer verwyder? + + + + + + Application: "%1" started fine for prefix: "%2". + Program: "%1" het goed begin vir Wine-tuiste "%2". + + + + Console started fine for Application: "%1" in prefix: "%2". + Konsole vir Program: "%1" het goed begin in Wine-tuiste "%2". + + + + + Application: "%1" finished for prefix: "%2". Exit code is: "%3". + Program: "%1" het goed afgesluit vir Wine-tuiste "%2". Die uitgang kode is: "%3". + + + + Unexpected socket message received. + Onverwagte sok boodskap ontvang. + + + + WIP + WIP + + + + Open image file + Open beeldlêer + + + + Win32 Executable and Shared libraries (*.exe *.EXE *.dll *.DLL);;Win32 Executable (*.exe *.EXE);;Win32 Shared libraries (*.dll *.DLL);;All files (*) + Win32 Uitvoerbare kode en Gedeelde biblioteke (*.exe *.EXE *.dll *.DLL);;Win32 Uitvoerbare kode (*.exe *.EXE);;Win32 Gedeelde biblioteke (*.dll *.DLL);;Alle lêers (*) + + + Win32 Executable and Shared libraries (*.exe *.dll);;Win32 Executable (*.exe);;Win32 Shared libraries (*.dll) + Win32 Uitvoerbare kode en Gedeelde biblioteke (*.exe *.dll);;Win32 Uitvoerbare kode (*.exe);;Win32 Gedeelde biblioteke (*.dll) + + + + + Extracting icon from binary file.<br>This can take a while... + Trek ikoon uit lêer in.<br>Dit mag 'n wyle neem... + + + + + Extracting icon + Onttrekking van ikoon + + + + Only one instance of %1 can be launched at same time. + Slegs een instansie van %1 kan op 'n slag loop. + + + + Description: %1 + Beskrywing: %1 + + + + Program: %1 + Program: %1 + + + + + + Args: %1 + Argumente: %1 + + + + hidden + Versteek + + + + Yes + Ja + + + + No + Nee + + + + Runs in console: %1<br> Desktop size: %2 + Loop in konsole: %1<br> Lessenaar grootte: %2 + + + + + + + + helper notification + helper kennisgewing + + + + + Cannot start application: "%1" for prefix: "%2". + Kan nie program begin nie: "%1" vir Wine-tuiste: "%2". + + + + + Cannot start console for application: "%1" in prefix: "%2". + Kan nie konsole vir program begin nie: "%1" in Wine-tuiste: "%2". + + + + Sorry, the install wizard has not been implemented yet. It will be available in a future version. + Jammer, die installerings towenaar is nog nie geïmplementeer nie. Dit sal in 'n volgende weergawe beskikbaar wees. + + + + + Binary "%1" does not exist. + Binêre lêer "%1" bestaan nie. + + + + Cannot run binary + Kan nie binêre lêer loop nie + + + Options + Keuses + + + Run... + Loop... + + + + Programs + Programme + + + + Prefixes + Wine-tuistes + + + + Default + Verstek + + + Process + Proses + + + + Setup + Instelling + + + + Processes + Prosesse + + + + Logging + Boekstawing + + + + &File + &Lêer + + + Help + Hulp + + + + Tools + Gereedskap + + + + Ctrl+Z + Ctrl+Z + + + Quit + Verlaat + + + + Ctrl+Q + Ctrl+Q + + + About + Omtrent + + + + Ctrl+E + Ctrl+E + + + + Installation Wizard + Instellings Towenaar + + + Disc Image Manager + Skyfbeeld Bestuurder + + + First Steps + Eerste Treetjies + + + Help for This Tab + Hulp vir hierdie Oortjie + + + + Import Wine Desktop Files + Intrek van Wine Lessenaar Lêers + + + Wine Version Manager + Wine weergawebestuurder + + + + Ctrl+M + Ctrl+M + + + Version Manager + Weergawebestuurder + + + + He&lp + Hu&lp + + + + &Handbook + &Handleiding + + + + &Run... + Voe&ruit... + + + + &Quit + &Verlaat + + + + &About + Meer &Omtrent + + + + About &Qt + Meer omtrent &Qt + + + + &Programs + &Programmatuur + + + + P&rocess + P&roses + + + + &Setup + Op&stelling + + + + Pre&fixes + T&uistes + + + + &Extract Images from PE Files + &Onttrek beelde vanuit PE-lêers + + + + Extract images from PE files using icoutils. + Omttrek beelde vanaf PE lêers deur 'icoutils' te gebruik. + + + + &Options + &Keuses + + + + &Disc Image Manager + &Skyf afbeeldings bestuurder + + + + &First Steps + &Eerste stappe + + + + &Short FAQ + &Kort FAQ + + + + &Index + &Inhoudsopgaaf + + + + &Website + &Webwerf + + + + &Donate + &Donasie + + + + &Bugs + &Foute + + + + &Wine AppDB Browser + &Wine AppDB-blaaier + + + + &Logging + &Boekstawing + + + + Help &for This Tab + Hulp &vir hierdie oortjie + + + + F1 + F1 + + + + &Import Wine Desktop Files + &Invoer van Wine skermblad se lêers + + + + + Scan for Wine desktop files and import them into Q4Wine's icon view. + Soek vir die Wine lessenaar lêers en trek dit in na Q4Wine se ikoon aansig. + + + + Ctrl+I + Ctrl+I + + + + Wine &Version Manager + Wine &Weergawebestuurder + + + Short FAQ + Kort 'FAQ' + + + Index + Inhoudsopgaaf + + + Website + Webwerf + + + Donate + Donasies + + + Bugs + Goggas + + + Wine AppDB Browser + Wine AppDB Blaaier + + + + Ctrl+B + Ctrl+B + + + + Ctrl+L + Ctrl+L + + + Handbook + Handleiding + + + + Wine AppDB + Wine AppDB + + + About Qt + Omtrent Qt + + + + Ctrl+X + Ctrl+X + + + + Ctrl+S + Ctrl+S + + + + Ctrl+D + Ctrl+D + + + + Ctrl+F + Ctrl+F + + + Extract Images from PE Files + Onttrek beelde vanaf die PE lêers + + + + Ctrl+W + Ctrl+W + + + + PrefixConfigWidget + + + + Name + Naam + + + + + Description + Beskrywing + + + + + Manage prefixes + Bestuur Wine-tuistes + + + + + Clear search field + Herstel soekveld + + + + + + + Alphabetic sort descending + Alfabetiese sortering - afnemend + + + + + + + Alphabetic sort ascending + Alfabetiese sortering - toenemend + + + + + Zoom In + Zoem in + + + + + Zoom Out + Zoem Uit + + + + + Create Fake Drive + Skep Vals Skyf + + + + Create new Fake Drive configuration. Old Fake Drive will be removed. + Skep 'n nuwe Vals Skyf opstelling. Die ou Vals Skyf sal verwyder word. + + + + + Update Fake Drive + Opdateer Vals Skyf + + + + Update Fake Drive configuration. + Opdateer Vals Skyf opstelling. + + + + + Install or update Winetricks script + Installeer of dateer Winetricks skrip op + + + + Install new or update installed Winetricks script. + Installeer 'n nuwe of opdateer 'n Winetricks skrip. + + + + + Refresh Winetricks application list + Verfris Winetricks progammatuur lys + + + + Create or update Q4Wine's cache of Winetricks applications. + Installeer 'n nuwe of opdateer 'n Q4Wine kas vir Winetricks programmatuur. + + + + + Goto Winetricks homepage + Gaan na Winetricks tuisblad + + + + Read news, report bugs and join the Winetricks community at https://github.com/Winetricks/winetricks + Lees nuus, reporteer foute en tree toe tot die Winetricks gemeenskap by https://github.com/Winetricks/winetricks + + + + Fail to remove %1 + Kon nie %1 verwyder nie + + + + Sorry, no fake drive configuration found.<br>Create fake drive configuration before attempting to update it. + Jammer. geen vals skyf opstelling is gevind nie. <br>Skep 'n vals skyf opstelling voor u probeer om dit op te dateer. + + + + Warning + Waarskuwing + + + + A fake drive already exists within <b>%1</b>.<br><br>Do you wish to remove <b>all</b> files from this prefix? + 'n Vals skyf bestaan alreeds binne <b>%1</b>.<br><br>Wil u graag <b>alle</b> lêers van hierdie wine-tuiste verwyder? + + + + Removing old fake drive + Verwydering van ou vals skyf + + + + Removing old fake drive.<br>This may take a while... + Verwydering van ou vals skyf.<br>Dit mag 'n wyle neem... + + + + + Error + Fout + + + + PrefixControlWidget + + + Create new + Skep nuut + + + + Create new prefix + Skep nuwe Wine-tuiste + + + + + Import prefix + Trek wine-tuiste in + + + + + Export prefix + Voer wine-tuiste uit + + + + + Delete prefix + Verwyder wine-tuiste + + + + + Edit prefix settings + Redigeer wine-tuiste instellings + + + + Set up prefix fake drive + Stel 'n Wine-tuiste vals skyf op + + + + Set up prefix fake drive and applications + Skep Wine-tuiste vals skyf en toepassings + + + + Name + Naam + + + Architecture + Argitektuur + + + + Arch + Arch + + + + Version + Weergawe + + + + Path + Pad + + + + Error + Fout + + + + Sorry, you cannot delete the Default prefix. + Jammer, u kan nie die Verstek wine-tuiste verwyder nie. + + + + Do you really wish to delete the prefix named "%1" and all associated icons? + Wil u regtig graag die wine-tuiste genaamd "%1" en alle betrokke ikone verwyder? + + + + + Warning + Waarskuwing + + + + + Configure wine versions + Stel wine weergawes in + + + + Select file to import + Kies die lêer om in te trek + + + + Prefix archive images (*.tbz *.TBZ);;All files (*) + Tuiste argief beeldlêers (*.tbz *.TBZ);;Alle lêers (*) + + + + Prefix archive images (*.tbz) + Argiveer wine-tuiste beelde (*.tbz) + + + + Do you really wish to delete all old prefix files? + ?? + Wil u regtig graag al die wine-tuiste leers verwyder? + + + + Removing old fake drive.<br>This can take a while... + Verwydering van ou vals skyf.<br>Dit mag 'n wyle neem... + + + + Removing old fake drive + Verwydering van ou vals skyf + + + + Importing prefix.<br>This can take a while... + Trek Wine-tuistes in.<br>Dit mag 'n wyle neem... + + + + Importing prefix + Trek Wine-tuiste in + + + + Select file to export + Kies die lêer om na toe af te voer + + + + Exporting %1 prefix.<br>This can take a while... + Voer Wine-tuiste %1 uit.<br>Dit mag 'n wyle neem... + + + + Exporting prefix + Voer Wine-tuiste uit + + + + PrefixSettings + + + Add new Prefix + Voeg nuwe Wine-tuiste by + + + + + + + + + Error + Fout + + + + Fail to load version by name: %1 + Kon nie weergawe met dié naam laai nie: %1 + + + + Enter a prefix name + Gee die wine-tuiste 'n naam + + + + + Unable to load version by name: %1 + Kon nie weergawe met dié naam laai nie: %1 + + + + Sorry, but prefix named %1 already exists. + Jammer, maar wine-tuiste %1 bestaan alreeds. + + + + Warning + Waarskuwing + + + + Directory "%1" already exists. Do you wish to use it anyway? + Gids "%1" bestaan alreeds. Wil u dit in elkgeval gebruik? + + + + The directory "%1" could not be created. + Die gids "%1" kon nie geskep word nie. + + + + Open File + Open Lêer + + + + Open Directory + Open Gids + + + + + Prefix Settings + Wine tuiste Instellings + + + + General + Algemeen + + + + Name: + Naam: + + + + Prefix path: + Wine tuiste pad: + + + + Architecture: + Argitektuur: + + + + Default + Verstek + + + + Quick Mount + Vinnige Hegting + + + + Device: + Toestel: + + + + Options below are obsolete, please delete them and use version manager instead: + Die keuse hieronder is nie meer van toepassing nie, verwyder dit en gebruik eerder die weergawebestuurder: + + + + Parse result: + Ontledingsresultaat: + + + + Mount point: + Hegtingspunt: + + + + + Wine settings + Wine instellings + + + + If you wish to use different Wine versions, you may wish to select here one. + Indien u verskillende Wine weergawes wil gebruik, kan u een hier kies. + + + + Version: + Weergawe: + + + + This template will be used to run wine programs. Normally you do not need to change it. See help for details. + Hierdie templaat sal vir die Wine programmatuur gebruik word. U hoef dit nie gewoonlik te verander nie. Sien hulp vir meer besonderhede. + + + + Predefined: + Voorafgedefinieerd: + + + + OK + Goed + + + + Bin: + Binêre lêer: + + + If you wish to use different Wine versions, you may wish to set custom Wine paths here. +Note: leave it blank for default. + Indien u verskillende Wine weergawes wil gebruik, mag u doelgemaakte Wine paaie hier plaas. +Nota: Laat die veld oop vir verstek waardes. + + + + Server: + Bediener: + + + + Loader: + Laaier: + + + + Libs: + Biblioteke: + + + + Advanced + Gevorderd + + + + Execution template string + Uitvoer templaat string + + + This template will be used to run wine programs. Normally you do not need to change it. See help for details. To restore default value, just leave it blank. + Hierdie templaat sal gebruik word om wine programme mee te loop. Normaalweg behoort u dit nie te verander nie. Sien hulp vir besonderhede. Om te herstel na verstek waards, los dit net oop. + + + + Help + Hulp + + + + Cancel + Kanselleer + + + + PrefixTreeToolbar + + + + + + Expand prefix tree + Brei Wine-tuiste boom uit + + + + + + + Collapse prefix tree + Voeg wine-tuiste boom saam + + + + Import prefixes + Trek wine-tuistes in + + + + Import prefixes from ~/.local/share/wineprefixes/ + Trek Wine-tuistes in vanaf ~/.local/share/wineprefixes/ + + + + Export prefixes + Voer Wine-tuistes uit + + + + Export prefixes to ~/.local/share/wineprefixes/ + Voer Wine-tuistes uit na ~/.local/share/wineprefixes/ + + + + PrefixTreeWidget + + + Enter new directory name + Benoem nuwe gids + + + + + Directory name: + Gidsnaam: + + + + Enter new name for directory + Benoen gids + + + + Q4Wine + Q4Wine + + + + Mount [%1] + Heg [%1] + + + + + [none] + [geen] + + + Mount media drive. + Heg media skyf. + + + + + Sorry. It seems that the directory already exists. + Jammer. Dit blyk dat dié gids alreeds bestaan. + + + + Do you really wish to delete the folder named "%1" and all associated icons? + + Wil u regtig graag die gids genaamd "%1" en alle betrokke ikone verwyder? + + + + + No media drives detected. + Geen media skywe bespeur nie. + + + + Mount media image. + Heg media beeld. + + + + Mount ... + Heg ... + + + + Browse... + Blaai... + + + + + Browse for media image. + Blaai vir media beeld. + + + + Unmount [%1] + Ontheg [%1] + + + + Unmount media. + Ontheg media. + + + + Run... + Loop... + + + + Browse ... + Blaai ... + + + New + Nuut + + + + + Browse for wine binary + Blaai vir Wine binêre lêers + + + + New directory + Nuwe gids + + + + Create new directory + Skep nuwe gids + + + + Rename + Herbenoem + + + + Rename current directory + Herbenoem huidige gids + + + + Delete + Verwyder + + + + Delete current directory + Verwyder huidige gids + + + + Browser + Blaaier + + + + + Open prefix directory + Open Wine-tuiste gids + + + + Open prefix directory in system file browser + Open wine-tuiste gids in stelsel lêer blaaier + + + + + Open mount point directory + Open hegtingspunt gids + + + + Open mount point directory in system file browser + Open hegtingspunt gids in stelsel lêer blaaier + + + + Wine Browser + Wine Blaaier + + + + Open prefix directory in wine file browser + Open wine-tuiste gids in wine lêer blaaier + + + + Open mount point directory in wine file browser + Open hegtingspunt gids in wine lêer blaaier + + + + Console + Konsole + + + + Open console in prefix directory + Open konsole in wine-tuiste gids + + + + Open system console in prefix directory + Open stelsel konsole in wine-tuiste gids + + + + Open console in mount point directory + Open konsole in hegtingspunt gids + + + + Open system console in mount point directory + Open stelsel konsole in hegtingspunt gids + + + + + Create new prefix + Skep nuwe Wine-tuiste + + + + Set up prefix fake drive and applications + ? + Skep Wine-tuiste vals skyf en toepassings + + + + + Delete prefix + Verwyder Wine-tuiste + + + + Sorry. It seems that the icon already exists. + Jammer. Dit blyk of dié ikoon alreeds bestaan. + + + + Sorry. It seems that the icon already exists.<br>Please choose another name or cancel the operation. + Jammer. Dit blyk of dié ikoon alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. + + + + Disc image files (*.iso *.ISO *.nrg *.NRG *.img *.IMG *.bin *.BIN *.mdf *.MDF);;All files (*) + Skyf beeldlêers (*.iso *.ISO *.nrg *.NRG *.img *.IMG *.bin *.BIN *.mdf *.MDF);;Alle lêers (*) + + + + ISO image files (*.iso *.ISO);;All files (*) + ISO beeldlêers (*.iso *.ISO);;Alle lêers (*) + + + Disc image files (*.iso *.nrg *.img *.bin *.mdf) + Skyf beeld lêers (*.iso *.nrg *.img *.bin *.mdf) + + + ISO image files (*.iso) + ISO beeld lêers (*.iso) + + + + Open Disc Image Files + Open Skyf Beeld Lêers + + + + Failed to mount %1. + Onsuksesvol om %1 te heg. + + + + Drive successfully unmounted. + Skyf was suksesvol ontheg. + + + + Failed to unmount drive. + Kon nie skyf ontheg nie. + + + + Sorry, you cannot delete the Default prefix. + Jammer, u kan nie die Verstek wine-tuiste verwyder nie. + + + + Do you really wish to delete the prefix named "%1" and all associated icons? + Wil u regtig graag die wine-tuiste genaamd "%1" en alle betrokke ikone verwyder? + + + + Warning + Waarskuwing + + + + Edit prefix settings + Redigeer Wine-tuiste instellings + + + + + Sorry. It seems that the directory already exists.<br>Please choose another name or cancel the operation. + Jammer. Dit blyk of dié gids alreeds bestaan.<br>Kies asseblief 'n ander naam of kanselleer die aksie. + + + + Mount ISO... + Heg ISO... + + + Browse for another image + Blaai vir 'n ander beeld + + + + Configure prefix settings + Stel Wine-tuiste instellings op + + + + Configure fake drive settings + Stel vals skyf opstelling in + + + + + Error + Fout + + + + No device drive specified in prefix settings. + Geen stelsel skyf gestel in wine-tuiste opstelling. + + + + + %1 successfully mounted. + %1 suksesvol geheg. + + + + Fail to mount %1. + Hegting onsuksesvol vir %1. + + + + Process + + + + + + + + + + + + + + + Error + Fout + + + + It seems that the process failed.<br><br>Error log:<br>%1 + Dit blyk dat die proses gefaal het.<br><br>Fout boekstaaf:<br>%1 + + + + + Process: The process failed to start. Either the invoked program is missing, or you may have insufficient permissions to invoke the program. + Proses: Die proses kon nie begin nie. Óf die betrokke programnaam is leeg, óf u het onvoldoende klaring om die program te loop. + + + + + Process: The process crashed some time after starting successfully. + Proses: Die proses het na 'n tydtjie gefaal, nadat dit suksesvol begin het. + + + + + Process: An error occurred when attempting to read from the process. For example, the process may not be running. + Proses: 'n Fout het voorgekom tydens lees vanaf die proses. Byvoorbeeld, die proses mag dalk nie meer loop nie. + + + + + Process: An error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel. + Proses: 'n Fout het voorgekom tydens skryf na die proses. Byvoorbeeld, die proses mag dalk nie meer loop nie, of dit dalk sy invoer kanaal gesluit. + + + + + Process: An unknown error occurred. This is the default return value of error(). + Proses: 'n Onbekende fout het voorgekom. Dit is die verstek afvoer waarde van 'n fout(). + + + + + Output + Afvoer + + + + It seems that the process exited normally.<br><br>STDERR log:<br>%1 + Dit blyk dat die proses normaal geeindig het<br><br>STDERR boekstaaf:<br>%1 + + + + It seems that the process crashed.<br><br>STDERR log:<br>%1 + Dit blyk dat die proses abnormaal geeindig het<br><br>STDERR boekstaaf:<br>%1 + + + + + Process: The last waitFor...() function timed out. + Proses: Die laaste 'waitFor...()' funksie se tyd het uit geloop. + + + + Mounting image... + ? + Hegting van databeeld... + + + + Cancel + Kanselleer + + + + Progress + + + Importing Wine desktop icons from:<br>"%1"<br><br>This can take a while...<br><br><b>Note:</b> To remove processed files see Q4Wine options dialog. + In trek van Wine lessenaar ikone vanaf:<br>"%1"<br><br>Dit kan 'n wyle duur...<br><br><b>Nota:</b> Sien Q4Wine opstellings dialoog on verwerkte leers te kan verwyder. + + + + Importing Wine desktop icons: %1 of %2 + Trek Wine lessenaar ikone in: %1 van %2 + + + + + Waiting for Wine process to finish... + Wag vir Wine proses om klaar te maak... + + + + + There are %1 processes running for prefix %2. + Daar loop nog %1 proses(se) vir Wine-tuiste %2. + + + + + If the processes keep running -- end them manually. + Indien die prosesse aanhou loop - beëindig hulle handmatig. + + + + + Running process: %1 + Lopended prosesse: %1 + + + + Importing desktop icons: %1 of %2 + Trek Wine lessenaar ikone in: %1 van %2 + + + + QObject + + + + Default + Verstek + + + + + + + + + + No current prefix set. Set prefix via "-p <prefix_name>" key. + Geen wine-tuiste is tans gestel nie. Stel wine-tuiste via "-p <prefix_name>" sleutel. + + + + No current icon set. Set icon via "-i <icon_name>" key. + Geen ikoon is tans gestel nie. Stel ikoon via "-i <icon_name>" sleutel. + + + + Wine process list + Wine proses lys + + + + Wine process list for "%1" prefix + Wine proses lys vir "%1" wine-tuiste + + + + PID + PID + + + + Nice + 'Nice' Prioriteit + + + + + + + + Name + Naam + + + + Prefix path + Wine tuiste pad + + + + Prefix list + Wine tuiste lys + + + + Prefix named "%1" does not exist. Run "%2-cli -pl" for prefix list. + Wine tuiste genaamd "%1", bestaan nie. Loop "%2-cli -pl" vir wine-tuiste lys. + + + + + Path + Pad + + + + Icon named "%1" does not exist. Run "%2-cli -il" for icon list. + Ikoon genaamd "%1", bestaan nie. Loop "%2-cli -il" vir ikoon lys. + + + + Prefix "%1" has following dir list + Wine tuiste "%1" het die volgende gids lys + + + + Dir named "%1" does not exist. Run "%2-cli -dl" for dir list. + Gids genaamd "%1" bestaan nie. Loop "%2-cli -dl" vir gids lys. + + + + Prefix "%1" has following icon list + Wine tuiste "%1" het die volgende ikoon lys + + + + Prefix "%1" has following icon list at "%2" directory + Wine tuiste "%1" het die volgende ikoon lys in die "%2" gids + + + + Description + Beskrywing + + + + %1 has the following disc images in the database + %1 het die volgende skyf beelde in die databasis + + + + Killing prefix "%1" wineserver. + Beëindig Wine-tuiste "%1" 'wineserver'. + + + + + + No mount point set in prefix configuration. + Heen hegtingspunt is gestel in Wine-tuiste instelling nie. + + + + Disc image named "%1" does not exist. Run "%2-cli -cl" for disc image list. + Skyf beeld "%1" bestaa nie. Loop "%2-cli -cl" vir die lys van skyf beelde. + + + + Unmounting mount point "%1". + Ontheg hegtingspunt "%1". + + + + File "%1" does not exist. + Lêer %1 bestaan nie. + + + + Mounted media list for all prefixes + Gehegde media lys vir alle Wine tuistes + + + + Prefix + Wine tuiste + + + + + Mount point + Hegtingspunt + + + + + Media + Media + + + + Mounted media list for prefix "%1" + Gehegde media lys vir Wine tuiste "%1" + + + + + + This is free software: you are free to change and redistribute it. + Hierdie is gratis programmatuur: u is vry om dit te verander en om dit te versprei. + + + + + + There is NO WARRANTY, to the extent permitted by law. + Daar is GEEN WAARBORG, in sover die die wet dit toelaat nie. + + + + + + Author: %1. + Outeur: %1. + + + + + + Report %1 bugs to %2 + Reporteer %1 foute aan %2 + + + + %1 [KEY]... + %1 [KEY]... + + + + GUI utility for Wine applications and prefixes management. + GGK ('GUI') nutsprogram vir Wine programmatuur en Wine-tuiste bestuur. + + + + open Q4Wine run dialog for Windows binary + open Q4Wine dialoog venster vir Windows binêre lêer + + + + minimize %1 main window on startup + minimiseer %1 hoof venster tydens aanskakeling + + + + + + Usage: + Gebruik: + + + + Console utility for wine applications and prefixes management. + Konsole nutsprogram vir Wine programmatuur en Wine tuiste bestuur. + + + + + + KEYs list: + SLEUTELs lys: + + + + + display this help and exit + vertoon hierdie hulp en sluit af + + + + + output version information and exit + voer weergawe inligting af en sluit af + + + + output wine process list for current prefix or for all prefixes and exit + voer Wine proses lys af vir huidige Wine-tuiste of vir alle Wine-tuistes en sluit af + + + + + sets the current prefix name + stel die huidige Wine-tuiste naam + + + + sets the current icon name + stel die huidige ikoon naam + + + + sets the path to windows binary for execute with current prefix settings + stel die pad na die Windows lêer vir uitvoering met die huidige Wine tuiste stellings + + + + output all existing prefixes names and exit + lys alle bestaande Wine tuistes en sluit af + + + + output all existing dir names for current prefix and exit + lys alle bestaande gidse vir die huidige Wine-tuistes en sluit af + + + + output all existing icon names for current prefix/directory and exit + lys alle bestaande ikone vir die huidige Wine tuiste / gids en sluit af + + + + mount a cd image or drive for current prefix and exit + heg 'n CD beeld of skyf vir die huidige Wine-tuiste en sluit af + + + + unmount a cd image or drive for current prefix and exit + ontheg 'n CD beeld of skyf vir die huidige Wine tuiste en sluit af + + + + -1 if serious troubles + -1 indien ernstige probleme + + + + %1-cli [KEY]... + %1-cli [KEY]... + + + + %1-cli -p <prefix_name> [-d <dir_name>] -i <icon_name> + %1-cli -p <prefix_name> [-d <dir_name>] -i <icon_name> + + + + %1-cli -p <prefix_name> -b <windows_binary_path> [args] + ? + %1-cli -p <prefix_name> -b <windows_binary_path> [args] + + + + sets the current directory name + stel die huidige gids se naam + + + + sets the cd image name + stel die CD beeld se naam + + + + sends -9 term signal to current prefix process or for all prefixes processes + stuur -9 terminaal sein na die huidige Wine tuiste se proses of vir alle Wine tuistes se prosesses + + + + output all cd images list and exit + lys alle CD beelde en sluit af + + + + output all mounted media for current prefix or all prefixes and exit + lys alle gehegde media vir die huidige Wine tuiste of vir alle Wine tuistes en sluit af + + + + Exit status: + Afsluit status: + + + + 0 if OK, + 0 indien GOED, + + + + + + %1 homepage: <%2> + ? + %1 tuiswebwerf: <%2> + + + + + + General help using GNU software: <http://www.gnu.org/gethelp/> + Algemene hulp vir die gebruik van GNU programmatuur: <http://www.gnu.org/gethelp/> + + + + %1-helper [KEYs]... + %1-helper [SLEUTELs]... + + + + Console utility for Q4Wine which helps to handle Wine application exit status and its stdout/stderr output logging. + Terminaal nutsprogram vir Q4Wine wat Wine program help met sy afsluit status en sy 'stdout'/'stderr' afvoer boekstawing. + + + + sets WINEDEBUG variable + stel WINEDEBUG veranderlike + + + + run with output in console + ? + loop met afvoer in terminaal + + + + sets DISPLAY variable + stel DISPLAY veranderlike + + + + sets program niceness + stel program se 'nice'-prioriteit + + + + sets program virtual desktop resolution + stel program se virtuele werkskerm resolusie + + + + sets program binary + ?? + stel program binêre lêer + + + + sets program args + stel program 'args' parameters + + + + sets program working directory + stel program se werksgids + + + + sets program LANG variable + I am not sure? + stel program se taal ('LANG') veranderlike + + + + sets WINEDLLOVERRIDES variable + stel WINEDLLOVERRIDES veranderlike + + + + execute script before program run + voer skript uit voordat program loop + + + + execute script after program run + voer skript uit nadat program afgesluit het + + + + Remove prefix directory + Verwyder tuitste gids + + + + Run + + + + + + Native + Oorspronklik + + + + + + + Built-in + Ingebou + + + + + + + Native, Built-in + Oorspronklik, Ingebou + + + + + + + Built-in, Native + Ingebou, Oorspronklik + + + + + No virtual desktop + Geen virtuele lessenaar nie + + + + + + Error + Fout + + + + No program name specified. + Geen programnaam is gestel nie. + + + + Selected working directory does not exist. + Gespesifiseerde werksgids bestaan nie. + + + + Invalid virtual desktop size. + Ongeldige virtuele skermblad grootte. + + + + Exe, MSI, BAT files (*.exe *.EXE *.msi *.MSI *.bat *.BAT);;Exe files (*.exe *.EXE);;MSI files (*.msi *.MSI);;BAT files (*.bat *.BAT);;All files (*) + Exe, MSI, BAT lêers (*.exe *.EXE *.msi *.MSI *.bat *.BAT);;Exe lêers (*.exe *.EXE);;MSI lêers (*.msi *.MSI);;BAT lêers (*.bat *.BAT);;Alle lêers (*) + + + + + Disabled + Gedeaktiveer + + + + Open Exe file + Open Exe Lêer + + + Exe files (*.exe) + Exe lêers (*.exe) + + + + Open Directory + Open Gids + + + + Run Program + Loop Program + + + + + General + Algemeen + + + + Prefix + Wine tuiste + + + + Name: + Naam: + + + + Program: + Program: + + + + Virtual Desktop + Virtuele Lessenaar + + + + Size: + Grootte: + + + + Disable + Deaktiveer + + + + Add + Byvoeg + + + + Arguments: + Parameters ('Args'): + + + + Working directory: + Werksgids: + + + + Override DLLs + Oorheers DLLs + + + + Present Wine DLLs + Huidige Wine DLLs + + + + Overridden DLLs + Ooheersde DLLs + + + + DLL Name + DLL Naam + + + + Override Algorithm + Oorheersende Algoritme + + + + Advanced + Gevorderd + + + + Display + Vertoon + + + + Debug Options + Ontfoutingskeuses + + + + Run With Output in Console + Loop met Afvoer in 'n Konsole + + + + Nice Priority Level + 'Nice' Prioriteitsvlak + + + + Priority: + Prioriteitsvlak: + + + + Locale + 'Locale' + + + + Help + Hulp + + + + Cancel + Kanselleer + + + + OK + Goed + + + + VersionManager + + + + Wine Version Manager + Wine weergawebestuurder + + + + Bin: + Bin: + + + + Server: + Bediener: + + + + Loader: + Laaier: + + + + Optional + Optioneel + + + + Libs 32: + Libs 32: + + + + Libs 64: + Libs 64: + + + + Help + Hulp + + + + OK + Goed + + + + The Version settings has been modified. + Die weergawe instellings was verander. + + + + + + + Add version + Voeg weergawe by + + + + Version name: + Weergawenaam: + + + + Sorry. It seems that the version name already exists.<br>Please choose another version name. + Jammer. Dit blyk dat die weergawenaam alreeds bestaan.<br>Kies asseblief 'n ander weergawenaam. + + + + + + + + Error + Fout + + + + Default version can not be removed. + Verstek weergawe kan nie verwyder word nie. + + + 32 or 64 wine library path required. + 32 of 64 Wine-biblioteekpad word benodig. + + + + Can't save changes... + Kan nie veranderings stoor nie... + + + + Path '%1' is not exists. + Pad '%1' bestaan nie. + + + + Path '%1' is not a directory. + Pad '%1' is nie ’n gids nie. + + + + Path '%1' is not a file. + Pad '%1' is nie ’n lêer nie. + + + + + Remove version + Verwyder weergawe + + + + + Save changes + Stoor veranderinge + + + + + Clear search field + Herstel soekveld + + + + + Open File + Open Lêer + + + + + Open Directory + Open Gids + + + + WineDriveDialog + + + Wine Drive settings + Wine Skyf instellings + + + + Wine Drive + Wine Skyf + + + + Drive letter: + Skyf letter: + + + + Path: + Pad: + + + + Type: + Tipe: + + + + Cancel + Kanselleer + + + + OK + Goed + + + + + Error + Fout + + + + Sorry, you need to set existing drive directory. + Jammer, u moet 'n bestaande skyf gids instel. + + + + Sorry, drive directory does not exist. + Jammer,die skyf gids bestaan nie. + + + + Open Directory + Open Gids + + + + WineProcessWidget + + + PID + PID + + + + Name + Naam + + + + Ni + Ni + + + + Prefix path + Wine tuiste pad + + + + + + Total process count: %1 + Totale aantal prosesse: %1 + + + + Stop current + Staak huidige lopie + + + + Send TERM signal to selected process + Stuur TERM sein na gekose proses + + + + Stop wine + Staak Wine + + + + Send TERM signal to main wine process + Stuur TERM sein na hoof Wine proses + + + + Refresh List + Verfris Lys + + + + Refresh process list + Verfris proseslys + + + + Renice + Herstel 'nice' prioriteit + + + + Set process priority + Stel proses prioriteit + + + + + Warning + Waarskuwing + + + + This action will send a KILL(-9) signal to selected processes<br><br>It is HIGH risk to damage wine normal state.<br><br>Do you really wish to proceed? + Die aksie stuur 'n KILL(-9) sein na die gekose prosesse<br><br>Daar is 'n HOË risko dat die normale wine staat beskadig kan word.<br><br>Wil u regtig voortgaan? + + + + Cannot run: %1 + Kan nie loop nie: %1 + + + + It seems that the process %1 has been killed successfully. + Dit blyk dat die proses %1 suksesvol beëindig is. + + + + This action will send a KILL(-9) signal to all wine processes of the selected prefixes<br><br>Do you really wish to proceed? + Die aksie stuur 'n KILL(-9) sein na al die Wine prosesse van die geselekteerde Wine-tuistes<br><br>Wil u regtig voortgaan? + + + + It seems that the process %1 has been reniced to %2 successfully. + Dit blyk dat die proses %1 suksesvol geherprioritiseer is na %2 'nice' waarde. + + + + Error + Fout + + + + Select process priority + Kies proses prioriteit + + + + <p>Priority value can be in<br>the range from PRIO_MIN (-20)<br>to PRIO_MAX (20).</p><p>See "man renice" for details.</p> + <p>Prioriteitswaarde kan in <br>die bestek wees van PRIO_MIN (-20)<br>tot PRIO_MAX (20).</p><p>Sien "man renice" vir besonderhede.</p> + + + + Wizard + + + + + + No Proxy + ? + Geen instaanbediener nie + + + + + + Next > + Volgende > + + + <b>Step %1 of %2</b> + <b>Stap %1 van %2</b> + + + + First startup wizard + ? + Eerste-instellings towenaar + + + <b>First startup wizard</b> + <b>Eerste-instellings towenaar</b> + + + + generic + generic + + + + Open File + Open Lêer + + + + Open Directory + Open Gids + + + + + + + + + Error + Fout + + + + Sorry, specify %1 directory. + Jammer, spesifiseer %1 gids. + + + + Sorry, specify %1 binary. + Jammer, spesifiseer %1 binêre lêer. + + + + Sorry, specify proxy host. + ? + Jammer, spesifiseer instaanbediener. + + + + Sorry, specify proxy port. + Jammer, spesifiseer instaanbedienerpoort. + + + + <p><b><span style='font-weight:600; color:#6495ed;'>%1</span></b> was initially written by Oleksii S. Malakhov aka John Brezerk [<a href='mailto:brezerk@gmail.com'>brezerk@gmail.com</a>]</p><p>General idea comes from <b><span style='font-weight:600; color:#6495ed;'>WineTools</span></b> scripts which was initially written by Frank Hendriksen [<a href='mailto:frank@frankscorner.org'>frank@frankscorner.org</a>]</p><p>It is licensed under the <b><span style='font-weight:600; color:#6495ed;'>GPL v3</span></b>.</p><p>Send comments, bugreports, etc. to [<a href='mailto:brezerk@gmail.com'>brezerk@gmail.com</a>]</p><p><b><span style='font-weight:600; color:#6495ed;'>Note</span></b>: This software comes with absolutely no warranty. You will <b><span style='font-weight:600; color:#7D1D10;'>NOT</span></b> get any support or help for WineTools, Wine, software installations, Linux or Microsoft Windows from the author.</p><p>If you <span style='font-weight:600; color:#6495ed;'>need help</span>, ask the mailing lists at <a href='http://www.winehq.org/site/forums'>http://www.winehq.org/site/forums</a>.</p><p>If you <span style='font-weight:600; color:#6495ed;'>want support</span>, buy the commercial versions of wine: CodeWeavers CrossOver Office (<a href='http://www.codeweavers.com'>http://www.codeweavers.com</a>) for Desktop Applications</p> + <p><b><span style='font-weight:600; color:#6495ed;'>%1</span></b> was oorspronklik deur Oleksii S. Malakhov aka John Brezerk [<a href='mailto:brezerk@gmail.com'>brezerk@gmail.com</a>] geskryf.</p><p>Die algemene idee van die <b><span style='font-weight:600; color:#6495ed;'>WineTools</span></b> skripte het gekom en was aanvanklik geskryf deur Frank Hendriksen [<a href='mailto:frank@frankscorner.org'>frank@frankscorner.org</a>].</p><p>Dit word gelisensieer onder <b><span style='font-weight:600; color:#6495ed;'>GPL v3</span></b>.</p><p>Stuur kommentaar, foutverslae, ens. na [<a href='mailto:brezerk@gmail.com'>brezerk@gmail.com</a>]</p><p><b><span style='font-weight:600; color:#6495ed;'>Let Wel</span></b>: Hierdie programmatuur kom met absoluut geen waarborg nie. U sal <b><span style='font-weight:600; color:#7D1D10;'>GEEN</span></b> ondersteuning of hulp vir WineTools, Wine, programmatuur installasies, Linux of Microsoft Windows kry, vanaf die outeur nie.</p><p>Indien u <span style='font-weight:600; color:#6495ed;'>hulp benodig</span>, vra op die eposlys by <a href='http://www.winehq.org/site/forums'>http://www.winehq.org/site/forums</a>.</p><p>Indien u <span style='font-weight:600; color:#6495ed;'>ondersteuning verlang</span>, koop dan asseblief die kommersiële weergawes van Wine: CodeWeavers CrossOver Office (<a href='http://www.codeweavers.com'>http://www.codeweavers.com</a>) vir "Desktop Applications"</p> + + + + <p>Welcome to first startup wizard.</p><p>This wizard helps you to make all necessary steps for successful %1 setup.</p><p>Please, press the <b>Next</b> button to go to the next wizard's page. Or press <b>Back</b> button for return.</p> + <p>Welkom by die eerste-instellings towenaar.</p><p>Hierdie towenaar sal u help om al die nodige stappe vir suksesvolle %1 instelling op te stel.</p><p>Druk asseblief die <b>Volgende</b> knoppie om voort te gaan na die volgende bladsy. Of druk die <b>Terug</b> knoppie om terug te gaan.</p> + + + + Sorry, specified %1 directory does not exist. + Jammer, gespesifiseerde %1 gids bestaan nie. + + + + Sorry, specified %1 binary does not exist. + Jammer, gespesifiseerde %1 binêre leër bestaan nie. + + + + <p>Everything is ready for finishing %1 setup. </p><p>Please, press the <b>Finish</b> button to finish setup process. Or press <b>Back</b> button for return.</p><p><b>Note:</b> You can access online documentation at any time by pressing <b>F1</b> key or by clicking "Help" button.</p></p>If you are new to %1, please check our online guide:</p> + <p>Alles is gereed die %1 opstelling te voltooi. </p><p>Druk asseblief die <b>Klaar</b> knoppie om die proses te volttooi. Of druk <b>Terug</b> knoppie om terug te gaan.</p><p><b>Nota:</b> U kan die aanlyn dokumentasie engie tyd vind deur die <b>F1</b> sleutel of deur die "Hulp" knoppie te druk.</p></p>Indien u nuut is tot %1, gaan asseblief aanlyngids deur:</p> + + + + Finish + Voltooi + + + <p>All ready for finishing %1 setup. </p><p>Please, press the <b>Finish</b> button to create finish setup process. Or press <b>Back</b> button for return.</p> + <p>Alles reg vir voltooiing van %1 opstelling. </p><p>Druk asseblief die <b>Voltooi</b> konppie om die opstellingsproses te voltooi. Of druk die <b>Terug</b> knoppie om terug te keer.</p> + + + + Wizard + Towenaar + + + + Base information: + Basiese inligting: + + + + Bin: + Binêre Lêer: + + + + Args: + ? + Parameters ('Args'): + + + + Proxy type: + ? + Instaanbediener tipe: + + + + Host: + Gasheer: + + + + Port: + Poort: + + + + Username: + Gebruikernaam: + + + + Password: + Wagwoord: + + + + Default Wine paths: + Verstek Wine paaie: + + + + Open online guide + Open aanlyngids + + + + System utils paths: + Stelsel nuts paaie: + + + + media-gfx/icoutils settings: + media-gfx/icoutils instellings: + + + + Console application settings: + Konsole program instellings: + + + + Network settings + Netwerk instellings + + + + Select Quick Mount Profile + Kies Vinnige Heg Profiel + + + + Quick Mount feature allows you to mountumount cd images and drivers via context menu entry. + Die vinnige heg, ('mount'), eienskappe stel u instaat om CD beelde en skyfaandrywers te heg / ontheg met 'n konteks kieslys inskrywing. + + + + Profiles: + Profiele: + + + + Profile Strings: + Profiel Stringe: + + + + Help + Hulp + + + + < Back + < Terug + + + + Cancel + Kanselleer + + + + winetricks + + + + + Error + Fout + + + + Cannot locate Winetricks script. Install Winetricks script first. + Kan nie Winetricks skrip vind nie. Installeer eers Winetricks skrip. + + + + File '%1' is not writable or not readable. Check file permissions. + Lêer '%1' is nie skryfbaar of leesbaar nie. Gaan die lêer se regte na. + + + + Can't create file '%1'. Check folder permissions. + Kan nie lêer '%1' skep nie. Gaan die gids se regte na. + + + + Refreshing Winetricks application list. + Verfris Winetricks toepassingslys. + + + + Winetricks plugin + Winetricks invoeging + + + + Dropping stale items... + Verwyder verouderde items... + + + + Getting list of installed items... + Verkry lys van geinstalleerde items... + + + + Adding verb: %1 + Byvoeging van werkwoord: %1 + + + Refreshing winetricks application list. + Verfris Winetricks progammatuurlys. + + + diff -Nru q4wine-1.3.11/src/l10n/q4wine_cs.ts q4wine-1.3.12/src/l10n/q4wine_cs.ts --- q4wine-1.3.11/src/l10n/q4wine_cs.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_cs.ts 2020-02-08 12:56:10.000000000 +0000 @@ -213,19 +213,19 @@ - + No Proxy Žádné proxy - + generic Obecné - + Open File Otevřít soubor @@ -237,7 +237,7 @@ - + @@ -246,7 +246,7 @@ Chyba - + Sorry, specify proxy host. Promiňte, zadejte hostitele proxy. @@ -256,7 +256,7 @@ Promiňte, zadejte přípojku proxy. - + Invalid virtual desktop size. @@ -282,38 +282,38 @@ - - + + System Default Výchozí nastavení systému - + - + General Obecné - + Wine settings Nastavení wine - - + + Ambient Light - - + + Ambient Dark @@ -342,14 +342,14 @@ - + - + System Systém - + System utils Užitečné systémové programy @@ -387,14 +387,14 @@ - - - + + + Utils Užitečné programy - + Console Konzole @@ -405,22 +405,22 @@ - - - + + + Quick Mount Rychlé připojení - - - - + + + + Logging Zapisování - + Logging subsystem: Zapisovací podsystém: @@ -435,7 +435,7 @@ Poznámka: Z důvodu zvláštnoti stroje SQLite, velké množství zapisovaných dat může omezit výkon Q4Wine. Používejte to opatrně. Byl jste varován. - + Run recent program Spustit naposledy otevřený program @@ -458,30 +458,30 @@ icotool: - + - - - + + + Language Jazyk - - + + Themes Témata - - - - + + + + Network Síť - + Proxy settings Nastavení proxy @@ -577,14 +577,14 @@ - - - + + + AppDB browser Prohlížeč AppDB - + AppDB browser subsystem: Podsystém prohlížeče AppDB: @@ -595,14 +595,14 @@ - - - + + + Desktop Menu Nabídka plochy - + Desktop menu plugin Přídavný modul nabídky plochy @@ -628,14 +628,14 @@ - - - + + + Defaults Výchozí - + Program icons Programové ikony @@ -645,7 +645,12 @@ Použít programové ikony s jedním klepnutím pro spuštění. - + + Hide program arguments in the icon info display. + + + + File dialogs Souborové dialogy @@ -662,8 +667,8 @@ - - + + Desktop Integration @@ -700,8 +705,8 @@ - - + + Run dialog Spouštěcí dialog @@ -709,8 +714,8 @@ - - + + Wine desktop import Zavedení plochy wine @@ -721,34 +726,34 @@ - - + + Interface Rozhraní - - + + Subsystems Podsystémy - - + + Plugins Přídavné moduly - - + + Advanced Rozšířené volby - + Default virtual desktop Výchozí virtuální plocha @@ -774,7 +779,7 @@ - + Default Výchozí @@ -790,12 +795,12 @@ - + No virtual desktop Žádná virtuální plocha - + Import Wine desktop files at Q4Wine startup. Zavést soubory plochy wine při spuštění Q4Wine. @@ -2569,12 +2574,11 @@ %1 :. Qt GUI pro wine v%2 - Program: %1<br> Args: %2 - Program: %1<br> Argumenty: %2 + Program: %1<br> Argumenty: %2 - + Socket file "%1" already exists! Soubor zásuvky (socket) "%1" již existuje! @@ -2667,7 +2671,24 @@ Oznámení nápovědy - + + Program: %1 + + + + + + + Args: %1 + + + + + hidden + + + + Cannot start application: "%1" for prefix: "%2". Nelze spustit program: "%1" pro předponu: "%2". @@ -3126,7 +3147,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. Vytvořit nebo aktualizovat vyrovnávací paměť Q4Wine programů Winetricks (Kouzla wine). diff -Nru q4wine-1.3.11/src/l10n/q4wine_de.ts q4wine-1.3.12/src/l10n/q4wine_de.ts --- q4wine-1.3.11/src/l10n/q4wine_de.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_de.ts 2020-02-08 12:56:10.000000000 +0000 @@ -83,7 +83,7 @@ Status: Connecting to %1 - Status: Verbindund mit %1 wird hergestellt + Status: Verbindung mit %1 wird hergestellt @@ -213,19 +213,19 @@ - + No Proxy Kein Proxy - + generic Allgemein - + Open File Datei öffnen @@ -237,7 +237,7 @@ - + @@ -246,7 +246,7 @@ Fehler - + Sorry, specify proxy host. Bitte geben Sie den Proxy-Host an. @@ -256,7 +256,7 @@ Bitte geben Sie den Proxy-Port an. - + Invalid virtual desktop size. @@ -283,38 +283,38 @@ - - + + System Default Systemstandard - + - + General Allgemein - + Wine settings Wine-Einstellungen - - + + Ambient Light - - + + Ambient Dark @@ -343,14 +343,14 @@ - + - + System System - + System utils Systemprogramme @@ -388,14 +388,14 @@ - - - + + + Utils Dienstprogramme - + Console Konsole @@ -406,22 +406,22 @@ - - - + + + Quick Mount Schnelleinbindung - - - - + + + + Logging Protokoll - + Logging subsystem: Protokoll-Subsystem: @@ -431,7 +431,7 @@ Protokolle beim Start leeren. - + Run recent program Zuletzt ausgeführte Programme @@ -454,30 +454,30 @@ icotool: - + - - - + + + Language Sprache - - + + Themes Designs - - - - + + + + Network Netzwerk - + Proxy settings Proxy-Einstellungen @@ -573,14 +573,14 @@ - - - + + + AppDB browser AppDB-Browser - + AppDB browser subsystem: AppDB-Browser-Subsystem @@ -592,14 +592,14 @@ - - - + + + Desktop Menu Desktop-Menü - + Desktop menu plugin Desktop-Menü-Plugin @@ -625,14 +625,14 @@ - - - + + + Defaults Voreinstellungen - + Program icons Programmsymbole @@ -642,7 +642,12 @@ Verknüpfungen mit Einzelklick aufrufen. - + + Hide program arguments in the icon info display. + + + + File dialogs Datei-Dialoge @@ -659,8 +664,8 @@ - - + + Desktop Integration @@ -697,8 +702,8 @@ - - + + Run dialog TODO: kontext? Ausführen-Dialog @@ -707,8 +712,8 @@ - - + + Wine desktop import Wine-Desktop-Import @@ -719,36 +724,36 @@ - - + + Interface TODO: kontext? Oberfläche - - + + Subsystems Subsysteme - - + + Plugins Module - - + + Advanced TODO: Kontext? Erweitert - + Default virtual desktop Standard-Virtueller-Desktop @@ -774,7 +779,7 @@ - + Default Standard @@ -796,12 +801,12 @@ - + No virtual desktop Kein virtueller Desktop - + Import Wine desktop files at Q4Wine startup. Wine-Desktop-Dateien beim Starten von q4wine importieren. @@ -2576,12 +2581,11 @@ %1: Qt-Oberfläche für Wine v%2 - Program: %1<br> Args: %2 - Programm: %1<br> Argumente: %2 + Programm: %1<br> Argumente: %2 - + Socket file "%1" already exists! Socket-Datei „%1“ existiert bereits. @@ -2674,7 +2678,24 @@ Hilfe-Benachrichtigung - + + Program: %1 + + + + + + + Args: %1 + + + + + hidden + + + + Cannot start application: "%1" for prefix: "%2". Die Anwendung kann nicht gestartet werden: „%1“ für Präfix: „%2“. @@ -3133,7 +3154,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. Q4Wine-Zwischenspeicher der Winetricks-Anwendungen erstellen oder aktualisieren. diff -Nru q4wine-1.3.11/src/l10n/q4wine_en.ts q4wine-1.3.12/src/l10n/q4wine_en.ts --- q4wine-1.3.11/src/l10n/q4wine_en.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_en.ts 2020-02-08 12:56:10.000000000 +0000 @@ -213,19 +213,19 @@ - + No Proxy - + generic - + Open File Open File @@ -237,7 +237,7 @@ - + @@ -246,7 +246,7 @@ Error - + Sorry, specify proxy host. @@ -256,7 +256,7 @@ - + Invalid virtual desktop size. @@ -282,24 +282,24 @@ - - + + System Default - + - + General General - + Wine settings Wine Settings @@ -328,27 +328,27 @@ - - - + + + System - + System utils - - - + + + Utils - + Console @@ -359,22 +359,22 @@ - - - + + + Quick Mount Quick Mount - - - - + + + + Logging Logging - + Logging subsystem: @@ -384,7 +384,7 @@ - + Run recent program @@ -399,30 +399,30 @@ OK - + - - - + + + Language - - + + Themes - - - - + + + + Network - + Proxy settings @@ -458,7 +458,7 @@ - + Default Default @@ -519,14 +519,14 @@ - - - + + + AppDB browser - + AppDB browser subsystem: @@ -537,14 +537,14 @@ - - - + + + Desktop Menu - + Desktop menu plugin @@ -570,14 +570,14 @@ - - - + + + Defaults - + Program icons @@ -587,7 +587,12 @@ - + + Hide program arguments in the icon info display. + + + + File dialogs @@ -604,8 +609,8 @@ - - + + Desktop Integration @@ -642,8 +647,8 @@ - - + + Run dialog @@ -651,8 +656,8 @@ - - + + Wine desktop import @@ -663,34 +668,34 @@ - - + + Interface - - + + Subsystems - - + + Plugins - - + + Advanced Advanced - + Default virtual desktop @@ -706,15 +711,15 @@ - - + + Ambient Light - - + + Ambient Dark @@ -730,12 +735,12 @@ - + No virtual desktop No virtual desktop - + Import Wine desktop files at Q4Wine startup. @@ -2453,12 +2458,7 @@ - - Program: %1<br> Args: %2 - - - - + Socket file "%1" already exists! @@ -2528,7 +2528,24 @@ - + + Program: %1 + + + + + + + Args: %1 + + + + + hidden + + + + Yes Yes @@ -2994,7 +3011,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. diff -Nru q4wine-1.3.11/src/l10n/q4wine_es.ts q4wine-1.3.12/src/l10n/q4wine_es.ts --- q4wine-1.3.11/src/l10n/q4wine_es.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_es.ts 2020-02-08 12:56:10.000000000 +0000 @@ -214,20 +214,20 @@ - + No Proxy Sin proxy - + generic Revisar Generico - + Open File Abrir archivo @@ -239,7 +239,7 @@ - + @@ -249,7 +249,7 @@ - + Sorry, specify proxy host. Disculpe, especifique el host del proxy. @@ -259,7 +259,7 @@ Disculpe, especifique el puerto del proxy. - + Invalid virtual desktop size. @@ -285,25 +285,25 @@ - - + + System Default Sistema por defecto - + - + General same - + Wine settings Ajustes de wine @@ -333,27 +333,27 @@ - - - + + + System Sistema - + System utils Utilidades del sistema - - - + + + Utils Utilidades - + Console Consola @@ -364,9 +364,9 @@ - - - + + + Quick Mount Montaje rápido @@ -376,24 +376,24 @@ Aceptar - - - - + + + + Logging Registro - - - + + + Ambient Light Ambiente claro - - + + Ambient Dark Ambiente oscuro @@ -408,7 +408,7 @@ Limpiar registros al iniciar. - + Run recent program Ejecutar programa reciente @@ -418,30 +418,30 @@ Mostrar el cuadro de dialogo ejecutar. - + - + - + Language Idioma - - + + Themes Temas - - - - + + + + Network Red - + Proxy settings Ajustes del proxy @@ -532,14 +532,14 @@ - - - + + + AppDB browser Navegador de AppDB - + AppDB browser subsystem: Subsistema del navegador de AppDB: @@ -550,15 +550,15 @@ - - - + + + Desktop Menu Revisar Menu Escritorio - + Desktop menu plugin Revisar Plugin menu Escritorio @@ -588,15 +588,15 @@ - - - + + + Defaults same - + Program icons Iconos de aplicaciones @@ -606,7 +606,12 @@ Usar un solo click para ejecutar las aplicaciones. - + + Hide program arguments in the icon info display. + + + + File dialogs Cuadro de dialogo de abrir archivo @@ -624,8 +629,8 @@ - - + + Desktop Integration @@ -662,8 +667,8 @@ - - + + Run dialog Cuadro de dialogo Ejecutar @@ -671,8 +676,8 @@ - - + + Wine desktop import Sistema de importacion de Q4Wine @@ -683,35 +688,35 @@ - - + + Interface Interfaz - - + + Subsystems Subsistemas - - + + Plugins same - - + + Advanced Avanzado - + Default virtual desktop Escritorio virtual por defecto @@ -737,7 +742,7 @@ - + Default Por defecto @@ -758,12 +763,12 @@ - + No virtual desktop Sin escritorio virtual - + Import Wine desktop files at Q4Wine startup. Importar archivos de escritorio de Wine al comienzo de Q4wine. @@ -2576,12 +2581,11 @@ %1 :. Qt GUI para Wine v%2 - Program: %1<br> Args: %2 - Programa: %1<br> Argumentos: %2 + Programa: %1<br> Argumentos: %2 - + Socket file "%1" already exists! El archivo socket: "%1" ya existe! @@ -2625,7 +2629,24 @@ Parece que otra instancia de q4wine ya esta corriendo, o se cerro incorrectamente. ¿Desea cerrarlo? - + + Program: %1 + + + + + + + Args: %1 + + + + + hidden + + + + @@ -3153,7 +3174,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. Crear o actualizar la cache de q4wine para las aplicaciones de Winetricks. diff -Nru q4wine-1.3.11/src/l10n/q4wine_fa.ts q4wine-1.3.12/src/l10n/q4wine_fa.ts --- q4wine-1.3.11/src/l10n/q4wine_fa.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_fa.ts 2020-02-08 12:56:10.000000000 +0000 @@ -214,17 +214,17 @@ - + - + - + General عمومی - + Wine settings تنظیمات شراب @@ -250,7 +250,7 @@ - + Default پیش فرض @@ -303,14 +303,14 @@ - - - + + + System سیستم - + System utils امکانات سیستم @@ -349,14 +349,14 @@ - - - + + + Utils امکانات - + Console خط فرمان @@ -375,14 +375,14 @@ - - - + + + Network شبکه - + Proxy settings تنظیمات پروکسی @@ -393,7 +393,7 @@ - + No Proxy @@ -429,14 +429,14 @@ - + - + Quick Mount سوارکردن سریع سیستم فایل - + Select Quick Mount Profile انتخاب پروفایل سوارکردن سریع سیستم فایل @@ -463,40 +463,40 @@ - - - + + + Language زبان - + Language: زبان: - - + + System Default تنظیمات پیش فرض سیستم - + Themes الگوهای گرافیکی - - - + + + Logging ثبت ورود و خروج - + Logging subsystem: زیرسیستم ثبت ورود و خروج: @@ -512,14 +512,14 @@ - - - + + + AppDB browser پویشگر بانک اطلاعاتی نرم افزار - + AppDB browser subsystem: زیرسیستم پویشگر بانک اطلاعاتی نرم افزار: @@ -530,14 +530,14 @@ - - - + + + Desktop Menu منوی میزکار - + Desktop menu plugin افزونه ی منوی میزکار @@ -562,15 +562,15 @@ - - + + Ambient Light - - + + Ambient Dark @@ -581,14 +581,14 @@ - + - + Defaults پیش فرض ها - + Default virtual desktop میزکار مجازی پیش فرض @@ -619,7 +619,12 @@ اجرای نرم افزار با تک کلیک روی آیکون. - + + Hide program arguments in the icon info display. + + + + File dialogs پنجره های فایل @@ -636,8 +641,8 @@ - - + + Desktop Integration @@ -674,8 +679,8 @@ - - + + Run dialog پنجره ی اجرا @@ -693,8 +698,8 @@ - - + + Wine desktop import واردکردن میزکار شراب @@ -710,29 +715,29 @@ - - + + Interface رابط - - + + Subsystems زیرسیستم - - + + Plugins برنامه های جانبی - - + + Advanced پیشرفته @@ -752,12 +757,12 @@ قبول کردن - + generic عمومی - + Open File باز کردن فایل @@ -769,7 +774,7 @@ - + @@ -778,7 +783,7 @@ خطا - + Sorry, specify proxy host. با عرض پوزش، لطفا میزبان پروکسی رامشخص کنید. @@ -788,7 +793,7 @@ با عرض پوزش، لطفا پورت وردوی پروکسی را مشخص کنید. - + Invalid virtual desktop size. @@ -2890,12 +2895,28 @@ - Program: %1<br> Args: %2 - برنامه: %1<br> آرگومان های: %2 + برنامه: %1<br> آرگومان های: %2 - + + Program: %1 + + + + + + + Args: %1 + + + + + hidden + + + + Description: %1 توضیحات: %1 @@ -3121,7 +3142,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. ایجاد و یا به روز آوری حافظه ی کَشQt4Wine از برنامه های کلک رشتی. diff -Nru q4wine-1.3.11/src/l10n/q4wine_fr.ts q4wine-1.3.12/src/l10n/q4wine_fr.ts --- q4wine-1.3.11/src/l10n/q4wine_fr.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_fr.ts 2020-02-08 12:56:10.000000000 +0000 @@ -213,19 +213,19 @@ - + No Proxy Pas de proxy - + generic générique - + Open File Ouvrir un fichier @@ -237,7 +237,7 @@ - + @@ -246,7 +246,7 @@ Erreur - + Sorry, specify proxy host. Veuillez préciser un hôte. @@ -256,7 +256,7 @@ Veuillez préciser un port. - + Invalid virtual desktop size. @@ -282,24 +282,24 @@ - - + + System Default Paramètres par défaut du système - + - + General Général - + Wine settings Paramètres de Wine @@ -328,27 +328,27 @@ - - - + + + System Système - + System utils Utilitaires système - - - + + + Utils Utilitaires - + Console Console @@ -359,22 +359,22 @@ - - - + + + Quick Mount Montage rapide - - - - + + + + Logging Journalisation - + Logging subsystem: @@ -384,7 +384,7 @@ Effacer les fichiers journaux au démarrage. - + Run recent program @@ -399,30 +399,30 @@ OK - + - - - + + + Language Langue - - + + Themes Thèmes - - - - + + + + Network Réseau - + Proxy settings Paramètres du proxy @@ -458,7 +458,7 @@ - + Default Défaut @@ -519,14 +519,14 @@ - - - + + + AppDB browser - + AppDB browser subsystem: @@ -537,14 +537,14 @@ - - - + + + Desktop Menu - + Desktop menu plugin @@ -570,14 +570,14 @@ - - - + + + Defaults Par défaut - + Program icons Icônes du programme @@ -587,7 +587,12 @@ - + + Hide program arguments in the icon info display. + + + + File dialogs @@ -604,8 +609,8 @@ - - + + Desktop Integration Intégration du bureau @@ -642,8 +647,8 @@ - - + + Run dialog @@ -651,8 +656,8 @@ - - + + Wine desktop import @@ -663,34 +668,34 @@ - - + + Interface Interface - - + + Subsystems - - + + Plugins Modules - - + + Advanced Avancé - + Default virtual desktop Bureau virtuel par défaut @@ -706,15 +711,15 @@ - - + + Ambient Light Ambient clair - - + + Ambient Dark Ambient foncé @@ -730,12 +735,12 @@ - + No virtual desktop Pas de bureau virtuel - + Import Wine desktop files at Q4Wine startup. @@ -2449,12 +2454,7 @@ - - Program: %1<br> Args: %2 - - - - + Socket file "%1" already exists! @@ -2524,7 +2524,24 @@ - + + Program: %1 + + + + + + + Args: %1 + + + + + hidden + + + + Yes @@ -2990,7 +3007,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. diff -Nru q4wine-1.3.11/src/l10n/q4wine_he.ts q4wine-1.3.12/src/l10n/q4wine_he.ts --- q4wine-1.3.11/src/l10n/q4wine_he.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_he.ts 2020-02-08 12:56:10.000000000 +0000 @@ -213,19 +213,19 @@ - + No Proxy אין מתווך - + generic כללי - + Open File פתיחת קובץ @@ -237,7 +237,7 @@ - + @@ -246,7 +246,7 @@ שגיאה - + Sorry, specify proxy host. נא לציין את מארח המתווך, עמך הסליחה. @@ -256,7 +256,7 @@ נא לציין את הפתחה במתווך, עמך הסליחה. - + Invalid virtual desktop size. @@ -282,38 +282,38 @@ - - + + System Default בררת המחדל של המערכת - + - + General כללי - + Wine settings הגדרות Wine - - + + Ambient Light - - + + Ambient Dark @@ -342,14 +342,14 @@ - + - + System מערכת - + System utils כלי המערכת @@ -387,14 +387,14 @@ - - - + + + Utils כלים - + Console מסוף @@ -405,22 +405,22 @@ - - - + + + Quick Mount עיגון מהיר - - - - + + + + Logging מעקב - + Logging subsystem: תת מערכת המעקב: @@ -435,7 +435,7 @@ הערה: מאחר ש־SQLite לא תוכנן כדי לטפל בכמויות גדולות של נתונים, נטרול אפשרות זו עלול לגרום להשפעה שלילית על הביצועים של Q4Wine. יש להשתמש בזה בזהירות. - + Run recent program הפעלת תכנית שהופעלה לאחרונה @@ -458,30 +458,30 @@ icotool: - + - - - + + + Language שפה - - + + Themes ערכות נושא - - - - + + + + Network רשת - + Proxy settings הגדרות מתווך @@ -577,14 +577,14 @@ - - - + + + AppDB browser דפדפן AppDB - + AppDB browser subsystem: תת־מערכת דפדפן ה־AppDB: @@ -595,14 +595,14 @@ - - - + + + Desktop Menu תפריט שולחן העבודה - + Desktop menu plugin תוסף תפריט שולחן העבודה @@ -628,14 +628,14 @@ - - - + + + Defaults בררות מחדל - + Program icons סמלי התכניות @@ -645,7 +645,12 @@ שימוש בלחיצה בודדת כדי להריץ סמלי תכניות. - + + Hide program arguments in the icon info display. + + + + File dialogs תיבות דו־שיח לקבצים @@ -662,8 +667,8 @@ - - + + Desktop Integration @@ -700,8 +705,8 @@ - - + + Run dialog תיבת דו־שיח הפעלה @@ -709,8 +714,8 @@ - - + + Wine desktop import יבוא משולחן עבודה Wine @@ -721,34 +726,34 @@ - - + + Interface מנשק - - + + Subsystems תת־מערכות - - + + Plugins תוספים - - + + Advanced מתקדם - + Default virtual desktop שולחן העבודה הווירטואלי כבררת מחדל @@ -774,7 +779,7 @@ - + Default בררת מחדל @@ -790,12 +795,12 @@ - + No virtual desktop אין שולחן עבודה וירטואלי - + Import Wine desktop files at Q4Wine startup. יבוא קובצי שולחן עבודה של Wine עם הפעלת Q4Wine. @@ -2569,12 +2574,11 @@ %1 :. מנשק Qt עבור Wine גרסה %2 - Program: %1<br> Args: %2 - התכנית %1<br> ארגומנטים: %2 + התכנית %1<br> ארגומנטים: %2 - + Socket file "%1" already exists! קובץ השקע "%1" כבר קיים! @@ -2667,7 +2671,24 @@ התרעת מסייע - + + Program: %1 + + + + + + + Args: %1 + + + + + hidden + + + + Cannot start application: "%1" for prefix: "%2". לא ניתן להפעיל את היישום "%1" עבור הקידומת: "%2". @@ -3126,7 +3147,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. יצירה או עדכון של מטמון ה־Q4Wine של יישומי Winetricks. diff -Nru q4wine-1.3.11/src/l10n/q4wine_it.ts q4wine-1.3.12/src/l10n/q4wine_it.ts --- q4wine-1.3.11/src/l10n/q4wine_it.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_it.ts 2020-02-08 12:56:10.000000000 +0000 @@ -213,19 +213,19 @@ - + No Proxy Nessun Proxy - + generic generico - + Open File Apri file @@ -237,7 +237,7 @@ - + @@ -246,7 +246,7 @@ Errore - + Sorry, specify proxy host. Spiacente, specifica un proxy. @@ -256,7 +256,7 @@ Spiacente, specifica una porta per il proxy. - + Invalid virtual desktop size. @@ -282,24 +282,24 @@ - - + + System Default Default di sistema - + - + General Generale - + Wine settings Impostazioni Wine @@ -328,14 +328,14 @@ - - - + + + System Sistema - + System utils Utility di sistema @@ -373,14 +373,14 @@ - - - + + + Utils Utility - + Console Console @@ -391,9 +391,9 @@ - - - + + + Quick Mount Montaggio rapido @@ -403,24 +403,24 @@ Ok - - - - + + + + Logging Registrazione - - - + + + Ambient Light Ambiente luminoso - - + + Ambient Dark Ambiente scuro @@ -435,7 +435,7 @@ Cancella log all'avvio. - + Run recent program Esegui programmi recenti @@ -453,30 +453,30 @@ icotool: - + - + - + Language Lingue - - + + Themes Temi - - - - + + + + Network Rete - + Proxy settings Settaggio proxy @@ -572,14 +572,14 @@ - - - + + + AppDB browser Browser AppDB - + AppDB browser subsystem: Sottosistema del browser di AppDB: @@ -590,14 +590,14 @@ - - - + + + Desktop Menu Menu Desktop - + Desktop menu plugin Plugin menu desktop @@ -623,14 +623,14 @@ - - - + + + Defaults Defaults - + Program icons Icone del programma @@ -640,7 +640,12 @@ Usa un click singolo per eseguire il programma. - + + Hide program arguments in the icon info display. + + + + File dialogs Finestra dei file @@ -657,8 +662,8 @@ - - + + Desktop Integration @@ -695,8 +700,8 @@ - - + + Run dialog Esegui finestra @@ -704,8 +709,8 @@ - - + + Wine desktop import Importa il desktop di Wine @@ -716,34 +721,34 @@ - - + + Interface Interfaccia - - + + Subsystems Sottosistema - - + + Plugins Plugins - - + + Advanced Avanzate - + Default virtual desktop Desktop virtuale di default @@ -769,7 +774,7 @@ - + Default Default @@ -790,12 +795,12 @@ - + No virtual desktop Nessun desktop virtuale - + Import Wine desktop files at Q4Wine startup. Importa i file desktop di Wine all'avvio di Q4Wine. @@ -2601,12 +2606,11 @@ %1: Interfaccia Qt per Wine v%2 - Program: %1<br> Args: %2 - Programma:%1<br> Argomenti:%2 + Programma:%1<br> Argomenti:%2 - + Socket file "%1" already exists! Il socket "%1" esiste già! @@ -2721,7 +2725,24 @@ Descrizione:%1 - + + Program: %1 + + + + + + + Args: %1 + + + + + hidden + + + + Yes Si @@ -3162,7 +3183,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. Crea o aggiorna la cache di Q4wine per le applicazioni Winetricks. diff -Nru q4wine-1.3.11/src/l10n/q4wine_ja.ts q4wine-1.3.12/src/l10n/q4wine_ja.ts --- q4wine-1.3.11/src/l10n/q4wine_ja.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_ja.ts 2020-02-08 12:56:10.000000000 +0000 @@ -213,24 +213,24 @@ - + - + - + General 一般 - + Wine settings Wine の設定 You can call it via Tools menu or via shortcut Ctrl+M - "ツール" メニューもしくはショートカット Ctrl+M で呼び出すことができます + "ツール" メニューまたはショートカット Ctrl+M で呼び出すことができます @@ -264,27 +264,27 @@ - - - + + + System システム - + System utils システム ユーティリティ - - - + + + Utils ユーティリティ - + Console 端末 @@ -300,14 +300,14 @@ - - - + + + Network ネットワーク - + Proxy settings プロキシ設定 @@ -318,7 +318,7 @@ - + No Proxy @@ -346,14 +346,14 @@ - + - + Quick Mount クイック マウント - + Select Quick Mount Profile クイック マウントのプロファイルを選択 @@ -380,40 +380,40 @@ - - - + + + Language 言語 - + Language: 言語: - - + + System Default システムの既定値 - + Themes テーマ - - - + + + Logging ロギング - + Logging subsystem: ロギング サブシステム: @@ -429,14 +429,14 @@ - - - + + + Desktop Menu デスクトップ メニュー - + Desktop menu plugin デスクトップ メニュー プラグイン @@ -462,14 +462,14 @@ - - - + + + Defaults 既定の項目 - + Default virtual desktop 既定の仮想デスクトップ @@ -500,7 +500,12 @@ プログラム アイコンをシングル クリックで実行する - + + Hide program arguments in the icon info display. + アイコン情報表示でプログラムの引数を隠す + + + File dialogs ファイル ダイアログ @@ -517,8 +522,8 @@ - - + + Desktop Integration デスクトップ統合 @@ -555,8 +560,8 @@ - - + + Run dialog 実行ダイアログ @@ -574,8 +579,8 @@ - - + + Wine desktop import Wine デスクトップ インポート @@ -591,29 +596,29 @@ - - + + Interface インターフェース - - + + Subsystems サブシステム - - + + Plugins プラグイン - - + + Advanced 高度な設定 @@ -628,12 +633,12 @@ OK - + generic generic - + Open File ファイルを開く @@ -645,7 +650,7 @@ - + @@ -654,7 +659,7 @@ エラー - + Sorry, specify proxy host. プロキシのホストを指定してください。 @@ -664,9 +669,9 @@ プロキシのポートを指定してください。 - + Invalid virtual desktop size. - + 仮想デスクトップのサイズが無効です。 @@ -689,7 +694,7 @@ 指定された %1 のバイナリは存在しません。 - + App Icon Q4Wine のアイコン @@ -700,34 +705,34 @@ - + Default 既定 - + Ambient Light アンビエント ライト (Ambient Light) - - + + Ambient Dark アンビエント ダーク (Ambient Dark) - + - + AppDB browser AppDB ブラウザ - + AppDB browser subsystem: AppDB ブラウザ サブシステム: @@ -737,7 +742,7 @@ システム ブラウザでアプリケーションの詳細を開く - + Help ヘルプ @@ -2069,7 +2074,7 @@ Invalid virtual desktop size. - + 仮想デスクトップのサイズが無効です。 @@ -2565,12 +2570,28 @@ %1 :. Qt GUI for Wine v%2 - Program: %1<br> Args: %2 - プログラム: %1<br> 引数: %2 + プログラム: %1<br> 引数: %2 - + + Program: %1 + プログラム: %1 + + + + + + Args: %1 + 引数: %1 + + + + hidden + 非表示 + + + Description: %1 説明: %1 @@ -2602,7 +2623,7 @@ It seems that another instance of Q4Wine is running, or Q4Wine was shutdown incorrectly. Do you wish to remove the socket file? - 別の Q4Wine が動作中か、もしくは前回 Q4Wine が正常に終了しなかったようです。ソケット ファイルを削除しますか? + 別の Q4Wine が動作中か、または前回 Q4Wine が正常に終了しなかったようです。ソケット ファイルを削除しますか? @@ -2916,12 +2937,12 @@ Install or update Winetricks script - Winetricks スクリプトのインストールもしくは更新 + Winetricks スクリプトのインストールまたは更新 Install new or update installed Winetricks script. - Winetricks スクリプトを新規にインストールするか、もしくは更新します。 + Winetricks スクリプトを新規にインストールするか、または更新します。 @@ -2931,8 +2952,8 @@ - Create or update Q4Wine's cache of Winetricks appications. - Q4Wine による Winetricks アプリケーションのキャッシュを作成もしくは更新します。 + Create or update Q4Wine's cache of Winetricks applications. + Q4Wine による Winetricks アプリケーションのキャッシュを作成または更新します。 @@ -4158,12 +4179,12 @@ mount a cd image or drive for current prefix and exit - 現在の実行環境用に CD イメージもしくはドライブをマウントして終了 + 現在の実行環境用に CD イメージまたはドライブをマウントして終了 unmount a cd image or drive for current prefix and exit - 現在の実行環境用に CD イメージもしくはドライブをマウント解除して終了 + 現在の実行環境用に CD イメージまたはドライブをマウント解除して終了 @@ -4442,7 +4463,7 @@ Invalid virtual desktop size. - + 仮想デスクトップのサイズが無効です。 diff -Nru q4wine-1.3.11/src/l10n/q4wine_pl.ts q4wine-1.3.12/src/l10n/q4wine_pl.ts --- q4wine-1.3.11/src/l10n/q4wine_pl.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_pl.ts 2020-02-08 12:56:10.000000000 +0000 @@ -265,19 +265,19 @@ - + No Proxy Bez proxy - + generic - + Open File Otwórz plik @@ -289,7 +289,7 @@ - + @@ -298,7 +298,7 @@ Błąd - + Sorry, specify proxy host. Przepraszamy, podaj host proxy. @@ -308,7 +308,7 @@ Przepraszamy, podaj port proxy. - + Invalid virtual desktop size. @@ -342,38 +342,38 @@ - - + + System Default Domyślny systemowy - + - + General Ogólne - + Wine settings Ustawienia Wine - - + + Ambient Light - - + + Ambient Dark @@ -406,14 +406,14 @@ - + - + System System - + System utils Narzędzia systemowe @@ -451,14 +451,14 @@ - - - + + + Utils Narzędzia - + Console Konsola @@ -469,22 +469,22 @@ - - - + + + Quick Mount Szybkie montowanie - - - - + + + + Logging Logowanie - + Logging subsystem: Podsystem logowania: @@ -507,7 +507,7 @@ Winetricks - + Run recent program Uruchom najnowszy program @@ -526,7 +526,7 @@ wrestool: - + You can call it via Tools menu or via shortcut Ctrl+M @@ -547,7 +547,7 @@ - + Default Domyślne @@ -558,28 +558,28 @@ - - - + + + Language Język - - + + Themes Motywy - - - - + + + + Network Sieć - + Proxy settings Ustawienia proxy @@ -679,14 +679,14 @@ - - - + + + AppDB browser Przeglądarka AppDB - + AppDB browser subsystem: Podsystem przeglądarki AppDB: @@ -697,14 +697,14 @@ - - - + + + Desktop Menu - + Desktop menu plugin @@ -730,14 +730,14 @@ - - - + + + Defaults Domyślne - + Program icons Ikony programów @@ -747,7 +747,12 @@ Użyj pojedyńczego kliknięcia, aby uruchamiać ikony. - + + Hide program arguments in the icon info display. + + + + File dialogs Okna otwierania pliku @@ -764,8 +769,8 @@ - - + + Desktop Integration @@ -802,8 +807,8 @@ - - + + Run dialog Uruchom @@ -811,8 +816,8 @@ - - + + Wine desktop import Import pulpitu wine @@ -827,15 +832,15 @@ - - + + Interface Interface - - + + Subsystems Podsystemy @@ -845,20 +850,20 @@ - - + + Plugins Wtyczki - - + + Advanced Zaawansowane - + Default virtual desktop Domyślny pulpit wirtualny @@ -883,7 +888,7 @@ Bez wirtualnego pulpitu - + Import Wine desktop files at Q4Wine startup. @@ -2821,12 +2826,11 @@ Zarządzaj prefiksami - Program: %1<br> Args: %2 - Program: %1<br> Args: %2 + Program: %1<br> Args: %2 - + Socket file "%1" already exists! Plik gniazda "%1" już istnieje! Socket file "%1" already exists! @@ -2981,7 +2985,24 @@ - + + Program: %1 + + + + + + + Args: %1 + + + + + hidden + + + + Cannot start application: "%1" for prefix: "%2". @@ -3471,7 +3492,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. diff -Nru q4wine-1.3.11/src/l10n/q4wine_pt_BR.ts q4wine-1.3.12/src/l10n/q4wine_pt_BR.ts --- q4wine-1.3.11/src/l10n/q4wine_pt_BR.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_pt_BR.ts 2020-02-08 12:56:10.000000000 +0000 @@ -277,17 +277,17 @@ - + - + - + General Geral - + Wine settings Definições de Wine @@ -320,14 +320,14 @@ - - - + + + System Sistema - + System utils Utilitários do sistema @@ -365,14 +365,14 @@ - - - + + + Utils Utilitários - + Console Console @@ -387,22 +387,22 @@ - - - + + + Quick Mount Montagem rápida - - - - + + + + Logging Registro - + Logging subsystem: Subsistema de registro: @@ -420,7 +420,7 @@ Winetricks - + Run recent program Executar programa recente @@ -434,7 +434,7 @@ wrestool: - + You can call it via Tools menu or via shortcut Ctrl+M @@ -455,7 +455,7 @@ - + Default Padrão @@ -471,33 +471,33 @@ - - - + + + Language Idioma - + Language: Idioma: - - + + Themes Тemas - - - + + + Network Rede - + Proxy settings Definições de proxy @@ -513,7 +513,7 @@ - + No Proxy @@ -569,28 +569,28 @@ Expandir ítens da árvore de prefixos ao iniciar. - + - + Advanced Avançado - + Mount: Montar: - - + + Ambient Light - - + + Ambient Dark @@ -624,14 +624,14 @@ - + - + AppDB browser Navegar no AppDB - + AppDB browser subsystem: Navegar no subsistema AppDB: @@ -642,14 +642,14 @@ - - - + + + Desktop Menu Menu Do Desktop - + Desktop menu plugin Plug-in do menu do desktop @@ -675,14 +675,14 @@ - - - + + + Defaults Padrões - + Default virtual desktop Desktop virtual padrão @@ -713,7 +713,12 @@ Usar um único clique para executar ícones do programa. - + + Hide program arguments in the icon info display. + + + + File dialogs Caixas de diálogo de arquivos @@ -730,8 +735,8 @@ - - + + Desktop Integration @@ -768,8 +773,8 @@ - - + + Run dialog Excutar diálogo @@ -777,8 +782,8 @@ - - + + Wine desktop import Importar desktop wine @@ -793,15 +798,15 @@ - - + + Interface Interface - - + + Subsystems Subsistemas @@ -811,8 +816,8 @@ - - + + Plugins Plug-ins @@ -827,12 +832,12 @@ Ajuda - + Note: Since SQLite was not designed to handle large amount of data, activating this can have a negative impact on the performance of Q4Wine. Use it with care. Nota: O SQLite não foi projetado para lidar com grande quantidade de dados, ativando isso pode ter um impacto negativo sobre o desempenho do Q4Wine. Use-o com cuidado. - + Import Wine desktop files at Q4Wine startup. Importar arquivos do desktop Wine ao iniciar Q4Wine. @@ -842,12 +847,12 @@ Cancelar - + generic genérico - + Open File Abrir Arquivo @@ -859,7 +864,7 @@ - + @@ -868,7 +873,7 @@ Erro - + Sorry, specify proxy host. Desculpe, especifique o servidor proxy. @@ -878,7 +883,7 @@ Desculpe, especifique a porta do proxy. - + Invalid virtual desktop size. @@ -911,9 +916,9 @@ Desculpe, o binário %1 especifiqcado não existe. - - - + + + System Default Sistema Padrão @@ -2855,7 +2860,7 @@ Prefixos - + Default Padrão @@ -3217,12 +3222,11 @@ Executar plug-in Winetricks - Program: %1<br> Args: %2 - Programa: %1<br> Argumentos: %2 + Programa: %1<br> Argumentos: %2 - + Socket file "%1" already exists! Arquivo de socket "%1" já existe! @@ -3283,7 +3287,24 @@ Desculpe, ainda não há assistente de instalação. Ele será implementado na versão 0.110. - + + Program: %1 + + + + + + + Args: %1 + + + + + hidden + + + + It seems that another instance of Q4Wine is running, or Q4Wine was shutdown incorrectly. Do you wish to remove the socket file? Parece que outra instância de Q4Wine está em execução, ou Q4Wine foi desligado incorretamente. Você deseja remover o arquivo de socket? @@ -3518,7 +3539,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. Criar ou atualizar cache de Q4Wine de aplicações do Winetricks. @@ -3543,7 +3564,7 @@ Desculpe, nenhuma configuração da unidade virtual encontrada.<br>Crie uma configuração de unidade virtual antes de tentar atualizá-la. - Create or update q4wine's cache of Winetricks appications. + Create or update q4wine's cache of Winetricks applications. Criar ou atualizar cache de q4wine dos programas Winetricks. diff -Nru q4wine-1.3.11/src/l10n/q4wine_ru.ts q4wine-1.3.12/src/l10n/q4wine_ru.ts --- q4wine-1.3.11/src/l10n/q4wine_ru.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_ru.ts 2020-02-08 12:56:10.000000000 +0000 @@ -213,31 +213,31 @@ - + - + - + General Главные - + Wine settings Параметры Wine - - + + Ambient Light Монохромная светлая - - + + Ambient Dark Монохромная тёмная @@ -266,27 +266,27 @@ - + - + System Система - + System utils Системные утилиты - - - + + + Utils Утилиты - + Console Консоль @@ -297,22 +297,22 @@ - - - + + + Quick Mount Быстрое подключение - - - - + + + + Logging Журналирование - + Logging subsystem: Подсистема журналирования: @@ -322,7 +322,7 @@ Очищать журналы во время запуска. - + Run recent program Запустить недавнюю программу @@ -332,40 +332,40 @@ Открыть диалог запуска. - + Use tray icon. Показывать значок в системном лотке. - - - + + + Language Язык - + Language: Язык: - - + + Themes Темы - - - + + + Network Сеть - + Proxy settings Настройки прокси @@ -381,7 +381,7 @@ - + No Proxy @@ -421,19 +421,19 @@ Пользователь: - + Import Wine desktop files at Q4Wine startup. Импортировать файлы рабочего стола Wine при запуске Q4Wine. - + Advanced Дополнительно - + Mount: Подключение: @@ -459,7 +459,7 @@ - + Default По умолчанию @@ -490,14 +490,14 @@ - - - + + + AppDB browser Обозреватель AppDB - + AppDB browser subsystem: Подсистема обозревателя AppDB: @@ -508,14 +508,14 @@ - - - + + + Desktop Menu Меню рабочего стола - + Desktop menu plugin Дополнение меню рабочего стола @@ -541,14 +541,14 @@ - - - + + + Defaults Стандартные - + Default virtual desktop Стандартный виртуальный рабочий стол @@ -579,7 +579,12 @@ Использовать одинарный клик для запуска программ. - + + Hide program arguments in the icon info display. + Скрыть аргументы программы в информации о значке. + + + File dialogs Диалог файлов @@ -596,8 +601,8 @@ - - + + Desktop Integration Интеграция с рабочим столом @@ -634,8 +639,8 @@ - - + + Run dialog Диалог запуска @@ -643,8 +648,8 @@ - - + + Wine desktop import Импорт файлов рабочего стола wine @@ -655,22 +660,22 @@ - - + + Interface Интерфейс - - + + Subsystems Подсистемы - - + + Plugins Дополнения @@ -690,12 +695,12 @@ Отмена - + generic основной - + Open File Открыть файл @@ -707,7 +712,7 @@ - + @@ -716,7 +721,7 @@ Ошибка - + Sorry, specify proxy host. Введите узел прокси. @@ -726,7 +731,7 @@ Введите порт прокси. - + Invalid virtual desktop size. Недопустимый размер виртуального рабочего стола. @@ -751,9 +756,9 @@ Указанный файл %1 не существует. - - - + + + System Default Системные умолчания @@ -2563,7 +2568,7 @@ Префиксы - + Default Умолчания @@ -2877,12 +2882,11 @@ Описание: %1 - Program: %1<br> Args: %2 - Программа: %1<br> Агрументы: %2 + Программа: %1<br> Агрументы: %2 - + Socket file "%1" already exists! Файл сокета "%1" уже существует! @@ -2950,7 +2954,24 @@ оповещение от помощника - + + Program: %1 + Программа: %1 + + + + + + Args: %1 + Аргументы: %1 + + + + hidden + скрытые + + + Cannot start application: "%1" for prefix: "%2". Не могу запустить программу: "%1" для префикса: "%2". @@ -3114,7 +3135,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. Создать или обновить в Q4Wine кэш программ из Winetricks. diff -Nru q4wine-1.3.11/src/l10n/q4wine_uk.ts q4wine-1.3.12/src/l10n/q4wine_uk.ts --- q4wine-1.3.11/src/l10n/q4wine_uk.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_uk.ts 2020-02-08 12:56:10.000000000 +0000 @@ -213,31 +213,31 @@ - + - + - + General Загальні - + Wine settings Параметри Wine - - + + Ambient Light Монохромна світла - - + + Ambient Dark Монохромна темна @@ -266,14 +266,14 @@ - + - + System Система - + System utils Системні засоби @@ -311,14 +311,14 @@ - - - + + + Utils Утиліти - + Console Консоль @@ -329,22 +329,22 @@ - - - + + + Quick Mount Швидке Монтування - - - - + + + + Logging Журналювання - + Logging subsystem: Підсистема журналювання: @@ -354,7 +354,7 @@ Очищати журнали під час старту. - + Run recent program Запуск нещодавних програм @@ -368,7 +368,7 @@ wrestool: - + Use tray icon. Використовувати піктограму у лотку. @@ -379,33 +379,33 @@ - - - + + + Language Мова - + Language: Мова: - - + + Themes Теми - - - + + + Network Мережа - + Proxy settings Параметри проксі @@ -421,7 +421,7 @@ - + No Proxy @@ -461,14 +461,14 @@ Користувач: - + - + Advanced Додатково - + Mount: Монтування: @@ -495,7 +495,7 @@ - + Default За замовчуванням @@ -525,14 +525,14 @@ - - - + + + AppDB browser Навігатор AppDB - + AppDB browser subsystem: Підсистема навігації AppDB: @@ -543,14 +543,14 @@ - - - + + + Desktop Menu Меню стільниці - + Desktop menu plugin Додаток меню стільниці @@ -577,14 +577,14 @@ - - - + + + Defaults Типові - + Default virtual desktop Типова віртуальна стільниця @@ -615,7 +615,12 @@ Використовувати одинарне клацання для запуску піктограм. - + + Hide program arguments in the icon info display. + Приховати аргументи програми в інформації про піктограму. + + + File dialogs Діалог файлів @@ -632,8 +637,8 @@ - - + + Desktop Integration Інтеграція робочого столу @@ -670,8 +675,8 @@ - - + + Run dialog Диалог запуску @@ -679,8 +684,8 @@ - - + + Wine desktop import Імпорт десктоп файлів wine @@ -691,22 +696,22 @@ - - + + Interface Інтерфейс - - + + Subsystems Підсистеми - - + + Plugins Додатки @@ -721,12 +726,12 @@ Довідка - + Note: Since SQLite was not designed to handle large amount of data, activating this can have a negative impact on the performance of Q4Wine. Use it with care. Зауваження: У зв'язку з обмеженнями sqlite, великий об'єм даних з журналювання, може знизити швидкість роботи Q4Wine. Використовуйте журналювання обережно. Вас попередили. - + Import Wine desktop files at Q4Wine startup. Імпортувати десктопні файли Wine підчас запуску Q4Wine. @@ -736,12 +741,12 @@ Скасувати - + generic загильний - + Open File Відкрити файл @@ -753,7 +758,7 @@ - + @@ -762,7 +767,7 @@ Помилка - + Sorry, specify proxy host. Будь ласка, вкажіть вузол проксі-сервера. @@ -772,7 +777,7 @@ Будь ласка, вкажіть порт проксі-сервера. - + Invalid virtual desktop size. Неприпустимий розмір віртуального робочого столу. @@ -797,9 +802,9 @@ Вибачте, вказаного виконуваного файла %1 не існує. - - - + + + System Default Системна локаль @@ -2601,7 +2606,7 @@ Префікси - + Default Типові @@ -2675,7 +2680,7 @@ - + %1 :. Qt GUI for Wine v%2 %1 : Графічна оболонка на Qt для Wine версії %2 @@ -2916,17 +2921,33 @@ - + Description: %1 Опис: %1 - Program: %1<br> Args: %2 - Програма: %1<br> Аргументи: %2 + Програма: %1<br> Аргументи: %2 - + + Program: %1 + Програма: %1 + + + + + + Args: %1 + Параметри: %1 + + + + hidden + приховані + + + Socket file "%1" already exists! Файл сокету "%1" вже існує! @@ -3158,7 +3179,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. Створити або оновити кеш додатків Winetricks. diff -Nru q4wine-1.3.11/src/l10n/q4wine_zh_CN.ts q4wine-1.3.12/src/l10n/q4wine_zh_CN.ts --- q4wine-1.3.11/src/l10n/q4wine_zh_CN.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_zh_CN.ts 2020-02-08 12:56:10.000000000 +0000 @@ -213,19 +213,19 @@ - + No Proxy 无代理服务器 - + generic 通用 - + Open File 打开文件 @@ -237,7 +237,7 @@ - + @@ -246,7 +246,7 @@ 错误 - + Sorry, specify proxy host. 抱歉,请指定代理服务器主机。 @@ -256,7 +256,7 @@ 抱歉,请指定代理服务器端口。 - + Invalid virtual desktop size. @@ -282,24 +282,24 @@ - - + + System Default 系统默认 - + - + General 常规 - + Wine settings Wine 设置 @@ -328,14 +328,14 @@ - - - + + + System 系统 - + System utils 系统实用工具 @@ -373,14 +373,14 @@ - - - + + + Utils 实用工具 - + Console 控制台 @@ -391,22 +391,22 @@ - - - + + + Quick Mount 快速挂载 - - - - + + + + Logging 日志 - + Logging subsystem: 日志子系统: @@ -416,7 +416,7 @@ 启动时清除日志。 - + Run recent program 运行最近使用的程序 @@ -439,30 +439,30 @@ icotool 命令: - + - - - + + + Language 语言 - - + + Themes 主题 - - - - + + + + Network 网络 - + Proxy settings 代理服务器设置 @@ -506,7 +506,7 @@ - + Default 默认值 @@ -571,14 +571,14 @@ - - - + + + AppDB browser AppDB 浏览器 - + AppDB browser subsystem: AppDB 浏览器子系统: @@ -589,14 +589,14 @@ - - - + + + Desktop Menu 桌面菜单 - + Desktop menu plugin 桌面菜单插件 @@ -622,14 +622,14 @@ - - - + + + Defaults 默认值 - + Program icons 程序图标 @@ -639,7 +639,12 @@ 单击启动桌面图标。 - + + Hide program arguments in the icon info display. + + + + File dialogs 文件对话框 @@ -656,8 +661,8 @@ - - + + Desktop Integration @@ -694,8 +699,8 @@ - - + + Run dialog 运行对话框 @@ -703,8 +708,8 @@ - - + + Wine desktop import Wine 桌面导入 @@ -715,34 +720,34 @@ - - + + Interface 界面 - - + + Subsystems 子系统 - - + + Plugins 插件 - - + + Advanced 高级 - + Default virtual desktop 默认虚拟桌面 @@ -758,15 +763,15 @@ - - + + Ambient Light 周边亮色 - - + + Ambient Dark 周边暗色 @@ -782,12 +787,12 @@ - + No virtual desktop 无虚拟桌面 - + Import Wine desktop files at Q4Wine startup. 启动 Q4Wine 时导入 Wine 桌面文件。 @@ -2576,12 +2581,11 @@ %1:Wine v%2 的 Qt 图形界面 - Program: %1<br> Args: %2 - 程序:%1<br> 参数:%2 + 程序:%1<br> 参数:%2 - + Socket file "%1" already exists! 套接字文件“%1”已存在! @@ -2655,7 +2659,24 @@ 描述:%1 - + + Program: %1 + + + + + + + Args: %1 + + + + + hidden + + + + Yes @@ -3129,7 +3150,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. 创建或更新 Q4Wine 的 Winetricks 应用程序缓存。 diff -Nru q4wine-1.3.11/src/l10n/q4wine_zh_TW.ts q4wine-1.3.12/src/l10n/q4wine_zh_TW.ts --- q4wine-1.3.11/src/l10n/q4wine_zh_TW.ts 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/l10n/q4wine_zh_TW.ts 2020-02-08 12:56:10.000000000 +0000 @@ -213,19 +213,19 @@ - + No Proxy 沒有代理伺服器 - + generic 一般 - + Open File 開啟檔案 @@ -237,7 +237,7 @@ - + @@ -246,7 +246,7 @@ 錯誤 - + Sorry, specify proxy host. 抱歉,指定代理伺服器主機。 @@ -256,7 +256,7 @@ 抱歉,指定代理伺服器埠。 - + Invalid virtual desktop size. 無效的虛擬桌面大小。 @@ -282,24 +282,24 @@ - - + + System Default 系統預設 - + - + General 一般 - + Wine settings Wine 設定 @@ -328,14 +328,14 @@ - - - + + + System 系統 - + System utils 系統工具 @@ -373,14 +373,14 @@ - - - + + + Utils 實用工具 - + Console 終端機 @@ -391,22 +391,22 @@ - - - + + + Quick Mount 快速掛載 - - - - + + + + Logging 紀錄 - + Logging subsystem: 紀錄子系統: @@ -416,7 +416,7 @@ 在啟動時清除記錄。 - + Run recent program 執行最近的程式 @@ -439,30 +439,30 @@ icotool: - + - - - + + + Language 語言 - - + + Themes 主題 - - - - + + + + Network 網路 - + Proxy settings 代理伺服器設定 @@ -506,7 +506,7 @@ - + Default 預設值 @@ -571,14 +571,14 @@ - - - + + + AppDB browser AppDB 瀏覽器 - + AppDB browser subsystem: AppDB 瀏覽器子系統: @@ -589,14 +589,14 @@ - - - + + + Desktop Menu 桌面選單 - + Desktop menu plugin 桌面選單外掛程式 @@ -622,14 +622,14 @@ - - - + + + Defaults 預設值 - + Program icons 程式圖示 @@ -639,7 +639,12 @@ 使用滑鼠單擊以執行程式圖示。 - + + Hide program arguments in the icon info display. + 在圖示資訊顯示中隱藏程式參數。 + + + File dialogs 檔案對話框 @@ -656,8 +661,8 @@ - - + + Desktop Integration 桌面整合 @@ -694,8 +699,8 @@ - - + + Run dialog 執行對話框 @@ -703,8 +708,8 @@ - - + + Wine desktop import Wine 桌面匯入 @@ -715,34 +720,34 @@ - - + + Interface 介面 - - + + Subsystems 子系統 - - + + Plugins 外掛程式 - - + + Advanced 進階 - + Default virtual desktop 預設虛擬桌面 @@ -758,15 +763,15 @@ - - + + Ambient Light Ambient Light - - + + Ambient Dark Ambient Dark @@ -782,12 +787,12 @@ - + No virtual desktop 無虛擬桌面 - + Import Wine desktop files at Q4Wine startup. 在 Q4Wine 啟動時匯入 Wine 桌面檔案。 @@ -2593,12 +2598,11 @@ %1 :.Wine v%2 的 Qt 圖形使用者介面 - Program: %1<br> Args: %2 - 程式:%1<br> 參數: %2 + 程式:%1<br> 參數: %2 - + Socket file "%1" already exists! Socket 檔案「%1」已存在! @@ -2672,7 +2676,24 @@ 描述:%1 - + + Program: %1 + 程式:%1 + + + + + + Args: %1 + 參數:%1 + + + + hidden + 已隱藏 + + + Yes @@ -3150,7 +3171,7 @@ - Create or update Q4Wine's cache of Winetricks appications. + Create or update Q4Wine's cache of Winetricks applications. 建立或更新 Q4Wine 的 Winetricks 應用程式快取。 diff -Nru q4wine-1.3.11/src/main.cpp q4wine-1.3.12/src/main.cpp --- q4wine-1.3.11/src/main.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/main.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -82,8 +82,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); if (!CoreLib.get()){ @@ -112,7 +112,7 @@ if (app.arguments().count()>1){ if ((app.arguments().at(1)=="--version") or (app.arguments().at(1)=="-v")){ Qcout<")<")<.")< * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -29,11 +29,11 @@ #endif if (!libq4wine.load()){ - libq4wine.load(); + libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); QString home_path = QDir::homePath(); @@ -43,7 +43,7 @@ base_menu = QString("%1/.config/menus/applications-merged/%2.menu").arg(home_path).arg(APP_SHORT_NAME); } -bool system_menu::add_dom_icons(QDomDocument & menu_xml, QDomElement & root, const QString prefix_name, const QString dir_name, const QStringList & iconsList){ +bool system_menu::add_dom_icons(QDomDocument &menu_xml, QDomElement &root, const QString &prefix_name, const QString &dir_name, const QStringList &iconsList){ if (iconsList.count() <= 0) return true; @@ -74,7 +74,7 @@ return true; } -QDomElement system_menu::create_dom_menu(QDomDocument & menu_xml, QDomElement & root, const QString prefix_name, const QString dir_name){ +QDomElement system_menu::create_dom_menu(QDomDocument &menu_xml, QDomElement &root, const QString &prefix_name, const QString &dir_name){ QString entry; if (prefix_name.isEmpty()){ entry = APP_SHORT_NAME; @@ -99,7 +99,7 @@ return nroot; } -QString system_menu::get_dir_path(const QString prefix_name, const QString dir_name){ +QString system_menu::get_dir_path(const QString &prefix_name, const QString &dir_name){ QStringList path; path << base_icon; path << APP_SHORT_NAME; @@ -114,7 +114,7 @@ return path.join("/"); } -QString system_menu::get_dirfile_path(const QString prefix_name, const QString dir_name){ +QString system_menu::get_dirfile_path(const QString &prefix_name, const QString &dir_name){ QStringList path; QStringList name; @@ -135,7 +135,7 @@ return path.join("/").append("/").append(name.join("-")); } -bool system_menu::move_dir_info(const QString prefix_name, const QString dir_name, const QString new_name) { +bool system_menu::move_dir_info(const QString &prefix_name, const QString &dir_name, const QString &new_name) { QString file_path; QString dir_path; QString dir_path_new; @@ -172,7 +172,7 @@ return true; } -bool system_menu::remove_dir_info(const QString prefix_name, const QString dir_name) { +bool system_menu::remove_dir_info(const QString &prefix_name, const QString &dir_name) { QString file_path; QString dir_path; @@ -208,7 +208,7 @@ return true; } -bool system_menu::create_dir_info(const QString prefix_name, const QString dir_name) { +bool system_menu::create_dir_info(const QString &prefix_name, const QString &dir_name) { QString name; QString icon; @@ -294,7 +294,7 @@ return true; } -bool system_menu::generateSystemMenu(const QString prefix_name, const QString dir_name){ +bool system_menu::generateSystemMenu(const QString &prefix_name, const QString &dir_name){ //if ((prefix_name.isEmpty()) && (dir_name.isEmpty())) { // this->wipeSystemMenu(); //} @@ -355,12 +355,10 @@ } } } - - return writeXMLSystemMenu(); - #ifdef DEBUG qDebug() << "[DD] system_menu::generateSystemMenu: done"; #endif + return writeXMLSystemMenu(); } bool system_menu::wipeSystemMenu(){ diff -Nru q4wine-1.3.11/src/plugins/sysmenu.h q4wine-1.3.12/src/plugins/sysmenu.h --- q4wine-1.3.11/src/plugins/sysmenu.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/plugins/sysmenu.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -44,9 +44,13 @@ public: system_menu(); - bool move_dir_info(const QString prefix_name, const QString dir_name, const QString new_name); - bool create_dir_info(const QString prefix_name = "", const QString dir_name = ""); - bool remove_dir_info(const QString prefix_name, const QString dir_name = ""); + bool move_dir_info(const QString &prefix_name, + const QString &dir_name, + const QString &new_name); + bool create_dir_info(const QString &prefix_name = "", + const QString &dir_name = ""); + bool remove_dir_info(const QString &prefix_name, + const QString &dir_name = ""); /*! \brief Generate System Menu (xml, desktop and directory files) * @@ -55,7 +59,8 @@ * * \return true on success */ - bool generateSystemMenu(const QString prefix_name = "", const QString dir_name = ""); + bool generateSystemMenu(const QString &prefix_name = "", + const QString &dir_name = ""); /*! \brief Write xml menu file * @@ -78,14 +83,23 @@ /*! \brief Create dom menu structure */ - QDomElement create_dom_menu(QDomDocument & menu_xml, QDomElement & root, const QString prefix_name = "", const QString dir_name = ""); + QDomElement create_dom_menu(QDomDocument &menu_xml, + QDomElement &root, + const QString &prefix_name = "", + const QString &dir_name = ""); /*! \brief Populate menu entry with icons descriptions */ - bool add_dom_icons(QDomDocument & menu_xml, QDomElement & root, const QString prefix_name, const QString dir_name, const QStringList & iconsList); - - QString get_dir_path(const QString prefix_name = "", const QString dir_name = ""); - QString get_dirfile_path(const QString prefix_name = "", const QString dir_name = ""); + bool add_dom_icons(QDomDocument &menu_xml, + QDomElement &root, + const QString &prefix_name, + const QString &dir_name, + const QStringList &iconsList); + + QString get_dir_path(const QString &prefix_name = "", + const QString &dir_name = ""); + QString get_dirfile_path(const QString &prefix_name = "", + const QString &dir_name = ""); QDomDocument menu_xml; diff -Nru q4wine-1.3.11/src/plugins/winetricks.cpp q4wine-1.3.12/src/plugins/winetricks.cpp --- q4wine-1.3.11/src/plugins/winetricks.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/plugins/winetricks.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,7 +1,7 @@ /*************************************************************************** * Copyright (C) 2009 by Pavel Zinin (pashazz) * * pzinin@gmail.com * - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -20,7 +20,7 @@ #include "winetricks.h" -winetricks::winetricks(QString prefixName) : QWidget() +winetricks::winetricks(const QString &prefixName) : QWidget() { // Loading libq4wine-core.so #ifdef RELEASE @@ -33,8 +33,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); this->winetricks_bin = QDir::homePath(); @@ -113,7 +113,7 @@ return true; } -void winetricks::run_winetricks(QString item){ +void winetricks::run_winetricks(const QString &item){ if (!check_script()) return; @@ -124,25 +124,26 @@ qDebug()<<"[plugin] run item"; #endif - QStringList args; - if (!console_args.isEmpty()){ - // If we have any conslope parametres, we gona preccess them one by one - QStringList cons_args = console_args.split(" "); - for (int i=0; igetSetting("network", "type", false, 0).toInt(); sh_args.append("env"); @@ -211,6 +212,7 @@ sh_args.append(CoreLib->getWhichOut("sh")); sh_args.append("-c"); sh_args.append(QString("\"%1 --no-isolate %2\"").arg(this->winetricks_bin).arg(item)); + sh_args.append("; echo '== Press Enter to Close =='; read n"); return sh_args; } @@ -283,13 +285,13 @@ args.append(arg); #ifdef DEBUG - qDebug()<<"[DD] winetricks exec: "<setValue(1); QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 100); - #ifdef DEBUG - qDebug()<<"[plugin] parsing winetricks script"; - #endif +#ifdef DEBUG + qDebug()<<"[plugin] parsing winetricks script"; +#endif pd->setLabelText(tr("Dropping stale items...")); db_sysconfig.begin(); @@ -387,7 +389,7 @@ desc += " (" + verb["publisher"] + ", " + verb["year"] + ")"; qstring_map::const_iterator const it_media = verb.find("media"); if (it_media != verb.end() && verb["media"] == "download") - desc += " [downloadable]"; // TODO: "cached" flag + desc += " [downloadable]"; // TODO: "cached" flag pd->setValue(90 * added_verb / all_verbs + 10); pd->setLabelText(tr("Adding verb: %1").arg(name)); db_sysconfig.add_item(verb["name"], "application-x-ms-dos-executable", desc, verb["category"], D_PROVIDER_WINETRICKS, installed_apps.contains(verb["name"])); @@ -399,9 +401,9 @@ db_sysconfig.vacuum(); - #ifdef DEBUG - qDebug()<<"[plugin] parsing winetricks script done"; - #endif +#ifdef DEBUG + qDebug()<<"[plugin] parsing winetricks script done"; +#endif pd->setValue(100); diff -Nru q4wine-1.3.11/src/plugins/winetricks.h q4wine-1.3.12/src/plugins/winetricks.h --- q4wine-1.3.11/src/plugins/winetricks.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/plugins/winetricks.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,7 +1,7 @@ /*************************************************************************** * Copyright (C) 2009 by Pavel Zinin (pashazz) * * pzinin@gmail.com * - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -46,21 +46,21 @@ typedef QMap metadata_type; class winetricks : public QWidget{ -Q_OBJECT + Q_OBJECT public: - explicit winetricks(QString prefix_name); - void run_winetricks(QString item); + explicit winetricks(const QString &prefix_name); + void run_winetricks(const QString &item); QStringList get_installed(); void install_winetricks(); - QStringList get_command(QString item); + QStringList get_command(const QString &item); bool parse(); private: //! This is need for libq4wine-core.so import; typedef void *CoreLibPrototype (bool); - CoreLibPrototype *CoreLibClassPointer; - std::unique_ptr CoreLib; + CoreLibPrototype *CoreLibClassPointer; + std::unique_ptr CoreLib; QLibrary libq4wine; diff -Nru q4wine-1.3.11/src/q4wine-cli/q4wine-cli.cpp q4wine-1.3.12/src/q4wine-cli/q4wine-cli.cpp --- q4wine-1.3.11/src/q4wine-cli/q4wine-cli.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-cli/q4wine-cli.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -46,8 +46,8 @@ return -1; } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(false))); QTranslator qtt; @@ -103,7 +103,7 @@ } if ((app.arguments().at(i)=="--version") or (app.arguments().at(i)=="-v")){ Qcout<")<")<.")< * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/about.cpp q4wine-1.3.12/src/q4wine-gui/about.cpp --- q4wine-1.3.11/src/q4wine-gui/about.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/about.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii Malakhov * + * Copyright (C) 2008-2020 by Oleksii Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -31,8 +31,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); setupUi(this); diff -Nru q4wine-1.3.11/src/q4wine-gui/about.h q4wine-1.3.12/src/q4wine-gui/about.h --- q4wine-1.3.11/src/q4wine-gui/about.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/about.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/appsettings.cpp q4wine-1.3.12/src/q4wine-gui/appsettings.cpp --- q4wine-1.3.11/src/q4wine-gui/appsettings.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/appsettings.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -31,8 +31,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); setupUi(this); @@ -225,6 +225,12 @@ cbUseSingleClick->setChecked(true); } + if (settings.value("hideArguments", 0).toInt()==0){ + cbHideArguments->setChecked(false); + } else { + cbHideArguments->setChecked(true); + } + if (settings.value("useNativeFileDialog", 1).toInt()==1){ cbUseNativeDialog->setChecked(true); } else { @@ -659,6 +665,12 @@ settings.setValue("useSingleClick", 0); } + if (cbHideArguments->isChecked()){ + settings.setValue("hideArguments", 1); + } else { + settings.setValue("hideArguments", 0); + } + if (cbUseNativeDialog->isChecked()){ settings.setValue("useNativeFileDialog", 1); } else { diff -Nru q4wine-1.3.11/src/q4wine-gui/appsettings.h q4wine-1.3.12/src/q4wine-gui/appsettings.h --- q4wine-1.3.11/src/q4wine-gui/appsettings.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/appsettings.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/authors.h q4wine-1.3.12/src/q4wine-gui/authors.h --- q4wine-1.3.11/src/q4wine-gui/authors.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/authors.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** -* Copyright (C) 2008-2019 by Oleksii S. Malakhov * +* Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -19,7 +19,7 @@ /* * Do NOT edit this file * - * This file will be replaced by cmake and toos/gen_authors.py. + * This file will be replaced by cmake and tools/gen_authors.py. * Edit src/q4wine-gui/authors.yaml file instead. * */ @@ -45,7 +45,7 @@ "Web: https://brezblock.org.ua" \ "

" \ "

" \ - "Kiev, Ukraine" \ + "Kyiv, Ukraine" \ "

" \ "

" \ " " \ @@ -96,7 +96,7 @@ "Xavier Corredor Llano " \ "

" \ "

" \ - "build-in nuvoX icon theme" \ + "built-in nuvoX icon theme" \ "

" \ "

" \ "E-Mail: xavier.corredor.llano@gmail.com" \ @@ -127,7 +127,7 @@ "Web: https://brezblock.org.ua" \ "

" \ "

" \ - "Kiev, Ukraine" \ + "Kyiv, Ukraine" \ "

" \ "

" \ " " \ @@ -373,7 +373,7 @@ "E-Mail: yurchor@ukr.net" \ "

" \ "

" \ - "Kiev, Ukraine" \ + "Kyiv, Ukraine" \ "

" \ "

" \ " " \ diff -Nru q4wine-1.3.11/src/q4wine-gui/authors.yaml q4wine-1.3.12/src/q4wine-gui/authors.yaml --- q4wine-1.3.11/src/q4wine-gui/authors.yaml 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/authors.yaml 2020-02-08 12:56:10.000000000 +0000 @@ -46,7 +46,7 @@ info: Project maintainer, lead developer, website designer and developer, project documentation, support etc. ;) mail: brezerk@gmail.com web: https://brezblock.org.ua - location: Kiev, Ukraine + location: Kyiv, Ukraine - name: Sergey Skrypnic nick: opium @@ -66,7 +66,7 @@ location: Moscow, Russia - name: Xavier Corredor Llano - info: build-in nuvoX icon theme + info: built-in nuvoX icon theme mail: xavier.corredor.llano@gmail.com pkg_maintainers: @@ -115,7 +115,7 @@ info: Ukrainian translation mail: brezerk@gmail.com web: https://brezblock.org.ua - location: Kiev, Ukraine + location: Kyiv, Ukraine - name: Boris Pek nick: tehnick @@ -204,7 +204,7 @@ - name: Uriy O. Chornoivan info: Ukrainian translation mail: yurchor@ukr.net - location: Kiev, Ukraine + location: Kyiv, Ukraine - name: seigneurfuo info: French translation diff -Nru q4wine-1.3.11/src/q4wine-gui/fakedrivesettings.cpp q4wine-1.3.12/src/q4wine-gui/fakedrivesettings.cpp --- q4wine-1.3.11/src/q4wine-gui/fakedrivesettings.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/fakedrivesettings.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -31,8 +31,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); qRegisterMetaTypeStreamOperators >("QList"); @@ -177,7 +177,7 @@ void FakeDriveSettings::cmdOk_Click(){ #ifdef DEBUG - qDebug()<<"[ii] Saveing fake drive settings"; + qDebug()<<"[ii] Saving fake drive settings"; #endif QRegExp rx("^\".*\"=\".*\"$"); QList listItems = listJoystickAxesMappings->findItems(QString("*"), Qt::MatchWrap | Qt::MatchWildcard); @@ -603,7 +603,7 @@ if (listJoystickAxesMappings->count()>0){ #ifdef DEBUG - qDebug()<<"[ii] Wizard::creating registry cfg for joystik"; + qDebug()<<"[ii] Wizard::creating registry cfg for joystick"; #endif for (int i=0; icount(); i++){ @@ -728,7 +728,7 @@ registry.set("Control Panel\\Colors", "Menu", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); registry.set("Control Panel\\Colors", "MenuBar", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); registry.set("Control Panel\\Colors", "Scrollbar", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); - registry.set("Control Panel\\Colors", "MenuHilight", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); + registry.set("Control Panel\\Colors", "MenuHighlight", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); registry.set("Control Panel\\Colors", "ButtonFace", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); color = cur_palette.color(QPalette::AlternateBase); @@ -740,7 +740,7 @@ registry.set("Control Panel\\Colors", "GrayText", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); color = cur_palette.color(QPalette::Light); - registry.set("Control Panel\\Colors", "ButtonHilight", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); + registry.set("Control Panel\\Colors", "ButtonHighlight", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); color = cur_palette.color(QPalette::ButtonText); registry.set("Control Panel\\Colors", "ButtonText", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); @@ -751,10 +751,10 @@ registry.set("Control Panel\\Colors", "WindowText", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); color = cur_palette.color(QPalette::Highlight); - registry.set("Control Panel\\Colors", "Hilight", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); + registry.set("Control Panel\\Colors", "Highlight", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); color = cur_palette.color(QPalette::HighlightedText); - registry.set("Control Panel\\Colors", "HilightText", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); + registry.set("Control Panel\\Colors", "HighlightText", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); color = cur_palette.color(QPalette::ToolTipBase); registry.set("Control Panel\\Colors", "InfoWindow", QString("%1 %2 %3").arg(QString::number(color.red())) .arg(QString::number(color.green())) .arg(QString::number(color.blue()))); @@ -993,7 +993,7 @@ std::unique_ptr item; if (prefixPath.isEmpty()){ - qDebug()<<" [EE] Cant get prefix path: "<0){ - if (list.at(0) == QString::null){ + if (list.at(0) == QString()){ comboFakeSound_Driver->setCurrentIndex(comboFakeSound_Driver->findText("default")); } else if (!list.at(0).isEmpty()){ comboFakeSound_Driver->setCurrentIndex(comboFakeSound_Driver->findText(list.at(0))); @@ -1439,7 +1439,7 @@ options = QFileDialog::DontUseNativeDialog | QFileDialog::DontResolveSymlinks; if (obj->objectName().right(3)=="Bin"){ - file = QFileDialog::getOpenFileName(this, tr("Open File"), search_path, "All files (*)", 0, options); + file = QFileDialog::getOpenFileName(this, tr("Open File"), search_path, "All files (*)", nullptr, options); } else { file = QFileDialog::getExistingDirectory(this, tr("Open Directory"), search_path, options); } diff -Nru q4wine-1.3.11/src/q4wine-gui/fakedrivesettings.h q4wine-1.3.12/src/q4wine-gui/fakedrivesettings.h --- q4wine-1.3.11/src/q4wine-gui/fakedrivesettings.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/fakedrivesettings.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -103,7 +103,7 @@ CoreLibPrototype *CoreLibClassPointer; std::unique_ptr CoreLib; - //! Database prefix class defenition. + //! Database prefix class definition. Prefix db_prefix; Dir db_dir; Icon db_icon; diff -Nru q4wine-1.3.11/src/q4wine-gui/iconsettings.cpp q4wine-1.3.12/src/q4wine-gui/iconsettings.cpp --- q4wine-1.3.11/src/q4wine-gui/iconsettings.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/iconsettings.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -41,8 +41,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); this->prefix_name = prefix_name; @@ -66,6 +66,9 @@ if (QDir(this->prefix_path).exists()) prefix_urls << QUrl::fromLocalFile(this->prefix_path); + if ((!txtWorkDir->text().isEmpty()) and (QDir(txtWorkDir->text()).exists())) + prefix_urls << QUrl::fromLocalFile(txtWorkDir->text()); + QString cd_mount = result.value("mount"); if (!cd_mount.isEmpty()) @@ -240,6 +243,14 @@ return; } +void IconSettings::updateSidebarUrls( QFileDialog *dialog ) +{ + if ((!txtWorkDir->text().isEmpty()) and (QDir(txtWorkDir->text()).exists())) { + prefix_urls << QUrl::fromLocalFile(txtWorkDir->text()); + } + dialog->setSidebarUrls(prefix_urls); +} + bool IconSettings::eventFilter( QObject *object, QEvent *event ) { // firstly, check whether the object is the QTableWidget and if it's a mouse press event @@ -302,6 +313,8 @@ dialog.setWindowTitle(tr("Open Directory")); dialog.setDirectory(searchPath); + this->updateSidebarUrls(&dialog); + if (CoreLib->getSetting("advanced", "useNativeFileDialog", false, 1)==0){ dialog.setOptions(QFileDialog::DontUseNativeDialog); } @@ -355,6 +368,8 @@ dialog.setFileMode(QFileDialog::ExistingFile); dialog.setNameFilter(tr("Exe, MSI, BAT files (*.exe *.EXE *.msi *.MSI *.bat *.BAT);;Exe files (*.exe *.EXE);;MSI files (*.msi *.MSI);;BAT files (*.bat *.BAT);;All files (*)")); + this->updateSidebarUrls(&dialog); + if (CoreLib->getSetting("advanced", "useNativeFileDialog", false, 1)==0){ dialog.setOptions(QFileDialog::DontUseNativeDialog); } @@ -422,12 +437,13 @@ } dialog.setDirectory(searchPath); + this->updateSidebarUrls(&dialog); + #ifndef WITH_ICOUTILS dialog.setNameFilter(tr("Image files (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.svg *.SVG *.svgz *.SVGZ)")); #else dialog.setNameFilter(tr("Image and Win32 binary files (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.exe *.EXE *.dll *.DLL);;Image files (*.png *.PNG *.jpg *.JPG *.gif *.GIF *.bmp *.BMP *.xpm *.XPM *.svg *.SVG *.svgz *.SVGZ);;Win32 Executable (*.exe *.EXE);;Win32 Shared libraries (*.dll *.DLL);;Win32 Executable and Shared libraries (*.exe *.EXE *.dll *.DLL);;All files (*)")); #endif - //dialog.setSidebarUrls(add_prefix_urls); if (dialog.exec()) fileName = dialog.selectedFiles().first(); @@ -441,63 +457,47 @@ args << "-x"; args << "-t" << "14"; - QString tmpDir=""; - QStringList list1 = fileName.split("/"); - - tmpDir.append(QDir::homePath()); - tmpDir.append("/.config/"); - tmpDir.append(APP_SHORT_NAME); - tmpDir.append("/tmp/"); - tmpDir.append(list1.last()); - - QDir tmp(tmpDir); - tmp.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks); - QFileInfoList list = tmp.entryInfoList(); - - if (tmp.exists(tmpDir)){ - for (int i = 0; i < list.size(); ++i) { - QFileInfo fileInfo = list.at(i); - if (!tmp.remove(fileInfo.filePath())) - qDebug()<<"[EE] - Cannot delete files at: "<getSetting("icotool", "wrestool").toString(), QDir::homePath(), tr("Extracting icon from binary file.
This can take a while..."), tr("Extracting icon"), false); - - if (exportProcess.exec()==QDialog::Accepted){ - //icotool -x -o ./regedit.png --width=32 --height=32 ./regedit.exe_14_100_0.ico - args.clear(); - args << "-x"; - - QDir ico_dir(tmpDir); - // Updating file index - list = ico_dir.entryInfoList(); - - //Creating file list for converting - for (int i = 0; i < list.size(); ++i) { - QFileInfo fileInfo = list.at(i); - qDebug() << fileInfo.fileName(); - if (fileInfo.fileName().right(3)=="ico") - args << fileInfo.filePath(); - } - - args << "-o" << QString("%1/").arg(tmpDir); - - //Converting ico files to png + QTemporaryDir tmpDir; + tmpDir.setAutoRemove(false); + if (tmpDir.isValid()) { + QString tmpDirPath = tmpDir.path(); + qDebug() << "Using tmp path:" << tmpDirPath; + args << "-o" << tmpDirPath; + args << fileName; + + Process exportProcess(args, CoreLib->getSetting("icotool", "wrestool").toString(), QDir::homePath(), tr("Extracting icon from binary file.
This can take a while..."), tr("Extracting icon"), false); + if (exportProcess.exec()==QDialog::Accepted){ + // Updating file index + QStringList nameFilters; + nameFilters << "*.ico"; + QFileInfoList icoFilesList = QDir(tmpDirPath).entryInfoList(nameFilters, QDir::Files | QDir::Hidden | QDir::NoSymLinks); + if (icoFilesList.size() > 0) { + //icotool -x -o ./regedit.png --width=32 --height=32 ./regedit.exe_14_100_0.ico + args.clear(); + args << "-x"; + //Creating file list for converting + for (int i = 0; i < icoFilesList.size(); ++i) { + QFileInfo fileInfo = icoFilesList.at(i); + qDebug() << fileInfo.fileName(); + args << fileInfo.filePath(); + } + args << "-o" << QString("%1/").arg(tmpDirPath); - //Look here, this function checks if some icons found, or not. 5 -- is default number of arguments, - //if more -- then we have some ico file to convert - if (args.size()>=4){ - Process exportProcess(args, CoreLib->getSetting("icotool", "icotool").toString(), QDir::homePath(), tr("Extracting icon from binary file.
This can take a while..."), tr("Extracting icon"), false); - if (exportProcess.exec()==QDialog::Accepted){ - IconsView iconsView(tmpDir); + //Converting ico files to png + Process exportProcess(args, CoreLib->getSetting("icotool", "icotool").toString(), QDir::homePath(), tr("Extracting icon from binary file.
This can take a while..."), tr("Extracting icon"), false); + if (exportProcess.exec()==QDialog::Accepted){ + IconsView iconsView(tmpDirPath); + if (iconsView.exec()==QDialog::Accepted){ + fileName=iconsView.selectedFile; + cmdGetIcon->setIcon(QIcon(fileName)); + qDebug()<<"Selected:"<setIcon(QIcon(fileName)); @@ -505,34 +505,10 @@ fileName.clear(); } } - } else { - IconsView iconsView(tmpDir); - if (iconsView.exec()==QDialog::Accepted){ - fileName=iconsView.selectedFile; - cmdGetIcon->setIcon(QIcon(fileName)); - } else { - fileName.clear(); - } } - } else { - qDebug()<<"wrestool testing Rejected"; - fileName.clear(); + tmpDir.remove(); } - - //Clearing temp files - list = tmp.entryInfoList(); - - //Creating file list for converting - for (int i = 0; i < list.size(); ++i) { - QFileInfo fileInfo = list.at(i); - if (!QFile::remove(fileInfo.filePath())) - qDebug()<<"[EE] - Cannot delete files at: "< * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -43,6 +43,7 @@ #include #include #include +#include #include "q4wine-lib.h" @@ -121,8 +122,9 @@ //! Side bar URLs list. QList prefix_urls; + void updateSidebarUrls(QFileDialog *dialog); - //! Database prefix class defenition. + //! Database prefix class definition. Prefix db_prefix; Icon db_icon; diff -Nru q4wine-1.3.11/src/q4wine-gui/iconsview.cpp q4wine-1.3.12/src/q4wine-gui/iconsview.cpp --- q4wine-1.3.11/src/q4wine-gui/iconsview.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/iconsview.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -31,8 +31,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); setupUi(this); diff -Nru q4wine-1.3.11/src/q4wine-gui/iconsview.h q4wine-1.3.12/src/q4wine-gui/iconsview.h --- q4wine-1.3.11/src/q4wine-gui/iconsview.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/iconsview.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/imagemanager.cpp q4wine-1.3.12/src/q4wine-gui/imagemanager.cpp --- q4wine-1.3.11/src/q4wine-gui/imagemanager.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/imagemanager.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,8 +32,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); setWindowIcon(CoreLib->loadIcon(CoreLib->getSetting("app", "icon", false, "q4wine").toString())); diff -Nru q4wine-1.3.11/src/q4wine-gui/imagemanager.h q4wine-1.3.12/src/q4wine-gui/imagemanager.h --- q4wine-1.3.11/src/q4wine-gui/imagemanager.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/imagemanager.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/mainwindow.cpp q4wine-1.3.12/src/q4wine-gui/mainwindow.cpp --- q4wine-1.3.11/src/q4wine-gui/mainwindow.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/mainwindow.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -18,8 +18,8 @@ #include "mainwindow.h" -MainWindow::MainWindow(int startState, QString run_binary, QWidget * parent, Qt::WindowFlags f) : QMainWindow(parent, f){ - // Loading libq4wine-core.so +MainWindow::MainWindow(const int startState, const QString &run_binary, QWidget * parent, const Qt::WindowFlags f) : QMainWindow(parent, f){ + // Loading libq4wine-core.so #ifdef RELEASE libq4wine.setFileName(_CORELIB_PATH_); #else @@ -30,7 +30,7 @@ } // Getting corelib class pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); clearTmp(); @@ -51,7 +51,7 @@ if (!this->createSocket()){ this->close(); return; - } + } if (startState == 1) this->showMinimized(); @@ -220,7 +220,7 @@ } void MainWindow::setSearchFocus(){ -// txtIconFilter->setFocus(Qt::OtherFocusReason); + // txtIconFilter->setFocus(Qt::OtherFocusReason); return; } @@ -253,7 +253,7 @@ return; } -void MainWindow::updateIconDesc(QString program, QString args, QString desc, QString console, QString desktop){ +void MainWindow::updateIconDesc(const QString &program, QString args, const QString &desc, const QString &console, const QString &desktop){ /* * This is function for selection icons, and displaying * icon informationm like path and description @@ -266,7 +266,18 @@ args=strip_arg; } - lblIconInfo0->setText(tr("Program: %1
Args: %2 ").arg(program) .arg(args)); + QString iconInfo = QString(tr("Program: %1").arg(program)); + iconInfo.append("
"); + if (!CoreLib->getSetting("advanced", "hideArguments", false).toBool()){ + iconInfo.append(QString(tr("Args: %1").arg(args))); + } else { + if (!args.isEmpty()) { + iconInfo.append(QString(tr("Args: %1").arg(tr("hidden")))); + } else { + iconInfo.append(QString(tr("Args: %1").arg(""))); + }; + }; + lblIconInfo0->setText(iconInfo); lblIconInfo2->setText(tr("Description: %1").arg(desc)); QString useconsole=""; @@ -331,7 +342,7 @@ return; } -void MainWindow::changeStatusText(QString text){ +void MainWindow::changeStatusText(const QString &text){ statusBar()->showMessage(text); } @@ -341,7 +352,7 @@ } #ifdef WITH_WINEAPPDB -void MainWindow::searchRequest(QString search){ +void MainWindow::searchRequest(const QString &search){ tbwGeneral->setCurrentIndex (4); emit(appdbWidget_startSearch(1, search)); } @@ -415,8 +426,8 @@ if (CoreLib->getSetting("app", "showNotifications", false, 1).toInt()==1) if ((this->isHidden() || this->isMinimized()) and (trayIcon->isVisible())){ - this->showNotifycation(tr("helper notification"), tr("Application: \"%1\" started fine for prefix: \"%2\".").arg(list.at(1)).arg(list.at(2))); - } + this->showNotifycation(tr("helper notification"), tr("Application: \"%1\" started fine for prefix: \"%2\".").arg(list.at(1)).arg(list.at(2))); + } emit(reloadLogData()); @@ -428,9 +439,9 @@ this->changeStatusText(tr("Console started fine for Application: \"%1\" in prefix: \"%2\".").arg(list.at(1)).arg(list.at(2))); if (CoreLib->getSetting("app", "showNotifications", false, 1).toInt()==1) - if ((this->isHidden() || this->isMinimized()) && (trayIcon->isVisible())){ - this->showNotifycation(tr("helper notification"), tr("Application: \"%1\" started fine for prefix: \"%2\".").arg(list.at(1)).arg(list.at(2))); - } + if ((this->isHidden() || this->isMinimized()) && (trayIcon->isVisible())){ + this->showNotifycation(tr("helper notification"), tr("Application: \"%1\" started fine for prefix: \"%2\".").arg(list.at(1)).arg(list.at(2))); + } emit(reloadLogData()); @@ -441,9 +452,9 @@ if (list.count()==4){ this->changeStatusText(tr("Application: \"%1\" finished for prefix: \"%2\". Exit code is: \"%3\".").arg(list.at(1)).arg(list.at(2)).arg(list.at(3))); if (CoreLib->getSetting("app", "showNotifications", false, 1).toInt()==1) - if ((this->isHidden() || this->isMinimized()) && trayIcon->isVisible()){ - this->showNotifycation(tr("helper notification"), tr("Application: \"%1\" finished for prefix: \"%2\". Exit code is: \"%3\".").arg(list.at(1)).arg(list.at(2)).arg(list.at(3))); - } + if ((this->isHidden() || this->isMinimized()) && trayIcon->isVisible()){ + this->showNotifycation(tr("helper notification"), tr("Application: \"%1\" finished for prefix: \"%2\". Exit code is: \"%3\".").arg(list.at(1)).arg(list.at(2)).arg(list.at(3))); + } emit(reloadLogData()); } else { @@ -453,9 +464,9 @@ if (list.count()==3){ this->changeStatusText(tr("Cannot start application: \"%1\" for prefix: \"%2\".").arg(list.at(1)).arg(list.at(2))); if (CoreLib->getSetting("app", "showNotifications", false, 1).toInt()==1) - if ((this->isHidden() || this->isMinimized()) and (trayIcon->isVisible())){ - this->showNotifycation(tr("helper notification"), tr("Cannot start application: \"%1\" for prefix: \"%2\".").arg(list.at(1)).arg(list.at(2))); - } + if ((this->isHidden() || this->isMinimized()) and (trayIcon->isVisible())){ + this->showNotifycation(tr("helper notification"), tr("Cannot start application: \"%1\" for prefix: \"%2\".").arg(list.at(1)).arg(list.at(2))); + } } else { this->showSocketError(message); } @@ -463,10 +474,10 @@ if (list.count()==3){ this->changeStatusText(tr("Cannot start console for application: \"%1\" in prefix: \"%2\".").arg(list.at(1)).arg(list.at(2))); if (CoreLib->getSetting("app", "showNotifications", false, 1).toInt()==1) - if ((this->isHidden() || this->isMinimized()) and (trayIcon->isVisible())){ - this->showNotifycation(tr("helper notification"), tr("Cannot start console for application: \"%1\" in prefix: \"%2\".").arg(list.at(1)).arg(list.at(2))); + if ((this->isHidden() || this->isMinimized()) and (trayIcon->isVisible())){ + this->showNotifycation(tr("helper notification"), tr("Cannot start console for application: \"%1\" in prefix: \"%2\".").arg(list.at(1)).arg(list.at(2))); - } + } } else { this->showSocketError(message); } @@ -537,7 +548,7 @@ return; } -void MainWindow::tbwGeneral_CurrentTabChange(int tabIndex){ +void MainWindow::tbwGeneral_CurrentTabChange(const int tabIndex){ if (tabIndex==0){ emit(stopProcTimer()); @@ -787,15 +798,15 @@ * main Menu allow export icons */ - QString fileName, tmpDir; + QString fileName; QStringList args; - QFileDialog::Options options; + QFileDialog::Options options; - if (CoreLib->getSetting("advanced", "useNativeFileDialog", false, 1)==0) - options = QFileDialog::DontUseNativeDialog; + if (CoreLib->getSetting("advanced", "useNativeFileDialog", false, 1)==0) + options = QFileDialog::DontUseNativeDialog; - fileName = QFileDialog::getOpenFileName(this, tr("Open image file"), QDir::homePath(), tr("Win32 Executable and Shared libraries (*.exe *.EXE *.dll *.DLL);;Win32 Executable (*.exe *.EXE);;Win32 Shared libraries (*.dll *.DLL);;All files (*)"), 0, options ); + fileName = QFileDialog::getOpenFileName(this, tr("Open image file"), QDir::homePath(), tr("Win32 Executable and Shared libraries (*.exe *.EXE *.dll *.DLL);;Win32 Executable (*.exe *.EXE);;Win32 Shared libraries (*.dll *.DLL);;All files (*)"), nullptr, options ); if(fileName.isEmpty()) return; @@ -803,114 +814,72 @@ args << "-x"; args << "-t" << "14"; - QStringList list1 = fileName.split("/"); - - tmpDir.clear(); - - tmpDir.append(QDir::homePath()); - tmpDir.append("/.config/"); - tmpDir.append(APP_SHORT_NAME); - tmpDir.append("/tmp/"); - tmpDir.append(list1.last()); - - QDir tmp(tmpDir); - tmp.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks); - QFileInfoList list = tmp.entryInfoList(); - - if (tmp.exists(tmpDir)){ - for (int i = 0; i < list.size(); ++i) { - QFileInfo fileInfo = list.at(i); - if (!tmp.remove(fileInfo.filePath())) - qDebug()<<"[EE] - Cannot delete files at: "<getSetting("icotool", "wrestool").toString(), QDir::homePath(), tr("Extracting icon from binary file.
This can take a while..."), tr("Extracting icon"), false); - - if (exportProcess.exec()==QDialog::Accepted){ - //icotool -x -o ./regedit.png --width=32 --height=32 ./regedit.exe_14_100_0.ico - - - - args.clear(); - args << "-x"; - args << "-o" << QString("%1/").arg(tmpDir); - - // Updating file index - list = tmp.entryInfoList(); - - //Creating file list for converting - for (int i = 0; i < list.size(); ++i) { - QFileInfo fileInfo = list.at(i); - if (fileInfo.fileName().right(3)=="ico") - args << fileInfo.filePath(); - } - - - //Look here, this function checks if some icons found, or not. 5 -- is default number of arguments, - //if more -- then we have some ico file to convert - if (args.size()>=4){ - - Process exportProcess(args, CoreLib->getSetting("icotool", "icotool").toString(), QDir::homePath(), tr("Extracting icon from binary file.
This can take a while..."), tr("Extracting icon"), false); + QTemporaryDir tmpDir; + tmpDir.setAutoRemove(false); + if (tmpDir.isValid()) { + QString tmpDirPath = tmpDir.path(); + qDebug() << "Using tmp path:" << tmpDirPath; + args << "-o" << tmpDirPath; + args << fileName; + + Process exportProcess(args, CoreLib->getSetting("icotool", "wrestool").toString(), QDir::homePath(), tr("Extracting icon from binary file.
This can take a while..."), tr("Extracting icon"), false); + if (exportProcess.exec()==QDialog::Accepted){ + // Updating file index + QStringList nameFilters; + nameFilters << "*.ico"; + QFileInfoList icoFilesList = QDir(tmpDirPath).entryInfoList(nameFilters, QDir::Files | QDir::Hidden | QDir::NoSymLinks); + if (icoFilesList.size() > 0) { + //icotool -x -o ./regedit.png --width=32 --height=32 ./regedit.exe_14_100_0.ico + args.clear(); + args << "-x"; + //Creating file list for converting + for (int i = 0; i < icoFilesList.size(); ++i) { + QFileInfo fileInfo = icoFilesList.at(i); + qDebug() << fileInfo.fileName(); + args << fileInfo.filePath(); + } + args << "-o" << QString("%1/").arg(tmpDirPath); - if (exportProcess.exec()==QDialog::Accepted){ - IconsView iconsView(tmpDir); + //Converting ico files to png + Process exportProcess(args, CoreLib->getSetting("icotool", "icotool").toString(), QDir::homePath(), tr("Extracting icon from binary file.
This can take a while..."), tr("Extracting icon"), false); + if (exportProcess.exec()==QDialog::Accepted){ + IconsView iconsView(tmpDirPath); + iconsView.exec(); + } + } else { + qDebug() << "[WW] No ico files found."; + IconsView iconsView(tmpDirPath); iconsView.exec(); } - - } else { - IconsView iconsView(tmpDir); - iconsView.exec(); } + tmpDir.remove(); } - //Clearing temp files - list = tmp.entryInfoList(); - - //Creating file list for converting - for (int i = 0; i < list.size(); ++i) { - QFileInfo fileInfo = list.at(i); - if (!QFile::remove(fileInfo.filePath())) - qDebug()<<"[EE] - Cannot delete files at: "<currentIndex()){ -case 0: - rawurl = "04-general-gui-description.html#programs"; - break; -case 1: - rawurl = "04-general-gui-description.html#process"; - break; -case 2: - rawurl = "04-general-gui-description.html#setup"; - break; -case 3: - rawurl = "04-general-gui-description.html#prefixes"; - break; -case 4: - rawurl = "04-general-gui-description.html#appdb"; - break; -case 5: - rawurl = "04-general-gui-description.html#logging"; - break; - } + case 0: + rawurl = "04-general-gui-description.html#programs"; + break; + case 1: + rawurl = "04-general-gui-description.html#process"; + break; + case 2: + rawurl = "04-general-gui-description.html#setup"; + break; + case 3: + rawurl = "04-general-gui-description.html#prefixes"; + break; + case 4: + rawurl = "04-general-gui-description.html#appdb"; + break; + case 5: + rawurl = "04-general-gui-description.html#logging"; + break; + } CoreLib->openHelpUrl(rawurl); return; @@ -955,7 +924,7 @@ delete(vers); } -void MainWindow::showNotifycation(const QString header, const QString message){ +void MainWindow::showNotifycation(const QString &header, const QString &message){ #ifdef WITH_DBUS QVariantList args; args << QString(APP_NAME); @@ -979,7 +948,7 @@ #endif } -void MainWindow::messageReceived(const QString message){ +void MainWindow::messageReceived(const QString &message){ if (message.isEmpty()){ if (!isVisible()) this->setMeVisible(true); diff -Nru q4wine-1.3.11/src/q4wine-gui/mainwindow.h q4wine-1.3.12/src/q4wine-gui/mainwindow.h --- q4wine-1.3.11/src/q4wine-gui/mainwindow.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/mainwindow.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -34,6 +34,7 @@ #include #include #include +#include //Global config #include "config.h" @@ -91,112 +92,119 @@ class MainWindow : public QMainWindow, public Ui::MainWindow { Q_OBJECT - public: - MainWindow(int startState, QString run_binary, QWidget * parent = 0, Qt::WindowFlags f = 0); - - public slots: - void messageReceived(const QString message); - void updateDtabaseConnectedItems(void); - void setSearchFocus(void); - void setMeVisible(bool visible); +public: + MainWindow(const int startState, + const QString &run_binary, + QWidget * parent = 0, + const Qt::WindowFlags f = 0); + +public slots: + void messageReceived(const QString &message); + void updateDtabaseConnectedItems(void); + void setSearchFocus(void); + void setMeVisible(const bool visible); #ifdef WITH_WINEAPPDB - void searchRequest(QString search); + void searchRequest(const QString &search); #endif - private slots: - void tbwGeneral_CurrentTabChange(int tabIndex); +private slots: + void tbwGeneral_CurrentTabChange(const int tabIndex); - void changeStatusText(QString text); + void changeStatusText(const QString &text); - void trayIcon_Activate(QSystemTrayIcon::ActivationReason reason); + void trayIcon_Activate(QSystemTrayIcon::ActivationReason reason); - /* + /* * Command buttons slots */ - void updateIconDesc(QString program, QString args, QString desc, QString console, QString desktop); - - //Main menu slots - void mainExit_Click(void); - void mainPrograms_Click(void); - void mainImageManager_Click(void); - void mainProcess_Click(void); - void mainSetup_Click(void); - void mainLogging_Click(void); - void mainPrefix_Click(void); - void mainAbout_Click(void); - void mainAboutQt_Click(void); - void mainExportIcons_Click(void); - void mainRun_Click(void); - void mainOptions_Click(void); - void mainInstall_Click(void); - void mainFirstSteps_Click(void); - void mainFAQ_Click(void); - void mainIndex_Click(void); - void mainWebsite_Click(void); - void mainDonate_Click(void); - void mainBugs_Click(void); - void mainAppDB_Click(void); - void mainHelpThisTab_Click(void); - void mainImportWineIcons_Click(void); - void mainVersionManager_Click(); + void updateIconDesc(const QString &program, + QString args, + const QString &desc, + const QString &console, + const QString &desktop); + + //Main menu slots + void mainExit_Click(void); + void mainPrograms_Click(void); + void mainImageManager_Click(void); + void mainProcess_Click(void); + void mainSetup_Click(void); + void mainLogging_Click(void); + void mainPrefix_Click(void); + void mainAbout_Click(void); + void mainAboutQt_Click(void); + void mainExportIcons_Click(void); + void mainRun_Click(void); + void mainOptions_Click(void); + void mainInstall_Click(void); + void mainFirstSteps_Click(void); + void mainFAQ_Click(void); + void mainIndex_Click(void); + void mainWebsite_Click(void); + void mainDonate_Click(void); + void mainBugs_Click(void); + void mainAppDB_Click(void); + void mainHelpThisTab_Click(void); + void mainImportWineIcons_Click(void); + void mainVersionManager_Click(); - void newConnection(); + void newConnection(); private: - //! Custom Widgets - //DragListWidget* lstIcons; + //! Custom Widgets + //DragListWidget* lstIcons; #ifdef WITH_WINEAPPDB - std::unique_ptr appdbWidget; + std::unique_ptr appdbWidget; #endif - std::unique_ptr serverSoket; + std::unique_ptr serverSoket; - //! This is need for libq4wine-core.so import; - typedef void *CoreLibPrototype (bool); - CoreLibPrototype *CoreLibClassPointer; - std::unique_ptr CoreLib; - QLibrary libq4wine; - - //Classes - Prefix db_prefix; - Dir db_dir; - Icon db_icon; + //! This is need for libq4wine-core.so import; + typedef void *CoreLibPrototype (bool); + CoreLibPrototype *CoreLibClassPointer; + std::unique_ptr CoreLib; + QLibrary libq4wine; + + //Classes + Prefix db_prefix; + Dir db_dir; + Icon db_icon; #ifndef _OS_DARWIN_ - system_menu sys_menu; + system_menu sys_menu; #endif - // Tray icon - std::unique_ptr trayIcon; + // Tray icon + std::unique_ptr trayIcon; - bool createSocket(); - void showSocketError(QString message); + bool createSocket(); + void showSocketError(QString message); - void createTrayIcon(); + void createTrayIcon(); - void getSettings(void); - void clearTmp(); - void showNotifycation(const QString header, const QString message); + void getSettings(void); + void clearTmp(); + void showNotifycation(const QString &header, const QString &message); - std::unique_ptr splitter; + std::unique_ptr splitter; -// void getWineMenuIcons(void); -// void parseIcons(void); + // void getWineMenuIcons(void); + // void parseIcons(void); - signals: +signals: #ifdef WITH_WINEAPPDB - void appdbWidget_startSearch(short int, QString); - void setAppDBFocus(); + void appdbWidget_startSearch(short int, QString); + void setAppDBFocus(); #endif - void updateDatabaseConnections(void); - void setDefaultFocus(QString, QString); - void stopProcTimer(void); - void startProcTimer(void); - - void reloadLogData(void); - void runProgramRequest(QString); - - protected: - // Events - void closeEvent(QCloseEvent *event); + void updateDatabaseConnections(void); + void setDefaultFocus(QString, QString); + void stopProcTimer(void); + void startProcTimer(void); + + void reloadLogData(void); + void runProgramRequest(QString); + +protected: + // Events + void closeEvent(QCloseEvent *event); }; diff -Nru q4wine-1.3.11/src/q4wine-gui/prefixsettings.cpp q4wine-1.3.12/src/q4wine-gui/prefixsettings.cpp --- q4wine-1.3.11/src/q4wine-gui/prefixsettings.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/prefixsettings.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -36,8 +36,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); this->addNew=false; @@ -160,8 +160,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); setWindowIcon(CoreLib->loadIcon("q4wine")); diff -Nru q4wine-1.3.11/src/q4wine-gui/prefixsettings.h q4wine-1.3.12/src/q4wine-gui/prefixsettings.h --- q4wine-1.3.11/src/q4wine-gui/prefixsettings.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/prefixsettings.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -76,7 +76,7 @@ */ QString prefix_id, prefix_name, version_name; - //! Database prefix class defenition. + //! Database prefix class definition. Prefix db_prefix; Icon db_icon; Dir db_dir; diff -Nru q4wine-1.3.11/src/q4wine-gui/process.cpp q4wine-1.3.12/src/q4wine-gui/process.cpp --- q4wine-1.3.11/src/q4wine-gui/process.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/process.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/process.h q4wine-1.3.12/src/q4wine-gui/process.h --- q4wine-1.3.11/src/q4wine-gui/process.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/process.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/progress.cpp q4wine-1.3.12/src/q4wine-gui/progress.cpp --- q4wine-1.3.11/src/q4wine-gui/progress.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/progress.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,8 +32,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); setWindowIcon(CoreLib->loadIcon(CoreLib->getSetting("app", "icon", false, "q4wine").toString())); @@ -70,7 +70,7 @@ void Progress::cmdCancel_Click(){ t->stop(); if (action==0){ - /* becouse, of desktop folder can contains user subdirs, DO NOT REMOVE this folders + /* because, of desktop folder can contains user subdirs, DO NOT REMOVE this folders if (CoreLib->getSetting("DesktopImport", "remove", false, 0)==1) removeEmptyFolders(this->path); */ @@ -86,7 +86,7 @@ #endif if ((current>=max) or (max==0)){ t->stop(); - /* becouse, of desktop folder can contains user subdirs, DO NOT REMOVE this folders + /* because, of desktop folder can contains user subdirs, DO NOT REMOVE this folders if (CoreLib->getSetting("DesktopImport", "remove", false, 0)==1) removeEmptyFolders(this->path); */ diff -Nru q4wine-1.3.11/src/q4wine-gui/progress.h q4wine-1.3.12/src/q4wine-gui/progress.h --- q4wine-1.3.11/src/q4wine-gui/progress.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/progress.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/run.cpp q4wine-1.3.12/src/q4wine-gui/run.cpp --- q4wine-1.3.11/src/q4wine-gui/run.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/run.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,8 +32,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); setWindowIcon(CoreLib->loadIcon(CoreLib->getSetting("app", "icon", false, "q4wine").toString())); diff -Nru q4wine-1.3.11/src/q4wine-gui/run.h q4wine-1.3.12/src/q4wine-gui/run.h --- q4wine-1.3.11/src/q4wine-gui/run.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/run.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -87,7 +87,7 @@ //! \brief Load theme images. void loadThemeIcons(); - //! Database prefix class defenition. + //! Database prefix class definition. Prefix db_prefix; Last_Run_Icon db_last_run_icon; diff -Nru q4wine-1.3.11/src/q4wine-gui/uis/About.ui q4wine-1.3.12/src/q4wine-gui/uis/About.ui --- q4wine-1.3.11/src/q4wine-gui/uis/About.ui 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/uis/About.ui 2020-02-08 12:56:10.000000000 +0000 @@ -151,7 +151,7 @@ - © 2008-2019 by Oleksii S. Malakhov <brezerk@gmail.com> + © 2008-2020 by Oleksii S. Malakhov <brezerk@gmail.com> Qt::AlignCenter @@ -535,7 +535,7 @@ <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">A &quot;User Product&quot; is either (1) a &quot;consumer product&quot;, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, &quot;normally used&quot; refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">A &quot;User Product&quot; is either (1) a &quot;consumer product&quot;, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, &quot;normally used&quot; refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significan't mode of use of the product.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">&quot;Installation Information&quot; for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"><br /></p> diff -Nru q4wine-1.3.11/src/q4wine-gui/uis/AppSettings.ui q4wine-1.3.12/src/q4wine-gui/uis/AppSettings.ui --- q4wine-1.3.11/src/q4wine-gui/uis/AppSettings.ui 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/uis/AppSettings.ui 2020-02-08 12:56:10.000000000 +0000 @@ -9,8 +9,8 @@ 0 0 - 800 - 400 + 801 + 438 @@ -2447,6 +2447,13 @@ + + + + Hide program arguments in the icon info display. + + + diff -Nru q4wine-1.3.11/src/q4wine-gui/versions.cpp q4wine-1.3.12/src/q4wine-gui/versions.cpp --- q4wine-1.3.11/src/q4wine-gui/versions.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/versions.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -31,8 +31,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); setupUi(this); diff -Nru q4wine-1.3.11/src/q4wine-gui/versions.h q4wine-1.3.12/src/q4wine-gui/versions.h --- q4wine-1.3.11/src/q4wine-gui/versions.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/versions.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbheaderwidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbheaderwidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbheaderwidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbheaderwidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -122,10 +122,10 @@ void AppDBHeaderWidget::clear(){ QList list = this->children(); - // Start from 1 becouse of 0 -- is VBoxLayout + // Start from 1 because of 0 -- is VBoxLayout for (int i=1; imetaObject()->className(); + qDebug()<<"[ii] Schedule QObject for deletetion. object type is:"<metaObject()->className(); #endif list.at(i)->setProperty("visible", false); list.at(i)->disconnect(); diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbheaderwidget.h q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbheaderwidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbheaderwidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbheaderwidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbscrollwidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbscrollwidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbscrollwidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbscrollwidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -66,10 +66,10 @@ void AppDBScrollWidget::clear(void){ if (contentWidget.get()){ QList list = contentWidget->children(); - // Start from 1 becouse of 0 -- is VBoxLayout + // Start from 1 because of 0 -- is VBoxLayout for (int i=1; imetaObject()->className(); + qDebug()<<"[ii] Schedule QObject for deletetion. object type is:"<metaObject()->className(); #endif list.at(i)->setProperty("visible", false); list.at(i)->disconnect(); diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbscrollwidget.h q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbscrollwidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbscrollwidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbscrollwidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbwidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbwidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbwidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbwidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,8 +32,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset((corelib *)CoreLibClassPointer(true)); //Init AppDB Core Classes diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbwidget.h q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbwidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appdbwidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appdbwidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appinfowidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appinfowidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appinfowidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appinfowidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appinfowidget.h q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appinfowidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/appinfowidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/appinfowidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/apptestwidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/appdb/apptestwidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/apptestwidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/apptestwidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -52,7 +52,7 @@ QList list = this->children(); QPalette p(palette()); int y_pos = -1; - // Start from 1 becouse of 0 -- is VBoxLayout + // Start from 1 because of 0 -- is VBoxLayout for (int i=1; iobjectName().toInt()==id){ p.setColor(QPalette::Window, QColor(255,0,0)); diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/apptestwidget.h q4wine-1.3.12/src/q4wine-gui/widgets/appdb/apptestwidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/apptestwidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/apptestwidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/commentwidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/appdb/commentwidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/commentwidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/commentwidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -26,7 +26,7 @@ this->setId(comment.id); this->setParentId(comment.parent_id); setTopic(comment.topic, comment.id); - setDate(comment.autor, comment.date); + setDate(comment.author, comment.date); setMessage(comment.message); return; } @@ -62,9 +62,9 @@ return; } -void CommentWidget::setDate(QString autor, QString date){ +void CommentWidget::setDate(QString author, QString date){ std::unique_ptr label(new QLabel()); - label->setText(QString("by %1 on %2").arg(autor).arg(date)); + label->setText(QString("by %1 on %2").arg(author).arg(date)); widgetLabelLayout->addWidget(label.release()); return; } diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/commentwidget.h q4wine-1.3.12/src/q4wine-gui/widgets/appdb/commentwidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/commentwidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/commentwidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -54,7 +54,7 @@ private: void setTopic(QString topic, int type); - void setDate(QString autor, QString date); + void setDate(QString author, QString date); void setMessage(QString message); int id; int parentid; diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/lineitemwidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/appdb/lineitemwidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/lineitemwidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/lineitemwidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -38,10 +38,10 @@ //nothig but... } -void LineItemWidget::addLabel(const QString text, const short int width, const short int aligment, const bool worldwarp){ +void LineItemWidget::addLabel(const QString text, const short int width, const short int alignment, const bool worldwarp){ std::unique_ptr label(new QLabel(this)); - switch (aligment){ + switch (alignment){ case 0: label->setAlignment(Qt::AlignLeft); break; diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/lineitemwidget.h q4wine-1.3.12/src/q4wine-gui/widgets/appdb/lineitemwidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/lineitemwidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/lineitemwidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -55,7 +55,7 @@ //! Class destructor ~LineItemWidget(); - void addLabel(const QString text, const short int width=-1, const short int aligment=0, const bool worldwarp=false); + void addLabel(const QString text, const short int width=-1, const short int alignment=0, const bool worldwarp=false); void insertStretch(void); void setBold(void); diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/linkitemwidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/appdb/linkitemwidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/linkitemwidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/linkitemwidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -80,7 +80,7 @@ void LinkItemWidget::setAppId(int id){ /* App Id - Saveing App Id + Saving App Id */ this->appid=id; return; @@ -88,7 +88,7 @@ void LinkItemWidget::setVerId(int id){ /* Version Id - Saveing Version Id + Saving Version Id */ this->verid=id; return; @@ -96,7 +96,7 @@ void LinkItemWidget::setCatId(int id){ /* Category Id - Saveing Category Id + Saving Category Id */ this->catid=id; return; @@ -104,7 +104,7 @@ void LinkItemWidget::setPage(short int id){ /* Category Id - Saveing Category Id + Saving Category Id */ this->page=id; return; @@ -112,7 +112,7 @@ void LinkItemWidget::setParentId(int id){ /* Parent comment Id - Saveing id of parent comment + Saving id of parent comment */ this->parentid=id; return; diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/appdb/linkitemwidget.h q4wine-1.3.12/src/q4wine-gui/widgets/appdb/linkitemwidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/appdb/linkitemwidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/appdb/linkitemwidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/drivelistwidgetitem.cpp q4wine-1.3.12/src/q4wine-gui/widgets/drivelistwidgetitem.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/drivelistwidgetitem.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/drivelistwidgetitem.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -31,8 +31,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); return; } diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/drivelistwidgetitem.h q4wine-1.3.12/src/q4wine-gui/widgets/drivelistwidgetitem.h --- q4wine-1.3.11/src/q4wine-gui/widgets/drivelistwidgetitem.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/drivelistwidgetitem.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/iconlisttoolbar.cpp q4wine-1.3.12/src/q4wine-gui/widgets/iconlisttoolbar.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/iconlisttoolbar.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/iconlisttoolbar.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,8 +32,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); this->sort_order = CoreLib->getSetting("IconWidget", "IconSort", false, D_SORT_TYPE_BY_DATE_ASC).toInt(); diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/iconlisttoolbar.h q4wine-1.3.12/src/q4wine-gui/widgets/iconlisttoolbar.h --- q4wine-1.3.11/src/q4wine-gui/widgets/iconlisttoolbar.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/iconlisttoolbar.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/iconlistwidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/iconlistwidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/iconlistwidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/iconlistwidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -31,8 +31,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); setResizeMode(QListView::Adjust); @@ -89,7 +89,7 @@ iconItem->setText(iconsList.at(i)); iconItem->setToolTip(iconsList.at(i)); - //Seting icon. If no icon or icon file does not exist -- setting default + //Setting icon. If no icon or icon file does not exist -- setting default QString icon_path = db_icon.getPixmapIcon(this->prefixName, this->dirName, iconsList.at(i)); if (icon_path.isEmpty()){ iconItem->setIcon(defIcon); @@ -194,7 +194,7 @@ std::unique_ptr drag(new QDrag(this)); drag->setMimeData(mimeData.release()); drag->setPixmap(items.at(0)->icon().pixmap(32)); - drag->start(Qt::MoveAction); + drag->exec(Qt::MoveAction); drag.release(); } #endif @@ -809,7 +809,7 @@ void IconListWidget::iconCut_Click(void){ /* This function fill iconBuffer with selected icons names - and sets other informations required for copy\cut + and sets other information required for copy\cut see struct iconCopyBuffer definition for details */ @@ -847,7 +847,7 @@ void IconListWidget::iconCopy_Click(void){ /* * This function fill iconBuffer with selected icons names - * and sets other informations required for copy\cut + * and sets other information required for copy\cut * * see struct iconCopyBuffer definition for details */ diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/iconlistwidget.h q4wine-1.3.12/src/q4wine-gui/widgets/iconlistwidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/iconlistwidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/iconlistwidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/loggingwidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/loggingwidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/loggingwidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/loggingwidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,8 +32,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); @@ -302,7 +302,7 @@ if (CoreLib->getSetting("advanced", "useNativeFileDialog", false, 1)==0) options = QFileDialog::DontUseNativeDialog; - QString fileName = QFileDialog::getSaveFileName(this, tr("Select file to save"), QDir::homePath(), tr("Log Files (*.log)"), 0, options); + QString fileName = QFileDialog::getSaveFileName(this, tr("Select file to save"), QDir::homePath(), tr("Log Files (*.log)"), nullptr, options); if (fileName.isEmpty()){ item.release(); @@ -406,7 +406,7 @@ QHash date_list = db_log.getDates(p_list.at(i), app_list.at(j)); QList date_keys = date_list.keys(); - qSort(date_keys.begin(), date_keys.end(), qGreater()); + std::sort(date_keys.begin(), date_keys.end(), std::greater()); for (int n=0; n * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/prefixconfigwidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/prefixconfigwidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/prefixconfigwidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/prefixconfigwidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,8 +32,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); this->sort_order = CoreLib->getSetting("WinetricksWidget", "IconSort", false, D_SORT_TYPE_BY_DATE_ASC).toInt(); @@ -308,7 +308,7 @@ iconItem->setIcon(CoreLib->loadIcon("download")); } else if (items.at(i).name == "%REFRESH_WINETRICKS%"){ name = tr("Refresh Winetricks application list"); - desc = tr("Create or update Q4Wine's cache of Winetricks appications."); + desc = tr("Create or update Q4Wine's cache of Winetricks applications."); iconItem->setIcon(CoreLib->loadIcon("edit-redo")); } else if (items.at(i).name == "%ABOUT_WINETRICKS%"){ name = tr("Goto Winetricks homepage"); diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/prefixconfigwidget.h q4wine-1.3.12/src/q4wine-gui/widgets/prefixconfigwidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/prefixconfigwidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/prefixconfigwidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/prefixcontrolwidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/prefixcontrolwidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/prefixcontrolwidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/prefixcontrolwidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,8 +32,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); this->createActions(); diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/prefixcontrolwidget.h q4wine-1.3.12/src/q4wine-gui/widgets/prefixcontrolwidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/prefixcontrolwidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/prefixcontrolwidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/prefixtreetoolbar.cpp q4wine-1.3.12/src/q4wine-gui/widgets/prefixtreetoolbar.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/prefixtreetoolbar.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/prefixtreetoolbar.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,8 +32,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); this->tree_state = CoreLib->getSetting("TreeWidget", "State", false, D_TREE_EXPAND).toInt(); diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/prefixtreetoolbar.h q4wine-1.3.12/src/q4wine-gui/widgets/prefixtreetoolbar.h --- q4wine-1.3.11/src/q4wine-gui/widgets/prefixtreetoolbar.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/prefixtreetoolbar.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/prefixtreewidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/prefixtreewidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/prefixtreewidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/prefixtreewidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,8 +32,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); //this->setHeaderLabel(tr("Current prefixes list")); diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/prefixtreewidget.h q4wine-1.3.12/src/q4wine-gui/widgets/prefixtreewidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/prefixtreewidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/prefixtreewidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/wineprocesswidget.cpp q4wine-1.3.12/src/q4wine-gui/widgets/wineprocesswidget.cpp --- q4wine-1.3.11/src/q4wine-gui/widgets/wineprocesswidget.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/wineprocesswidget.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -31,8 +31,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); this->createActions(); diff -Nru q4wine-1.3.11/src/q4wine-gui/widgets/wineprocesswidget.h q4wine-1.3.12/src/q4wine-gui/widgets/wineprocesswidget.h --- q4wine-1.3.11/src/q4wine-gui/widgets/wineprocesswidget.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/widgets/wineprocesswidget.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-gui/winedrivedialog.cpp q4wine-1.3.12/src/q4wine-gui/winedrivedialog.cpp --- q4wine-1.3.11/src/q4wine-gui/winedrivedialog.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/winedrivedialog.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -32,8 +32,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); setWindowIcon(CoreLib->loadIcon(CoreLib->getSetting("app", "icon", false, "q4wine").toString())); @@ -71,8 +71,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); if (removeLetters.count()>0){ diff -Nru q4wine-1.3.11/src/q4wine-gui/winedrivedialog.h q4wine-1.3.12/src/q4wine-gui/winedrivedialog.h --- q4wine-1.3.11/src/q4wine-gui/winedrivedialog.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/winedrivedialog.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -43,7 +43,7 @@ /*! \brief This is class constructor. * * \param WizardType Type of wizard scenario. - * \param var1 This variable used for different scenarion actions. + * \param var1 This variable used for different scenario actions. */ WineDriveDialog(QStringList removeLetters, QWidget * parent = 0, Qt::WindowFlags f = 0); WineDriveDialog(QStringList removeLetters, QString driveLetter, QString drivePath, QString driveType, QWidget * parent = 0, Qt::WindowFlags f = 0); diff -Nru q4wine-1.3.11/src/q4wine-gui/wizard.cpp q4wine-1.3.12/src/q4wine-gui/wizard.cpp --- q4wine-1.3.11/src/q4wine-gui/wizard.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/wizard.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -62,8 +62,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); Scena=WizardType; diff -Nru q4wine-1.3.11/src/q4wine-gui/wizard.h q4wine-1.3.12/src/q4wine-gui/wizard.h --- q4wine-1.3.11/src/q4wine-gui/wizard.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-gui/wizard.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -58,7 +58,7 @@ /*! \brief This is class constructor. * * \param WizardType Type of wizard scenario. - * \param var1 This variable used for different scenarion actions. + * \param var1 This variable used for different scenario actions. */ Wizard(int WizardType, QString var1 = "", QWidget * parent = 0, Qt::WindowFlags f = 0); QString getPrefixName(); @@ -67,10 +67,10 @@ //! \brief Next page button click slot. void nextWizardPage(); - //! \brief Previos page button click slot. + //! \brief Previous page button click slot. void previosWizardPage(); - //! \brief ChekBox change slot. + //! \brief CheckBox change slot. void changeBoxState(int state); //! \brief ComboBox change slot. @@ -86,7 +86,7 @@ void cmdFirstSteps_click(); private: - //! \brief Function for updateing scene elements. + //! \brief Function for updating scene elements. void updateScena(); int Scena, Page, TotalPage; @@ -94,7 +94,7 @@ //! \brief Function for checking user selected elements. bool checkEntry(QString fileName, QString info, bool isFile = true); - //! Database prefix class defenition. + //! Database prefix class definition. Prefix db_prefix; Icon db_icon; Dir db_dir; diff -Nru q4wine-1.3.11/src/q4wine-helper/q4wine-helper.cpp q4wine-1.3.12/src/q4wine-helper/q4wine-helper.cpp --- q4wine-1.3.11/src/q4wine-helper/q4wine-helper.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-helper/q4wine-helper.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -40,8 +40,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(false))); if (!CoreLib.get()){ @@ -87,7 +87,7 @@ qDebug()<")<")<.")< * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/src/q4wine-helper/wineobject.cpp q4wine-1.3.12/src/q4wine-helper/wineobject.cpp --- q4wine-1.3.11/src/q4wine-helper/wineobject.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-helper/wineobject.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -31,8 +31,8 @@ libq4wine.load(); } - // Getting corelib calss pointer - CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); + // Getting corelib class pointer + CoreLibClassPointer = reinterpret_cast(libq4wine.resolve("createCoreLib")); CoreLib.reset(static_cast(CoreLibClassPointer(true))); this->programNice = 0; @@ -42,7 +42,7 @@ return; } -bool WineObject::setPrefix(QString prefix){ +bool WineObject::setPrefix(const QString &prefix){ QHash prefix_info = db_prefix.getByName(prefix); this->prefixId=prefix_info.value("id").toInt(); @@ -61,51 +61,51 @@ return true; } -void WineObject::setProgramBinary(QString binary){ +void WineObject::setProgramBinary(const QString &binary){ this->programBinaryName=binary.split("/").last().split("\\").last(); this->programBinary=CoreLib->getShellEscapeString(binary); return; } -void WineObject::setProgramArgs(QString args){ +void WineObject::setProgramArgs(const QString &args){ this->programArgs=args; return; } -void WineObject::setProgramDisplay(QString dislpay){ - this->programDisplay=dislpay; +void WineObject::setProgramDisplay(const QString &display){ + this->programDisplay=display; return; } -void WineObject::setProgramDebug(QString debug){ +void WineObject::setProgramDebug(const QString &debug){ this->programDebug=debug; return; } -void WineObject::setProgramNice(int nice){ +void WineObject::setProgramNice(const int nice){ this->programNice = nice; return; } -void WineObject::setProgramDesktop(QString desktop){ +void WineObject::setProgramDesktop(const QString &desktop){ this->programDesktop=desktop; return; } -void WineObject::setProgramOverride(QString override){ +void WineObject::setProgramOverride(const QString &override){ this->overrideDllList = override; } -void WineObject::setProgramWrkdir(QString wrkdir){ +void WineObject::setProgramWrkdir(const QString &wrkdir){ this->programWrkDir = CoreLib->getShellEscapeString(wrkdir); } -void WineObject::setProgramLang(QString lang){ +void WineObject::setProgramLang(const QString &lang){ this->programLang=lang; return; } -void WineObject::setUseConsole(int console){ +void WineObject::setUseConsole(const int console){ if (console==1){ this->useConsole=true; } else { @@ -114,13 +114,13 @@ return; } -void WineObject::setPreRun(QString path){ +void WineObject::setPreRun(const QString &path){ //FIXME add check this->prerun_script = path; return; } -void WineObject::setPostRun(QString path){ +void WineObject::setPostRun(const QString &path){ //FIXME add check this->postrun_script = path; return; @@ -169,7 +169,7 @@ env.append(QString(" WINEDEBUG='%1' ").arg(this->programDebug)); } else { if ((!this->useConsole) && (CoreLib->getSetting("logging", "enable", false, 0).toInt()==0)){ - env.append(QString(" WINEDEBUG='-all' ")); + env.append(QString(" WINEDEBUG='-all' ")); } } @@ -218,7 +218,7 @@ if (this->useConsole){ // Owerride " with \" in case of using console app. run_string.replace("\"", "\\\""); - // If we gona use console output, so exec program is program specificed at CONSOLE global variable + // If we gona use console output, so exec program is program specified at CONSOLE global variable QString console_bin = CoreLib->getSetting("console", "bin").toString(); QString console_args = CoreLib->getSetting("console", "args", false).toString(); @@ -376,7 +376,7 @@ return status; } -int WineObject::runScript(QString script_path, bool pre_run){ +int WineObject::runScript(const QString &script_path, const bool pre_run){ int status; FILE *fp; char path[PATH_MAX]; @@ -434,7 +434,7 @@ return status; } -void WineObject::logStdout(int status){ +void WineObject::logStdout(const int status){ if (!this->useConsole){ if (logEnabled){ uint date = QDateTime::currentDateTime ().toTime_t(); @@ -452,7 +452,7 @@ } } -void WineObject::sendMessage(QString message){ +void WineObject::sendMessage(const QString &message){ QLocalSocket socket(this); socket.connectToServer( QString("/tmp/q4wine-%1.sock").arg(getuid()) , QIODevice::WriteOnly ); @@ -482,7 +482,7 @@ return; } -void WineObject::setOverrideDll(QString dll_list){ +void WineObject::setOverrideDll(const QString &dll_list){ this->overrideDllList = dll_list; } diff -Nru q4wine-1.3.11/src/q4wine-helper/wineobject.h q4wine-1.3.12/src/q4wine-helper/wineobject.h --- q4wine-1.3.11/src/q4wine-helper/wineobject.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-helper/wineobject.h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -48,41 +48,41 @@ class WineObject : public QObject { -Q_OBJECT + Q_OBJECT public: explicit WineObject(QObject *parent = 0); - bool setPrefix(QString prefix); + bool setPrefix(const QString &prefix); - void setProgramBinary(QString binary); - void setProgramArgs(QString args); - void setProgramDisplay(QString dislpay); - void setProgramDebug(QString debug); - void setProgramNice(int nice); - void setProgramDesktop(QString desktop); - void setProgramOverride(QString override); - void setProgramWrkdir(QString wrkdir); - void setProgramLang(QString lang); - void setPreRun(QString path); - void setPostRun(QString path); + void setProgramBinary(const QString &binary); + void setProgramArgs(const QString &args); + void setProgramDisplay(const QString &display); + void setProgramDebug(const QString &debug); + void setProgramNice(const int nice); + void setProgramDesktop(const QString &desktop); + void setProgramOverride(const QString &override); + void setProgramWrkdir(const QString &wrkdir); + void setProgramLang(const QString &lang); + void setPreRun(const QString &path); + void setPostRun(const QString &path); - void setUseConsole(int console); - void setOverrideDll(QString dll_list); + void setUseConsole(const int console); + void setOverrideDll(const QString &dll_list); int run(); private: int runSys(); - int runScript(QString script_path, bool pre_run=true); - void logStdout(int status); + int runScript(const QString &script_path, const bool pre_run=true); + void logStdout(const int status); //! This is need for libq4wine-core.so import; typedef void *CoreLibPrototype (bool); - CoreLibPrototype *CoreLibClassPointer; - std::unique_ptr CoreLib; + CoreLibPrototype *CoreLibClassPointer; + std::unique_ptr CoreLib; QLibrary libq4wine; QString createEnvString(void); - void sendMessage(QString message); + void sendMessage(const QString &message); Prefix db_prefix; Logging db_logging; diff -Nru q4wine-1.3.11/src/q4wine-lib/q4wine-lib.cpp q4wine-1.3.12/src/q4wine-lib/q4wine-lib.cpp --- q4wine-1.3.11/src/q4wine-lib/q4wine-lib.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/q4wine-lib/q4wine-lib.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -18,20 +18,16 @@ #include "q4wine-lib.h" -corelib::corelib(bool _GUI_MODE) +corelib::corelib(const bool GUI_MODE) : + m_GUI_MODE(GUI_MODE) // Setting gui mode, if false - cli mode else gui mode { - // Setting gui mode, if false - cli mode else gui mode - this->_GUI_MODE=_GUI_MODE; - this->mdconfig=""; - this->fuseiso=""; - this->fusermount=""; } -corelib* createCoreLib(bool _GUI_MODE){ - return new corelib(_GUI_MODE); +corelib* createCoreLib(const bool GUI_MODE){ + return new corelib(GUI_MODE); } -QList corelib::getWineProcessList(const QString prefix_name){ +QList corelib::getWineProcessList(const QString &prefix_name){ QList proclist; QStringList procline; @@ -43,7 +39,7 @@ QString name, procstat, path, prefix, env_arg, nice, message; #ifdef _OS_LINUX_ - message = "

Process is unable to access /proc file system.

Access is necessary for displaying Wine process information.

You need to set CONFIG_PROC_FS=y option on linux kernel config file and mount proc file system by running: mount -t proc none /proc

"; + message = "

Process is unable to access /proc file system.

Access is necessary for displaying Wine process information.

You need to set CONFIG_PROC_FS=y option on Linux kernel config file and mount proc file system by running: mount -t proc none /proc

"; #endif #ifdef _OS_FREEBSD_ @@ -104,70 +100,70 @@ #ifdef DEBUG qDebug()<<"path: "<isPrint()){ - prefix.append(e_line.mid(i, 1)); - } else { - break; - } + path = "/proc/"; + path.append(fileInfo.fileName()); + path.append("/stat"); + + QFile file_s(path); + if (file_s.open(QIODevice::ReadOnly | QIODevice::Text)){ + // Try to read com file + QTextStream in(&file_s); + QString line = in.readLine(); + if (!line.isNull()){ + // Getting nice and name of the process + // Replace process name in case it contains spaces + line.replace(QRegExp("\\(.*\\)"), "name"); + nice = line.section(' ', 18, 18); + + //Remove path + name = name.split("/").last(); + name = name.split("\\").last(); + + path = "/proc/"; + path.append(fileInfo.fileName()); + path.append("/environ"); + QFile file_e(path); + // Getting WINEPREFIX variable. + if (file_e.open(QIODevice::ReadOnly | QIODevice::Text)){ + // Try to read environ file + QTextStream e_in(&file_e); + QString e_line = e_in.readLine(); + while(!e_line.isNull()) { + int index = e_line.indexOf("WINEPREFIX="); + prefix=""; + if (index!=-1) + for (int i=index+11; i<=e_line.length(); i++){ + if (e_line.mid(i, 1).data()->isPrint()){ + prefix.append(e_line.mid(i, 1)); + } else { + break; } - e_line = e_in.readLine(); - } - file_e.close(); + } + e_line = e_in.readLine(); } + file_e.close(); + } - // Puting all fields into QList - procline.clear(); - if (!prefix_path.isNull()){ - if (prefix_path == prefix){ - procline << fileInfo.fileName() << name << nice << prefix; - proclist << procline; - } - } else { + // Putting all fields into QList + procline.clear(); + if (!prefix_path.isNull()){ + if (prefix_path == prefix){ procline << fileInfo.fileName() << name << nice << prefix; proclist << procline; } + } else { + procline << fileInfo.fileName() << name << nice << prefix; + proclist << procline; } - file_s.close(); } + file_s.close(); + } file_c.close(); } } #endif -/* On FreeBSD: + /* On FreeBSD: * This is new engine for getting process info from /proc directory and kmem interface */ #ifdef _OS_FREEBSD_ @@ -238,14 +234,14 @@ j++; } } else { - prefix = QObject::tr("Cannot read process info from /proc or API is changed."); + prefix = QObject::tr("Cannot read process info from /proc or API is changed."); #ifdef DEBUG - qDebug()<< "kvm_getenvv failed: " << kvm_geterr(kd); + qDebug()<< "kvm_getenvv failed: " << kvm_geterr(kd); #endif } procline.clear(); - // Puting all fields into QList + // Putting all fields into QList if (!prefix_path.isNull()){ if (prefix_path == prefix){ procline << QString("%1").arg(ipid) << name << nice << prefix; @@ -313,7 +309,7 @@ return proclist; } -QVariant corelib::getSetting(const QString group, const QString key, const bool checkExist, const QVariant defaultVal) const{ +QVariant corelib::getSetting(const QString &group, const QString &key, const bool checkExist, const QVariant &defaultVal) const{ QVariant retVal; QSettings settings(APP_SHORT_NAME, "default"); @@ -322,9 +318,9 @@ settings.endGroup(); if (checkExist==true) if (!QFileInfo(retVal.toString()).exists()){ - this->showError(QObject::tr("

Error while loading application settings by key: '%1'. File or path does not exist: \"%2\"

Please, go to the %3 options dialog and set it.

").arg(key).arg(retVal.toString()).arg(APP_SHORT_NAME)); - retVal = QVariant(); - } + this->showError(QObject::tr("

Error while loading application settings by key: '%1'. File or path does not exist: \"%2\"

Please, go to the %3 options dialog and set it.

").arg(key).arg(retVal.toString()).arg(APP_SHORT_NAME)); + retVal = QVariant(); + } return retVal; } @@ -397,15 +393,15 @@ return; } -QIcon corelib::loadIcon(QString iconName, bool fromTheme){ - // Function tryes to load icon image from theme dir - // If it fails -> load default from rsource file +QIcon corelib::loadIcon(const QString &iconName, bool fromTheme){ + // Function tries to load icon image from theme dir + // If it fails -> load default from resource file return QIcon::fromTheme(iconName, QIcon(QString(":/%1").arg(iconName))); } -QIcon corelib::loadAppIcon(QString iconName){ - // Function tryes to load icon image from theme dir - // If it fails -> load default from rsource file +QIcon corelib::loadAppIcon(const QString &iconName){ + // Function tries to load icon image from theme dir + // If it fails -> load default from resource file QIcon ico; if (QFile(iconName).exists()){ @@ -413,19 +409,19 @@ } else { ico = QIcon::fromTheme(iconName, QIcon(QString(":/%1").arg(iconName))); #if QT_VERSION >= 0x050700 - if (ico.isNull()){ + if (ico.isNull()){ #else - if (ico.availableSizes().isEmpty()){ + if (ico.availableSizes().isEmpty()){ #endif - return loadIcon("application-x-ms-dos-executable"); - } + return loadIcon("application-x-ms-dos-executable"); + } } return ico; } -QPixmap corelib::loadPixmap(QString iconName){ - // Function tryes to load icon image from theme dir - // If it fails -> load default from rsource file +QPixmap corelib::loadPixmap(const QString &iconName){ + // Function tries to load icon image from theme dir + // If it fails -> load default from resource file QPixmap pixmap; pixmap.load(QString(":/%1").arg(iconName)); @@ -436,11 +432,11 @@ QTranslator qtt; #ifdef RELEASE - #ifdef _OS_DARWIN_ - QString l10nPath = QString("%1/%2.app/Contents/l10n").arg(QDir::currentPath()).arg(APP_SHORT_NAME); - #else - QString l10nPath = QString("%1/share/%2/l10n").arg(QString::fromUtf8(APP_PREF)).arg(APP_SHORT_NAME); - #endif +#ifdef _OS_DARWIN_ + QString l10nPath = QString("%1/%2.app/Contents/l10n").arg(QDir::currentPath()).arg(APP_SHORT_NAME); +#else + QString l10nPath = QString("%1/share/%2/l10n").arg(QString::fromUtf8(APP_PREF)).arg(APP_SHORT_NAME); +#endif #else QString l10nPath = QString("%1/l10n").arg(QString::fromUtf8(APP_BUILD)); #endif @@ -479,7 +475,7 @@ return ""; } -QString corelib::getLang(bool fromSettings){ +QString corelib::getLang(const bool fromSettings){ QString lang; if (fromSettings){ @@ -517,7 +513,7 @@ return false; } -bool corelib::checkDirs(QString rootPath, QStringList subDirs){ +bool corelib::checkDirs(const QString &rootPath, QStringList subDirs) const{ if (subDirs.isEmpty()){ subDirs << "" << "db" << "icons" << "prefixes" << "tmp" << "theme" << "tmp/cache" << "scripts"; } @@ -582,7 +578,7 @@ Qcout<getSetting("wine", "WineLibs", false, "").toString(); - } + return QChar(); +} - QDir dir(prefix_lib_path); - dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks); +QStringList corelib::getWineDlls(QString prefix_lib_path) const{ + QStringList dllList; + if (prefix_lib_path.isEmpty()){ + prefix_lib_path=this->getSetting("wine", "WineLibs", false, "").toString(); + } - QFileInfoList list = dir.entryInfoList(); - for (int i = 0; i < list.size(); ++i) { - QFileInfo fileInfo = list.at(i); - if (fileInfo.fileName().indexOf(".dll.so")>=0){ - dllList<=0){ + dllList<getSetting("system", "sudo").toString().isEmpty()){ - arguments << "losetup" << image; - QProcess myProcess; - myProcess.start(this->getSetting("system", "sudo").toString(), arguments); - if (!myProcess.waitForFinished()){ - qDebug() << "Make failed:" << myProcess.errorString(); - return QString("cannot run %1").arg(arguments.at(0)); - } else { - image = myProcess.readAll(); - qDebug()<<"[ii] loop: "<getSetting("system", "sudo").toString().isEmpty()){ + arguments << "losetup" << image; + QProcess myProcess; + myProcess.start(this->getSetting("system", "sudo").toString(), arguments); + if (!myProcess.waitForFinished()){ + qDebug() << "Make failed:" << myProcess.errorString(); + return QString("cannot run %1").arg(arguments.at(0)); + } else { + image = myProcess.readAll(); + qDebug()<<"[ii] loop: "<getSetting("system", "mount").toString()).arg(cdrom_mount); + arguments << "-c" << QString("%1 | grep \"%2\"").arg(this->getSetting("system", "mount").toString()).arg(cdrom_mount); - QProcess myProcess; - myProcess.start(this->getSetting("system", "sh").toString(), arguments); - if (!myProcess.waitForFinished()){ - qDebug() << "Make failed:" << myProcess.errorString(); - return QString(); - } + QProcess myProcess; + myProcess.start(this->getSetting("system", "sh").toString(), arguments); + if (!myProcess.waitForFinished()){ + qDebug() << "Make failed:" << myProcess.errorString(); + return QString(); + } - image = myProcess.readAll(); + image = myProcess.readAll(); #ifdef DEBUG - qDebug()<<"corelib::getMountedImages:image"<getSetting("system", "sudo").toString(), arguments); - if (!myProcess.waitForFinished()){ - qDebug() << "Make failed:" << myProcess.errorString(); - return QString(); - } else { - image = myProcess.readAll(); - image = image.split("/").last().mid(0, image.split("/").last().length()-1); - } - } else if (image.contains("fuseiso") || image.contains("q4wine-mount")){ + if (image.contains("md")){ + myProcess.close (); + arguments.clear(); + arguments << "mdconfig" << "-l" << QString("-u%1").arg(image.mid(7)); + myProcess.start(this->getSetting("system", "sudo").toString(), arguments); + if (!myProcess.waitForFinished()){ + qDebug() << "Make failed:" << myProcess.errorString(); + return QString(); + } else { + image = myProcess.readAll(); + image = image.split("/").last().mid(0, image.split("/").last().length()-1); + } + } else if (image.contains("fuseiso") || image.contains("q4wine-mount")){ #ifdef DEBUG - qDebug()<<"corelib::getMountedImages fuseiso sub"<getSetting("system", "sh").toString(), arguments); - if (!myProcess.waitForFinished()){ - qDebug() << "Make failed:" << myProcess.errorString(); - return QString(); - } + QProcess myProcess; + myProcess.start(this->getSetting("system", "sh").toString(), arguments); + if (!myProcess.waitForFinished()){ + qDebug() << "Make failed:" << myProcess.errorString(); + return QString(); + } - QString buffer; - buffer = myProcess.readAll(); + QString buffer; + buffer = myProcess.readAll(); #ifdef DEBUG - //qDebug()<<"corelib::getMountedImages info"< result = db_icon.getByName(prefix_name, dir_name, icon_name); - ExecObject execObj; - execObj.wrkdir = result.value("wrkdir"); - execObj.override = result.value("override"); - execObj.winedebug = result.value("winedebug"); - execObj.useconsole = result.value("useconsole"); - execObj.display = result.value("display"); - if (extra_args.isEmpty()){ - execObj.cmdargs = result.value("cmdargs"); - } else { - execObj.cmdargs = QString("%1 %2").arg(result.value("cmdargs")).arg(extra_args.join(" ")); - } - execObj.execcmd = result.value("exec"); - execObj.desktop = result.value("desktop"); - execObj.nice = result.value("nice"); - execObj.name = icon_name; - execObj.lang = result.value("lang"); - execObj.prerun = result.value("prerun"); - execObj.postrun = result.value("postrun"); +bool corelib::runIcon(const QString &prefix_name, const QString &dir_name, const QString &icon_name, const QStringList &extra_args){ + QHash result = db_icon.getByName(prefix_name, dir_name, icon_name); + ExecObject execObj; + execObj.wrkdir = result.value("wrkdir"); + execObj.override = result.value("override"); + execObj.winedebug = result.value("winedebug"); + execObj.useconsole = result.value("useconsole"); + execObj.display = result.value("display"); + if (extra_args.isEmpty()){ + execObj.cmdargs = result.value("cmdargs"); + } else { + execObj.cmdargs = QString("%1 %2").arg(result.value("cmdargs")).arg(extra_args.join(" ")); + } + execObj.execcmd = result.value("exec"); + execObj.desktop = result.value("desktop"); + execObj.nice = result.value("nice"); + execObj.name = icon_name; + execObj.lang = result.value("lang"); + execObj.prerun = result.value("prerun"); + execObj.postrun = result.value("postrun"); - return runWineBinary(execObj, prefix_name); - } + return runWineBinary(execObj, prefix_name); +} - bool corelib::checkFileExists(QString path){ - QString u_path; +bool corelib::checkFileExists(const QString &path){ + QString u_path; - if (path.length()<=0){ - return true; - } + if (path.length()<=0){ + return true; + } - if (path.mid(0,1)=="/"){ - if (!QFile(path).exists()){ - if (this->_GUI_MODE){ - QMessageBox::warning(0, QObject::tr("Error"), QObject::tr("Binary file \"%1\" does not exist.").arg(path)); - } else { - qDebug()<<"[EE] Binary \""<getWinePath(path, "-u"); - if (u_path.isEmpty()){ - if (this->_GUI_MODE){ - QMessageBox::warning(0, QObject::tr("Error"), QObject::tr("Cannot get unix path for \"%1\".").arg(path)); - } else { - qDebug()<<"[EE] Binary \""<getWinePath(path, "-u"); + if (u_path.isEmpty()){ + if (m_GUI_MODE){ + QMessageBox::warning(0, QObject::tr("Error"), QObject::tr("Cannot get unix path for \"%1\".").arg(path)); + } else { + qDebug()<<"[EE] Binary \""<_GUI_MODE){ - QMessageBox::warning(0, QObject::tr("Error"), QObject::tr("Binary file \"%1\" does not exist.").arg(u_path)); - } else { - qDebug()<<"[EE] Binary \""<0){ - args.append("--nice"); - args.append(execObj.nice); - } + if (execObj.nice>0){ + args.append("--nice"); + args.append(execObj.nice); + } - if (!execObj.desktop.isEmpty()){ - args.append("--desktop"); - args.append(execObj.desktop); - } + if (!execObj.desktop.isEmpty()){ + args.append("--desktop"); + args.append(execObj.desktop); + } - if (!execObj.override.isEmpty()){ - args.append("--override"); - args.append(QString("'%1'").arg(execObj.override)); - } + if (!execObj.override.isEmpty()){ + args.append("--override"); + args.append(QString("'%1'").arg(execObj.override)); + } - if (execObj.useconsole == "1"){ - args.append("--console"); - args.append(execObj.useconsole); - } + if (execObj.useconsole == "1"){ + args.append("--console"); + args.append(execObj.useconsole); + } - if (!execObj.winedebug.isEmpty()){ - args.append("--wine-debug"); - args.append(execObj.winedebug); - } + if (!execObj.winedebug.isEmpty()){ + args.append("--wine-debug"); + args.append(execObj.winedebug); + } - if (!execObj.display.isEmpty()){ - args.append("--display"); - args.append(execObj.display); - } + if (!execObj.display.isEmpty()){ + args.append("--display"); + args.append(execObj.display); + } - if (!execObj.cmdargs.isEmpty()){ - args.append("--program-args"); - args.append(execObj.cmdargs); - } + if (!execObj.cmdargs.isEmpty()){ + args.append("--program-args"); + args.append(execObj.cmdargs); + } - if (!execObj.execcmd.isEmpty()){ - args.append("--program-bin"); - args.append(execObj.execcmd); - } + if (!execObj.execcmd.isEmpty()){ + args.append("--program-bin"); + args.append(execObj.execcmd); + } - if (!execObj.lang.isEmpty()){ - args.append("--program-lang"); - args.append(execObj.lang); - } + if (!execObj.lang.isEmpty()){ + args.append("--program-lang"); + args.append(execObj.lang); + } - if (!execObj.prerun.isEmpty()){ - args.append("--prerun"); - args.append(QString("'%1'").arg(execObj.prerun)); - } + if (!execObj.prerun.isEmpty()){ + args.append("--prerun"); + args.append(QString("'%1'").arg(execObj.prerun)); + } - if (!execObj.postrun.isEmpty()){ - args.append("--postrun"); - args.append(QString("'%1'").arg(execObj.postrun)); - } + if (!execObj.postrun.isEmpty()){ + args.append("--postrun"); + args.append(QString("'%1'").arg(execObj.postrun)); + } - QString wrkdir = execObj.wrkdir; + QString wrkdir = execObj.wrkdir; - if (wrkdir.isEmpty()) - wrkdir = QDir::currentPath(); + if (wrkdir.isEmpty()) + wrkdir = QDir::currentPath(); - args.append("--wrkdir"); - args.append(wrkdir); + args.append("--wrkdir"); + args.append(wrkdir); #ifdef DEBUG - qDebug()<<"[ii] corelib::runWineBinary: "< result = db_icon.getByName(prefix_name, dir_name, icon_name); +QString corelib::createDesktopFile(const QString &prefix_name, const QString &dir_name, const QString &icon_name, const bool is_menu) const{ + QHash result = db_icon.getByName(prefix_name, dir_name, icon_name); - QString fileName; + QString fileName; - //FIXME: - QString base_icon = QString("%1/.local/share/applications/").arg(QDir::homePath()); + //FIXME: + QString base_icon = QString("%1/.local/share/applications/").arg(QDir::homePath()); #ifdef _OS_DARWIN_ - QString embedded_icon_path = QString("%1/%2.app/Contents/Resources/icons/share/q4wine/icons/").arg(APP_PREF, APP_NAME); + QString embedded_icon_path = QString("%1/%2.app/Contents/Resources/icons/share/q4wine/icons/").arg(APP_PREF, APP_NAME); #else - QString embedded_icon_path = QString("%1/share/q4wine/icons/").arg(APP_PREF); + QString embedded_icon_path = QString("%1/share/q4wine/icons/").arg(APP_PREF); #endif - if (is_menu){ - fileName = base_icon; - fileName.append(APP_SHORT_NAME); - fileName.append("/"); - fileName.append(prefix_name); - fileName.append("/"); - fileName.append(dir_name); - fileName.append("/"); - } else { - fileName = QDir::homePath(); - fileName.append("/.config/"); - fileName.append(APP_SHORT_NAME); - fileName.append("/tmp/"); - } + if (is_menu){ + fileName = base_icon; + fileName.append(APP_SHORT_NAME); + fileName.append("/"); + fileName.append(prefix_name); + fileName.append("/"); + fileName.append(dir_name); + fileName.append("/"); + } else { + fileName = QDir::homePath(); + fileName.append("/.config/"); + fileName.append(APP_SHORT_NAME); + fileName.append("/tmp/"); + } - fileName.append(result.value("name")); - fileName.append(".desktop"); - - QFile file(fileName); - if (!file.open(QIODevice::Truncate | QIODevice::WriteOnly | QIODevice::Text)) - return ""; + fileName.append(result.value("name")); + fileName.append(".desktop"); - QTextStream out(&file); - out<<"[Desktop Entry]"<umountImage(prefix_name)){ - this->showError(QObject::tr("Failed to unmount previously mounted image.")); - //TODO: allow ignoring this - //return false; - } +bool corelib::mountImage(const QString &image_name, const QString &prefix_name){ + if (!this->umountImage(prefix_name)){ + this->showError(QObject::tr("Failed to unmount previously mounted image.")); + //TODO: allow ignoring this + //return false; + } - QString mount_point=db_prefix.getMountPoint(prefix_name); + QString mount_point=db_prefix.getMountPoint(prefix_name); #ifdef DEBUG - qDebug()<<"[ii] corelib::mountImage: mount point: "<showError(QObject::tr("It seems that no mount point was set in prefix options.
You might need to set it manually.")); - return false; - } - if (image_name.isEmpty()) - return false; + if (mount_point.isEmpty()){ + this->showError(QObject::tr("It seems that no mount point was set in prefix options.
You might need to set it manually.")); + return false; + } + if (image_name.isEmpty()) + return false; - QStringList args; - QString mount_string; + QStringList args; + QString mount_string; #ifdef _OS_FREEBSD_ - if ((image_name.contains("/") && (!image_name.contains(".iso", Qt::CaseInsensitive)) && (!image_name.contains(".nrg", Qt::CaseInsensitive)))) { - mount_string=this->getSetting("quickmount", "mount_drive_string", false).toString(); + if ((image_name.contains("/") && (!image_name.contains(".iso", Qt::CaseInsensitive)) && (!image_name.contains(".nrg", Qt::CaseInsensitive)))) { + mount_string=this->getSetting("quickmount", "mount_drive_string", false).toString(); #ifdef DEBUG - qDebug()<<"[ii] corelib::mountImage:FreeBSD drive mount base string: "<getEscapeString(image_name)); - } else { - mount_string=this->getSetting("quickmount", "mount_image_string", false).toString(); + mount_string.replace("%MOUNT_DRIVE%", this->getEscapeString(image_name)); + } else { + mount_string=this->getSetting("quickmount", "mount_image_string", false).toString(); #ifdef DEBUG - qDebug()<<"[ii] corelib::mountImage:FreeBSD image mount base string: "<getEscapeString(db_image.getPath(image_name))); - } else { - mount_string.replace("%MOUNT_IMAGE%", this->getEscapeString(image_name)); - } - mount_string.replace("%MDCONFIG_BIN%", this->getWhichOut("mdconfig")); - } + if (!QFile(image_name).exists()){ + mount_string.replace("%MOUNT_IMAGE%", this->getEscapeString(db_image.getPath(image_name))); + } else { + mount_string.replace("%MOUNT_IMAGE%", this->getEscapeString(image_name)); + } + mount_string.replace("%MDCONFIG_BIN%", this->getWhichOut("mdconfig")); + } - mount_string.replace("%GUI_SUDO%", getSetting("system", "gui_sudo").toString()); - mount_string.replace("%SUDO%", getSetting("system", "sudo").toString()); - mount_string.replace("%MOUNT_BIN%", getSetting("system", "mount").toString()); + mount_string.replace("%GUI_SUDO%", getSetting("system", "gui_sudo").toString()); + mount_string.replace("%SUDO%", getSetting("system", "sudo").toString()); + mount_string.replace("%MOUNT_BIN%", getSetting("system", "mount").toString()); #endif - QFile imageFile(image_name); + QFile imageFile(image_name); #ifdef _OS_LINUX_ - if ((image_name.contains("/") && (!image_name.contains(".iso", Qt::CaseInsensitive)) && (!image_name.contains(".nrg", Qt::CaseInsensitive)))) { - mount_string=this->getSetting("quickmount", "mount_drive_string", false).toString(); + if ((image_name.contains("/") && (!image_name.contains(".iso", Qt::CaseInsensitive)) && (!image_name.contains(".nrg", Qt::CaseInsensitive)))) { + mount_string=this->getSetting("quickmount", "mount_drive_string", false).toString(); #ifdef DEBUG - qDebug()<<"[ii] corelib::mountImage:Linux drive mount base string: "<getEscapeString(image_name)); - } else { - mount_string=this->getSetting("quickmount", "mount_image_string", false).toString(); + mount_string.replace("%MOUNT_DRIVE%", this->getEscapeString(image_name)); + } else { + mount_string=this->getSetting("quickmount", "mount_image_string", false).toString(); #ifdef DEBUG - qDebug()<<"[ii] corelib::mountImage:Linux image mount base string: "<db_image.getPath(image_name); - mount_string.replace("%MOUNT_IMAGE%", this->getEscapeString(imagePath)); - imageFile.setFileName(imagePath); - } else { - mount_string.replace("%MOUNT_IMAGE%", this->getEscapeString(image_name)); - } + if (!imageFile.exists()){ + QString imagePath = this->db_image.getPath(image_name); + mount_string.replace("%MOUNT_IMAGE%", this->getEscapeString(imagePath)); + imageFile.setFileName(imagePath); + } else { + mount_string.replace("%MOUNT_IMAGE%", this->getEscapeString(image_name)); + } - if (image_name.right(3)=="nrg"){ - mount_string.replace("%MOUNT_OPTIONS%", "-o ro,loop,offset=307200"); - } else { - mount_string.replace("%MOUNT_OPTIONS%", "-o ro,loop"); - } - } + if (image_name.right(3)=="nrg"){ + mount_string.replace("%MOUNT_OPTIONS%", "-o ro,loop,offset=307200"); + } else { + mount_string.replace("%MOUNT_OPTIONS%", "-o ro,loop"); + } + } - mount_string.replace("%GUI_SUDO%", getSetting("system", "gui_sudo").toString()); - mount_string.replace("%SUDO%", getSetting("system", "sudo").toString()); - mount_string.replace("%MOUNT_BIN%", getSetting("system", "mount").toString()); + mount_string.replace("%GUI_SUDO%", getSetting("system", "gui_sudo").toString()); + mount_string.replace("%SUDO%", getSetting("system", "sudo").toString()); + mount_string.replace("%MOUNT_BIN%", getSetting("system", "mount").toString()); #endif #ifdef _OS_DARWIN_ - mount_string=this->getSetting("quickmount", "mount_image_string", false).toString(); -#ifdef DEBUG - qDebug()<<"[ii] corelib::mountImage:Linux image mount base string: "<db_image.getPath(image_name); - mount_string.replace("%MOUNT_IMAGE%", this->getEscapeString(imagePath)); - imageFile.setFileName(imagePath); - } else { - mount_string.replace("%MOUNT_IMAGE%", this->getEscapeString(image_name)); - } -#endif - mount_string.replace("%MOUNT_POINT%", this->getEscapeString(mount_point)); - args.clear(); - args.append("-c"); - args.append(mount_string); - + mount_string=this->getSetting("quickmount", "mount_image_string", false).toString(); #ifdef DEBUG - qDebug()<<"[ii] corelib::mountImage: mount args: "<runProcess(args, QObject::tr("Mounting..."), QObject::tr("Mounting %1 into %2").arg(image_name).arg(mount_point)); - if (success){ - //create the symlink to the iso so that wine recognises the mountpoint as a CD-ROM - QString prefixPath = db_prefix.getPath(prefix_name); - QChar winDrive = db_prefix.getMountPointWindrive(prefix_name); - if (winDrive.isNull()){ - winDrive = this->getCdromWineDrive(db_prefix.getPath(prefix_name), mount_point); - if (winDrive.isNull()){ -#ifdef DEBUG - qDebug()<<"[ii] Prefix '" << prefix_name << "' does not have a Windows drive set for the mount operation"; + if (!imageFile.exists()){ + QString imagePath = this->db_image.getPath(image_name); + mount_string.replace("%MOUNT_IMAGE%", this->getEscapeString(imagePath)); + imageFile.setFileName(imagePath); + } else { + mount_string.replace("%MOUNT_IMAGE%", this->getEscapeString(image_name)); + } #endif - return success; //do not create the link, return true - } - } - //drive letter plus two colons links to the actual physical device (in this case the image) - QFile physicalDriveLink(prefixPath + "/dosdevices/" + winDrive.toLower() + "::"); - if (physicalDriveLink.exists()){ - if (!physicalDriveLink.remove()) { - //failed to delete, this is an error - qDebug()<<"[EE] failed to remove drive symlink"; - return false; - } - } - //drive link has been removed or didn't exist -> we can create the link now - imageFile.link(physicalDriveLink.fileName()); + mount_string.replace("%MOUNT_POINT%", this->getEscapeString(mount_point)); + args.clear(); + args.append("-c"); + args.append(mount_string); + +#ifdef DEBUG + qDebug()<<"[ii] corelib::mountImage: mount args: "<runProcess(args, QObject::tr("Mounting..."), QObject::tr("Mounting %1 into %2").arg(image_name).arg(mount_point)); + if (success){ + //create the symlink to the iso so that wine recognises the mountpoint as a CD-ROM + QString prefixPath = db_prefix.getPath(prefix_name); + QChar winDrive = db_prefix.getMountPointWindrive(prefix_name); + if (winDrive.isNull()){ + winDrive = this->getCdromWineDrive(db_prefix.getPath(prefix_name), mount_point); + if (winDrive.isNull()){ +#ifdef DEBUG + qDebug()<<"[ii] Prefix '" << prefix_name << "' does not have a Windows drive set for the mount operation"; +#endif + return success; //do not create the link, return true + } + } + //drive letter plus two colons links to the actual physical device (in this case the image) + QFile physicalDriveLink(prefixPath + "/dosdevices/" + winDrive.toLower() + "::"); + if (physicalDriveLink.exists()){ + if (!physicalDriveLink.remove()) { + //failed to delete, this is an error + qDebug()<<"[EE] failed to remove drive symlink"; + return false; + } + } + //drive link has been removed or didn't exist -> we can create the link now + imageFile.link(physicalDriveLink.fileName()); - //make sure the drive points to the mountpoint - QFile mountPointLink(prefixPath + "/dosdevices/" + winDrive.toLower() + ":"); - if (mountPointLink.exists() && mountPointLink.symLinkTarget() != mount_point){ - if (!mountPointLink.remove()) { - //failed to delete, this is an error - qDebug()<<"[EE] failed to remove mountpoint drive symlink"; - return false; - } - } - //drive link has been removed or didn't exist -> we can create the link now - QFile::link(mount_point, mountPointLink.fileName()); + //make sure the drive points to the mountpoint + QFile mountPointLink(prefixPath + "/dosdevices/" + winDrive.toLower() + ":"); + if (mountPointLink.exists() && mountPointLink.symLinkTarget() != mount_point){ + if (!mountPointLink.remove()) { + //failed to delete, this is an error + qDebug()<<"[EE] failed to remove mountpoint drive symlink"; + return false; } - return success; } + //drive link has been removed or didn't exist -> we can create the link now + QFile::link(mount_point, mountPointLink.fileName()); + } + return success; +} - bool corelib::umountImage(const QString prefix_name){ - QString mount_point=db_prefix.getMountPoint(prefix_name); +bool corelib::umountImage(const QString &prefix_name){ + QString mount_point=db_prefix.getMountPoint(prefix_name); - if (this->getMountedImages(mount_point)=="none"){ + if (this->getMountedImages(mount_point)=="none"){ #ifdef DEBUG - qDebug()<<"[ii] corelib::umountImage: no mounted images found in mount point: "<showError(QObject::tr("It seems that no mount point was set in prefix options.
You might need to set it manually.")); - return false; - } + if (mount_point.isEmpty()){ + this->showError(QObject::tr("It seems that no mount point was set in prefix options.
You might need to set it manually.")); + return false; + } - QStringList args; - QString arg; + QStringList args; + QString arg; - QString mount_string; - mount_string=this->getSetting("quickmount", "umount_string", false).toString(); + QString mount_string; + mount_string=this->getSetting("quickmount", "umount_string", false).toString(); #ifdef DEBUG - qDebug()<<"[ii] corelib::umountImage: umount string: "<getEscapeString(mount_point)); + mount_string.replace("%GUI_SUDO%", getSetting("system", "gui_sudo").toString()); + mount_string.replace("%SUDO%", getSetting("system", "sudo").toString()); + mount_string.replace("%UMOUNT_BIN%", getSetting("system", "umount").toString()); + mount_string.replace("%MOUNT_POINT%", this->getEscapeString(mount_point)); - args.clear(); - args.append("-c"); - args.append(mount_string); + args.clear(); + args.append("-c"); + args.append(mount_string); #ifdef DEBUG - qDebug()<<"[ii] corelib::umountImage: umount args: "<runProcess(args, QObject::tr("Umounting..."), QObject::tr("Umounting point: %1").arg(mount_point)); - } + return this->runProcess(args, QObject::tr("Umounting..."), QObject::tr("Umounting point: %1").arg(mount_point)); +} - bool corelib::runProcess(const QStringList args, const QString caption, const QString message){ +bool corelib::runProcess(const QStringList &args, const QString &caption, const QString &message){ #ifdef DEBUG - qDebug()<<"[ii] corelib::runProcess: args: "<_GUI_MODE){ - Process proc(args, this->getSetting("system", "sh").toString(), QDir::homePath(), message, caption, false); - return (proc.exec()); - } else { - return (this->runProcess(this->getSetting("system", "sh").toString(), args)); - } - return true; - } - - QString corelib::getWinePath(const QString path, const QString option) { - QString output, exec; - QStringList args; + if (m_GUI_MODE){ + Process proc(args, this->getSetting("system", "sh").toString(), QDir::homePath(), message, caption, false); + return (proc.exec()); + } else { + return (this->runProcess(this->getSetting("system", "sh").toString(), args)); + } + return true; +} - args.append(option); - args.append(path); - exec = this->getWhichOut("winepath"); +QString corelib::getWinePath(const QString &path, const QString &option) { + QString output, exec; + QStringList args; - QProcess myProcess; - myProcess.setEnvironment(QProcess::systemEnvironment()); - myProcess.setWorkingDirectory (QDir::homePath()); - myProcess.start(exec, args); + args.append(option); + args.append(path); + exec = this->getWhichOut("winepath"); + + QProcess myProcess; + myProcess.setEnvironment(QProcess::systemEnvironment()); + myProcess.setWorkingDirectory (QDir::homePath()); + myProcess.start(exec, args); - if (myProcess.waitForFinished()){ - output = myProcess.readAllStandardOutput().trimmed(); - } - return output; - } + if (myProcess.waitForFinished()){ + output = myProcess.readAllStandardOutput().trimmed(); + } + return output; +} - bool corelib::runProcess(const QString exec, const QStringList args, QString dir, bool showLog){ - if (dir.isEmpty()) - dir=QDir::homePath(); +bool corelib::runProcess(const QString &exec, const QStringList &args, QString dir, const bool showLog){ + if (dir.isEmpty()) + dir=QDir::homePath(); - QProcess myProcess; - myProcess.setEnvironment(QProcess::systemEnvironment()); - myProcess.setWorkingDirectory (dir); + QProcess myProcess; + myProcess.setEnvironment(QProcess::systemEnvironment()); + myProcess.setWorkingDirectory (dir); #ifdef DEBUG - qDebug()<<"[ii] corelib::runProcess"<getLocale(); - - // Read STDERR with locale support - QTextCodec *codec = QTextCodec::codecForName(lang.toLatin1()); - QString string = codec->toUnicode(myProcess.readAllStandardError()); + int exitcode = myProcess.exitCode(); + QProcess::ExitStatus exitStatus = myProcess.exitStatus(); + if (showLog && (exitcode != 0 || exitStatus == QProcess::CrashExit)){ - if (!string.isEmpty()){ - showError(QObject::tr("It seems that the process crashed. STDERR log: %1").arg(string)); - } - return false; - } - return true; + // Read STDERR with locale encoding + QTextCodec *codec = QTextCodec::codecForLocale(); + QString string = codec->toUnicode(myProcess.readAllStandardError()); + + if (!string.isEmpty()){ + showError(QObject::tr("It seems that the process crashed. STDERR log: %1").arg(string)); } + return false; + } + return true; +} - int corelib::showError(const QString message, const bool info) const{ - if (this->_GUI_MODE){ - if (info){ - QMessageBox::warning(0, QObject::tr("Error"), message); - return 0; - } else { - return QMessageBox::warning(0, QObject::tr("Error"), message, QMessageBox::Retry, QMessageBox::Ignore); - } - } else { - QTextStream stdErr(stderr); - stdErr<<"[ee] "<_GUI_MODE){ - QMessageBox::warning(0, QObject::tr("Error"), message); - } else { - Qcout<showError(message, false) == QMessageBox::Ignore){ - return false; - } - } + // Check for /proc directory exists + QDir dir("/proc"); + if (!dir.exists()){ + message = "

Process is unable to access /proc file system.

Access is necessary for displaying Wine process information.

You need to set CONFIG_PROC_FS=y option on Linux kernel config file and mount proc file system by running: mount -t proc none /proc

"; + if (this->showError(message, false) == QMessageBox::Ignore){ + return false; + } + } - QFileInfo info(QString("/proc/%1/exe").arg(pid)); - if (info.isSymLink()) { - QString fileName = info.symLinkTarget(); -#ifdef DEBUG - qDebug()<< "Traget for: " << info.filePath() << " is: " << fileName; -#endif - if ((!fileName.contains("wine") && !fileName.contains(".exe")) || fileName.contains(APP_SHORT_NAME)){ - message = "Not an wine process."; - if (this->showError(message, false) == QMessageBox::Ignore){ - return false; - } - } - } else { - message = "Not an wine process."; - if (this->showError(message, false) == QMessageBox::Ignore){ - return false; - } + QFileInfo info(QString("/proc/%1/exe").arg(pid)); + if (info.isSymLink()) { + QString fileName = info.symLinkTarget(); +#ifdef DEBUG + qDebug()<< "Traget for: " << info.filePath() << " is: " << fileName; +#endif + if ((!fileName.contains("wine") && !fileName.contains(".exe")) || fileName.contains(APP_SHORT_NAME)){ + message = "Not an wine process."; + if (this->showError(message, false) == QMessageBox::Ignore){ + return false; } + } + } else { + message = "Not an wine process."; + if (this->showError(message, false) == QMessageBox::Ignore){ + return false; + } + } - QStringList args; - QStringList keywords; - keywords << "WINEPREFIX" << "WINEARCH" << "WINELOADERNOEXEC"; - keywords << "WINESERVERSOCKET" << "WINEDLLPATH" << "WINEESYNC" << "PATH"; - keywords << "WINESERVER" << "WINELOADER"; - - QFile file_e(QString("/proc/%1/environ").arg(pid)); - // Getting WINE* variables. - if (file_e.open(QIODevice::ReadOnly | QIODevice::Text)){ - // Try to read environ file - QTextStream e_in(&file_e); - QString e_line = e_in.readLine(); - - while(!e_line.isNull()) { - qDebug() << e_line; - foreach (const QString &env, e_line.split("\0")) { - QRegExp rx_env("^(.*)=(.*)?"); - if (rx_env.indexIn(env) != -1){ - if (keywords.contains(rx_env.cap(1))){ - args << env; - } - } + QStringList args; + QStringList keywords; + keywords << "WINEPREFIX" << "WINEARCH" << "WINELOADERNOEXEC"; + keywords << "WINESERVERSOCKET" << "WINEDLLPATH" << "WINEESYNC" << "PATH"; + keywords << "WINESERVER" << "WINELOADER"; + + QFile file_e(QString("/proc/%1/environ").arg(pid)); + // Getting WINE* variables. + if (file_e.open(QIODevice::ReadOnly | QIODevice::Text)){ + // Try to read environ file + QTextStream e_in(&file_e); + QString e_line = e_in.readLine(); + + while(!e_line.isNull()) { + qDebug() << e_line; + foreach (const QString &env, e_line.split(QChar('\0'))) { + QRegExp rx_env("^(.*)=(.*)?"); + if (rx_env.indexIn(env) != -1){ + if (keywords.contains(rx_env.cap(1))){ + args << env; } - e_line = e_in.readLine(); } - file_e.close(); } + e_line = e_in.readLine(); + } + file_e.close(); + } - args << "wineserver"; - args << "-k"; + args << "wineserver"; + args << "-k"; #ifdef DEBUG - qDebug() << args; + qDebug() << args; #endif - return this->runProcess(this->getWhichOut("env"), args); + return this->runProcess(this->getWhichOut("env"), args); #else - //FIXME: FreeBSD and MacOS hooks required - ExecObject execObj; - execObj.cmdargs = "-kill"; - execObj.execcmd = "wineserver"; + //FIXME: FreeBSD and MacOS hooks required + ExecObject execObj; + execObj.cmdargs = "-kill"; + execObj.execcmd = "wineserver"; - if (!this->runWineBinary(execObj, db_prefix.getName(prefix_path), false)){ - return false; - } + if (!this->runWineBinary(execObj, db_prefix.getName(prefix_path), false)){ + return false; + } #endif - } else { - ExecObject execObj; - execObj.cmdargs = "-kill"; - execObj.execcmd = "wineserver"; + } else { + ExecObject execObj; + execObj.cmdargs = "-kill"; + execObj.execcmd = "wineserver"; - if (!this->runWineBinary(execObj, db_prefix.getName(prefix_path), false)){ - return false; - } - } - return true; + if (!this->runWineBinary(execObj, db_prefix.getName(prefix_path), false)){ + return false; } + } + return true; +} - void corelib::openHelpUrl(const QString rawurl){ - QString url="http://"; - QString lang = this->getLang(); - if (lang.contains("q4wine_")){ - lang = lang.mid(7, -1); - } - url.append(APP_WEBSITE); - url.append("/documentation/"); - url.append(lang); - url.append("/"); - if (rawurl.contains('#')) { - QStringList list = rawurl.split('#'); - url.append(list.at(0)); - url.append("?version="); - url.append(APP_VERS); - url.append('#'); - url.append(list.at(1)); - } else { - url.append(rawurl); - url.append("?version="); - url.append(APP_VERS); - } +void corelib::openHelpUrl(const QString &rawurl){ + QString url="http://"; + QString lang = this->getLang(); + if (lang.contains("q4wine_")){ + lang = lang.mid(7, -1); + } + url.append(APP_WEBSITE); + url.append("/documentation/"); + url.append(lang); + url.append("/"); + if (rawurl.contains('#')) { + QStringList list = rawurl.split('#'); + url.append(list.at(0)); + url.append("?version="); + url.append(APP_VERS); + url.append('#'); + url.append(list.at(1)); + } else { + url.append(rawurl); + url.append("?version="); + url.append(APP_VERS); + } - this->openUrl(url); - return; - } + this->openUrl(url); + return; +} - void corelib::openHomeUrl(const QString rawurl){ - QString url="http://"; - url.append(APP_WEBSITE); - url.append("/"); - url.append(rawurl); +void corelib::openHomeUrl(const QString &rawurl) const{ + QString url="http://"; + url.append(APP_WEBSITE); + url.append("/"); + url.append(rawurl); - this->openUrl(url); - return; - } + this->openUrl(url); + return; +} - void corelib::openUrl(const QString url){ - QDesktopServices::openUrl(QUrl(url, QUrl::TolerantMode)); - return; - } +void corelib::openUrl(const QString &url) const{ + QDesktopServices::openUrl(QUrl(url, QUrl::TolerantMode)); + return; +} - QString corelib::getMountString(const int profile){ - QString string; - switch (profile){ - case 0: +QString corelib::getMountString(const int profile){ + QString string; + switch (profile){ + case 0: #ifdef _OS_LINUX_ - string="%SUDO% %MOUNT_BIN% %MOUNT_DRIVE% %MOUNT_POINT%"; + string="%SUDO% %MOUNT_BIN% %MOUNT_DRIVE% %MOUNT_POINT%"; #endif #ifdef _OS_FREEBSD_ - string="%SUDO% %MOUNT_BIN% -t cd9660 %MOUNT_DRIVE% %MOUNT_POINT%"; + string="%SUDO% %MOUNT_BIN% -t cd9660 %MOUNT_DRIVE% %MOUNT_POINT%"; #endif - break; - case 1: + break; + case 1: #ifdef _OS_LINUX_ - string="%GUI_SUDO% \"%MOUNT_BIN% %MOUNT_DRIVE% %MOUNT_POINT%\""; + string="%GUI_SUDO% \"%MOUNT_BIN% %MOUNT_DRIVE% %MOUNT_POINT%\""; #endif #ifdef _OS_FREEBSD_ - string="%GUI_SUDO% \"%MOUNT_BIN% -t cd9660 %MOUNT_DRIVE% %MOUNT_POINT%\""; + string="%GUI_SUDO% \"%MOUNT_BIN% -t cd9660 %MOUNT_DRIVE% %MOUNT_POINT%\""; #endif - break; - case 2: - string=getWhichOut("fuseiso"); - string.append(" %MOUNT_DRIVE% %MOUNT_POINT%"); - break; - case 3: - string=QString::fromUtf8(APP_PREF); - string.append("/bin/q4wine-mount %MOUNT_DRIVE% %MOUNT_POINT%"); - break; - } + break; + case 2: + string=getWhichOut("fuseiso"); + string.append(" %MOUNT_DRIVE% %MOUNT_POINT%"); + break; + case 3: + string=QString::fromUtf8(APP_PREF); + string.append("/bin/q4wine-mount %MOUNT_DRIVE% %MOUNT_POINT%"); + break; + } - return string; - } + return string; +} - void corelib::openConsole(const QString path, const QString prefix_name){ - QString console = this->getSetting("console", "bin").toString(); - QStringList args; +void corelib::openConsole(const QString &path, const QString &prefix_name){ + QString console = this->getSetting("console", "bin").toString(); + QStringList args; - if (!console.isEmpty()){ - args = this->getSetting("console", "args", false).toString().split(" "); + if (!console.isEmpty()){ + args = this->getSetting("console", "args", false).toString().split(" "); - if (console.split("/").last() == "konsole"){ - args.append("/bin/sh"); - args.append("-c"); - } - } else { - #ifdef DEBUG - qDebug()<<"[EE] No console binary set"; - #endif - return; - } + if (console.split("/").last() == "konsole"){ + args.append("/bin/sh"); + args.append("-c"); + } + } else { +#ifdef DEBUG + qDebug()<<"[EE] No console binary set"; +#endif + return; + } - QString shell = getenv("SHELL"); - if (shell.isEmpty()){ - #ifdef DEBUG - qDebug()<<"[EE] Cannot get user shell"; - #endif - return; - } + QString shell = getenv("SHELL"); + if (shell.isEmpty()){ +#ifdef DEBUG + qDebug()<<"[EE] Cannot get user shell"; +#endif + return; + } - // Start shell - { - QHash prefix_info = db_prefix.getByName(prefix_name); - QStringList sh_args; - sh_args << "env"; - - sh_args << QString("WINEPREFIX='%1'").arg(getStrictEscapeString(prefix_info.value("path"))); - if (!prefix_info.value("server").isEmpty()){ - sh_args << QString("WINE='%1'").arg(getStrictEscapeString(prefix_info.value("bin"))); - if (!prefix_info.value("libs").isEmpty()) - sh_args << QString("WINEDLLPATH='%1'").arg(getStrictEscapeString(prefix_info.value("libs"))); - sh_args << QString("WINELOADER='%1'").arg(getStrictEscapeString(prefix_info.value("loader"))); - sh_args << QString("WINESERVER='%1'").arg(getStrictEscapeString(prefix_info.value("server"))); - } else { - QString prefixDllPath; - Version vers; - vers.id_ = prefix_info.value("version_id"); - if (vers.load()){ - if (prefix_info.value("arch") == "win32"){ - prefixDllPath = vers.wine_dllpath32_; - } else if (prefix_info.value("arch") == "win64"){ - prefixDllPath = vers.wine_dllpath64_; - } else { - if (vers.wine_dllpath64_.isEmpty()){ - prefixDllPath = vers.wine_dllpath32_; - } else { - prefixDllPath = vers.wine_dllpath64_; - } - } - sh_args << QString("WINE='%1'").arg(getStrictEscapeString(vers.wine_exec_)); - if (!prefixDllPath.isEmpty()) - sh_args << QString("WINEDLLPATH='%1'").arg(getStrictEscapeString(prefixDllPath)); - sh_args << QString("WINELOADER='%1'").arg(getStrictEscapeString(vers.wine_loader_)); - sh_args << QString("WINESERVER='%1'").arg(getStrictEscapeString(vers.wine_server_)); - } - } + // Start shell + { + QHash prefix_info = db_prefix.getByName(prefix_name); + QStringList sh_args; + sh_args << "env"; + + sh_args << QString("WINEPREFIX='%1'").arg(getStrictEscapeString(prefix_info.value("path"))); + if (!prefix_info.value("server").isEmpty()){ + sh_args << QString("WINE='%1'").arg(getStrictEscapeString(prefix_info.value("bin"))); + if (!prefix_info.value("libs").isEmpty()) + sh_args << QString("WINEDLLPATH='%1'").arg(getStrictEscapeString(prefix_info.value("libs"))); + sh_args << QString("WINELOADER='%1'").arg(getStrictEscapeString(prefix_info.value("loader"))); + sh_args << QString("WINESERVER='%1'").arg(getStrictEscapeString(prefix_info.value("server"))); + } else { + QString prefixDllPath; + Version vers; + vers.id_ = prefix_info.value("version_id"); + if (vers.load()){ + if (prefix_info.value("arch") == "win32"){ + prefixDllPath = vers.wine_dllpath32_; + } else if (prefix_info.value("arch") == "win64"){ + prefixDllPath = vers.wine_dllpath64_; + } else { + if (vers.wine_dllpath64_.isEmpty()){ + prefixDllPath = vers.wine_dllpath32_; + } else { + prefixDllPath = vers.wine_dllpath64_; + } + } + sh_args << QString("WINE='%1'").arg(getStrictEscapeString(vers.wine_exec_)); + if (!prefixDllPath.isEmpty()) + sh_args << QString("WINEDLLPATH='%1'").arg(getStrictEscapeString(prefixDllPath)); + sh_args << QString("WINELOADER='%1'").arg(getStrictEscapeString(vers.wine_loader_)); + sh_args << QString("WINESERVER='%1'").arg(getStrictEscapeString(vers.wine_server_)); + } + } - if (!prefix_info.value("arch").isEmpty()) - sh_args << QString("WINEARCH=%1").arg(prefix_info.value("arch")); + if (!prefix_info.value("arch").isEmpty()) + sh_args << QString("WINEARCH=%1").arg(prefix_info.value("arch")); - QString prefix_path = path; - prefix_path.replace("'", "'\\''"); + QString prefix_path = path; + prefix_path.replace("'", "'\\''"); - sh_args - << "/bin/sh" - << "-c" - << QString("\"echo \'\\n\\tq4wine: wine environment variables are set to \\\"%2\\\" prefix settings.\\n\' && %3 \"") - .arg(prefix_name) - .arg(shell); + sh_args + << "/bin/sh" + << "-c" + << QString("\"echo \'\\n\\tq4wine: wine environment variables are set to \\\"%2\\\" prefix settings.\\n\' && %3 \"") + .arg(prefix_name) + .arg(shell); - args << sh_args.join(" "); + args << sh_args.join(" "); #ifdef DEBUG - qDebug()<<"[ii] Open console args:"< 8) + files.removeLast(); + + settings.setValue("recent_images", files); + return; +} - void corelib::updateRecentImagesList(const QString media) const{ - QSettings settings(APP_SHORT_NAME, "default"); - QStringList files = settings.value("recent_images").toStringList(); - files.removeAll(media); - files.prepend(media); - while (files.size() > 8) - files.removeLast(); - - settings.setValue("recent_images", files); - return; - } - - QString corelib::getMountImageString(const int profile){ - QString string; - switch (profile){ - case 0: +QString corelib::getMountImageString(const int profile){ + QString string; + switch (profile){ + case 0: #ifdef _OS_LINUX_ - string = "%SUDO% %MOUNT_BIN% %MOUNT_OPTIONS% %MOUNT_IMAGE% %MOUNT_POINT%"; + string = "%SUDO% %MOUNT_BIN% %MOUNT_OPTIONS% %MOUNT_IMAGE% %MOUNT_POINT%"; #endif #ifdef _OS_FREEBSD_ - string=""; - string.append(QString::fromUtf8(APP_PREF)); - string.append("/share/q4wine/scripts/mount_image.sh"); - string.append(" %MOUNT_IMAGE% %MOUNT_POINT%"); + string=""; + string.append(QString::fromUtf8(APP_PREF)); + string.append("/share/q4wine/scripts/mount_image.sh"); + string.append(" %MOUNT_IMAGE% %MOUNT_POINT%"); #endif #ifdef _OS_DARWIN_ - string=this->getWhichOut("hdiutil", false); - string.append(" mount %MOUNT_IMAGE% -mountpoint %MOUNT_POINT%"); + string=this->getWhichOut("hdiutil", false); + string.append(" mount %MOUNT_IMAGE% -mountpoint %MOUNT_POINT%"); #endif - break; - case 1: + break; + case 1: #ifdef _OS_LINUX_ - string = "%GUI_SUDO% \"%MOUNT_BIN% %MOUNT_OPTIONS% %MOUNT_IMAGE% %MOUNT_POINT%\""; + string = "%GUI_SUDO% \"%MOUNT_BIN% %MOUNT_OPTIONS% %MOUNT_IMAGE% %MOUNT_POINT%\""; #endif #ifdef _OS_FREEBSD_ - string=""; - string.append(QString::fromUtf8(APP_PREF)); - string.append("/share/q4wine/scripts/mount_image.sh"); - string.append(" %MOUNT_IMAGE% %MOUNT_POINT%"); -#endif - break; - case 2: - string=getWhichOut("fuseiso"); - string.append(" %MOUNT_IMAGE% %MOUNT_POINT%"); - break; - case 3: - string=QString::fromUtf8(APP_PREF); - string.append("/bin/q4wine-mount %MOUNT_IMAGE% %MOUNT_POINT%"); - break; - } - return string; - } + string=""; + string.append(QString::fromUtf8(APP_PREF)); + string.append("/share/q4wine/scripts/mount_image.sh"); + string.append(" %MOUNT_IMAGE% %MOUNT_POINT%"); +#endif + break; + case 2: + string=getWhichOut("fuseiso"); + string.append(" %MOUNT_IMAGE% %MOUNT_POINT%"); + break; + case 3: + string=QString::fromUtf8(APP_PREF); + string.append("/bin/q4wine-mount %MOUNT_IMAGE% %MOUNT_POINT%"); + break; + } + return string; +} - QString corelib::getUmountString(const int profile){ - QString string; - switch (profile){ - case 0: +QString corelib::getUmountString(const int profile){ + QString string; + switch (profile){ + case 0: #ifdef _OS_LINUX_ - string = "%SUDO% %UMOUNT_BIN% %MOUNT_POINT%"; + string = "%SUDO% %UMOUNT_BIN% %MOUNT_POINT%"; #endif #ifdef _OS_FREEBSD_ - string=""; - string.append(QString::fromUtf8(APP_PREF)); - string.append("/share/q4wine/scripts/umount.sh"); - string.append(" %MOUNT_POINT%"); + string=""; + string.append(QString::fromUtf8(APP_PREF)); + string.append("/share/q4wine/scripts/umount.sh"); + string.append(" %MOUNT_POINT%"); #endif #ifdef _OS_DARWIN_ - string=this->getWhichOut("hdiutil", false); - string.append(" unmount %MOUNT_POINT%"); + string=this->getWhichOut("hdiutil", false); + string.append(" unmount %MOUNT_POINT%"); #endif - break; - case 1: + break; + case 1: #ifdef _OS_LINUX_ - string="%GUI_SUDO% %UMOUNT_BIN% %MOUNT_POINT%"; + string="%GUI_SUDO% %UMOUNT_BIN% %MOUNT_POINT%"; #endif #ifdef _OS_FREEBSD_ - string = ""; - string.append(QString::fromUtf8(APP_PREF)); - string.append("/share/q4wine/scripts/umount.sh"); - string.append(" %MOUNT_POINT%"); -#endif - break; - case 2: - string=getWhichOut("fusermount"); - string.append(" -u %MOUNT_POINT%"); - break; - case 3: - string=getWhichOut("fusermount"); - string.append(" -u %MOUNT_POINT%"); - break; - } - return string; - } + string = ""; + string.append(QString::fromUtf8(APP_PREF)); + string.append("/share/q4wine/scripts/umount.sh"); + string.append(" %MOUNT_POINT%"); +#endif + break; + case 2: + string=getWhichOut("fusermount"); + string.append(" -u %MOUNT_POINT%"); + break; + case 3: + string=getWhichOut("fusermount"); + string.append(" -u %MOUNT_POINT%"); + break; + } + return string; +} - bool corelib::reniceProcess(const int pid, const int priority){ - QStringList args; +bool corelib::reniceProcess(const int pid, const int priority){ + QStringList args; #ifdef _OS_DARWIN_ - args << "-e"; - args << QString("do shell script \"%1 %2 %3\" with administrator privileges").arg(this->getSetting("system", "renice").toString()).arg(priority).arg(pid); + args << "-e"; + args << QString("do shell script \"%1 %2 %3\" with administrator privileges").arg(this->getSetting("system", "renice").toString()).arg(priority).arg(pid); #else - args << this->getSetting("system", "renice").toString(); - args.append(QString("%1").arg(priority)); - args.append(QString("%1").arg(pid)); - - QString sudobin = this->getSetting("system", "gui_sudo").toString(); - - if (!sudobin.contains(QRegExp("/(sudo|pkexec)$"))){ - QString arg =args.join(" "); - args.clear(); - args.append(arg); - } + args << this->getSetting("system", "renice").toString(); + args.append(QString("%1").arg(priority)); + args.append(QString("%1").arg(pid)); + + QString sudobin = this->getSetting("system", "gui_sudo").toString(); + + if (!sudobin.contains(QRegExp("/(sudo|pkexec)$"))){ + QString arg =args.join(" "); + args.clear(); + args.append(arg); + } #endif - if (this->runProcess(this->getSetting("system", "gui_sudo").toString(), args, QDir::homePath(), false)){ - return true; - } else { - return false; - } + if (this->runProcess(this->getSetting("system", "gui_sudo").toString(), args, QDir::homePath(), false)){ + return true; + } else { + return false; + } - } +} - void corelib::runAutostart(void){ - QStringList iconsList, prefixList; +void corelib::runAutostart(void){ + QStringList iconsList, prefixList; - prefixList = db_prefix.getPrefixList(); - for (int i = 0; i < prefixList.size(); ++i) { - iconsList = db_icon.getIconsList(prefixList.at(i), "autostart", ""); - for (int j = 0; j < iconsList.size(); ++j) { - qDebug()<runIcon(prefixList.at(i), "autostart", iconsList.at(j)); - } - } - return; + prefixList = db_prefix.getPrefixList(); + for (int i = 0; i < prefixList.size(); ++i) { + iconsList = db_icon.getIconsList(prefixList.at(i), "autostart", ""); + for (int j = 0; j < iconsList.size(); ++j) { + qDebug()<runIcon(prefixList.at(i), "autostart", iconsList.at(j)); } + } + return; +} - void corelib::createPrefixDBStructure(QString prefixName){ +void corelib::createPrefixDBStructure(const QString &prefixName){ #ifdef DEBUG - qDebug()<<"[ii] Wizard::creating icons"; + qDebug()<<"[ii] Wizard::creating icons"; #endif - //Is settings directory exists? - if (!db_dir.isExistsByName(prefixName, "system")){ - db_dir.addDir(prefixName, "system"); - //Adding icons - db_icon.addIcon("", "winecfg.exe", "winecfg", "Configure the general settings for Wine", prefixName, "system", "winecfg"); - db_icon.addIcon("--backend=user cmd", "wineconsole", "wineconsole", "Wineconsole is similar to wine command wcmd", prefixName, "system", "wineconsole"); - db_icon.addIcon("", "uninstaller.exe", "uninstaller", "Uninstall Windows programs under Wine properly", prefixName, "system", "uninstaller"); - db_icon.addIcon("", "regedit.exe", "regedit", "Wine registry editor", prefixName, "system", "regedit"); - db_icon.addIcon("", "explorer.exe", "explorer", "Browse the files in the virtual Wine Drive", prefixName, "system", "explorer"); - db_icon.addIcon("", "eject.exe", "eject", "Wine CD eject tool", prefixName, "system", "eject"); - db_icon.addIcon("", "wordpad.exe", "wordpad", "Wine wordpad text editor", prefixName, "system", "wordpad"); - db_icon.addIcon("", "taskmgr.exe", "taskmgr", "Wine task manager", prefixName, "system", "taskmgr"); - db_icon.addIcon("", "winemine.exe", "winemine", "Wine saper game", prefixName, "system", "winemine"); - db_icon.addIcon("", "oleview.exe", "wordpad", "Wine OLE/COM object viewer", prefixName, "system", "oleview"); - db_icon.addIcon("", "notepad.exe", "notepad", "Wine notepad text editor", prefixName, "system", "notepad"); - db_icon.addIcon("", "iexplore.exe", "iexplore", "Wine internet expolrer", prefixName, "system", "iexplore"); - db_icon.addIcon("", "control.exe", "control", "Wine control panel", prefixName, "system", "control"); + //Is settings directory exists? + if (!db_dir.isExistsByName(prefixName, "system")){ + db_dir.addDir(prefixName, "system"); + //Adding icons + db_icon.addIcon("", "winecfg.exe", "winecfg", "Configure the general settings for Wine", prefixName, "system", "winecfg"); + db_icon.addIcon("--backend=user cmd", "wineconsole", "wineconsole", "Wineconsole is similar to wine command wcmd", prefixName, "system", "wineconsole"); + db_icon.addIcon("", "uninstaller.exe", "uninstaller", "Uninstall Windows programs under Wine properly", prefixName, "system", "uninstaller"); + db_icon.addIcon("", "regedit.exe", "regedit", "Wine registry editor", prefixName, "system", "regedit"); + db_icon.addIcon("", "explorer.exe", "explorer", "Browse the files in the virtual Wine Drive", prefixName, "system", "explorer"); + db_icon.addIcon("", "eject.exe", "eject", "Wine CD eject tool", prefixName, "system", "eject"); + db_icon.addIcon("", "wordpad.exe", "wordpad", "Wine wordpad text editor", prefixName, "system", "wordpad"); + db_icon.addIcon("", "taskmgr.exe", "taskmgr", "Wine task manager", prefixName, "system", "taskmgr"); + db_icon.addIcon("", "winemine.exe", "winemine", "Wine saper game", prefixName, "system", "winemine"); + db_icon.addIcon("", "oleview.exe", "wordpad", "Wine OLE/COM object viewer", prefixName, "system", "oleview"); + db_icon.addIcon("", "notepad.exe", "notepad", "Wine notepad text editor", prefixName, "system", "notepad"); + db_icon.addIcon("", "iexplore.exe", "iexplore", "Wine internet expolrer", prefixName, "system", "iexplore"); + db_icon.addIcon("", "control.exe", "control", "Wine control panel", prefixName, "system", "control"); - } + } - if (!db_dir.isExistsByName(prefixName, "autostart")) - db_dir.addDir(prefixName, "autostart"); + if (!db_dir.isExistsByName(prefixName, "autostart")) + db_dir.addDir(prefixName, "autostart"); - if (!db_dir.isExistsByName(prefixName, "import")) - db_dir.addDir(prefixName, "import"); + if (!db_dir.isExistsByName(prefixName, "import")) + db_dir.addDir(prefixName, "import"); #ifdef DEBUG - qDebug()<<"[ii] Wizard::done"; + qDebug()<<"[ii] Wizard::done"; #endif - } - - QString corelib::decodeRegString(QString string){ - QTextCodec *codec = QTextCodec::codecForName("UTF-16BE"); - QString ret; - QStringList parts = string.split("\\"); - if (parts.count()>1){ - for (int j=0; jtoUnicode(temp)); - } - - if (parts.at(j).length()>4) - ret.append(parts.at(j).right(parts.at(j).length()-4)); +} - } - } else { - ret.append(string); +QString corelib::decodeRegString(const QString &string){ + QTextCodec *codec = QTextCodec::codecForName("UTF-16BE"); + QString ret; + QStringList parts = string.split("\\"); + if (parts.count()>1){ + for (int j=0; jtoUnicode(temp)); } - return ret; + if (parts.at(j).length()>4) + ret.append(parts.at(j).right(parts.at(j).length()-4)); + } + } else { + ret.append(string); + } + return ret; +} - bool corelib::exportPrefixesConfiguration(void){ - QStringList list = db_prefix.getPrefixList(); - QDir dir; - QFile file; - QString home_path = dir.homePath(); - for (int i = 0; i < list.size(); ++i){ - QString path = home_path; - QString prefix_name = list.at(i); - QHash result = db_prefix.getByName(prefix_name); - QString prefix_path=result.value("path"); - path.append("/.local/share/wineprefixes/"); +bool corelib::exportPrefixesConfiguration(void){ + QStringList list = db_prefix.getPrefixList(); + QDir dir; + QFile file; + QString home_path = dir.homePath(); + for (int i = 0; i < list.size(); ++i){ + QString path = home_path; + QString prefix_name = list.at(i); + QHash result = db_prefix.getByName(prefix_name); + QString prefix_path=result.value("path"); + + path.append("/.local/share/wineprefixes/"); - if (!dir.mkpath(path)) - return false; + if (!dir.mkpath(path)) + return false; - path.append(prefix_name); + path.append(prefix_name); - if (!file.exists(path)){ - if (!file.link(prefix_path, path)) - return false; - - path.append("/wrapper.cfg"); - file.setFileName(path); - if (!file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)) - return false; - - QTextStream out(&file); - out << "ww_name=\"" << prefix_name << "\"\n"; - out << "ww_winedllpath=\"" << result.value("libs") << "\"\n"; - out << "ww_wineserver=\"" << result.value("server") << "\"\n"; - out << "ww_wine=\"" << result.value("bin") << "\"\n"; + if (!file.exists(path)){ + if (!file.link(prefix_path, path)) + return false; - file.close(); - } - } - return true; + path.append("/wrapper.cfg"); + file.setFileName(path); + if (!file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)) + return false; + + QTextStream out(&file); + out << "ww_name=\"" << prefix_name << "\"\n"; + out << "ww_winedllpath=\"" << result.value("libs") << "\"\n"; + out << "ww_wineserver=\"" << result.value("server") << "\"\n"; + out << "ww_wine=\"" << result.value("bin") << "\"\n"; + + file.close(); } + } + return true; +} - QStringList corelib::importPrefixesConfiguration(void){ - QStringList prefixes; - QStringList list = db_prefix.getPrefixList(); - QDir dir; - QFile file; - QString path = dir.homePath(); - path.append("/.local/share/wineprefixes/"); - - - dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot); - dir.setPath(path); - - QFileInfoList p_list = dir.entryInfoList(); - - for (int i = 0; i < p_list.size(); ++i) { - QFileInfo fileInfo = p_list.at(i); - QString prefix_name = fileInfo.fileName(); - QString prefix_path = fileInfo.absoluteFilePath(); - - if (!db_prefix.isExistsByName(prefix_name)){ - QFile file(QString("%1/wrapper.cfg").arg(prefix_path)); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) - return prefixes; - - QString wine_bin, wine_serv, wine_loader, wine_lib; - - while (!file.atEnd()) { - QByteArray line = file.readLine().trimmed(); - if (line.startsWith("ww_wine=")){ - wine_bin=line.mid(9, line.length()-10); - } else if (line.startsWith("ww_winedllpath=")){ - wine_lib=line.mid(16, line.length()-17); - } else if (line.startsWith("ww_wineserver=")){ - wine_serv=line.mid(15, line.length()-16); - } else if (line.startsWith("ww_wineloader=")){ - wine_loader=line.mid(15, line.length()-16); - } - } +QStringList corelib::importPrefixesConfiguration(void){ + QStringList prefixes; + QStringList list = db_prefix.getPrefixList(); + QDir dir; + QFile file; + QString path = dir.homePath(); + path.append("/.local/share/wineprefixes/"); - if (wine_serv.isEmpty()) - wine_serv=wine_bin; - if (wine_loader.isEmpty()) - wine_loader=wine_bin; + dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot); + dir.setPath(path); - if (!db_prefix.addPrefix(prefix_name, prefix_path, wine_bin, wine_serv, wine_loader, wine_lib)){ - qDebug()<<"[EE] Cannot add prefix:" << prefix_name << " into database.."; - } else { - this->createPrefixDBStructure(prefix_name); - prefixes.append(prefix_path); - } + QFileInfoList p_list = dir.entryInfoList(); + + for (int i = 0; i < p_list.size(); ++i) { + QFileInfo fileInfo = p_list.at(i); + QString prefix_name = fileInfo.fileName(); + QString prefix_path = fileInfo.absoluteFilePath(); + + if (!db_prefix.isExistsByName(prefix_name)){ + QFile file(QString("%1/wrapper.cfg").arg(prefix_path)); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + return prefixes; + + QString wine_bin, wine_serv, wine_loader, wine_lib; + + while (!file.atEnd()) { + QByteArray line = file.readLine().trimmed(); + if (line.startsWith("ww_wine=")){ + wine_bin=line.mid(9, line.length()-10); + } else if (line.startsWith("ww_winedllpath=")){ + wine_lib=line.mid(16, line.length()-17); + } else if (line.startsWith("ww_wineserver=")){ + wine_serv=line.mid(15, line.length()-16); + } else if (line.startsWith("ww_wineloader=")){ + wine_loader=line.mid(15, line.length()-16); } } - return prefixes; + if (wine_serv.isEmpty()) + wine_serv=wine_bin; + + if (wine_loader.isEmpty()) + wine_loader=wine_bin; + + if (!db_prefix.addPrefix(prefix_name, prefix_path, wine_bin, wine_serv, wine_loader, wine_lib)){ + qDebug()<<"[EE] Cannot add prefix:" << prefix_name << " into database.."; + } else { + this->createPrefixDBStructure(prefix_name); + prefixes.append(prefix_path); + } } + } + + return prefixes; +} - bool corelib::removeDirectory(QString dirPath){ - QDir dir(dirPath); - if (not dir.exists()) - return true; - dir.setFilter(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files); - QFileInfoList list = dir.entryInfoList(); - for (int i = 0; i < list.size(); ++i) { - //if (list.) - if (list.at(i).isDir() && !list.at(i).isSymLink()){ - if (not this->removeDirectory(list.at(i).absoluteFilePath())) - return false; +bool corelib::removeDirectory(const QString &dirPath){ + QDir dir(dirPath); + if (not dir.exists()) + return true; + dir.setFilter(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files); + QFileInfoList list = dir.entryInfoList(); + for (int i = 0; i < list.size(); ++i) { + //if (list.) + if (list.at(i).isDir() && !list.at(i).isSymLink()){ + if (not this->removeDirectory(list.at(i).absoluteFilePath())) + return false; #ifdef DEBUG - qDebug()<<"[DD] Remove dir "< * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -52,16 +52,16 @@ // FreeBSD support #ifdef _OS_FREEBSD_ - #include - #include - #include - #include - #include - #include - #include +#include +#include +#include +#include +#include +#include +#include #endif -// Experimental Darwin support (no test were preformed) +// Experimental Darwin support (no test were performed) #ifdef _OS_DARWIN_ #include @@ -117,7 +117,7 @@ class corelib { public: //! Create an mainlib class - explicit corelib(bool _GUI_MODE); + explicit corelib(const bool GUI_MODE); /*! \brief This function tries to get wine process list running in the current system. * @@ -125,7 +125,7 @@ * \note On Linux it uses /proc file system, and on FreeBSD/MacOS it uses /dev/kmem and kvm.h functions. * \return Return an array of QList which contains a QStringList */ - QList getWineProcessList(const QString prefix_name = ""); + QList getWineProcessList(const QString &prefix_name = ""); /*! \brief This function get application settings. * @@ -135,20 +135,24 @@ * \param checkExist If true - then we need to check exists file or dir by value or not. * \return Return an a key value. */ - QVariant getSetting(const QString group, const QString key, const bool checkExist = true, const QVariant defaultVal = QVariant()) const; + QVariant getSetting(const QString &group, + const QString &key, + const bool checkExist = true, + const QVariant &defaultVal = QVariant()) const; void checkSettings(void); - QIcon loadIcon(QString iconName, bool fromTheme = true); - QIcon loadAppIcon(QString iconName); - QPixmap loadPixmap(QString pixmapName); + QIcon loadIcon(const QString &iconName, bool fromTheme = true); + QIcon loadAppIcon(const QString &iconName); + QPixmap loadPixmap(const QString &pixmapName); QString getTranslationLang(); - QString getLang(bool fromSettings = true); + QString getLang(const bool fromSettings = true); QString getLocale(); bool isConfigured(); - bool checkDirs(QString rootPath, QStringList subDirs = QStringList()); + bool checkDirs(const QString &rootPath, + QStringList subDirs = QStringList()) const; void getBuildFlags(); @@ -161,7 +165,7 @@ * * \return Return the full path of binary. */ - QString getWhichOut (const QString fileName, bool showErr = true); + QString getWhichOut (const QString &fileName, bool showErr = true); /*! \brief This function get cdrom devices from /etc/fstab file. * @@ -177,22 +181,23 @@ * * \return Return an drive letter on success or null on fail */ - QChar getCdromWineDrive(QString prefix_path, QString mount_point); + QChar getCdromWineDrive(QString prefix_path, + const QString &mount_point); /*! \brief This function opens help url in xdg-open browser. * * \return Return nothing. */ - void openHelpUrl(const QString rawurl); + void openHelpUrl(const QString &rawurl); /*! \brief This function opens url in xdg-open browser. * * \return Return nothing. */ - void openHomeUrl(const QString rawurl); - void openUrl(const QString rawurl); - void openConsole(const QString path, const QString prefix_name); - void updateRecentImagesList(const QString media) const; + void openHomeUrl(const QString &rawurl) const; + void openUrl(const QString &rawurl) const; + void openConsole(const QString &path, const QString &prefix_name); + void updateRecentImagesList(const QString &media) const; /*! \brief This function gets mouted image or media. @@ -200,7 +205,7 @@ * \param crom_mount Mount point path. * \return Return an list of cdrom devices. */ - QString getMountedImages(QString cdrom_mount); + QString getMountedImages(QString cdrom_mount) const; /*! \brief This function mount an image or drive to prefix mount point. * @@ -208,21 +213,21 @@ * \param prefix_name Prefix name. * \return Return an list of cdrom devices. */ - bool mountImage(QString image_name, const QString prefix_name); + bool mountImage(const QString &image_name, const QString &prefix_name); /*! \brief This function umount an image or drive from prefix mount point. * * \param prefix_name Prefix name. * \return @c true on success or @c false on error. */ - bool umountImage(const QString prefix_name); + bool umountImage(const QString &prefix_name); /*! \brief This function kills wineserver. * * \param prefix_path Prefix name. * \return Return an list of cdrom devices. */ - bool killWineServer(const QString prefix_path, const QString pid); + bool killWineServer(const QString &prefix_path, const QString &pid); /*! \brief Prepare icon data for run wine. * @@ -231,7 +236,10 @@ * \param icon_name Icon name. * \return Return true on success. */ - bool runIcon(const QString prefix_name, const QString dir_name, const QString icon_name, const QStringList extra_args = QStringList()); + bool runIcon(const QString &prefix_name, + const QString &dir_name, + const QString &icon_name, + const QStringList &extra_args = QStringList()); /*! \brief Prepare icon data for run wine. * @@ -239,15 +247,22 @@ * \param prefix_name Prefix name. * \return Return true on success. */ - bool runWineBinary(const ExecObject execObj, const QString prefix_name, bool detach=true); + bool runWineBinary(const ExecObject &execObj, + const QString &prefix_name, + const bool detach=true); //bool runWineBinary(const QString winebinary, const QString cmdargs, const QString prefix_name, const QString wineAppendBin="", const bool releaseProc = true); - bool checkFileExists(QString path); + bool checkFileExists(const QString &path); - QString createDesktopFile(const QString prefix_name, const QString dir_name, const QString icon_name, const bool is_menu = false) const; - bool deleteDesktopFile(const QString prefix_name, const QString dir_name, const QString icon_name) const; + QString createDesktopFile(const QString &prefix_name, + const QString &dir_name, + const QString &icon_name, + const bool is_menu = false) const; + bool deleteDesktopFile(const QString &prefix_name, + const QString &dir_name, + const QString &icon_name) const; - QString getWinePath(const QString path, const QString option); + QString getWinePath(const QString &path, const QString &option); /*! \brief This function builds wine dlls list for prefix_lib_path. * @@ -263,32 +278,38 @@ * \param dir Exec directory. * \return True on success. */ - bool runProcess(const QString exec, const QStringList args, QString dir = "", bool showLog = true); - bool runProcess(const QStringList args, const QString caption, const QString message); + bool runProcess(const QString &exec, + const QStringList &args, + QString dir = "", + const bool showLog = true); + bool runProcess(const QStringList &args, + const QString &caption, + const QString &message); - /*! \brief Get's string with escaped special characters + /*! \brief Gets string with escaped special characters * * \param string Base string */ - QString getEscapeString(const QString string, const bool spaces = true) const; + QString getEscapeString(const QString &string, + const bool spaces = true) const; - QString getShellEscapeString(QString string); - QString getStrictEscapeString(QString string); + QString getShellEscapeString(QString string); + QString getStrictEscapeString(QString string); - /*! \brief Get's mount string based on QuikMount type profile + /*! \brief Gets mount string based on QuikMount type profile * * \param profile Profile type ID */ QString getMountString(const int profile); - /*! \brief Get's mount image string based on QuikMount type profile + /*! \brief Gets mount image string based on QuikMount type profile * * \param profile Profile type ID */ QString getMountImageString(const int profile); - /*! \brief Get's umount string based on QuikMount type profile + /*! \brief Gets umount string based on QuikMount type profile * * \param profile Profile type ID */ @@ -296,9 +317,9 @@ bool reniceProcess(const int pid, const int priority); void runAutostart(void); - void createPrefixDBStructure(QString prefixName); + void createPrefixDBStructure(const QString &prefixName); - QString decodeRegString(QString string); + QString decodeRegString(const QString &string); /*! \brief This function is used to export prefix info. * @@ -322,13 +343,13 @@ * * \return true on success. */ - bool removeDirectory(QString dirPath); + bool removeDirectory(const QString &dirPath); private: /*! Define is library operate in CLI or GUI mode. * \note This is typically need for error message display. */ - bool _GUI_MODE; + bool m_GUI_MODE; QString mdconfig, fuseiso, fusermount, ln, rm, sh; @@ -338,13 +359,13 @@ * \param info Define display type. If false - user interactive message. * \return When using an interactive display type, this functions returns a user selected value. */ - int showError(const QString message, const bool info) const; + int showError(const QString &message, const bool info) const; /*! \brief Displays error message depending on _GUI_MODE variable value * * \param message Error message. */ - void showError(const QString message) const; + void showError(const QString &message) const; Prefix db_prefix; Image db_image; @@ -360,6 +381,6 @@ * \return Return an a pointer to core lib class instance. * \note This function is exported from shared library. */ -extern "C" corelib* createCoreLib(bool _GUI_MODE); +extern "C" corelib* createCoreLib(const bool GUI_MODE); #endif diff -Nru q4wine-1.3.11/src/qtsingleapplication/qtlockedfile.cpp q4wine-1.3.12/src/qtsingleapplication/qtlockedfile.cpp --- q4wine-1.3.11/src/qtsingleapplication/qtlockedfile.cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/qtsingleapplication/qtlockedfile.cpp 2020-02-08 12:56:10.000000000 +0000 @@ -83,10 +83,6 @@ QtLockedFile::QtLockedFile() : QFile() { -#ifdef Q_OS_WIN - wmutex = 0; - rmutex = 0; -#endif m_lock_mode = NoLock; } @@ -100,10 +96,6 @@ QtLockedFile::QtLockedFile(const QString &name) : QFile(name) { -#ifdef Q_OS_WIN - wmutex = 0; - rmutex = 0; -#endif m_lock_mode = NoLock; } @@ -158,8 +150,8 @@ can be locked. If \a block is true, this function will block until the lock is - aquired. If \a block is false, this function returns \e false - immediately if the lock cannot be aquired. + acquired. If \a block is false, this function returns \e false + immediately if the lock cannot be acquired. If this object already has a lock of type \a mode, this function returns \e true immediately. If this object has a lock of a diff -Nru q4wine-1.3.11/src/qtsingleapplication/qtlockedfile.h q4wine-1.3.12/src/qtsingleapplication/qtlockedfile.h --- q4wine-1.3.11/src/qtsingleapplication/qtlockedfile.h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/src/qtsingleapplication/qtlockedfile.h 2020-02-08 12:56:10.000000000 +0000 @@ -82,8 +82,8 @@ private: #ifdef Q_OS_WIN - Qt::HANDLE wmutex; - Qt::HANDLE rmutex; + Qt::HANDLE wmutex = 0; + Qt::HANDLE rmutex = 0; QVector rmutexes; QString mutexname; diff -Nru q4wine-1.3.11/templates/app-test-view.xml q4wine-1.3.12/templates/app-test-view.xml --- q4wine-1.3.11/templates/app-test-view.xml 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/templates/app-test-view.xml 2020-02-08 12:56:10.000000000 +0000 @@ -37,7 +37,7 @@ Gentoo Oct 24 2009 0.9.21 - 1 + 1 0 4 @@ -46,7 +46,7 @@ FreeBSD 1.1.41 Oct 14 2001 - 1 + 1 0 3 @@ -55,7 +55,7 @@ Ubuntu 9.04 "Jaunty" (+ to launch Starcraft from ICCup Launcher. Oct 3 2004 0.9.10 - 1 + 1 1 1 @@ -81,7 +81,7 @@ simple topic 10.01.2009 17:15 - Anonymous + Anonymous 0 I have not tested this recently. In the past in order to play with another box on the network for 2 player mode, I had to add a route that changed the way broadcast worked. @@ -93,14 +93,14 @@ topic 21.05.2004 16:10 - Tester + Tester 367 IP address. Some topic 45.11.2001 57:15 - Anony + Anony 0 I would have to add the command: @@ -111,14 +111,14 @@ Some simple topic 10.01.2009 17:15 - Anonymous + Anonymous 0 I have not used if the computer I wanted to play with has 192.168.0.5 as it's IP address. Xopic 10.01.2009 17:15 - Anonymous + Anonymous 31 XXXXXX. diff -Nru q4wine-1.3.11/templates/cpp q4wine-1.3.12/templates/cpp --- q4wine-1.3.11/templates/cpp 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/templates/cpp 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/templates/h q4wine-1.3.12/templates/h --- q4wine-1.3.11/templates/h 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/templates/h 2020-02-08 12:56:10.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2019 by Oleksii S. Malakhov * + * Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -Nru q4wine-1.3.11/tools/gen_authors.py q4wine-1.3.12/tools/gen_authors.py --- q4wine-1.3.11/tools/gen_authors.py 2019-01-02 00:17:48.000000000 +0000 +++ q4wine-1.3.12/tools/gen_authors.py 2020-02-08 12:56:10.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/python2.7 # -# Copyright (C) 2008-2019 by Oleksii S. Malakhov +# Copyright (C) 2008-2020 by Oleksii S. Malakhov # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -76,7 +76,7 @@ def header(self): self.header__.write("""/*************************************************************************** -* Copyright (C) 2008-2019 by Oleksii S. Malakhov * +* Copyright (C) 2008-2020 by Oleksii S. Malakhov * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -96,7 +96,7 @@ /* * Do NOT edit this file * - * This file will be replaced by cmake and toos/gen_authors.py. + * This file will be replaced by cmake and tools/gen_authors.py. * Edit src/q4wine-gui/authors.yaml file instead. * */