Hello community, here is the log from the commit of package PlayOnLinux for openSUSE:Factory checked in at 2017-06-15 11:25:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/PlayOnLinux (Old) and /work/SRC/openSUSE:Factory/.PlayOnLinux.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "PlayOnLinux" Thu Jun 15 11:25:34 2017 rev:2 rq:503721 version:4.2.11 Changes: -------- --- /work/SRC/openSUSE:Factory/PlayOnLinux/PlayOnLinux.changes 2017-02-07 12:02:15.227923392 +0100 +++ /work/SRC/openSUSE:Factory/.PlayOnLinux.new/PlayOnLinux.changes 2017-06-15 11:26:02.408980821 +0200 @@ -1,0 +2,13 @@ +Wed Jun 14 16:43:07 UTC 2017 - [email protected] + +- add patch PlayOnLinux-BrokenMiscButtons.patch + fix issue 5522 + +------------------------------------------------------------------- +Tue Jun 13 18:21:08 UTC 2017 - [email protected] + +- update to 4.2.11 + * Fix POL_SetupWindow_download clobbering $FILENAME + * Fix small typo in first use "send report" message + +------------------------------------------------------------------- Old: ---- PlayOnLinux_4.2.10.tar.gz New: ---- PlayOnLinux-BrokenMiscButtons.patch PlayOnLinux_4.2.11.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ PlayOnLinux.spec ++++++ --- /var/tmp/diff_new_pack.59kf5O/_old 2017-06-15 11:26:03.280857744 +0200 +++ /var/tmp/diff_new_pack.59kf5O/_new 2017-06-15 11:26:03.284857179 +0200 @@ -1,7 +1,7 @@ # # spec file for package PlayOnLinux # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,9 +15,10 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: PlayOnLinux %define _name playonlinux -Version: 4.2.10 +Version: 4.2.11 Release: 0 Summary: Play your Windows games on GNU/Linux License: GPL-3.0 @@ -27,12 +28,15 @@ Source1: playonlinux.sh # PATCH-FIX-OPENSUSE PlayOnLinux-desktop.patch Patch0: %{name}-desktop.patch +Patch1: %{name}-BrokenMiscButtons.patch BuildRequires: fdupes -BuildRequires: update-desktop-files BuildRequires: python-devel +BuildRequires: update-desktop-files Requires: ImageMagick Requires: dbus-1-python Requires: gettext +Requires: icoutils +Requires: p7zip Requires: python Requires: python-gtk >= 2.8 Requires: python-wxGTK @@ -40,8 +44,6 @@ Requires: wget Requires: wine Requires: xterm -Requires: icoutils -Requires: p7zip Recommends: python-gnome-extras BuildArch: noarch %{py_requires} @@ -56,6 +58,7 @@ %prep %setup -q -n %{_name} %patch0 -p1 +%patch1 -p1 %build # Nothing to build. ++++++ PlayOnLinux-BrokenMiscButtons.patch ++++++ diff -Pdpru playonlinux.orig/python/configure.py playonlinux/python/configure.py --- playonlinux.orig/python/configure.py 2017-05-30 23:38:39.000000000 +0200 +++ playonlinux/python/configure.py 2017-06-14 18:40:44.536022404 +0200 @@ -479,13 +479,13 @@ class Onglets(wx.Notebook): playonlinux.open_folder(self.s_title, self.display_elements["open_in"].GetValue().encode("utf-8","replace")) else: playonlinux.open_folder_prefix(self.s_prefix) - if(param == 403): + if(param == 404): if(self.s_isPrefix == False): subprocess.Popen(["bash", Variables.playonlinux_env+"/bash/POL_Command", self.s_title.encode('utf-8','replace'), "POL_OpenShell", self.s_title.encode('utf-8','replace')]) else: subprocess.Popen(["bash", Variables.playonlinux_env+"/bash/POL_Command", "--prefix", self.s_prefix.encode('utf-8','replace'), "POL_OpenShell"]) - if(param == 404): + if(param == 405): self.FileDialog = wx.FileDialog(self) self.FileDialog.SetDirectory("~") self.supported_files = "All|*.exe;*.EXE;*.msi;*.MSI\ @@ -538,7 +538,7 @@ class Onglets(wx.Notebook): def AddMiscChamp(self, title, shortname, value, num): self.display_elements[shortname+"_text"] = wx.StaticText(self.panelMisc, -1, title,pos=(15,24+num*40)) - self.display_elements[shortname] = wx.TextCtrl(self.panelMisc, 400+num, value, pos=(95,19+num*40), size=(420,25)) + self.display_elements[shortname] = wx.TextCtrl(self.panelMisc, 400+num, value, pos=(245,19+num*40), size=(270,25)) wx.EVT_TEXT(self, 400+num, self.set_open_in) def set_open_in(self, event): @@ -591,18 +591,12 @@ class Onglets(wx.Notebook): self.txtMisc = wx.StaticText(self.panelMisc, -1, _(nom), (10,10), wx.DefaultSize) self.txtMisc.SetFont(self.fontTitle) - i=1 - self.AddMiscElement(_("Mouse warp override"),"MouseWarpOverride",["Enabled","Disabled","Force"],["enable","disable","force"],i) - i+=1 - self.AddMiscButton("","folder",i) - i+=1 - self.AddMiscChamp(_("Open in..."),"open_in","",i) - i+=1 - self.AddMiscButton(_("Open a shell"),"shell",i) - i+=1 - self.AddMiscButton(_("Run a .exe file in this virtual drive"),"exerun",i) - i+=1 - self.AddMiscLongText(_("Command to exec before running the program"),"pre_run",i) + self.AddMiscElement(_("Mouse warp override"),"MouseWarpOverride",["Enabled","Disabled","Force"],["enable","disable","force"],1) + self.AddMiscButton("","folder",2) + self.AddMiscChamp(_("Open directory using command"),"open_in","",3) + self.AddMiscButton(_("Open a shell"),"shell",4) + self.AddMiscButton(_("Run a .exe file in this virtual drive"),"exerun",5) + self.AddMiscLongText(_("Command to exec before running the program"),"pre_run",6) self.AddPage(self.panelMisc, nom) ++++++ PlayOnLinux-desktop.patch ++++++ --- /var/tmp/diff_new_pack.59kf5O/_old 2017-06-15 11:26:03.332850404 +0200 +++ /var/tmp/diff_new_pack.59kf5O/_new 2017-06-15 11:26:03.332850404 +0200 @@ -1,14 +1,14 @@ ---- a/etc/PlayOnLinux.desktop -+++ b/etc/PlayOnLinux.desktop -@@ -2,8 +2,8 @@ +diff -Pdpru playonlinux.orig/etc/PlayOnLinux.desktop playonlinux/etc/PlayOnLinux.desktop +--- playonlinux.orig/etc/PlayOnLinux.desktop 2017-05-30 23:38:39.000000000 +0200 ++++ playonlinux/etc/PlayOnLinux.desktop 2017-06-13 20:29:06.462545243 +0200 +@@ -1,8 +1,9 @@ + [Desktop Entry] Version=1.0 - Encoding=UTF-8 Name=PlayOnLinux --Comment=PlayOnLinux --Type=Application %F -+Comment=Play your Windows games on Linux -+Type=Application - Exec=playonlinux - Icon=/usr/share/playonlinux/etc/playonlinux.png --Categories=Application;Game ++GenericName=PlayOnLinux + Comment=Front-end application for the wine + Type=Application + Exec=playonlinux %F + Icon=playonlinux +-Categories=Utility;Emulator; +Categories=System;Emulator; ++++++ PlayOnLinux_4.2.10.tar.gz -> PlayOnLinux_4.2.11.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/CHANGELOG.md new/playonlinux/CHANGELOG.md --- old/playonlinux/CHANGELOG.md 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/CHANGELOG.md 2017-05-30 23:38:39.000000000 +0200 @@ -1,3 +1,7 @@ +# 4.2.11 +* Fix POL_SetupWindow_download clobbering $FILENAME +* Fix small typo in first use "send report" message + # 4.2.10 * Silence POL_Notice_IsAck when ack_notices file doesn't exist diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/Makefile new/playonlinux/Makefile --- old/playonlinux/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ new/playonlinux/Makefile 2017-05-30 23:38:39.000000000 +0200 @@ -0,0 +1,84 @@ +# 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 +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +# Authors: Jiri Konecny <[email protected]> + + +# Arguments: +# +# PREFIX -- Set prefix for the installation (/usr is default) +# DESTDIR -- Where you want to install +# + +CFLAGS ?= -O2 +CC = gcc $(CFLAGS) +PYTHON = python2 -m py_compile +GZIP = gzip + +PREFIX ?= /usr +DESTDIR ?= # root dir + +CFLAGS += -lGL -lX11 + +sharedir := $(DESTDIR)$(PREFIX)/share +bindir := $(DESTDIR)$(PREFIX)/bin +execdir := $(DESTDIR)$(PREFIX)/libexec + + +all: build + +clean: + $(RM) ./python/*.pyc + $(RM) ./python/lib/*.pyc + $(RM) ./bin/check_dd + $(RM) ./bin/playonlinux + $(RM) ./bin/playonlinux-pkg + $(RM) ./ChangeLog + +build: + $(CC) ./src/check_direct_rendering.c -o ./bin/playonlinux-check_dd + $(PYTHON) ./python/*.py + $(PYTHON) ./python/lib/*.py + echo -e '#!/bin/bash\nGDK_BACKEND=x11 ${sharedir}/playonlinux/playonlinux "$$@"\nexit 0' > ./bin/playonlinux + echo -e '#!/bin/bash\n${sharedir}/playonlinux/playonlinux-pkg "$$@"\nexit 0' > ./bin/playonlinux-pkg + chmod +x ./bin/playonlinux + chmod +x ./bin/playonlinux-pkg + sed -i 's/\(\["DEBIAN_PACKAGE"\]\s*=\s*\)"FALSE"/\1"TRUE"/' \ + ./python/lib/Variables.py + +install: + install -d $(bindir) + install -d $(execdir) + install -d $(sharedir)/pixmaps + install -d $(sharedir)/applications + install -d $(sharedir)/appdata + install -d $(sharedir)/playonlinux/bin + install -d $(sharedir)/man/man1 + install -d $(sharedir)/locale + $(GZIP) -c ./doc/playonlinux-pkg.1 > $(sharedir)/man/man1/playonlinux-pkg.1.gz + $(GZIP) -c ./doc/playonlinux.1 > $(sharedir)/man/man1/playonlinux.1.gz + cp ./etc/PlayOnLinux.desktop $(sharedir)/applications/PlayOnLinux.desktop + cp ./etc/PlayOnLinux.appdata.xml $(sharedir)/appdata/PlayOnLinux.appdata.xml + cp ./etc/playonlinux.png $(sharedir)/pixmaps/playonlinux.png + cp ./etc/playonlinux16.png $(sharedir)/pixmaps/playonlinux16.png + cp ./etc/playonlinux32.png $(sharedir)/pixmaps/playonlinux32.png + cp ./bin/{playonlinux,playonlinux-pkg} $(bindir)/ + cp ./bin/playonlinux-check_dd $(execdir)/ + cp ./{playonlinux*,README.md,TRANSLATORS,CHANGELOG.md,LICENCE} $(sharedir)/playonlinux/ + cp -R ./{bash,etc,lib,plugins,python,resources,tests} $(sharedir)/playonlinux/ + cp -R ./lang/locale/* $(sharedir)/locale/ + +changelog: + (GIT_DIR=.git git log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2) + +.PHONY: all clean build install changelog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/bash/check_gl new/playonlinux/bash/check_gl --- old/playonlinux/bash/check_gl 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/bash/check_gl 2017-05-30 23:38:39.000000000 +0200 @@ -41,19 +41,25 @@ chmod +x "$POL_USER_ROOT/tmp/check_dd_$1" message="$("$POL_USER_ROOT/tmp/check_dd_$1")" out="$?" - - if [ "$out" = "0" ] - then - $cmd "$message" - exit 0 - else - $cmdW "$message" - exit 2 - fi + # When bz2 version is not presented (was installed on specific platform) + # use on site compiled check_dd version + elif [ -e "/usr/libexec/playonlinux-check_dd" ] + then + message="$("/usr/libexec/playonlinux-check_dd")" + out="$?" else $cmdW "check_dd_$1 missing, test skipped" exit 0 fi + + if [ "$out" = "0" ] + then + $cmd "$message" + exit 0 + else + $cmdW "$message" + exit 2 + fi } cd /tmp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/doc/playonlinux-daemon.1 new/playonlinux/doc/playonlinux-daemon.1 --- old/playonlinux/doc/playonlinux-daemon.1 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/doc/playonlinux-daemon.1 1970-01-01 01:00:00.000000000 +0100 @@ -1,28 +0,0 @@ -.TH PLAYONLINUX-DAEMON 1 "February 6, 2009" - -.SH NAME -playonlinux-daemon \- daemon to handle disk insertion in PlayOnLinux - -.SH SYNOPSIS -.B playonlinux-daemon -.RI [ options ] - -.SH DESCRIPTION -.B playonlinux-daemon -is a daemon to handle disk insertion within PlayOnLinux. It still needs testing and may not work flawlessly. -.br -Users who want to handle autoruns with PlayOnLinux should launch this script at startup. - -.SH OPTIONS -.TP -.I "--version" - Show version number and exit. -.TP -.I "--kill" - Kill the daemon. - -.SH AUTHOR -playonlinux was written by Quentin Pâris <[email protected]>. -.PP -This manual page was written by Bertrand Marc <[email protected]>, -for the Debian project (but may be used by others). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/etc/PlayOnLinux.appdata.xml new/playonlinux/etc/PlayOnLinux.appdata.xml --- old/playonlinux/etc/PlayOnLinux.appdata.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/playonlinux/etc/PlayOnLinux.appdata.xml 2017-05-30 23:38:39.000000000 +0200 @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2016 Jiri Konecny <[email protected]> --> +<component type="desktop"> + <id>PlayOnLinux.desktop</id> + <project_license>GPL-3.0</project_license> + <metadata_license>CC0-1.0</metadata_license> + <name>PlayOnLinux</name> + <summary>Graphical front-end for Wine</summary> + <description> + <p> + PlayOnLinux will allow you to run your favorite Windows games and + applications on Linux through Wine easily. + </p> + <p> + New users can often find Wine to be intimidating and difficult to use. + PlayOnLinux simplifies much of this and makes installing and using + Windows programs easier. + </p> + <p> + PlayOnLinux has the database of Windows applications from which the user + can install desired application with a few clicks. It will automatically + setup your Wine prefix and download any required Windows libraries. + </p> + </description> + <screenshots> + <screenshot type="default"> + <image>https://jkonecny.fedorapeople.org/images/playonlinux_screen_01.png</image> + </screenshot> + <screenshot> + <image>https://jkonecny.fedorapeople.org/images/playonlinux_screen_02.png</image> + </screenshot> + <screenshot> + <image>https://jkonecny.fedorapeople.org/images/playonlinux_screen_03.png</image> + </screenshot> + </screenshots> + <url type="homepage">https://www.playonlinux.com/</url> + <url type="bugtracker">https://www.playonlinux.com/en/bugs.html</url> + <url type="donation">https://www.playonlinux.com/en/donate.html</url> + <url type="help">http://wiki.playonlinux.com/index.php/Main_Page</url> + <url type="translate">http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_10:_Script_Translation</url> + + <keywords> + <keyword>wine</keyword> + <keyword>games</keyword> + <keyword>software</keyword> + <keyword>windows</keyword> + </keywords> + + <update_contact>dragonlichcz_at_gmail.com</update_contact> +</component> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/etc/PlayOnLinux.desktop new/playonlinux/etc/PlayOnLinux.desktop --- old/playonlinux/etc/PlayOnLinux.desktop 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/etc/PlayOnLinux.desktop 2017-05-30 23:38:39.000000000 +0200 @@ -1,9 +1,8 @@ [Desktop Entry] Version=1.0 -Encoding=UTF-8 Name=PlayOnLinux -Comment=PlayOnLinux -Type=Application %F -Exec=playonlinux -Icon=/usr/share/playonlinux/etc/playonlinux.png -Categories=Application;Game +Comment=Front-end application for the wine +Type=Application +Exec=playonlinux %F +Icon=playonlinux +Categories=Utility;Emulator; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/etc/playonlinux-Programmes.menu new/playonlinux/etc/playonlinux-Programmes.menu --- old/playonlinux/etc/playonlinux-Programmes.menu 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/etc/playonlinux-Programmes.menu 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" -"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"> -<Menu> - <Name>Applications</Name> - <Menu> - <Name>PlayOnLinux</Name> - <Directory>PlayOnLinux.directory</Directory> - <Include> - <And> - <Category>PlayOnLinux</Category> - </And> - </Include> - </Menu> -</Menu> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/etc/playonlinux-Programs.menu new/playonlinux/etc/playonlinux-Programs.menu --- old/playonlinux/etc/playonlinux-Programs.menu 1970-01-01 01:00:00.000000000 +0100 +++ new/playonlinux/etc/playonlinux-Programs.menu 2017-05-30 23:38:39.000000000 +0200 @@ -0,0 +1,14 @@ +<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" +"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"> +<Menu> + <Name>Applications</Name> + <Menu> + <Name>PlayOnLinux</Name> + <Directory>PlayOnLinux.directory</Directory> + <Include> + <And> + <Category>PlayOnLinux</Category> + </And> + </Include> + </Menu> +</Menu> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/etc/pol_bash new/playonlinux/etc/pol_bash --- old/playonlinux/etc/pol_bash 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/etc/pol_bash 2017-05-30 23:38:39.000000000 +0200 @@ -6,7 +6,7 @@ echo "" if [ "$PLAYONLINUX" = "" ] then -echo "Ce script doit être executé dans PlayOnLinux." +echo "This script must be executed in PlayOnLinux." read ok exit 0 fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/lib/scripts.lib new/playonlinux/lib/scripts.lib --- old/playonlinux/lib/scripts.lib 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/lib/scripts.lib 2017-05-30 23:38:39.000000000 +0200 @@ -315,6 +315,7 @@ BINARY="$1" SpecialArg="$4" Categories="$5" + BIN_PATH="$6" if [ "$2" = "" ] then ICON_FILENAME="$1" @@ -328,14 +329,20 @@ ICON_WEB_NAME="$3" ICON_OK=0 - local binary_path="$(POL_System_find_file "$BINARY")" - local binary_dir="$(dirname "$binary_path")" + if [ -z "$BIN_PATH" ]; then + local binary_path="$(POL_System_find_file "$BINARY")" + local binary_dir="$WINEPREFIX/drive_c/$(dirname "$binary_path")" + else + local binary_path="$BIN_PATH/$BINARY" + local binary_dir="$(dirname "$binary_path")" + fi + local binary_name="$(basename "$binary_path")" + local target="$binary_dir/$binary_name" - [ -z "$binary_dir" ] && POL_Debug_Fatal "Can't find $BINARY" + [ "$binary_dir" = "$WINEPREFIX/drive_c/" ] && POL_Debug_Fatal "Can't find $BINARY" POL_Debug_Message "Looking for <${BINARY}>, found <${binary_path}>" - local target="$WINEPREFIX/drive_c/$binary_dir/$binary_name" [[ "$target" =~ \.lnk$ ]] && target="$(winepath -u "$(strings "$target"|tail -n 1)")" if [ -n "$ICON_WEB_NAME" ]; then @@ -364,10 +371,10 @@ [ -n "$LOGTITLE" ] && echo "#POL_Log=$LOGTITLE" [ -n "$SCRIPTID" ] && echo "#ScriptID=$SCRIPTID" if [[ "$binary_name" =~ \.(lnk|bat|cmd)$ ]]; then - echo "cd \"$(dirname "$target")\"" - echo "POL_Wine start.exe /wait /unix \"\$WINEPREFIX/drive_c/$binary_dir/$binary_name\" $SpecialArg \"\$@\"" + echo "cd \"$binary_dir\"" + echo "POL_Wine start.exe /wait /unix \"\$target\" $SpecialArg \"\$@\"" else - echo "cd \"$WINEPREFIX/drive_c/$binary_dir\"" + echo "cd \"$binary_dir\"" echo "POL_Wine \"$binary_name\" $SpecialArg \"\$@\"" fi) > "$POL_USER_ROOT/shortcuts/$ICON_FILENAME" chmod +x "$POL_USER_ROOT/shortcuts/$ICON_FILENAME" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/lib/setupwindow.lib new/playonlinux/lib/setupwindow.lib --- old/playonlinux/lib/setupwindow.lib 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/lib/setupwindow.lib 2017-05-30 23:38:39.000000000 +0200 @@ -177,6 +177,7 @@ # /!\ Scriptors should directly use POL_Download # If provided, make sure the filename is absolute to avoid any misinterpretation from server + local FILENAME [ -n "$4" ] && FILENAME="$4" || FILENAME="$PWD/" Result="$(echo "$POL_COOKIE POL_SetupWindow_download $$ $(POL_Untab "$1") $(POL_Untab "$2") $3 $(POL_Untab "$FILENAME")" | ncns "$POL_HOST" "$POL_PORT")" # FIXME: Result should send 'fail' if the download has failed. Maybe we could catch it @@ -726,11 +727,13 @@ [ "$APP_ANSWER" = "$LNG_FINISH" ] && break local EXE_FILE + local EXE_PATH if [ "$APP_ANSWER" = "$LNG_BROWSE" ] then cd $WINEPREFIX/drive_c POL_SetupWindow_browse "$(eval_gettext "Please choose a file for $APPLICATION_TITLE to make a shortcut")" "$TITLE" EXE_FILE="$(basename "$APP_ANSWER")" + EXE_PATH="$(dirname "$APP_ANSWER")" else EXE_FILE="$APP_ANSWER" fi @@ -766,7 +769,7 @@ break fi done - POL_Shortcut "$EXE_FILE" "$SUGGEST" + POL_Shortcut "$EXE_FILE" "$SUGGEST" "" "" "" "$EXE_PATH" echo "POL_Shortcut \"$EXE_FILE\" \"$SUGGEST\"" >> "$POL_USER_ROOT/tmp/shortcuts" fi done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/python/configure.py new/playonlinux/python/configure.py --- old/playonlinux/python/configure.py 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/python/configure.py 2017-05-30 23:38:39.000000000 +0200 @@ -395,6 +395,11 @@ self.general_elements["arguments"].SetValue(playonlinux.getArgs(self.s_title)) self.display_elements["folder_button"].SetLabel(_("Open program's directory")) + if not playonlinux.GetSettings("OPEN_IN", self.s_prefix): + self.display_elements["open_in"].SetValue("xdg-open") + else: + self.display_elements["open_in"].SetValue(playonlinux.GetSettings("OPEN_IN", self.s_prefix)) + if(os.path.exists(Variables.playonlinux_rep+"configurations/configurators/"+self.s_title)): self.configurator_title.Show() self.configurator_button.Show() @@ -471,7 +476,7 @@ param = event.GetId() if(param == 402): if(self.s_isPrefix == False): - playonlinux.open_folder(self.s_title) + playonlinux.open_folder(self.s_title, self.display_elements["open_in"].GetValue().encode("utf-8","replace")) else: playonlinux.open_folder_prefix(self.s_prefix) if(param == 403): @@ -531,6 +536,15 @@ wx.EVT_BUTTON(self, 400+num, self.misc_button) + def AddMiscChamp(self, title, shortname, value, num): + self.display_elements[shortname+"_text"] = wx.StaticText(self.panelMisc, -1, title,pos=(15,24+num*40)) + self.display_elements[shortname] = wx.TextCtrl(self.panelMisc, 400+num, value, pos=(95,19+num*40), size=(420,25)) + wx.EVT_TEXT(self, 400+num, self.set_open_in) + + def set_open_in(self, event): + new_open_in = self.display_elements["open_in"].GetValue() + playonlinux.SetSettings('OPEN_IN', new_open_in, self.s_prefix) + def AddMiscLongText(self, title, shortname, num): self.display_elements[shortname+"_text"] = wx.StaticText(self.panelMisc, -1, title,pos=(15,19+num*40)) self.display_elements[shortname+"_panel"] = wx.Panel(self.panelMisc, -1, size=wx.Size(450,70),pos=(20,44+num*40)) @@ -541,7 +555,7 @@ content = "" self.display_elements[shortname] = wx.TextCtrl(self.display_elements[shortname+"_panel"], 400+num, content, size=wx.Size(448,68), pos=(2,2), style=Variables.widget_borders|wx.TE_MULTILINE) - wx.EVT_TEXT(self, 405, self.edit_shortcut) + wx.EVT_TEXT(self, 400+num, self.edit_shortcut) def edit_shortcut(self, event): content = self.display_elements["pre_run"].GetValue().encode("utf-8","replace") @@ -577,11 +591,18 @@ self.txtMisc = wx.StaticText(self.panelMisc, -1, _(nom), (10,10), wx.DefaultSize) self.txtMisc.SetFont(self.fontTitle) - self.AddMiscElement(_("Mouse warp override"),"MouseWarpOverride",["Enabled","Disabled","Force"],["enable","disable","force"],1) - self.AddMiscButton("","folder",2) - self.AddMiscButton(_("Open a shell"),"shell",3) - self.AddMiscButton(_("Run a .exe file in this virtual drive"),"exerun",4) - self.AddMiscLongText(_("Command to exec before running the program"),"pre_run",5) + i=1 + self.AddMiscElement(_("Mouse warp override"),"MouseWarpOverride",["Enabled","Disabled","Force"],["enable","disable","force"],i) + i+=1 + self.AddMiscButton("","folder",i) + i+=1 + self.AddMiscChamp(_("Open in..."),"open_in","",i) + i+=1 + self.AddMiscButton(_("Open a shell"),"shell",i) + i+=1 + self.AddMiscButton(_("Run a .exe file in this virtual drive"),"exerun",i) + i+=1 + self.AddMiscLongText(_("Command to exec before running the program"),"pre_run",i) self.AddPage(self.panelMisc, nom) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/python/guiv3.py new/playonlinux/python/guiv3.py --- old/playonlinux/python/guiv3.py 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/python/guiv3.py 2017-05-30 23:38:39.000000000 +0200 @@ -54,7 +54,7 @@ class POL_SetupFrame(wx.Frame): #fenêtre principale def __init__(self, parent, titre, POL_SetupWindowID, Arg1, Arg2, Arg3): - wx.Frame.__init__(self, None, -1, title = titre, style = wx.CLOSE_BOX | wx.CAPTION | wx.MINIMIZE_BOX, size = (520, 398+Variables.windows_add_size)) + wx.Frame.__init__(self, None, -1, title = titre, style = wx.CLOSE_BOX | wx.CAPTION | wx.MINIMIZE_BOX | wx.RESIZE_BORDER, size = (520, 398+Variables.windows_add_size)) self.parent = parent self.bash_pid = int(POL_SetupWindowID) self.SetIcon(wx.Icon(Variables.playonlinux_env+"/etc/playonlinux.png", wx.BITMAP_TYPE_ANY)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/python/lib/Variables.py new/playonlinux/python/lib/Variables.py --- old/playonlinux/python/lib/Variables.py 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/python/lib/Variables.py 2017-05-30 23:38:39.000000000 +0200 @@ -16,7 +16,7 @@ os.environ["POL_PORT"] = "0" os.environ["PLAYONLINUX"] = os.path.realpath(os.path.realpath(__file__)+"/../../../") os.environ["SITE"] = "http://repository.playonlinux.com" -os.environ["VERSION"] = "4.2.10" +os.environ["VERSION"] = "4.2.11" os.environ["POL_ID"] = str(random.randint(1, 100000000)) os.environ["WINE_SITE"] = "http://wine.playonlinux.com/binaries" os.environ["GECKO_SITE"] = "http://wine.playonlinux.com/gecko" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/python/lib/playonlinux.py new/playonlinux/python/lib/playonlinux.py --- old/playonlinux/python/lib/playonlinux.py 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/python/lib/playonlinux.py 2017-05-30 23:38:39.000000000 +0200 @@ -224,7 +224,7 @@ r.append(c.lower()) return r -def open_folder(software): +def open_folder(software, cmd="xdg-open"): read = open(Variables.playonlinux_rep+"shortcuts/"+software,"r").readlines() if not len(read): @@ -244,7 +244,7 @@ if(os.environ["POL_OS"] == "Mac"): subprocess.call(["open", AppDir]) else: - subprocess.call(["xdg-open", AppDir]) + subprocess.call([cmd, AppDir]) def open_folder_prefix(software): AppDir = os.environ["POL_USER_ROOT"]+"/wineprefix/"+software diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/python/mainwindow.py new/playonlinux/python/mainwindow.py --- old/playonlinux/python/mainwindow.py 2016-01-03 23:16:17.000000000 +0100 +++ new/playonlinux/python/mainwindow.py 2017-05-30 23:38:39.000000000 +0200 @@ -122,7 +122,7 @@ name = self.SavePerspective().split("=") name = name[1].split(";") name = name[0] - return name + return name def getPerspective(self): return self.SavePerspective().replace(self._getPerspectiveName(),"PERSPECTIVE_NAME") @@ -222,8 +222,8 @@ ## List game self.list_game = wx.TreeCtrl(self, 105, style=wx.TR_HIDE_ROOT|wx.TR_FULL_ROW_HIGHLIGHT) - self.list_game.SetSpacing(0); - self.list_game.SetIndent(5); + self.list_game.SetSpacing(0) + self.list_game.SetIndent(5) self.list_game.SetImageList(self.images) self.menu_gauche = wx.Panel(self,-1) @@ -343,15 +343,15 @@ self.last_string = "" - self.sb = wx.StatusBar(self, -1 ) + self.sb = wx.StatusBar(self, -1) self.sb.SetFieldsCount(2) self.sb.SetStatusWidths([self.GetSize()[0], -1]) self.sb.SetStatusText("", 0) if(os.environ["POL_OS"] == "Mac"): - hauteur = 2; + hauteur = 2 else: - hauteur = 6; + hauteur = 6 self.jauge_update = wx.Gauge(self.sb, -1, 100, (self.GetSize()[0]-100, hauteur), size=(100,16)) self.jauge_update.Pulse() self.jauge_update.Hide() @@ -393,13 +393,13 @@ # wxpython 2.8 does not support AddStretchableSpace(). This is a dirty workaround for this. self.dirtyHack = wx.StaticText(self.toolbar) self.SpaceHack = True - self.toolbar.AddControl( self.dirtyHack ) + self.toolbar.AddControl(self.dirtyHack) self.UpdateSearchHackSize() try: - self.toolbar.AddControl( self.searchbox , _("Search")) + self.toolbar.AddControl(self.searchbox , _("Search")) except: - self.toolbar.AddControl( self.searchbox ) + self.toolbar.AddControl(self.searchbox) self.searchbox.SetDescriptiveText(_("Search")) @@ -447,11 +447,11 @@ wx.EVT_TREE_SEL_CHANGED(self, 105, self.Select) # Support - wx.EVT_MENU(self, 400, self.runSupport) - wx.EVT_MENU(self, 401, self.runSupport) - wx.EVT_MENU(self, 402, self.runSupport) - wx.EVT_MENU(self, 403, self.runSupport) - wx.EVT_MENU(self, 404, self.runSupport) + wx.EVT_MENU(self, 400, self.runSupport) + wx.EVT_MENU(self, 401, self.runSupport) + wx.EVT_MENU(self, 402, self.runSupport) + wx.EVT_MENU(self, 403, self.runSupport) + wx.EVT_MENU(self, 404, self.runSupport) # PlayOnLinux main timer self.timer = wx.Timer(self, 1) @@ -477,7 +477,7 @@ wx.EVT_MENU(self, 235, self.RKill) wx.EVT_MENU(self, 236, self.ReadMe) self.Bind(wx.EVT_SIZE, self.ResizeWindow) - self._mgr.restorePosition() + self._mgr.restorePosition() def ResizeWindow(self, e): self.UpdateGaugePos() @@ -490,9 +490,9 @@ def UpdateGaugePos(self): if(os.environ["POL_OS"] == "Mac"): - hauteur = 2; + hauteur = 2 else: - hauteur = 6; + hauteur = 6 self.jauge_update.SetPosition((self.GetSize()[0]-100, hauteur)) def SetupWindowTimer_SendToGui(self, recvData): @@ -513,10 +513,9 @@ else: self.SetupWindow_TimerRestart(10) - if(self.SetupWindowTimer_action != None): + if(self.SetupWindowTimer_action != None): return gui_server.readAction(self) - - + def TimerAction(self, event): self.StatusRead() @@ -635,7 +634,7 @@ subprocess.Popen(["bash", Variables.playonlinux_rep+"/plugins/"+plugin+"/scripts/menu", game_exec]) except : pass - + def runSupport(self, event): urlId = event.GetId()-400 urlPrefix = "http://www."+os.environ["POL_DNS"]+"/en" @@ -704,7 +703,10 @@ def GoToAppDir(self, event): self.game_exec = self.GetSelectedProgram() - playonlinux.open_folder(self.game_exec) + if not playonlinux.GetSettings("OPEN_IN", playonlinux.getPrefix(self.game_exec)): + playonlinux.open_folder(self.game_exec) + else: + playonlinux.open_folder(self.game_exec, playonlinux.GetSettings("OPEN_IN", playonlinux.getPrefix(self.game_exec))) def ChangeIcon(self, event): self.IconDir = Variables.homedir+"/.local/share/icons/" @@ -727,11 +729,11 @@ def Select(self, event): game_exec = self.GetSelectedProgram() self.read = open(Variables.playonlinux_rep+"shortcuts/"+game_exec,"r").readlines() - self.i = 0; - self.wine_present = False; + self.i = 0 + self.wine_present = False while(self.i < len(self.read)): if("wine " in self.read[self.i]): - self.wine_present = True; + self.wine_present = True self.i += 1 self.generate_menu(game_exec) @@ -753,7 +755,7 @@ self.menuElem = {} self.menuImage = {} - i = 0; + i = 0 self.menuGaucheAddTitle("pol_title", os.environ["APPLICATION_TITLE"], i) i+=1 self.menuGaucheAddLink("pol_prgm_install", _("Install a program"), i,Variables.playonlinux_env+"/resources/images/menu/add.png",self.InstallMenu) @@ -883,9 +885,9 @@ root = self.list_game.AddRoot("") self.i = 0 if(self.iconSize <= 32): - self.iconFolder = "32"; + self.iconFolder = "32" else: - self.iconFolder = "full_size"; + self.iconFolder = "full_size" for game in self.games: #METTRE EN 32x32 if(self.searchbox.GetValue().encode("utf-8","replace").lower() in game.lower()): if(not os.path.isdir(Variables.playonlinux_rep+"/shortcuts/"+game)): @@ -1100,8 +1102,8 @@ self.registeredPid = pids if(playonlinux.GetSettings("DONT_ASK_BEFORE_CLOSING") == "TRUE" or self.registeredPid == [] or wx.YES == wx.MessageBox(_('Are you sure you want to close all {0} windows?').format(os.environ["APPLICATION_TITLE"]).decode("utf-8","replace"),os.environ["APPLICATION_TITLE"], style=wx.YES_NO | wx.ICON_QUESTION)): - self.SizeToSave = self.GetSize(); - self.PositionToSave = self.GetPosition(); + self.SizeToSave = self.GetSize() + self.PositionToSave = self.GetPosition() # Save size and position playonlinux.SetSettings("MAINWINDOW_WIDTH",str(self.SizeToSave[0])) playonlinux.SetSettings("MAINWINDOW_HEIGHT",str(self.SizeToSave[1]-Variables.windows_add_playonmac*56)) @@ -1249,7 +1251,7 @@ if(os.environ["DEBIAN_PACKAGE"] == "FALSE"): if(playonlinux.GetSettings("SEND_REPORT") == ""): - if(wx.YES == wx.MessageBox(_('Do you want to help {0} to make a compatibility database?\n\nIf you click yes, the following things will be sent to us anonymously the first time you run a Windows program:\n\n- You graphic card model\n- Your OS version\n- If graphic drivers are installed or not.\n\n\nThese information will be very precious for us to help people.').format(os.environ["APPLICATION_TITLE"]).decode("utf-8","replace"), os.environ["APPLICATION_TITLE"],style=wx.YES_NO | wx.ICON_QUESTION)): + if(wx.YES == wx.MessageBox(_('Do you want to help {0} to make a compatibility database?\n\nIf you click yes, the following things will be sent to us anonymously the first time you run a Windows program:\n\n- Your graphic card model\n- Your OS version\n- If graphic drivers are installed or not.\n\n\nThese information will be very precious for us to help people.').format(os.environ["APPLICATION_TITLE"]).decode("utf-8","replace"), os.environ["APPLICATION_TITLE"],style=wx.YES_NO | wx.ICON_QUESTION)): playonlinux.SetSettings("SEND_REPORT","TRUE") else: playonlinux.SetSettings("SEND_REPORT","FALSE")
