aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@riseup.net>2020-10-08 20:20:10 +0200
committerAndrew Ammerlaan <andrewammerlaan@riseup.net>2020-10-08 20:20:10 +0200
commit49ec078717b4228f64ab42d6957e078ad03091f0 (patch)
tree54323ac34a55285b186df8b95ba984a4ba4c6d16 /media-video
parentapp-emulation/nvidia-container-toolkit: applied @peteches's fix (diff)
downloadguru-49ec078717b4228f64ab42d6957e078ad03091f0.tar.gz
guru-49ec078717b4228f64ab42d6957e078ad03091f0.tar.bz2
guru-49ec078717b4228f64ab42d6957e078ad03091f0.zip
media-video/syncplay: version bump 1.6.6_beta1
Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@riseup.net>
Diffstat (limited to 'media-video')
-rw-r--r--media-video/syncplay/Manifest2
-rw-r--r--media-video/syncplay/files/syncplay-allow-PyQt5.patch412
-rw-r--r--media-video/syncplay/files/syncplay-change-alignment-operator.patch41
-rw-r--r--media-video/syncplay/files/syncplay-make-qpixmap-to-qicon-conversion-explicit.patch322
-rw-r--r--media-video/syncplay/files/syncplay-use-lambda-to-connect-behind-wrapper.patch168
-rw-r--r--media-video/syncplay/metadata.xml3
-rw-r--r--media-video/syncplay/syncplay-1.6.6_beta1.ebuild (renamed from media-video/syncplay/syncplay-1.6.5-r1.ebuild)35
7 files changed, 566 insertions, 417 deletions
diff --git a/media-video/syncplay/Manifest b/media-video/syncplay/Manifest
index 2a6da87b6..54b04a069 100644
--- a/media-video/syncplay/Manifest
+++ b/media-video/syncplay/Manifest
@@ -1 +1 @@
-DIST syncplay-1.6.5.tar.gz 1849668 BLAKE2B ec0d9037b68adbedac3ae107fc2b7650cfa20f5361d256f839a54dfd3fd73d3ae76c01f4e0b703efcb2c1cac39364208d3bed5ec341e38f1ab3036d91c53bad8 SHA512 c3dba4211e7b57a84cc967a8d2c4827e814287dde866bfd9830d8b3c07af472f1532d0dae35e393fce39b35f586d0765de2c23fc473c41ae277a079f6f3a6db0
+DIST syncplay-1.6.6_beta1.tar.gz 1843061 BLAKE2B 2b940596d96ac6ea859bb27bfc3f987ef52b2be7f1d50976d6c205d3a4d0fed92f29dc530336bb92c0d67bd9661719720e0181331e549af648868104c2b21c63 SHA512 0d75d9505adfa50aaa56bd4e99f62ee5fa77a7085dd3933a5a4a886d8e898eddac887ae42ac8d133bda048ef14ae22402ced368f75fdf234e35a697ea2cb4443
diff --git a/media-video/syncplay/files/syncplay-allow-PyQt5.patch b/media-video/syncplay/files/syncplay-allow-PyQt5.patch
index 89c9de337..b922bdbb8 100644
--- a/media-video/syncplay/files/syncplay-allow-PyQt5.patch
+++ b/media-video/syncplay/files/syncplay-allow-PyQt5.patch
@@ -1,19 +1,8 @@
-From c759525889f303195e677f9341cf325decf74809 Mon Sep 17 00:00:00 2001
-From: Andrew Ammerlaan <andrewammerlaan@riseup.net>
-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
+index dd1d8ec..6d83c65 100755
--- a/syncplay/ui/ConfigurationGetter.py
+++ b/syncplay/ui/ConfigurationGetter.py
-@@ -513,10 +513,10 @@ def getConfiguration(self):
+@@ -513,10 +513,10 @@ class ConfigurationGetter(object):
self._overrideConfigWithArgs(args)
if not self._config['noGui']:
try:
@@ -27,10 +16,10 @@ index dd1d8ec0..6d83c650 100755
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
+index 9ce6a42..1ad5bd7 100755
--- a/syncplay/ui/GuiConfiguration.py
+++ b/syncplay/ui/GuiConfiguration.py
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ from syncplay.players.playerFactory import PlayerFactory
from syncplay.utils import isBSD, isLinux, isMacOS, isWindows
from syncplay.utils import resourcespath, posixresourcespath
@@ -39,16 +28,7 @@ index 96915814..cfe51b26 100755
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):
+@@ -445,7 +445,7 @@ class ConfigDialog(QtWidgets.QDialog):
defaultdirectory = QDesktopServices.storageLocation(QDesktopServices.HomeLocation)
else:
defaultdirectory = ""
@@ -57,205 +37,29 @@ index 96915814..cfe51b26 100755
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
+index b7a9a9f..d2ad6e5 100755
--- a/syncplay/ui/gui.py
+++ b/syncplay/ui/gui.py
-@@ -18,8 +18,7 @@
- from syncplay.utils import resourcespath
+@@ -19,7 +19,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 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 @@
+@@ -32,6 +32,8 @@ if hasattr(QtCore.Qt, 'AA_UseHighDpiPixmaps'):
QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, applyDPIScaling)
if IsPySide2:
from PySide2.QtCore import QStandardPaths
-+elif IsPyQt5:
++if 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("<center><strong>Syncplay</strong></center>")
- 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):
+@@ -808,7 +810,7 @@ class MainWindow(QtWidgets.QMainWindow):
self.listTreeView.setFirstColumnSpanned(roomtocheck, self.listTreeView.rootIndex(), True)
roomtocheck += 1
self.listTreeView.header().setStretchLastSection(False)
@@ -264,7 +68,7 @@ index c59c5697..a8fe427d 100755
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):
+@@ -822,7 +824,7 @@ class MainWindow(QtWidgets.QMainWindow):
if self.listTreeView.header().width() < (NarrowTabsWidth+self.listTreeView.header().sectionSize(3)):
self.listTreeView.header().resizeSection(3, self.listTreeView.header().width()-NarrowTabsWidth)
else:
@@ -273,7 +77,7 @@ index c59c5697..a8fe427d 100755
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):
+@@ -1003,7 +1005,7 @@ class MainWindow(QtWidgets.QMainWindow):
defaultdirectory = QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.HomeLocation)
else:
defaultdirectory = ""
@@ -282,193 +86,3 @@ index c59c5697..a8fe427d 100755
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/files/syncplay-change-alignment-operator.patch b/media-video/syncplay/files/syncplay-change-alignment-operator.patch
new file mode 100644
index 000000000..15c9f67ab
--- /dev/null
+++ b/media-video/syncplay/files/syncplay-change-alignment-operator.patch
@@ -0,0 +1,41 @@
+From 61584550ca734d2f3fa3b811d73f2cebd2b7f30f Mon Sep 17 00:00:00 2001
+From: Andrew Ammerlaan <andrewammerlaan@riseup.net>
+Date: Thu, 8 Oct 2020 08:37:58 +0200
+Subject: [PATCH] replace & with | in Alignment, visually identical
+
+---
+ syncplay/ui/GuiConfiguration.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py
+index 96915814..e0713adf 100755
+--- a/syncplay/ui/GuiConfiguration.py
++++ b/syncplay/ui/GuiConfiguration.py
+@@ -1181,7 +1181,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 +1193,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 +1214,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
+
diff --git a/media-video/syncplay/files/syncplay-make-qpixmap-to-qicon-conversion-explicit.patch b/media-video/syncplay/files/syncplay-make-qpixmap-to-qicon-conversion-explicit.patch
new file mode 100644
index 000000000..2ff08f7e2
--- /dev/null
+++ b/media-video/syncplay/files/syncplay-make-qpixmap-to-qicon-conversion-explicit.patch
@@ -0,0 +1,322 @@
+From b0e018d0cda148ef8dba07857fcbe8d751800992 Mon Sep 17 00:00:00 2001
+From: Andrew Ammerlaan <andrewammerlaan@riseup.net>
+Date: Thu, 8 Oct 2020 08:47:44 +0200
+Subject: [PATCH] make conversion from QPixmap to QIcon explicit
+
+---
+ syncplay/ui/gui.py | 106 ++++++++++++++++++++++-----------------------
+ 1 file changed, 53 insertions(+), 53 deletions(-)
+
+diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py
+index c59c5697..2a4bd1a5 100755
+--- a/syncplay/ui/gui.py
++++ b/syncplay/ui/gui.py
+@@ -139,7 +139,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("<center><strong>Syncplay</strong></center>")
+ nameLabel.setFont(QtGui.QFont("Helvetica", 18))
+ linkLabel = QtWidgets.QLabel()
+@@ -202,7 +202,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"]))
+@@ -614,11 +614,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 +719,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 +778,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))
+@@ -1410,7 +1410,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 +1445,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 +1453,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 +1485,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 +1620,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 +1657,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 +1671,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 +1683,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 +1705,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)
+
+@@ -1725,7 +1725,7 @@ def populateMenubar(self, window):
+
+ window.windowMenu = QtWidgets.QMenu(getMessage("window-menu-label"), self)
+
+- window.editroomsAction = window.windowMenu.addAction(QtGui.QPixmap(resourcespath + 'door_open_edit.png'), getMessage("roomlist-msgbox-label"))
++ window.editroomsAction = window.windowMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'door_open_edit.png')), getMessage("roomlist-msgbox-label"))
+ window.editroomsAction.triggered.connect(self.openEditRoomsDialog)
+ window.menuBar.addMenu(window.windowMenu)
+
+@@ -1743,18 +1743,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 +1835,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 +2060,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/files/syncplay-use-lambda-to-connect-behind-wrapper.patch b/media-video/syncplay/files/syncplay-use-lambda-to-connect-behind-wrapper.patch
new file mode 100644
index 000000000..822b21b81
--- /dev/null
+++ b/media-video/syncplay/files/syncplay-use-lambda-to-connect-behind-wrapper.patch
@@ -0,0 +1,168 @@
+From f880d4773238a31ac7046ff290910a4ff4920d53 Mon Sep 17 00:00:00 2001
+From: Andrew Ammerlaan <andrewammerlaan@riseup.net>
+Date: Thu, 8 Oct 2020 11:41:41 +0200
+Subject: [PATCH] use lambda when connect() to function with @wrapper
+
+---
+ syncplay/ui/GuiConfiguration.py | 2 +-
+ syncplay/ui/gui.py | 40 ++++++++++++++++-----------------
+ 2 files changed, 21 insertions(+), 21 deletions(-)
+
+diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py
+index e0713adf..9ce6a429 100755
+--- a/syncplay/ui/GuiConfiguration.py
++++ b/syncplay/ui/GuiConfiguration.py
+@@ -1394,7 +1394,7 @@ def __init__(self, config, playerpaths, error, defaultConfig):
+ self.publicServerAddresses = []
+
+ self._playerProbeThread = GetPlayerIconThread()
+- self._playerProbeThread.done.connect(self._updateExecutableIcon)
++ self._playerProbeThread.done.connect(lambda iconpath, playerpath: self._updateExecutableIcon(iconpath, playerpath))
+ self._playerProbeThread.start()
+
+ if self.config['clearGUIData'] == True:
+diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py
+index 2a4bd1a5..b7a9a9f0 100755
+--- a/syncplay/ui/gui.py
++++ b/syncplay/ui/gui.py
+@@ -1457,7 +1457,7 @@ def addTopLayout(self, window):
+ window.sslButton.setVisible(False)
+ window.sslButton.setFixedHeight(27)
+ window.sslButton.setFixedWidth(27)
+- window.sslButton.pressed.connect(self.openSSLDetails)
++ window.sslButton.pressed.connect(lambda: self.openSSLDetails())
+ window.sslButton.setToolTip(getMessage("sslconnection-tooltip"))
+ window.listFrame = QtWidgets.QFrame()
+ window.listFrame.setLineWidth(0)
+@@ -1487,7 +1487,7 @@ def addTopLayout(self, window):
+ window.roomButton = QtWidgets.QPushButton(
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'door_in.png')),
+ getMessage("joinroom-label"))
+- window.roomButton.pressed.connect(self.joinRoom)
++ window.roomButton.pressed.connect(lambda room=None: self.joinRoom(room))
+ window.roomButton.setFixedWidth(window.roomButton.sizeHint().width()+3)
+ window.roomLayout = QtWidgets.QHBoxLayout()
+ window.roomFrame = QtWidgets.QFrame()
+@@ -1539,10 +1539,10 @@ def addBottomLayout(self, window):
+ window.playlist.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
+ window.playlist.setDefaultDropAction(Qt.MoveAction)
+ window.playlist.setDragDropMode(QtWidgets.QAbstractItemView.InternalMove)
+- window.playlist.doubleClicked.connect(self.playlistItemClicked)
++ window.playlist.doubleClicked.connect(lambda item: self.playlistItemClicked(item))
+ window.playlist.setContextMenuPolicy(Qt.CustomContextMenu)
+ window.playlist.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
+- window.playlist.customContextMenuRequested.connect(self.openPlaylistMenu)
++ window.playlist.customContextMenuRequested.connect(lambda position: self.openPlaylistMenu(position))
+ self.playlistUpdateTimer = task.LoopingCall(self.playlistChangeCheck)
+ self.playlistUpdateTimer.start(0.1, True)
+ noteFont = QtGui.QFont()
+@@ -1579,7 +1579,7 @@ def addBottomLayout(self, window):
+ window.autoplayPushButton.setText(getMessage("autoplay-guipushbuttonlabel"))
+ window.autoplayPushButton.setCheckable(True)
+ window.autoplayPushButton.setAutoExclusive(False)
+- window.autoplayPushButton.toggled.connect(self.changeAutoplayState)
++ window.autoplayPushButton.toggled.connect(lambda source=None: self.changeAutoplayState(source))
+ window.autoplayPushButton.setFont(autoPlayFont)
+ if isMacOS():
+ window.autoplayFrame.setMinimumWidth(window.listFrame.sizeHint().width())
+@@ -1600,7 +1600,7 @@ def addBottomLayout(self, window):
+ window.autoplayThresholdSpinbox.setMinimum(2)
+ window.autoplayThresholdSpinbox.setMaximum(99)
+ window.autoplayThresholdSpinbox.setToolTip(getMessage("autoplay-tooltip"))
+- window.autoplayThresholdSpinbox.valueChanged.connect(self.changeAutoplayThreshold)
++ window.autoplayThresholdSpinbox.valueChanged.connect(lambda source=None: self.changeAutoplayThreshold(source))
+ window.autoplayLayout.addWidget(window.autoplayPushButton, Qt.AlignRight)
+ window.autoplayLayout.addWidget(window.autoplayLabel, Qt.AlignRight)
+ window.autoplayLayout.addWidget(window.autoplayThresholdSpinbox, Qt.AlignRight)
+@@ -1629,17 +1629,17 @@ def addPlaybackLayout(self, window):
+ window.playbackLayout.addWidget(window.seekButton)
+ 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.unseekButton.pressed.connect(lambda: self.undoSeek())
+
+ window.miscLayout = QtWidgets.QHBoxLayout()
+ window.playbackLayout.addWidget(window.unseekButton)
+ 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.playButton.pressed.connect(lambda: self.play())
+ window.playbackLayout.addWidget(window.playButton)
+ 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.pauseButton.pressed.connect(lambda: self.pause())
+ window.playbackLayout.addWidget(window.pauseButton)
+ window.playbackFrame.setMaximumHeight(window.playbackFrame.sizeHint().height())
+ window.playbackFrame.setMaximumWidth(window.playbackFrame.sizeHint().width())
+@@ -1659,20 +1659,20 @@ def populateMenubar(self, window):
+ window.fileMenu = QtWidgets.QMenu(getMessage("file-menu-label"), self)
+ 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.triggered.connect(lambda: self.browseMediapath())
+ 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.triggered.connect(lambda: self.promptForStreamURL())
+ window.openAction = window.fileMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'film_folder_edit.png')),
+ getMessage("setmediadirectories-menu-label"))
+- window.openAction.triggered.connect(self.openSetMediaDirectoriesDialog)
++ window.openAction.triggered.connect(lambda: self.openSetMediaDirectoriesDialog())
+
+ window.exitAction = window.fileMenu.addAction(getMessage("exit-menu-label"))
+ if isMacOS():
+ window.exitAction.setMenuRole(QtWidgets.QAction.QuitRole)
+ else:
+ window.exitAction.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'cross.png')))
+- window.exitAction.triggered.connect(self.exitSyncplay)
++ window.exitAction.triggered.connect(lambda: self.exitSyncplay())
+
+ if(window.editMenu is not None):
+ window.menuBar.insertMenu(window.editMenu.menuAction(), window.fileMenu)
+@@ -1685,11 +1685,11 @@ def populateMenubar(self, window):
+ window.playAction = window.playbackMenu.addAction(
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_play_blue.png')),
+ getMessage("play-menu-label"))
+- window.playAction.triggered.connect(self.play)
++ window.playAction.triggered.connect(lambda: self.play())
+ window.pauseAction = window.playbackMenu.addAction(
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_pause_blue.png')),
+ getMessage("pause-menu-label"))
+- window.pauseAction.triggered.connect(self.pause)
++ window.pauseAction.triggered.connect(lambda: self.pause())
+ window.seekAction = window.playbackMenu.addAction(
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'clock_go.png')),
+ getMessage("seektime-menu-label"))
+@@ -1697,7 +1697,7 @@ def populateMenubar(self, window):
+ window.unseekAction = window.playbackMenu.addAction(
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'arrow_undo.png')),
+ getMessage("undoseek-menu-label"))
+- window.unseekAction.triggered.connect(self.undoSeek)
++ window.unseekAction.triggered.connect(lambda: self.undoSeek())
+
+ window.menuBar.addMenu(window.playbackMenu)
+
+@@ -1707,17 +1707,17 @@ def populateMenubar(self, window):
+ window.setoffsetAction = window.advancedMenu.addAction(
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'timeline_marker.png')),
+ getMessage("setoffset-menu-label"))
+- window.setoffsetAction.triggered.connect(self.setOffset)
++ window.setoffsetAction.triggered.connect(lambda: self.setOffset())
+ window.setTrustedDomainsAction = window.advancedMenu.addAction(
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'shield_edit.png')),
+ getMessage("settrusteddomains-menu-label"))
+- window.setTrustedDomainsAction.triggered.connect(self.openSetTrustedDomainsDialog)
++ window.setTrustedDomainsAction.triggered.connect(lambda: self.openSetTrustedDomainsDialog())
+ window.createcontrolledroomAction = window.advancedMenu.addAction(
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'page_white_key.png')), getMessage("createcontrolledroom-menu-label"))
+- window.createcontrolledroomAction.triggered.connect(self.createControlledRoom)
++ window.createcontrolledroomAction.triggered.connect(lambda: self.createControlledRoom())
+ window.identifyascontroller = window.advancedMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'key_go.png')),
+ getMessage("identifyascontroller-menu-label"))
+- window.identifyascontroller.triggered.connect(self.identifyAsController)
++ window.identifyascontroller.triggered.connect(lambda: self.identifyAsController())
+
+ window.menuBar.addMenu(window.advancedMenu)
+
+
diff --git a/media-video/syncplay/metadata.xml b/media-video/syncplay/metadata.xml
index af8b590f5..ed27ca4d2 100644
--- a/media-video/syncplay/metadata.xml
+++ b/media-video/syncplay/metadata.xml
@@ -9,8 +9,5 @@
<use>
<flag name="client">Install the Syncplay client</flag>
<flag name="server">Install the Syncplay server</flag>
- <flag name="vlc">Pull in VLC with the lua flag</flag>
- <flag name="mpv">Pull in MPV with the lua flag</flag>
- <flag name="mplayer">Pull in MPlayer</flag>
</use>
</pkgmetadata>
diff --git a/media-video/syncplay/syncplay-1.6.5-r1.ebuild b/media-video/syncplay/syncplay-1.6.6_beta1.ebuild
index 7f1ad0241..30712b366 100644
--- a/media-video/syncplay/syncplay-1.6.5-r1.ebuild
+++ b/media-video/syncplay/syncplay-1.6.6_beta1.ebuild
@@ -8,32 +8,39 @@ DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1 optfeature xdg
+MYPV="${PV/_beta/-Beta}"
+
DESCRIPTION="Client/server to synchronize media playback"
HOMEPAGE="https://github.com/Syncplay/syncplay https://syncplay.pl"
-SRC_URI="https://github.com/${PN^}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/${PN^}/${PN}/archive/${MYPV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="+client +server vlc mpv mplayer"
-REQUIRED_USE="
- vlc? ( client )
- mpv? ( client )
- mplayer? ( client )
- client? ( || ( vlc mpv mplayer ) )
-"
+IUSE="+client +server"
RDEPEND="
dev-python/certifi[${PYTHON_USEDEP}]
dev-python/twisted[${PYTHON_USEDEP}]
- vlc? ( media-video/vlc[lua] )
- mpv? ( media-video/mpv[lua] )
- mplayer? ( media-video/mplayer )
- client? ( dev-python/QtPy[${PYTHON_USEDEP},gui] )
+ client? (
+ dev-python/QtPy[${PYTHON_USEDEP},gui]
+ || (
+ media-video/vlc[lua]
+ media-video/mpv[lua]
+ media-video/mplayer
+ )
+ )
"
-PATCHES=( "${FILESDIR}/${PN}-allow-PyQt5.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-change-alignment-operator.patch"
+ "${FILESDIR}/${PN}-make-qpixmap-to-qicon-conversion-explicit.patch"
+ "${FILESDIR}/${PN}-use-lambda-to-connect-behind-wrapper.patch"
+ "${FILESDIR}/${PN}-allow-PyQt5.patch"
+)
+
+S="${WORKDIR}/${PN}-${MYPV}"
python_install() {
local MY_MAKEOPTS=( DESTDIR="${D}" PREFIX=/usr )
@@ -51,7 +58,7 @@ pkg_postinst() {
xdg_pkg_postinst
if use client; then
- elog "Syncplay supports the following players:"
+ elog "Syncplay supports the following media players:"
elog "media-video/mpv, media-video/mplayer, media-video/vlc\n"
optfeature "using Syncplay with VLC" media-video/vlc[lua]
optfeature "using Syncplay with MPV" media-video/mpv[lua]