From 815aa524a5f78f8d749154bd3283ac64d2cab7b8 Mon Sep 17 00:00:00 2001 From: "Jesus P Rey (Chuso)" Date: Tue, 6 Oct 2020 21:36:59 +0200 Subject: [PATCH 1/6] app-misc/rememberthemilk: new package Signed-off-by: Jesus P Rey --- app-misc/rememberthemilk/Manifest | 1 + app-misc/rememberthemilk/metadata.xml | 8 +++ .../rememberthemilk-1.2.9.ebuild | 59 +++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 app-misc/rememberthemilk/Manifest create mode 100644 app-misc/rememberthemilk/metadata.xml create mode 100644 app-misc/rememberthemilk/rememberthemilk-1.2.9.ebuild diff --git a/app-misc/rememberthemilk/Manifest b/app-misc/rememberthemilk/Manifest new file mode 100644 index 0000000000..ab28652549 --- /dev/null +++ b/app-misc/rememberthemilk/Manifest @@ -0,0 +1 @@ +DIST rememberthemilk-1.2.9-1.x86_64.rpm 52949696 BLAKE2B e79fce906a39146eb3bae0476e755c25a6b74816fb71812903a91e63e355bb37b4589c90cbf1f904101c6ebd5d09178518b20a3ea1578aa951077fff849e1267 SHA512 57b60e31dbb7fcb2951fe8245b048cd8ae5d22f138762760156d11805660f67d24f6f311c2ebca585bbe88ee67c8de23993785c96d51df0c41cf1689df3dcc74 diff --git a/app-misc/rememberthemilk/metadata.xml b/app-misc/rememberthemilk/metadata.xml new file mode 100644 index 0000000000..73a06ced43 --- /dev/null +++ b/app-misc/rememberthemilk/metadata.xml @@ -0,0 +1,8 @@ + + + + + gentoo@chuso.net + Jesus Perez Rey + + diff --git a/app-misc/rememberthemilk/rememberthemilk-1.2.9.ebuild b/app-misc/rememberthemilk/rememberthemilk-1.2.9.ebuild new file mode 100644 index 0000000000..b2d11e1b37 --- /dev/null +++ b/app-misc/rememberthemilk/rememberthemilk-1.2.9.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit desktop rpm wrapper + +DESCRIPTION="Freemium simple to-do tasks manager" +HOMEPAGE="https://www.rememberthemilk.com" +SRC_URI="https://www.${PN}.com/download/linux/fedora/21/x86_64/${P}-1.x86_64.rpm" + +S="${WORKDIR}" + +LICENSE="all-rights-reserved" + +SLOT="0" + +KEYWORDS="~amd64" + +RDEPEND="media-video/ffmpeg[chromium] + app-accessibility/at-spi2-atk + app-accessibility/at-spi2-core + dev-libs/atk + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/mesa + net-print/cups + sys-apps/dbus + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXtst + x11-libs/libdrm + x11-libs/libxcb + x11-libs/pango" + +src_install() { + insinto "/opt/${PN}" + doins -r opt/RememberTheMilk/{*.pak,*.dat,locales,resources,*.bin,swiftshader,*.json} + exeinto "/opt/${PN}" + doexe "opt/RememberTheMilk/${PN}" + + make_wrapper "${PN}" "/opt/${PN}/${PN}" "/opt/${PN}" "/usr/$(get_libdir)/chromium" + + doicon "usr/share/pixmaps/${PN}.png" + make_desktop_entry "${PN} %U" "Remember The Milk" "${PN}" "Office" +} From 709964411871a51f2693ad78bfdb0bd0b28c3e75 Mon Sep 17 00:00:00 2001 From: "Ronny (tastytea) Gutbrod" Date: Tue, 6 Oct 2020 21:51:16 +0200 Subject: [PATCH 2/6] dev-libs/olm: Version bump 3.2.0. Signed-off-by: Ronny (tastytea) Gutbrod --- dev-libs/olm/Manifest | 1 + dev-libs/olm/olm-3.2.0.ebuild | 36 +++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 dev-libs/olm/olm-3.2.0.ebuild diff --git a/dev-libs/olm/Manifest b/dev-libs/olm/Manifest index bff4e73e71..45eddf410d 100644 --- a/dev-libs/olm/Manifest +++ b/dev-libs/olm/Manifest @@ -1,2 +1,3 @@ DIST olm-3.1.4.tar.bz2 461540 BLAKE2B fa69b1543330c5da37c04227b51197ba57968ef24def40df621b85c0988eac91f8a155f600ab26849f2cd213059c97c7035be6dcca0943245cd4e4895da314b3 SHA512 87265d835ca7332d162bd3573dffdd09c8337c464dd673f100db9193e8ea4cedd8cb2a92cf2c34ad1b552a55bbbce8f87a47559ccfba03fa69b32fc7ff07f5f0 DIST olm-3.1.5.tar.bz2 461855 BLAKE2B 20412686ea1621de0d45885ae6f44331389cb401410809901187431eb101113f4186dc5b31c055da15143bec70f2251ee506e4fb50b0a8e495bdfa6cdb302b9e SHA512 a41be45e3fadb4e24654a4db8a68dab7fb8b021aeaf48b524d9c2c1e9d48e0b2200b9f1ac8431e79bc620560b16c66fb4c2d3727901b47b78288ea22b3f6ba02 +DIST olm-3.2.0.tar.bz2 462656 BLAKE2B 38e9ff3316cca91a451a2e843b625615b2285da3120df34423a463ea00d83480fe9d765cf613eb7342b0436713f4a4c8a4d640fac8e1c259e35c09134a731c2d SHA512 b11aad740bd5cdb034fbaffd653efabbfdb231f461d8abaac6a4b69c1b3cda8062ce54b74ba3d9a5f0d671a6291a57cfcd17332ff129949a00b1404ee28d8f21 diff --git a/dev-libs/olm/olm-3.2.0.ebuild b/dev-libs/olm/olm-3.2.0.ebuild new file mode 100644 index 0000000000..503023949e --- /dev/null +++ b/dev-libs/olm/olm-3.2.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="Implementation of the olm and megolm cryptographic ratchets" +HOMEPAGE="https://gitlab.matrix.org/matrix-org/olm" +SRC_URI="https://gitlab.matrix.org/matrix-org/${PN}/-/archive/${PV}/${P}.tar.bz2" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="doc test" +KEYWORDS="~amd64" + +RDEPEND="" +DEPEND="${RDEPEND}" + +src_configure() { + local -a mycmakeargs=( + -DOLM_TESTS="$(usex test)" + ) + + cmake_src_configure +} + +src_test() { + BUILD_DIR="${BUILD_DIR}/tests" cmake_src_test +} + +src_install() { + use doc && DOCS=( README.md docs/{{,meg}olm,signing}.md ) + + cmake_src_install +} From a5406fb00d9a5940c1e729bb9d6d9b362ae7d629 Mon Sep 17 00:00:00 2001 From: "Ronny (tastytea) Gutbrod" Date: Tue, 6 Oct 2020 21:53:28 +0200 Subject: [PATCH 3/6] dev-libs/olm: Delete old ebuild. Signed-off-by: Ronny (tastytea) Gutbrod --- dev-libs/olm/Manifest | 1 - dev-libs/olm/olm-3.1.4.ebuild | 36 ----------------------------------- 2 files changed, 37 deletions(-) delete mode 100644 dev-libs/olm/olm-3.1.4.ebuild diff --git a/dev-libs/olm/Manifest b/dev-libs/olm/Manifest index 45eddf410d..1313910786 100644 --- a/dev-libs/olm/Manifest +++ b/dev-libs/olm/Manifest @@ -1,3 +1,2 @@ -DIST olm-3.1.4.tar.bz2 461540 BLAKE2B fa69b1543330c5da37c04227b51197ba57968ef24def40df621b85c0988eac91f8a155f600ab26849f2cd213059c97c7035be6dcca0943245cd4e4895da314b3 SHA512 87265d835ca7332d162bd3573dffdd09c8337c464dd673f100db9193e8ea4cedd8cb2a92cf2c34ad1b552a55bbbce8f87a47559ccfba03fa69b32fc7ff07f5f0 DIST olm-3.1.5.tar.bz2 461855 BLAKE2B 20412686ea1621de0d45885ae6f44331389cb401410809901187431eb101113f4186dc5b31c055da15143bec70f2251ee506e4fb50b0a8e495bdfa6cdb302b9e SHA512 a41be45e3fadb4e24654a4db8a68dab7fb8b021aeaf48b524d9c2c1e9d48e0b2200b9f1ac8431e79bc620560b16c66fb4c2d3727901b47b78288ea22b3f6ba02 DIST olm-3.2.0.tar.bz2 462656 BLAKE2B 38e9ff3316cca91a451a2e843b625615b2285da3120df34423a463ea00d83480fe9d765cf613eb7342b0436713f4a4c8a4d640fac8e1c259e35c09134a731c2d SHA512 b11aad740bd5cdb034fbaffd653efabbfdb231f461d8abaac6a4b69c1b3cda8062ce54b74ba3d9a5f0d671a6291a57cfcd17332ff129949a00b1404ee28d8f21 diff --git a/dev-libs/olm/olm-3.1.4.ebuild b/dev-libs/olm/olm-3.1.4.ebuild deleted file mode 100644 index 503023949e..0000000000 --- a/dev-libs/olm/olm-3.1.4.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake - -DESCRIPTION="Implementation of the olm and megolm cryptographic ratchets" -HOMEPAGE="https://gitlab.matrix.org/matrix-org/olm" -SRC_URI="https://gitlab.matrix.org/matrix-org/${PN}/-/archive/${PV}/${P}.tar.bz2" - -LICENSE="Apache-2.0" -SLOT="0" -IUSE="doc test" -KEYWORDS="~amd64" - -RDEPEND="" -DEPEND="${RDEPEND}" - -src_configure() { - local -a mycmakeargs=( - -DOLM_TESTS="$(usex test)" - ) - - cmake_src_configure -} - -src_test() { - BUILD_DIR="${BUILD_DIR}/tests" cmake_src_test -} - -src_install() { - use doc && DOCS=( README.md docs/{{,meg}olm,signing}.md ) - - cmake_src_install -} From 4476f068d8dfd31719e6de3c1e0272065c88e1db Mon Sep 17 00:00:00 2001 From: "Ronny (tastytea) Gutbrod" Date: Wed, 7 Oct 2020 00:38:46 +0200 Subject: [PATCH 4/6] dev-libs/olm: Replace 3.2.0 with 3.2.1. Fix for TypeScript definition file. Signed-off-by: Ronny (tastytea) Gutbrod --- dev-libs/olm/Manifest | 2 +- dev-libs/olm/{olm-3.2.0.ebuild => olm-3.2.1.ebuild} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename dev-libs/olm/{olm-3.2.0.ebuild => olm-3.2.1.ebuild} (100%) diff --git a/dev-libs/olm/Manifest b/dev-libs/olm/Manifest index 1313910786..6f8238b4dd 100644 --- a/dev-libs/olm/Manifest +++ b/dev-libs/olm/Manifest @@ -1,2 +1,2 @@ DIST olm-3.1.5.tar.bz2 461855 BLAKE2B 20412686ea1621de0d45885ae6f44331389cb401410809901187431eb101113f4186dc5b31c055da15143bec70f2251ee506e4fb50b0a8e495bdfa6cdb302b9e SHA512 a41be45e3fadb4e24654a4db8a68dab7fb8b021aeaf48b524d9c2c1e9d48e0b2200b9f1ac8431e79bc620560b16c66fb4c2d3727901b47b78288ea22b3f6ba02 -DIST olm-3.2.0.tar.bz2 462656 BLAKE2B 38e9ff3316cca91a451a2e843b625615b2285da3120df34423a463ea00d83480fe9d765cf613eb7342b0436713f4a4c8a4d640fac8e1c259e35c09134a731c2d SHA512 b11aad740bd5cdb034fbaffd653efabbfdb231f461d8abaac6a4b69c1b3cda8062ce54b74ba3d9a5f0d671a6291a57cfcd17332ff129949a00b1404ee28d8f21 +DIST olm-3.2.1.tar.bz2 462729 BLAKE2B 63d4c33eb79f4d0b4950ad8970d3e4a84d015193df72e4e88ad34d5d82e4c9d3c8677392ba2e12f8a80a67cff5c203b3116a0edf13798a7af3cc4fd8b6312e93 SHA512 adb9cff6148d19df4b83a287723219d4da9efd162f7a2824bee63d824d22c20a10fd2c2d8ce74aff5ec006c6dc8828bd6851cc82be93bc6c4524cf7067080412 diff --git a/dev-libs/olm/olm-3.2.0.ebuild b/dev-libs/olm/olm-3.2.1.ebuild similarity index 100% rename from dev-libs/olm/olm-3.2.0.ebuild rename to dev-libs/olm/olm-3.2.1.ebuild From 3c7cb7b83c150b526d78a7687f25d767f2706554 Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Wed, 7 Oct 2020 14:06:37 +0200 Subject: [PATCH 5/6] app-misc/rememberthemilk: RESTRICT bindist and mirror because the license is all-rights-reserved Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Andrew Ammerlaan --- app-misc/rememberthemilk/rememberthemilk-1.2.9.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app-misc/rememberthemilk/rememberthemilk-1.2.9.ebuild b/app-misc/rememberthemilk/rememberthemilk-1.2.9.ebuild index b2d11e1b37..e1cfb7280a 100644 --- a/app-misc/rememberthemilk/rememberthemilk-1.2.9.ebuild +++ b/app-misc/rememberthemilk/rememberthemilk-1.2.9.ebuild @@ -12,11 +12,11 @@ SRC_URI="https://www.${PN}.com/download/linux/fedora/21/x86_64/${P}-1.x86_64.rpm S="${WORKDIR}" LICENSE="all-rights-reserved" - SLOT="0" - KEYWORDS="~amd64" +RESTRICT="bindist mirror" + RDEPEND="media-video/ffmpeg[chromium] app-accessibility/at-spi2-atk app-accessibility/at-spi2-core From 705539c86962a41740499bc7197fb44ccb255764 Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Wed, 7 Oct 2020 14:27:13 +0200 Subject: [PATCH 6/6] media-video/syncplay: patch gui to work with PyQt5 Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Andrew Ammerlaan --- .../syncplay/files/syncplay-allow-PyQt5.patch | 474 ++++++++++++++++++ ...-1.6.5.ebuild => syncplay-1.6.5-r1.ebuild} | 7 +- 2 files changed, 476 insertions(+), 5 deletions(-) create mode 100644 media-video/syncplay/files/syncplay-allow-PyQt5.patch rename media-video/syncplay/{syncplay-1.6.5.ebuild => syncplay-1.6.5-r1.ebuild} (84%) diff --git a/media-video/syncplay/files/syncplay-allow-PyQt5.patch b/media-video/syncplay/files/syncplay-allow-PyQt5.patch new file mode 100644 index 0000000000..89c9de3373 --- /dev/null +++ b/media-video/syncplay/files/syncplay-allow-PyQt5.patch @@ -0,0 +1,474 @@ +From c759525889f303195e677f9341cf325decf74809 Mon Sep 17 00:00:00 2001 +From: Andrew Ammerlaan +Date: Wed, 7 Oct 2020 13:31:46 +0200 +Subject: [PATCH] PyQt5 compatability + +--- + syncplay/ui/ConfigurationGetter.py | 4 +- + syncplay/ui/GuiConfiguration.py | 16 ++-- + syncplay/ui/gui.py | 130 ++++++++++++++++------------- + 3 files changed, 82 insertions(+), 68 deletions(-) + +diff --git a/syncplay/ui/ConfigurationGetter.py b/syncplay/ui/ConfigurationGetter.py +index dd1d8ec0..6d83c650 100755 +--- a/syncplay/ui/ConfigurationGetter.py ++++ b/syncplay/ui/ConfigurationGetter.py +@@ -513,10 +513,10 @@ def getConfiguration(self): + self._overrideConfigWithArgs(args) + if not self._config['noGui']: + try: +- from syncplay.vendor.Qt import QtWidgets, IsPySide, IsPySide2 ++ from syncplay.vendor.Qt import QtWidgets, IsPySide, IsPySide2, IsPyQt5 + from syncplay.vendor.Qt.QtCore import QCoreApplication + from syncplay.vendor import qt5reactor +- if not (IsPySide2 or IsPySide): ++ if not (IsPySide2 or IsPySide or IsPyQt5): + raise ImportError + if QCoreApplication.instance() is None: + self.app = QtWidgets.QApplication(sys.argv) +diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py +index 96915814..cfe51b26 100755 +--- a/syncplay/ui/GuiConfiguration.py ++++ b/syncplay/ui/GuiConfiguration.py +@@ -11,7 +11,7 @@ + from syncplay.utils import isBSD, isLinux, isMacOS, isWindows + from syncplay.utils import resourcespath, posixresourcespath + +-from syncplay.vendor.Qt import QtCore, QtWidgets, QtGui, __binding__, IsPySide, IsPySide2 ++from syncplay.vendor.Qt import QtCore, QtWidgets, QtGui, __binding__, IsPySide, IsPySide2, IsPyQt5 + from syncplay.vendor.Qt.QtCore import Qt, QSettings, QCoreApplication, QSize, QPoint, QUrl, QLine, QEventLoop, Signal + from syncplay.vendor.Qt.QtWidgets import QApplication, QLineEdit, QLabel, QCheckBox, QButtonGroup, QRadioButton, QDoubleSpinBox, QPlainTextEdit + from syncplay.vendor.Qt.QtGui import QCursor, QIcon, QImage, QDesktopServices +@@ -21,6 +21,8 @@ + QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True) + if IsPySide2: + from PySide2.QtCore import QStandardPaths ++elif IsPyQt5: ++ from PyQt5.QtCore import QStandardPaths + + + class GuiConfiguration: +@@ -445,7 +447,7 @@ def browseMediapath(self): + defaultdirectory = QDesktopServices.storageLocation(QDesktopServices.HomeLocation) + else: + defaultdirectory = "" +- elif IsPySide2: ++ elif IsPySide2 or IsPyQt5: + if self.config["mediaSearchDirectories"] and os.path.isdir(self.config["mediaSearchDirectories"][0]): + defaultdirectory = self.config["mediaSearchDirectories"][0] + elif os.path.isdir(self.mediadirectory): +@@ -1181,7 +1183,7 @@ def addMessageTab(self): + + self.displaySettingsGroup = QtWidgets.QGroupBox(getMessage("messages-other-title")) + self.displaySettingsLayout = QtWidgets.QVBoxLayout() +- self.displaySettingsLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) ++ self.displaySettingsLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) + self.displaySettingsFrame = QtWidgets.QFrame() + + self.showDurationNotificationCheckbox = QCheckBox(getMessage("showdurationnotification-label")) +@@ -1193,7 +1195,7 @@ def addMessageTab(self): + self.languageLayout.setContentsMargins(0, 0, 0, 0) + self.languageFrame.setLayout(self.languageLayout) + self.languageFrame.setSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) +- self.languageLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) ++ self.languageLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) + self.languageLabel = QLabel(getMessage("language-label"), self) + self.languageCombobox = QtWidgets.QComboBox(self) + self.languageCombobox.addItem(getMessage("automatic-language").format(getMessage("LANGUAGE", getInitialLanguage()))) +@@ -1214,7 +1216,7 @@ def addMessageTab(self): + + self.displaySettingsGroup.setLayout(self.displaySettingsLayout) + self.displaySettingsGroup.setMaximumHeight(self.displaySettingsGroup.minimumSizeHint().height()) +- self.displaySettingsLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) ++ self.displaySettingsLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) + self.messageLayout.addWidget(self.displaySettingsGroup) + + # messageFrame +@@ -1394,7 +1396,9 @@ def __init__(self, config, playerpaths, error, defaultConfig): + self.publicServerAddresses = [] + + self._playerProbeThread = GetPlayerIconThread() +- self._playerProbeThread.done.connect(self._updateExecutableIcon) ++ # To-Do: Why does this not work with PyQt5 ++ if not IsPyQt5: ++ self._playerProbeThread.done.connect(self._updateExecutableIcon) + self._playerProbeThread.start() + + if self.config['clearGUIData'] == True: +diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py +index c59c5697..a8fe427d 100755 +--- a/syncplay/ui/gui.py ++++ b/syncplay/ui/gui.py +@@ -18,8 +18,7 @@ + from syncplay.utils import resourcespath + from syncplay.utils import isLinux, isWindows, isMacOS + from syncplay.utils import formatTime, sameFilename, sameFilesize, sameFileduration, RoomPasswordProvider, formatSize, isURL +-from syncplay.vendor import Qt +-from syncplay.vendor.Qt import QtCore, QtWidgets, QtGui, __binding__, __binding_version__, __qt_version__, IsPySide, IsPySide2 ++from syncplay.vendor.Qt import QtCore, QtWidgets, QtGui, __binding__, __binding_version__, __qt_version__, IsPySide, IsPySide2, IsPyQt5 + from syncplay.vendor.Qt.QtCore import Qt, QSettings, QSize, QPoint, QUrl, QLine, QDateTime + applyDPIScaling = True + if isLinux(): +@@ -32,15 +31,17 @@ + QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, applyDPIScaling) + if IsPySide2: + from PySide2.QtCore import QStandardPaths ++elif IsPyQt5: ++ from PyQt5.QtCore import QStandardPaths + if isMacOS() and IsPySide: + from Foundation import NSURL + from Cocoa import NSString, NSUTF8StringEncoding + lastCheckedForUpdates = None + from syncplay.vendor import darkdetect + if isMacOS(): +- isDarkMode = darkdetect.isDark() ++ isDarkMode = darkdetect.isDark() + else: +- isDarkMode = None ++ isDarkMode = None + + + class ConsoleInGUI(ConsoleUI): +@@ -139,7 +140,7 @@ def __init__(self, parent=None): + self.setWindowTitle(getMessage("about-dialog-title")) + if isWindows(): + self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) +- self.setWindowIcon(QtGui.QPixmap(resourcespath + 'syncplay.png')) ++ self.setWindowIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'syncplay.png'))) + nameLabel = QtWidgets.QLabel("
Syncplay
") + nameLabel.setFont(QtGui.QFont("Helvetica", 18)) + linkLabel = QtWidgets.QLabel() +@@ -202,7 +203,7 @@ def __init__(self, tlsData, parent=None): + self.setWindowTitle(getMessage("tls-information-title")) + if isWindows(): + self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) +- self.setWindowIcon(QtGui.QPixmap(resourcespath + 'syncplay.png')) ++ self.setWindowIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'syncplay.png'))) + statusLabel = QtWidgets.QLabel(getMessage("tls-dialog-status-label").format(tlsData["subject"])) + descLabel = QtWidgets.QLabel(getMessage("tls-dialog-desc-label").format(tlsData["subject"])) + connDataLabel = QtWidgets.QLabel(getMessage("tls-dialog-connection-label").format(tlsData["protocolVersion"], tlsData["cipher"])) +@@ -454,6 +455,15 @@ def mouseMoveEvent(self, event): + def needsClient(f): # @NoSelf + @wraps(f) + def wrapper(self, *args, **kwds): ++ # To-Do: For some strange reason the args tumple contains False ++ # for some functions, resulting in a crash as the function only accepts ++ # one argument (self). I do not understand where this 'False' is coming ++ # from, it does not seem to be added when the function is called. ++ # This very ugly workaround fixes the problem ++ if IsPyQt5: ++ if len(args)>0: ++ if not args[0]: ++ args = () + if not self._syncplayClient: + self.showDebugMessage("Tried to use client before it was ready!") + return +@@ -614,11 +624,11 @@ def showUserList(self, currentUser, rooms): + + if isControlledRoom: + if room == currentUser.room and currentUser.isController(): +- roomitem.setIcon(QtGui.QPixmap(resourcespath + 'lock_open.png')) ++ roomitem.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'lock_open.png'))) + else: +- roomitem.setIcon(QtGui.QPixmap(resourcespath + 'lock.png')) ++ roomitem.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'lock.png'))) + else: +- roomitem.setIcon(QtGui.QPixmap(resourcespath + 'chevrons_right.png')) ++ roomitem.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'chevrons_right.png'))) + + for user in rooms[room]: + useritem = QtGui.QStandardItem(user.username) +@@ -719,31 +729,31 @@ def openPlaylistMenu(self, position): + pathFound = self._syncplayClient.fileSwitch.findFilepath(firstFile) if not isURL(firstFile) else None + if self._syncplayClient.userlist.currentUser.file is None or firstFile != self._syncplayClient.userlist.currentUser.file["name"]: + if isURL(firstFile): +- menu.addAction(QtGui.QPixmap(resourcespath + "world_go.png"), getMessage("openstreamurl-menu-label"), lambda: self.openFile(firstFile, resetPosition=True, fromUser=True)) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "world_go.png")), getMessage("openstreamurl-menu-label"), lambda: self.openFile(firstFile, resetPosition=True, fromUser=True)) + elif pathFound: +- menu.addAction(QtGui.QPixmap(resourcespath + "film_go.png"), getMessage("openmedia-menu-label"), lambda: self.openFile(pathFound, resetPosition=True, fromUser=True)) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_go.png")), getMessage("openmedia-menu-label"), lambda: self.openFile(pathFound, resetPosition=True, fromUser=True)) + if pathFound: +- menu.addAction(QtGui.QPixmap(resourcespath + "folder_film.png"), ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "folder_film.png")), + getMessage('open-containing-folder'), + lambda: utils.open_system_file_browser(pathFound)) + if self._syncplayClient.isUntrustedTrustableURI(firstFile): + domain = utils.getDomainFromURL(firstFile) +- menu.addAction(QtGui.QPixmap(resourcespath + "shield_add.png"), getMessage("addtrusteddomain-menu-label").format(domain), lambda: self.addTrustedDomain(domain)) +- menu.addAction(QtGui.QPixmap(resourcespath + "delete.png"), getMessage("removefromplaylist-menu-label"), lambda: self.deleteSelectedPlaylistItems()) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "shield_add.png")), getMessage("addtrusteddomain-menu-label").format(domain), lambda: self.addTrustedDomain(domain)) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "delete.png")), getMessage("removefromplaylist-menu-label"), lambda: self.deleteSelectedPlaylistItems()) + menu.addSeparator() +- menu.addAction(QtGui.QPixmap(resourcespath + "arrow_switch.png"), getMessage("shuffleremainingplaylist-menu-label"), lambda: self.shuffleRemainingPlaylist()) +- menu.addAction(QtGui.QPixmap(resourcespath + "arrow_switch.png"), getMessage("shuffleentireplaylist-menu-label"), lambda: self.shuffleEntirePlaylist()) +- menu.addAction(QtGui.QPixmap(resourcespath + "arrow_undo.png"), getMessage("undoplaylist-menu-label"), lambda: self.undoPlaylistChange()) +- menu.addAction(QtGui.QPixmap(resourcespath + "film_edit.png"), getMessage("editplaylist-menu-label"), lambda: self.openEditPlaylistDialog()) +- menu.addAction(QtGui.QPixmap(resourcespath + "film_add.png"), getMessage("addfilestoplaylist-menu-label"), lambda: self.OpenAddFilesToPlaylistDialog()) +- menu.addAction(QtGui.QPixmap(resourcespath + "world_add.png"), getMessage("addurlstoplaylist-menu-label"), lambda: self.OpenAddURIsToPlaylistDialog()) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "arrow_switch.png")), getMessage("shuffleremainingplaylist-menu-label"), lambda: self.shuffleRemainingPlaylist()) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "arrow_switch.png")), getMessage("shuffleentireplaylist-menu-label"), lambda: self.shuffleEntirePlaylist()) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "arrow_undo.png")), getMessage("undoplaylist-menu-label"), lambda: self.undoPlaylistChange()) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_edit.png")), getMessage("editplaylist-menu-label"), lambda: self.openEditPlaylistDialog()) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_add.png")), getMessage("addfilestoplaylist-menu-label"), lambda: self.OpenAddFilesToPlaylistDialog()) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "world_add.png")), getMessage("addurlstoplaylist-menu-label"), lambda: self.OpenAddURIsToPlaylistDialog()) + menu.addSeparator() + menu.addAction(getMessage("loadplaylistfromfile-menu-label"),lambda: self.OpenLoadPlaylistFromFileDialog()) # TODO: Add icon + menu.addAction("Load and shuffle playlist from file",lambda: self.OpenLoadPlaylistFromFileDialog(shuffle=True)) # TODO: Add icon and messages_en + menu.addAction(getMessage("saveplaylisttofile-menu-label"),lambda: self.OpenSavePlaylistToFileDialog()) # TODO: Add icon + menu.addSeparator() +- menu.addAction(QtGui.QPixmap(resourcespath + "film_folder_edit.png"), getMessage("setmediadirectories-menu-label"), lambda: self.openSetMediaDirectoriesDialog()) +- menu.addAction(QtGui.QPixmap(resourcespath + "shield_edit.png"), getMessage("settrusteddomains-menu-label"), lambda: self.openSetTrustedDomainsDialog()) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_folder_edit.png")), getMessage("setmediadirectories-menu-label"), lambda: self.openSetMediaDirectoriesDialog()) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "shield_edit.png")), getMessage("settrusteddomains-menu-label"), lambda: self.openSetTrustedDomainsDialog()) + menu.exec_(self.playlist.viewport().mapToGlobal(position)) + + def openRoomMenu(self, position): +@@ -778,25 +788,25 @@ def openRoomMenu(self, position): + elif username and filename and filename != getMessage("nofile-note"): + if self.config['sharedPlaylistEnabled'] and not self.isItemInPlaylist(filename): + if isURL(filename): +- menu.addAction(QtGui.QPixmap(resourcespath + "world_add.png"), addUsersStreamToPlaylistLabelText, lambda: self.addStreamToPlaylist(filename)) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "world_add.png")), addUsersStreamToPlaylistLabelText, lambda: self.addStreamToPlaylist(filename)) + else: +- menu.addAction(QtGui.QPixmap(resourcespath + "film_add.png"), addUsersFileToPlaylistLabelText, lambda: self.addStreamToPlaylist(filename)) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_add.png")), addUsersFileToPlaylistLabelText, lambda: self.addStreamToPlaylist(filename)) + + if self._syncplayClient.userlist.currentUser.file is None or filename != self._syncplayClient.userlist.currentUser.file["name"]: + if isURL(filename): +- menu.addAction(QtGui.QPixmap(resourcespath + "world_go.png"), getMessage("openusersstream-menu-label").format(shortUsername), lambda: self.openFile(filename, resetPosition=False, fromUser=True)) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "world_go.png")), getMessage("openusersstream-menu-label").format(shortUsername), lambda: self.openFile(filename, resetPosition=False, fromUser=True)) + else: + pathFound = self._syncplayClient.fileSwitch.findFilepath(filename) + if pathFound: +- menu.addAction(QtGui.QPixmap(resourcespath + "film_go.png"), getMessage("openusersfile-menu-label").format(shortUsername), lambda: self.openFile(pathFound, resetPosition=False, fromUser=True)) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_go.png")), getMessage("openusersfile-menu-label").format(shortUsername), lambda: self.openFile(pathFound, resetPosition=False, fromUser=True)) + if self._syncplayClient.isUntrustedTrustableURI(filename): + domain = utils.getDomainFromURL(filename) +- menu.addAction(QtGui.QPixmap(resourcespath + "shield_add.png"), getMessage("addtrusteddomain-menu-label").format(domain), lambda: self.addTrustedDomain(domain)) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "shield_add.png")), getMessage("addtrusteddomain-menu-label").format(domain), lambda: self.addTrustedDomain(domain)) + + if not isURL(filename) and filename != getMessage("nofile-note"): + path = self._syncplayClient.fileSwitch.findFilepath(filename) + if path: +- menu.addAction(QtGui.QPixmap(resourcespath + "folder_film.png"), getMessage('open-containing-folder'), lambda: utils.open_system_file_browser(path)) ++ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "folder_film.png")), getMessage('open-containing-folder'), lambda: utils.open_system_file_browser(path)) + else: + return + menu.exec_(self.listTreeView.viewport().mapToGlobal(position)) +@@ -808,7 +818,7 @@ def updateListGeometry(self): + self.listTreeView.setFirstColumnSpanned(roomtocheck, self.listTreeView.rootIndex(), True) + roomtocheck += 1 + self.listTreeView.header().setStretchLastSection(False) +- if IsPySide2: ++ if IsPySide2 or IsPyQt5: + self.listTreeView.header().setSectionResizeMode(0, QtWidgets.QHeaderView.ResizeToContents) + self.listTreeView.header().setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) + self.listTreeView.header().setSectionResizeMode(2, QtWidgets.QHeaderView.ResizeToContents) +@@ -822,7 +832,7 @@ def updateListGeometry(self): + if self.listTreeView.header().width() < (NarrowTabsWidth+self.listTreeView.header().sectionSize(3)): + self.listTreeView.header().resizeSection(3, self.listTreeView.header().width()-NarrowTabsWidth) + else: +- if IsPySide2: ++ if IsPySide2 or IsPyQt5: + self.listTreeView.header().setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) + if IsPySide: + self.listTreeView.header().setResizeMode(3, QtWidgets.QHeaderView.Stretch) +@@ -1003,7 +1013,7 @@ def getInitialMediaDirectory(self, includeUserSpecifiedDirectories=True): + defaultdirectory = QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.HomeLocation) + else: + defaultdirectory = "" +- elif IsPySide2: ++ elif IsPySide2 or IsPyQt5: + if self.config["mediaSearchDirectories"] and os.path.isdir(self.config["mediaSearchDirectories"][0]) and includeUserSpecifiedDirectories: + defaultdirectory = self.config["mediaSearchDirectories"][0] + elif includeUserSpecifiedDirectories and os.path.isdir(self.mediadirectory): +@@ -1410,7 +1420,7 @@ def addTopLayout(self, window): + window.chatInput.setMaxLength(constants.MAX_CHAT_MESSAGE_LENGTH) + window.chatInput.returnPressed.connect(self.sendChatMessage) + window.chatButton = QtWidgets.QPushButton( +- QtGui.QPixmap(resourcespath + 'email_go.png'), ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'email_go.png')), + getMessage("sendmessage-label")) + window.chatButton.pressed.connect(self.sendChatMessage) + window.chatLayout = QtWidgets.QHBoxLayout() +@@ -1445,7 +1455,7 @@ def addTopLayout(self, window): + window.listlabel = QtWidgets.QLabel(getMessage("userlist-heading-label")) + if isMacOS: + window.listlabel.setMinimumHeight(21) +- window.sslButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'lock_green.png').scaled(14, 14),"") ++ window.sslButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'lock_green.png').scaled(14, 14)),"") + window.sslButton.setVisible(False) + window.sslButton.setFixedHeight(21) + window.sslButton.setFixedWidth(21) +@@ -1453,7 +1463,7 @@ def addTopLayout(self, window): + window.sslButton.setStyleSheet("QPushButton:!hover{border: 1px solid gray;} QPushButton:hover{border:2px solid black;}") + else: + window.listlabel.setMinimumHeight(27) +- window.sslButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'lock_green.png'),"") ++ window.sslButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'lock_green.png')),"") + window.sslButton.setVisible(False) + window.sslButton.setFixedHeight(27) + window.sslButton.setFixedWidth(27) +@@ -1485,7 +1495,7 @@ def addTopLayout(self, window): + window.roomsCombobox.setEditable(True) + #window.roomsCombobox.setMaxLength(constants.MAX_ROOM_NAME_LENGTH) + window.roomButton = QtWidgets.QPushButton( +- QtGui.QPixmap(resourcespath + 'door_in.png'), ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'door_in.png')), + getMessage("joinroom-label")) + window.roomButton.pressed.connect(self.joinRoom) + window.roomButton.setFixedWidth(window.roomButton.sizeHint().width()+3) +@@ -1620,24 +1630,24 @@ def addPlaybackLayout(self, window): + window.playbackFrame.setLayout(window.playbackLayout) + window.seekInput = QtWidgets.QLineEdit() + window.seekInput.returnPressed.connect(self.seekFromButton) +- window.seekButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'clock_go.png'), "") ++ window.seekButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'clock_go.png')), "") + window.seekButton.setToolTip(getMessage("seektime-menu-label")) + window.seekButton.pressed.connect(self.seekFromButton) + window.seekInput.setText("0:00") + window.seekInput.setFixedWidth(60) + window.playbackLayout.addWidget(window.seekInput) + window.playbackLayout.addWidget(window.seekButton) +- window.unseekButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'arrow_undo.png'), "") ++ window.unseekButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'arrow_undo.png')), "") + window.unseekButton.setToolTip(getMessage("undoseek-menu-label")) + window.unseekButton.pressed.connect(self.undoSeek) + + window.miscLayout = QtWidgets.QHBoxLayout() + window.playbackLayout.addWidget(window.unseekButton) +- window.playButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'control_play_blue.png'), "") ++ window.playButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_play_blue.png')), "") + window.playButton.setToolTip(getMessage("play-menu-label")) + window.playButton.pressed.connect(self.play) + window.playbackLayout.addWidget(window.playButton) +- window.pauseButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'control_pause_blue.png'), "") ++ window.pauseButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_pause_blue.png')), "") + window.pauseButton.setToolTip(getMessage("pause-menu-label")) + window.pauseButton.pressed.connect(self.pause) + window.playbackLayout.addWidget(window.pauseButton) +@@ -1657,13 +1667,13 @@ def populateMenubar(self, window): + # File menu + + window.fileMenu = QtWidgets.QMenu(getMessage("file-menu-label"), self) +- window.openAction = window.fileMenu.addAction(QtGui.QPixmap(resourcespath + 'folder_explore.png'), ++ window.openAction = window.fileMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'folder_explore.png')), + getMessage("openmedia-menu-label")) + window.openAction.triggered.connect(self.browseMediapath) +- window.openAction = window.fileMenu.addAction(QtGui.QPixmap(resourcespath + 'world_explore.png'), ++ window.openAction = window.fileMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'world_explore.png')), + getMessage("openstreamurl-menu-label")) + window.openAction.triggered.connect(self.promptForStreamURL) +- window.openAction = window.fileMenu.addAction(QtGui.QPixmap(resourcespath + 'film_folder_edit.png'), ++ window.openAction = window.fileMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'film_folder_edit.png')), + getMessage("setmediadirectories-menu-label")) + window.openAction.triggered.connect(self.openSetMediaDirectoriesDialog) + +@@ -1671,7 +1681,7 @@ def populateMenubar(self, window): + if isMacOS(): + window.exitAction.setMenuRole(QtWidgets.QAction.QuitRole) + else: +- window.exitAction.setIcon(QtGui.QPixmap(resourcespath + 'cross.png')) ++ window.exitAction.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'cross.png'))) + window.exitAction.triggered.connect(self.exitSyncplay) + + if(window.editMenu is not None): +@@ -1683,19 +1693,19 @@ def populateMenubar(self, window): + + window.playbackMenu = QtWidgets.QMenu(getMessage("playback-menu-label"), self) + window.playAction = window.playbackMenu.addAction( +- QtGui.QPixmap(resourcespath + 'control_play_blue.png'), ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_play_blue.png')), + getMessage("play-menu-label")) + window.playAction.triggered.connect(self.play) + window.pauseAction = window.playbackMenu.addAction( +- QtGui.QPixmap(resourcespath + 'control_pause_blue.png'), ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_pause_blue.png')), + getMessage("pause-menu-label")) + window.pauseAction.triggered.connect(self.pause) + window.seekAction = window.playbackMenu.addAction( +- QtGui.QPixmap(resourcespath + 'clock_go.png'), ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'clock_go.png')), + getMessage("seektime-menu-label")) + window.seekAction.triggered.connect(self.seekPositionDialog) + window.unseekAction = window.playbackMenu.addAction( +- QtGui.QPixmap(resourcespath + 'arrow_undo.png'), ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'arrow_undo.png')), + getMessage("undoseek-menu-label")) + window.unseekAction.triggered.connect(self.undoSeek) + +@@ -1705,17 +1715,17 @@ def populateMenubar(self, window): + + window.advancedMenu = QtWidgets.QMenu(getMessage("advanced-menu-label"), self) + window.setoffsetAction = window.advancedMenu.addAction( +- QtGui.QPixmap(resourcespath + 'timeline_marker.png'), ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'timeline_marker.png')), + getMessage("setoffset-menu-label")) + window.setoffsetAction.triggered.connect(self.setOffset) + window.setTrustedDomainsAction = window.advancedMenu.addAction( +- QtGui.QPixmap(resourcespath + 'shield_edit.png'), ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'shield_edit.png')), + getMessage("settrusteddomains-menu-label")) + window.setTrustedDomainsAction.triggered.connect(self.openSetTrustedDomainsDialog) + window.createcontrolledroomAction = window.advancedMenu.addAction( +- QtGui.QPixmap(resourcespath + 'page_white_key.png'), getMessage("createcontrolledroom-menu-label")) ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'page_white_key.png')), getMessage("createcontrolledroom-menu-label")) + window.createcontrolledroomAction.triggered.connect(self.createControlledRoom) +- window.identifyascontroller = window.advancedMenu.addAction(QtGui.QPixmap(resourcespath + 'key_go.png'), ++ window.identifyascontroller = window.advancedMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'key_go.png')), + getMessage("identifyascontroller-menu-label")) + window.identifyascontroller.triggered.connect(self.identifyAsController) + +@@ -1743,18 +1753,18 @@ def populateMenubar(self, window): + window.helpMenu = QtWidgets.QMenu(getMessage("help-menu-label"), self) + + window.userguideAction = window.helpMenu.addAction( +- QtGui.QPixmap(resourcespath + 'help.png'), ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'help.png')), + getMessage("userguide-menu-label")) + window.userguideAction.triggered.connect(self.openUserGuide) + window.updateAction = window.helpMenu.addAction( +- QtGui.QPixmap(resourcespath + 'application_get.png'), ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'application_get.png')), + getMessage("update-menu-label")) + window.updateAction.triggered.connect(self.userCheckForUpdates) + + if not isMacOS(): + window.helpMenu.addSeparator() + window.about = window.helpMenu.addAction( +- QtGui.QPixmap(resourcespath + 'syncplay.png'), ++ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'syncplay.png')), + getMessage("about-menu-label")) + else: + window.about = window.helpMenu.addAction("&About") +@@ -1835,16 +1845,16 @@ def changeAutoplayState(self, source=None): + def updateReadyIcon(self): + ready = self.readyPushButton.isChecked() + if ready: +- self.readyPushButton.setIcon(QtGui.QPixmap(resourcespath + 'tick_checkbox.png')) ++ self.readyPushButton.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'tick_checkbox.png'))) + else: +- self.readyPushButton.setIcon(QtGui.QPixmap(resourcespath + 'empty_checkbox.png')) ++ self.readyPushButton.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'empty_checkbox.png'))) + + def updateAutoPlayIcon(self): + ready = self.autoplayPushButton.isChecked() + if ready: +- self.autoplayPushButton.setIcon(QtGui.QPixmap(resourcespath + 'tick_checkbox.png')) ++ self.autoplayPushButton.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'tick_checkbox.png'))) + else: +- self.autoplayPushButton.setIcon(QtGui.QPixmap(resourcespath + 'empty_checkbox.png')) ++ self.autoplayPushButton.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'empty_checkbox.png'))) + + def automaticUpdateCheck(self): + currentDateTimeValue = QDateTime.currentDateTime() +@@ -2060,7 +2070,7 @@ def __init__(self, passedBar=None): + self.populateMenubar(self) + self.addMainFrame(self) + self.loadSettings() +- self.setWindowIcon(QtGui.QPixmap(resourcespath + "syncplay.png")) ++ self.setWindowIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + "syncplay.png"))) + self.setWindowFlags(self.windowFlags() & Qt.WindowCloseButtonHint & Qt.WindowMinimizeButtonHint & ~Qt.WindowContextHelpButtonHint) + self.show() + self.setAcceptDrops(True) + diff --git a/media-video/syncplay/syncplay-1.6.5.ebuild b/media-video/syncplay/syncplay-1.6.5-r1.ebuild similarity index 84% rename from media-video/syncplay/syncplay-1.6.5.ebuild rename to media-video/syncplay/syncplay-1.6.5-r1.ebuild index fe57aa046f..7f1ad02413 100644 --- a/media-video/syncplay/syncplay-1.6.5.ebuild +++ b/media-video/syncplay/syncplay-1.6.5-r1.ebuild @@ -30,11 +30,10 @@ RDEPEND=" vlc? ( media-video/vlc[lua] ) mpv? ( media-video/mpv[lua] ) mplayer? ( media-video/mplayer ) + client? ( dev-python/QtPy[${PYTHON_USEDEP},gui] ) " -# RDEPEND on PySide2 for gui, but not packaged here at the moment -# It is a too big and complex package for me to maintain -# You can find PySide2 in the ::raiagent overlay +PATCHES=( "${FILESDIR}/${PN}-allow-PyQt5.patch" ) python_install() { local MY_MAKEOPTS=( DESTDIR="${D}" PREFIX=/usr ) @@ -51,8 +50,6 @@ python_install() { pkg_postinst() { xdg_pkg_postinst - optfeature "using the GUI (you can find it in the raiagent overlay)\n" dev-python/pyside2 - if use client; then elog "Syncplay supports the following players:" elog "media-video/mpv, media-video/mplayer, media-video/vlc\n"