1 |
commit: 49ec078717b4228f64ab42d6957e078ad03091f0 |
2 |
Author: Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net> |
3 |
AuthorDate: Thu Oct 8 18:20:10 2020 +0000 |
4 |
Commit: Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net> |
5 |
CommitDate: Thu Oct 8 18:20:10 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=49ec0787 |
7 |
|
8 |
media-video/syncplay: version bump 1.6.6_beta1 |
9 |
|
10 |
Package-Manager: Portage-3.0.8, Repoman-3.0.1 |
11 |
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> riseup.net> |
12 |
|
13 |
media-video/syncplay/Manifest | 2 +- |
14 |
.../syncplay/files/syncplay-allow-PyQt5.patch | 412 +-------------------- |
15 |
.../files/syncplay-change-alignment-operator.patch | 41 ++ |
16 |
...ake-qpixmap-to-qicon-conversion-explicit.patch} | 216 ++--------- |
17 |
...play-use-lambda-to-connect-behind-wrapper.patch | 168 +++++++++ |
18 |
media-video/syncplay/metadata.xml | 3 - |
19 |
...1.6.5-r1.ebuild => syncplay-1.6.6_beta1.ebuild} | 35 +- |
20 |
7 files changed, 276 insertions(+), 601 deletions(-) |
21 |
|
22 |
diff --git a/media-video/syncplay/Manifest b/media-video/syncplay/Manifest |
23 |
index 2a6da87b..54b04a06 100644 |
24 |
--- a/media-video/syncplay/Manifest |
25 |
+++ b/media-video/syncplay/Manifest |
26 |
@@ -1 +1 @@ |
27 |
-DIST syncplay-1.6.5.tar.gz 1849668 BLAKE2B ec0d9037b68adbedac3ae107fc2b7650cfa20f5361d256f839a54dfd3fd73d3ae76c01f4e0b703efcb2c1cac39364208d3bed5ec341e38f1ab3036d91c53bad8 SHA512 c3dba4211e7b57a84cc967a8d2c4827e814287dde866bfd9830d8b3c07af472f1532d0dae35e393fce39b35f586d0765de2c23fc473c41ae277a079f6f3a6db0 |
28 |
+DIST syncplay-1.6.6_beta1.tar.gz 1843061 BLAKE2B 2b940596d96ac6ea859bb27bfc3f987ef52b2be7f1d50976d6c205d3a4d0fed92f29dc530336bb92c0d67bd9661719720e0181331e549af648868104c2b21c63 SHA512 0d75d9505adfa50aaa56bd4e99f62ee5fa77a7085dd3933a5a4a886d8e898eddac887ae42ac8d133bda048ef14ae22402ced368f75fdf234e35a697ea2cb4443 |
29 |
|
30 |
diff --git a/media-video/syncplay/files/syncplay-allow-PyQt5.patch b/media-video/syncplay/files/syncplay-allow-PyQt5.patch |
31 |
index 89c9de33..b922bdbb 100644 |
32 |
--- a/media-video/syncplay/files/syncplay-allow-PyQt5.patch |
33 |
+++ b/media-video/syncplay/files/syncplay-allow-PyQt5.patch |
34 |
@@ -1,19 +1,8 @@ |
35 |
-From c759525889f303195e677f9341cf325decf74809 Mon Sep 17 00:00:00 2001 |
36 |
-From: Andrew Ammerlaan <andrewammerlaan@××××××.net> |
37 |
-Date: Wed, 7 Oct 2020 13:31:46 +0200 |
38 |
-Subject: [PATCH] PyQt5 compatability |
39 |
- |
40 |
---- |
41 |
- syncplay/ui/ConfigurationGetter.py | 4 +- |
42 |
- syncplay/ui/GuiConfiguration.py | 16 ++-- |
43 |
- syncplay/ui/gui.py | 130 ++++++++++++++++------------- |
44 |
- 3 files changed, 82 insertions(+), 68 deletions(-) |
45 |
- |
46 |
diff --git a/syncplay/ui/ConfigurationGetter.py b/syncplay/ui/ConfigurationGetter.py |
47 |
-index dd1d8ec0..6d83c650 100755 |
48 |
+index dd1d8ec..6d83c65 100755 |
49 |
--- a/syncplay/ui/ConfigurationGetter.py |
50 |
+++ b/syncplay/ui/ConfigurationGetter.py |
51 |
-@@ -513,10 +513,10 @@ def getConfiguration(self): |
52 |
+@@ -513,10 +513,10 @@ class ConfigurationGetter(object): |
53 |
self._overrideConfigWithArgs(args) |
54 |
if not self._config['noGui']: |
55 |
try: |
56 |
@@ -27,10 +16,10 @@ index dd1d8ec0..6d83c650 100755 |
57 |
if QCoreApplication.instance() is None: |
58 |
self.app = QtWidgets.QApplication(sys.argv) |
59 |
diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py |
60 |
-index 96915814..cfe51b26 100755 |
61 |
+index 9ce6a42..1ad5bd7 100755 |
62 |
--- a/syncplay/ui/GuiConfiguration.py |
63 |
+++ b/syncplay/ui/GuiConfiguration.py |
64 |
-@@ -11,7 +11,7 @@ |
65 |
+@@ -11,7 +11,7 @@ from syncplay.players.playerFactory import PlayerFactory |
66 |
from syncplay.utils import isBSD, isLinux, isMacOS, isWindows |
67 |
from syncplay.utils import resourcespath, posixresourcespath |
68 |
|
69 |
@@ -39,16 +28,7 @@ index 96915814..cfe51b26 100755 |
70 |
from syncplay.vendor.Qt.QtCore import Qt, QSettings, QCoreApplication, QSize, QPoint, QUrl, QLine, QEventLoop, Signal |
71 |
from syncplay.vendor.Qt.QtWidgets import QApplication, QLineEdit, QLabel, QCheckBox, QButtonGroup, QRadioButton, QDoubleSpinBox, QPlainTextEdit |
72 |
from syncplay.vendor.Qt.QtGui import QCursor, QIcon, QImage, QDesktopServices |
73 |
-@@ -21,6 +21,8 @@ |
74 |
- QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True) |
75 |
- if IsPySide2: |
76 |
- from PySide2.QtCore import QStandardPaths |
77 |
-+elif IsPyQt5: |
78 |
-+ from PyQt5.QtCore import QStandardPaths |
79 |
- |
80 |
- |
81 |
- class GuiConfiguration: |
82 |
-@@ -445,7 +447,7 @@ def browseMediapath(self): |
83 |
+@@ -445,7 +445,7 @@ class ConfigDialog(QtWidgets.QDialog): |
84 |
defaultdirectory = QDesktopServices.storageLocation(QDesktopServices.HomeLocation) |
85 |
else: |
86 |
defaultdirectory = "" |
87 |
@@ -57,205 +37,29 @@ index 96915814..cfe51b26 100755 |
88 |
if self.config["mediaSearchDirectories"] and os.path.isdir(self.config["mediaSearchDirectories"][0]): |
89 |
defaultdirectory = self.config["mediaSearchDirectories"][0] |
90 |
elif os.path.isdir(self.mediadirectory): |
91 |
-@@ -1181,7 +1183,7 @@ def addMessageTab(self): |
92 |
- |
93 |
- self.displaySettingsGroup = QtWidgets.QGroupBox(getMessage("messages-other-title")) |
94 |
- self.displaySettingsLayout = QtWidgets.QVBoxLayout() |
95 |
-- self.displaySettingsLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) |
96 |
-+ self.displaySettingsLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) |
97 |
- self.displaySettingsFrame = QtWidgets.QFrame() |
98 |
- |
99 |
- self.showDurationNotificationCheckbox = QCheckBox(getMessage("showdurationnotification-label")) |
100 |
-@@ -1193,7 +1195,7 @@ def addMessageTab(self): |
101 |
- self.languageLayout.setContentsMargins(0, 0, 0, 0) |
102 |
- self.languageFrame.setLayout(self.languageLayout) |
103 |
- self.languageFrame.setSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) |
104 |
-- self.languageLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) |
105 |
-+ self.languageLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) |
106 |
- self.languageLabel = QLabel(getMessage("language-label"), self) |
107 |
- self.languageCombobox = QtWidgets.QComboBox(self) |
108 |
- self.languageCombobox.addItem(getMessage("automatic-language").format(getMessage("LANGUAGE", getInitialLanguage()))) |
109 |
-@@ -1214,7 +1216,7 @@ def addMessageTab(self): |
110 |
- |
111 |
- self.displaySettingsGroup.setLayout(self.displaySettingsLayout) |
112 |
- self.displaySettingsGroup.setMaximumHeight(self.displaySettingsGroup.minimumSizeHint().height()) |
113 |
-- self.displaySettingsLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) |
114 |
-+ self.displaySettingsLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) |
115 |
- self.messageLayout.addWidget(self.displaySettingsGroup) |
116 |
- |
117 |
- # messageFrame |
118 |
-@@ -1394,7 +1396,9 @@ def __init__(self, config, playerpaths, error, defaultConfig): |
119 |
- self.publicServerAddresses = [] |
120 |
- |
121 |
- self._playerProbeThread = GetPlayerIconThread() |
122 |
-- self._playerProbeThread.done.connect(self._updateExecutableIcon) |
123 |
-+ # To-Do: Why does this not work with PyQt5 |
124 |
-+ if not IsPyQt5: |
125 |
-+ self._playerProbeThread.done.connect(self._updateExecutableIcon) |
126 |
- self._playerProbeThread.start() |
127 |
- |
128 |
- if self.config['clearGUIData'] == True: |
129 |
diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py |
130 |
-index c59c5697..a8fe427d 100755 |
131 |
+index b7a9a9f..d2ad6e5 100755 |
132 |
--- a/syncplay/ui/gui.py |
133 |
+++ b/syncplay/ui/gui.py |
134 |
-@@ -18,8 +18,7 @@ |
135 |
- from syncplay.utils import resourcespath |
136 |
+@@ -19,7 +19,7 @@ from syncplay.utils import resourcespath |
137 |
from syncplay.utils import isLinux, isWindows, isMacOS |
138 |
from syncplay.utils import formatTime, sameFilename, sameFilesize, sameFileduration, RoomPasswordProvider, formatSize, isURL |
139 |
--from syncplay.vendor import Qt |
140 |
+ from syncplay.vendor import Qt |
141 |
-from syncplay.vendor.Qt import QtCore, QtWidgets, QtGui, __binding__, __binding_version__, __qt_version__, IsPySide, IsPySide2 |
142 |
+from syncplay.vendor.Qt import QtCore, QtWidgets, QtGui, __binding__, __binding_version__, __qt_version__, IsPySide, IsPySide2, IsPyQt5 |
143 |
from syncplay.vendor.Qt.QtCore import Qt, QSettings, QSize, QPoint, QUrl, QLine, QDateTime |
144 |
applyDPIScaling = True |
145 |
if isLinux(): |
146 |
-@@ -32,15 +31,17 @@ |
147 |
+@@ -32,6 +32,8 @@ if hasattr(QtCore.Qt, 'AA_UseHighDpiPixmaps'): |
148 |
QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, applyDPIScaling) |
149 |
if IsPySide2: |
150 |
from PySide2.QtCore import QStandardPaths |
151 |
-+elif IsPyQt5: |
152 |
++if IsPyQt5: |
153 |
+ from PyQt5.QtCore import QStandardPaths |
154 |
if isMacOS() and IsPySide: |
155 |
from Foundation import NSURL |
156 |
from Cocoa import NSString, NSUTF8StringEncoding |
157 |
- lastCheckedForUpdates = None |
158 |
- from syncplay.vendor import darkdetect |
159 |
- if isMacOS(): |
160 |
-- isDarkMode = darkdetect.isDark() |
161 |
-+ isDarkMode = darkdetect.isDark() |
162 |
- else: |
163 |
-- isDarkMode = None |
164 |
-+ isDarkMode = None |
165 |
- |
166 |
- |
167 |
- class ConsoleInGUI(ConsoleUI): |
168 |
-@@ -139,7 +140,7 @@ def __init__(self, parent=None): |
169 |
- self.setWindowTitle(getMessage("about-dialog-title")) |
170 |
- if isWindows(): |
171 |
- self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) |
172 |
-- self.setWindowIcon(QtGui.QPixmap(resourcespath + 'syncplay.png')) |
173 |
-+ self.setWindowIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'syncplay.png'))) |
174 |
- nameLabel = QtWidgets.QLabel("<center><strong>Syncplay</strong></center>") |
175 |
- nameLabel.setFont(QtGui.QFont("Helvetica", 18)) |
176 |
- linkLabel = QtWidgets.QLabel() |
177 |
-@@ -202,7 +203,7 @@ def __init__(self, tlsData, parent=None): |
178 |
- self.setWindowTitle(getMessage("tls-information-title")) |
179 |
- if isWindows(): |
180 |
- self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) |
181 |
-- self.setWindowIcon(QtGui.QPixmap(resourcespath + 'syncplay.png')) |
182 |
-+ self.setWindowIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'syncplay.png'))) |
183 |
- statusLabel = QtWidgets.QLabel(getMessage("tls-dialog-status-label").format(tlsData["subject"])) |
184 |
- descLabel = QtWidgets.QLabel(getMessage("tls-dialog-desc-label").format(tlsData["subject"])) |
185 |
- connDataLabel = QtWidgets.QLabel(getMessage("tls-dialog-connection-label").format(tlsData["protocolVersion"], tlsData["cipher"])) |
186 |
-@@ -454,6 +455,15 @@ def mouseMoveEvent(self, event): |
187 |
- def needsClient(f): # @NoSelf |
188 |
- @wraps(f) |
189 |
- def wrapper(self, *args, **kwds): |
190 |
-+ # To-Do: For some strange reason the args tumple contains False |
191 |
-+ # for some functions, resulting in a crash as the function only accepts |
192 |
-+ # one argument (self). I do not understand where this 'False' is coming |
193 |
-+ # from, it does not seem to be added when the function is called. |
194 |
-+ # This very ugly workaround fixes the problem |
195 |
-+ if IsPyQt5: |
196 |
-+ if len(args)>0: |
197 |
-+ if not args[0]: |
198 |
-+ args = () |
199 |
- if not self._syncplayClient: |
200 |
- self.showDebugMessage("Tried to use client before it was ready!") |
201 |
- return |
202 |
-@@ -614,11 +624,11 @@ def showUserList(self, currentUser, rooms): |
203 |
- |
204 |
- if isControlledRoom: |
205 |
- if room == currentUser.room and currentUser.isController(): |
206 |
-- roomitem.setIcon(QtGui.QPixmap(resourcespath + 'lock_open.png')) |
207 |
-+ roomitem.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'lock_open.png'))) |
208 |
- else: |
209 |
-- roomitem.setIcon(QtGui.QPixmap(resourcespath + 'lock.png')) |
210 |
-+ roomitem.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'lock.png'))) |
211 |
- else: |
212 |
-- roomitem.setIcon(QtGui.QPixmap(resourcespath + 'chevrons_right.png')) |
213 |
-+ roomitem.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'chevrons_right.png'))) |
214 |
- |
215 |
- for user in rooms[room]: |
216 |
- useritem = QtGui.QStandardItem(user.username) |
217 |
-@@ -719,31 +729,31 @@ def openPlaylistMenu(self, position): |
218 |
- pathFound = self._syncplayClient.fileSwitch.findFilepath(firstFile) if not isURL(firstFile) else None |
219 |
- if self._syncplayClient.userlist.currentUser.file is None or firstFile != self._syncplayClient.userlist.currentUser.file["name"]: |
220 |
- if isURL(firstFile): |
221 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "world_go.png"), getMessage("openstreamurl-menu-label"), lambda: self.openFile(firstFile, resetPosition=True, fromUser=True)) |
222 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "world_go.png")), getMessage("openstreamurl-menu-label"), lambda: self.openFile(firstFile, resetPosition=True, fromUser=True)) |
223 |
- elif pathFound: |
224 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "film_go.png"), getMessage("openmedia-menu-label"), lambda: self.openFile(pathFound, resetPosition=True, fromUser=True)) |
225 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_go.png")), getMessage("openmedia-menu-label"), lambda: self.openFile(pathFound, resetPosition=True, fromUser=True)) |
226 |
- if pathFound: |
227 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "folder_film.png"), |
228 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "folder_film.png")), |
229 |
- getMessage('open-containing-folder'), |
230 |
- lambda: utils.open_system_file_browser(pathFound)) |
231 |
- if self._syncplayClient.isUntrustedTrustableURI(firstFile): |
232 |
- domain = utils.getDomainFromURL(firstFile) |
233 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "shield_add.png"), getMessage("addtrusteddomain-menu-label").format(domain), lambda: self.addTrustedDomain(domain)) |
234 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "delete.png"), getMessage("removefromplaylist-menu-label"), lambda: self.deleteSelectedPlaylistItems()) |
235 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "shield_add.png")), getMessage("addtrusteddomain-menu-label").format(domain), lambda: self.addTrustedDomain(domain)) |
236 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "delete.png")), getMessage("removefromplaylist-menu-label"), lambda: self.deleteSelectedPlaylistItems()) |
237 |
- menu.addSeparator() |
238 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "arrow_switch.png"), getMessage("shuffleremainingplaylist-menu-label"), lambda: self.shuffleRemainingPlaylist()) |
239 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "arrow_switch.png"), getMessage("shuffleentireplaylist-menu-label"), lambda: self.shuffleEntirePlaylist()) |
240 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "arrow_undo.png"), getMessage("undoplaylist-menu-label"), lambda: self.undoPlaylistChange()) |
241 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "film_edit.png"), getMessage("editplaylist-menu-label"), lambda: self.openEditPlaylistDialog()) |
242 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "film_add.png"), getMessage("addfilestoplaylist-menu-label"), lambda: self.OpenAddFilesToPlaylistDialog()) |
243 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "world_add.png"), getMessage("addurlstoplaylist-menu-label"), lambda: self.OpenAddURIsToPlaylistDialog()) |
244 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "arrow_switch.png")), getMessage("shuffleremainingplaylist-menu-label"), lambda: self.shuffleRemainingPlaylist()) |
245 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "arrow_switch.png")), getMessage("shuffleentireplaylist-menu-label"), lambda: self.shuffleEntirePlaylist()) |
246 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "arrow_undo.png")), getMessage("undoplaylist-menu-label"), lambda: self.undoPlaylistChange()) |
247 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_edit.png")), getMessage("editplaylist-menu-label"), lambda: self.openEditPlaylistDialog()) |
248 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_add.png")), getMessage("addfilestoplaylist-menu-label"), lambda: self.OpenAddFilesToPlaylistDialog()) |
249 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "world_add.png")), getMessage("addurlstoplaylist-menu-label"), lambda: self.OpenAddURIsToPlaylistDialog()) |
250 |
- menu.addSeparator() |
251 |
- menu.addAction(getMessage("loadplaylistfromfile-menu-label"),lambda: self.OpenLoadPlaylistFromFileDialog()) # TODO: Add icon |
252 |
- menu.addAction("Load and shuffle playlist from file",lambda: self.OpenLoadPlaylistFromFileDialog(shuffle=True)) # TODO: Add icon and messages_en |
253 |
- menu.addAction(getMessage("saveplaylisttofile-menu-label"),lambda: self.OpenSavePlaylistToFileDialog()) # TODO: Add icon |
254 |
- menu.addSeparator() |
255 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "film_folder_edit.png"), getMessage("setmediadirectories-menu-label"), lambda: self.openSetMediaDirectoriesDialog()) |
256 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "shield_edit.png"), getMessage("settrusteddomains-menu-label"), lambda: self.openSetTrustedDomainsDialog()) |
257 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_folder_edit.png")), getMessage("setmediadirectories-menu-label"), lambda: self.openSetMediaDirectoriesDialog()) |
258 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "shield_edit.png")), getMessage("settrusteddomains-menu-label"), lambda: self.openSetTrustedDomainsDialog()) |
259 |
- menu.exec_(self.playlist.viewport().mapToGlobal(position)) |
260 |
- |
261 |
- def openRoomMenu(self, position): |
262 |
-@@ -778,25 +788,25 @@ def openRoomMenu(self, position): |
263 |
- elif username and filename and filename != getMessage("nofile-note"): |
264 |
- if self.config['sharedPlaylistEnabled'] and not self.isItemInPlaylist(filename): |
265 |
- if isURL(filename): |
266 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "world_add.png"), addUsersStreamToPlaylistLabelText, lambda: self.addStreamToPlaylist(filename)) |
267 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "world_add.png")), addUsersStreamToPlaylistLabelText, lambda: self.addStreamToPlaylist(filename)) |
268 |
- else: |
269 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "film_add.png"), addUsersFileToPlaylistLabelText, lambda: self.addStreamToPlaylist(filename)) |
270 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_add.png")), addUsersFileToPlaylistLabelText, lambda: self.addStreamToPlaylist(filename)) |
271 |
- |
272 |
- if self._syncplayClient.userlist.currentUser.file is None or filename != self._syncplayClient.userlist.currentUser.file["name"]: |
273 |
- if isURL(filename): |
274 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "world_go.png"), getMessage("openusersstream-menu-label").format(shortUsername), lambda: self.openFile(filename, resetPosition=False, fromUser=True)) |
275 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "world_go.png")), getMessage("openusersstream-menu-label").format(shortUsername), lambda: self.openFile(filename, resetPosition=False, fromUser=True)) |
276 |
- else: |
277 |
- pathFound = self._syncplayClient.fileSwitch.findFilepath(filename) |
278 |
- if pathFound: |
279 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "film_go.png"), getMessage("openusersfile-menu-label").format(shortUsername), lambda: self.openFile(pathFound, resetPosition=False, fromUser=True)) |
280 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "film_go.png")), getMessage("openusersfile-menu-label").format(shortUsername), lambda: self.openFile(pathFound, resetPosition=False, fromUser=True)) |
281 |
- if self._syncplayClient.isUntrustedTrustableURI(filename): |
282 |
- domain = utils.getDomainFromURL(filename) |
283 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "shield_add.png"), getMessage("addtrusteddomain-menu-label").format(domain), lambda: self.addTrustedDomain(domain)) |
284 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "shield_add.png")), getMessage("addtrusteddomain-menu-label").format(domain), lambda: self.addTrustedDomain(domain)) |
285 |
- |
286 |
- if not isURL(filename) and filename != getMessage("nofile-note"): |
287 |
- path = self._syncplayClient.fileSwitch.findFilepath(filename) |
288 |
- if path: |
289 |
-- menu.addAction(QtGui.QPixmap(resourcespath + "folder_film.png"), getMessage('open-containing-folder'), lambda: utils.open_system_file_browser(path)) |
290 |
-+ menu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + "folder_film.png")), getMessage('open-containing-folder'), lambda: utils.open_system_file_browser(path)) |
291 |
- else: |
292 |
- return |
293 |
- menu.exec_(self.listTreeView.viewport().mapToGlobal(position)) |
294 |
-@@ -808,7 +818,7 @@ def updateListGeometry(self): |
295 |
+@@ -808,7 +810,7 @@ class MainWindow(QtWidgets.QMainWindow): |
296 |
self.listTreeView.setFirstColumnSpanned(roomtocheck, self.listTreeView.rootIndex(), True) |
297 |
roomtocheck += 1 |
298 |
self.listTreeView.header().setStretchLastSection(False) |
299 |
@@ -264,7 +68,7 @@ index c59c5697..a8fe427d 100755 |
300 |
self.listTreeView.header().setSectionResizeMode(0, QtWidgets.QHeaderView.ResizeToContents) |
301 |
self.listTreeView.header().setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) |
302 |
self.listTreeView.header().setSectionResizeMode(2, QtWidgets.QHeaderView.ResizeToContents) |
303 |
-@@ -822,7 +832,7 @@ def updateListGeometry(self): |
304 |
+@@ -822,7 +824,7 @@ class MainWindow(QtWidgets.QMainWindow): |
305 |
if self.listTreeView.header().width() < (NarrowTabsWidth+self.listTreeView.header().sectionSize(3)): |
306 |
self.listTreeView.header().resizeSection(3, self.listTreeView.header().width()-NarrowTabsWidth) |
307 |
else: |
308 |
@@ -273,7 +77,7 @@ index c59c5697..a8fe427d 100755 |
309 |
self.listTreeView.header().setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) |
310 |
if IsPySide: |
311 |
self.listTreeView.header().setResizeMode(3, QtWidgets.QHeaderView.Stretch) |
312 |
-@@ -1003,7 +1013,7 @@ def getInitialMediaDirectory(self, includeUserSpecifiedDirectories=True): |
313 |
+@@ -1003,7 +1005,7 @@ class MainWindow(QtWidgets.QMainWindow): |
314 |
defaultdirectory = QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.HomeLocation) |
315 |
else: |
316 |
defaultdirectory = "" |
317 |
@@ -282,193 +86,3 @@ index c59c5697..a8fe427d 100755 |
318 |
if self.config["mediaSearchDirectories"] and os.path.isdir(self.config["mediaSearchDirectories"][0]) and includeUserSpecifiedDirectories: |
319 |
defaultdirectory = self.config["mediaSearchDirectories"][0] |
320 |
elif includeUserSpecifiedDirectories and os.path.isdir(self.mediadirectory): |
321 |
-@@ -1410,7 +1420,7 @@ def addTopLayout(self, window): |
322 |
- window.chatInput.setMaxLength(constants.MAX_CHAT_MESSAGE_LENGTH) |
323 |
- window.chatInput.returnPressed.connect(self.sendChatMessage) |
324 |
- window.chatButton = QtWidgets.QPushButton( |
325 |
-- QtGui.QPixmap(resourcespath + 'email_go.png'), |
326 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'email_go.png')), |
327 |
- getMessage("sendmessage-label")) |
328 |
- window.chatButton.pressed.connect(self.sendChatMessage) |
329 |
- window.chatLayout = QtWidgets.QHBoxLayout() |
330 |
-@@ -1445,7 +1455,7 @@ def addTopLayout(self, window): |
331 |
- window.listlabel = QtWidgets.QLabel(getMessage("userlist-heading-label")) |
332 |
- if isMacOS: |
333 |
- window.listlabel.setMinimumHeight(21) |
334 |
-- window.sslButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'lock_green.png').scaled(14, 14),"") |
335 |
-+ window.sslButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'lock_green.png').scaled(14, 14)),"") |
336 |
- window.sslButton.setVisible(False) |
337 |
- window.sslButton.setFixedHeight(21) |
338 |
- window.sslButton.setFixedWidth(21) |
339 |
-@@ -1453,7 +1463,7 @@ def addTopLayout(self, window): |
340 |
- window.sslButton.setStyleSheet("QPushButton:!hover{border: 1px solid gray;} QPushButton:hover{border:2px solid black;}") |
341 |
- else: |
342 |
- window.listlabel.setMinimumHeight(27) |
343 |
-- window.sslButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'lock_green.png'),"") |
344 |
-+ window.sslButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'lock_green.png')),"") |
345 |
- window.sslButton.setVisible(False) |
346 |
- window.sslButton.setFixedHeight(27) |
347 |
- window.sslButton.setFixedWidth(27) |
348 |
-@@ -1485,7 +1495,7 @@ def addTopLayout(self, window): |
349 |
- window.roomsCombobox.setEditable(True) |
350 |
- #window.roomsCombobox.setMaxLength(constants.MAX_ROOM_NAME_LENGTH) |
351 |
- window.roomButton = QtWidgets.QPushButton( |
352 |
-- QtGui.QPixmap(resourcespath + 'door_in.png'), |
353 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'door_in.png')), |
354 |
- getMessage("joinroom-label")) |
355 |
- window.roomButton.pressed.connect(self.joinRoom) |
356 |
- window.roomButton.setFixedWidth(window.roomButton.sizeHint().width()+3) |
357 |
-@@ -1620,24 +1630,24 @@ def addPlaybackLayout(self, window): |
358 |
- window.playbackFrame.setLayout(window.playbackLayout) |
359 |
- window.seekInput = QtWidgets.QLineEdit() |
360 |
- window.seekInput.returnPressed.connect(self.seekFromButton) |
361 |
-- window.seekButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'clock_go.png'), "") |
362 |
-+ window.seekButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'clock_go.png')), "") |
363 |
- window.seekButton.setToolTip(getMessage("seektime-menu-label")) |
364 |
- window.seekButton.pressed.connect(self.seekFromButton) |
365 |
- window.seekInput.setText("0:00") |
366 |
- window.seekInput.setFixedWidth(60) |
367 |
- window.playbackLayout.addWidget(window.seekInput) |
368 |
- window.playbackLayout.addWidget(window.seekButton) |
369 |
-- window.unseekButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'arrow_undo.png'), "") |
370 |
-+ window.unseekButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'arrow_undo.png')), "") |
371 |
- window.unseekButton.setToolTip(getMessage("undoseek-menu-label")) |
372 |
- window.unseekButton.pressed.connect(self.undoSeek) |
373 |
- |
374 |
- window.miscLayout = QtWidgets.QHBoxLayout() |
375 |
- window.playbackLayout.addWidget(window.unseekButton) |
376 |
-- window.playButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'control_play_blue.png'), "") |
377 |
-+ window.playButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_play_blue.png')), "") |
378 |
- window.playButton.setToolTip(getMessage("play-menu-label")) |
379 |
- window.playButton.pressed.connect(self.play) |
380 |
- window.playbackLayout.addWidget(window.playButton) |
381 |
-- window.pauseButton = QtWidgets.QPushButton(QtGui.QPixmap(resourcespath + 'control_pause_blue.png'), "") |
382 |
-+ window.pauseButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_pause_blue.png')), "") |
383 |
- window.pauseButton.setToolTip(getMessage("pause-menu-label")) |
384 |
- window.pauseButton.pressed.connect(self.pause) |
385 |
- window.playbackLayout.addWidget(window.pauseButton) |
386 |
-@@ -1657,13 +1667,13 @@ def populateMenubar(self, window): |
387 |
- # File menu |
388 |
- |
389 |
- window.fileMenu = QtWidgets.QMenu(getMessage("file-menu-label"), self) |
390 |
-- window.openAction = window.fileMenu.addAction(QtGui.QPixmap(resourcespath + 'folder_explore.png'), |
391 |
-+ window.openAction = window.fileMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'folder_explore.png')), |
392 |
- getMessage("openmedia-menu-label")) |
393 |
- window.openAction.triggered.connect(self.browseMediapath) |
394 |
-- window.openAction = window.fileMenu.addAction(QtGui.QPixmap(resourcespath + 'world_explore.png'), |
395 |
-+ window.openAction = window.fileMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'world_explore.png')), |
396 |
- getMessage("openstreamurl-menu-label")) |
397 |
- window.openAction.triggered.connect(self.promptForStreamURL) |
398 |
-- window.openAction = window.fileMenu.addAction(QtGui.QPixmap(resourcespath + 'film_folder_edit.png'), |
399 |
-+ window.openAction = window.fileMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'film_folder_edit.png')), |
400 |
- getMessage("setmediadirectories-menu-label")) |
401 |
- window.openAction.triggered.connect(self.openSetMediaDirectoriesDialog) |
402 |
- |
403 |
-@@ -1671,7 +1681,7 @@ def populateMenubar(self, window): |
404 |
- if isMacOS(): |
405 |
- window.exitAction.setMenuRole(QtWidgets.QAction.QuitRole) |
406 |
- else: |
407 |
-- window.exitAction.setIcon(QtGui.QPixmap(resourcespath + 'cross.png')) |
408 |
-+ window.exitAction.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'cross.png'))) |
409 |
- window.exitAction.triggered.connect(self.exitSyncplay) |
410 |
- |
411 |
- if(window.editMenu is not None): |
412 |
-@@ -1683,19 +1693,19 @@ def populateMenubar(self, window): |
413 |
- |
414 |
- window.playbackMenu = QtWidgets.QMenu(getMessage("playback-menu-label"), self) |
415 |
- window.playAction = window.playbackMenu.addAction( |
416 |
-- QtGui.QPixmap(resourcespath + 'control_play_blue.png'), |
417 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_play_blue.png')), |
418 |
- getMessage("play-menu-label")) |
419 |
- window.playAction.triggered.connect(self.play) |
420 |
- window.pauseAction = window.playbackMenu.addAction( |
421 |
-- QtGui.QPixmap(resourcespath + 'control_pause_blue.png'), |
422 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_pause_blue.png')), |
423 |
- getMessage("pause-menu-label")) |
424 |
- window.pauseAction.triggered.connect(self.pause) |
425 |
- window.seekAction = window.playbackMenu.addAction( |
426 |
-- QtGui.QPixmap(resourcespath + 'clock_go.png'), |
427 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'clock_go.png')), |
428 |
- getMessage("seektime-menu-label")) |
429 |
- window.seekAction.triggered.connect(self.seekPositionDialog) |
430 |
- window.unseekAction = window.playbackMenu.addAction( |
431 |
-- QtGui.QPixmap(resourcespath + 'arrow_undo.png'), |
432 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'arrow_undo.png')), |
433 |
- getMessage("undoseek-menu-label")) |
434 |
- window.unseekAction.triggered.connect(self.undoSeek) |
435 |
- |
436 |
-@@ -1705,17 +1715,17 @@ def populateMenubar(self, window): |
437 |
- |
438 |
- window.advancedMenu = QtWidgets.QMenu(getMessage("advanced-menu-label"), self) |
439 |
- window.setoffsetAction = window.advancedMenu.addAction( |
440 |
-- QtGui.QPixmap(resourcespath + 'timeline_marker.png'), |
441 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'timeline_marker.png')), |
442 |
- getMessage("setoffset-menu-label")) |
443 |
- window.setoffsetAction.triggered.connect(self.setOffset) |
444 |
- window.setTrustedDomainsAction = window.advancedMenu.addAction( |
445 |
-- QtGui.QPixmap(resourcespath + 'shield_edit.png'), |
446 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'shield_edit.png')), |
447 |
- getMessage("settrusteddomains-menu-label")) |
448 |
- window.setTrustedDomainsAction.triggered.connect(self.openSetTrustedDomainsDialog) |
449 |
- window.createcontrolledroomAction = window.advancedMenu.addAction( |
450 |
-- QtGui.QPixmap(resourcespath + 'page_white_key.png'), getMessage("createcontrolledroom-menu-label")) |
451 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'page_white_key.png')), getMessage("createcontrolledroom-menu-label")) |
452 |
- window.createcontrolledroomAction.triggered.connect(self.createControlledRoom) |
453 |
-- window.identifyascontroller = window.advancedMenu.addAction(QtGui.QPixmap(resourcespath + 'key_go.png'), |
454 |
-+ window.identifyascontroller = window.advancedMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'key_go.png')), |
455 |
- getMessage("identifyascontroller-menu-label")) |
456 |
- window.identifyascontroller.triggered.connect(self.identifyAsController) |
457 |
- |
458 |
-@@ -1743,18 +1753,18 @@ def populateMenubar(self, window): |
459 |
- window.helpMenu = QtWidgets.QMenu(getMessage("help-menu-label"), self) |
460 |
- |
461 |
- window.userguideAction = window.helpMenu.addAction( |
462 |
-- QtGui.QPixmap(resourcespath + 'help.png'), |
463 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'help.png')), |
464 |
- getMessage("userguide-menu-label")) |
465 |
- window.userguideAction.triggered.connect(self.openUserGuide) |
466 |
- window.updateAction = window.helpMenu.addAction( |
467 |
-- QtGui.QPixmap(resourcespath + 'application_get.png'), |
468 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'application_get.png')), |
469 |
- getMessage("update-menu-label")) |
470 |
- window.updateAction.triggered.connect(self.userCheckForUpdates) |
471 |
- |
472 |
- if not isMacOS(): |
473 |
- window.helpMenu.addSeparator() |
474 |
- window.about = window.helpMenu.addAction( |
475 |
-- QtGui.QPixmap(resourcespath + 'syncplay.png'), |
476 |
-+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'syncplay.png')), |
477 |
- getMessage("about-menu-label")) |
478 |
- else: |
479 |
- window.about = window.helpMenu.addAction("&About") |
480 |
-@@ -1835,16 +1845,16 @@ def changeAutoplayState(self, source=None): |
481 |
- def updateReadyIcon(self): |
482 |
- ready = self.readyPushButton.isChecked() |
483 |
- if ready: |
484 |
-- self.readyPushButton.setIcon(QtGui.QPixmap(resourcespath + 'tick_checkbox.png')) |
485 |
-+ self.readyPushButton.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'tick_checkbox.png'))) |
486 |
- else: |
487 |
-- self.readyPushButton.setIcon(QtGui.QPixmap(resourcespath + 'empty_checkbox.png')) |
488 |
-+ self.readyPushButton.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'empty_checkbox.png'))) |
489 |
- |
490 |
- def updateAutoPlayIcon(self): |
491 |
- ready = self.autoplayPushButton.isChecked() |
492 |
- if ready: |
493 |
-- self.autoplayPushButton.setIcon(QtGui.QPixmap(resourcespath + 'tick_checkbox.png')) |
494 |
-+ self.autoplayPushButton.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'tick_checkbox.png'))) |
495 |
- else: |
496 |
-- self.autoplayPushButton.setIcon(QtGui.QPixmap(resourcespath + 'empty_checkbox.png')) |
497 |
-+ self.autoplayPushButton.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'empty_checkbox.png'))) |
498 |
- |
499 |
- def automaticUpdateCheck(self): |
500 |
- currentDateTimeValue = QDateTime.currentDateTime() |
501 |
-@@ -2060,7 +2070,7 @@ def __init__(self, passedBar=None): |
502 |
- self.populateMenubar(self) |
503 |
- self.addMainFrame(self) |
504 |
- self.loadSettings() |
505 |
-- self.setWindowIcon(QtGui.QPixmap(resourcespath + "syncplay.png")) |
506 |
-+ self.setWindowIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + "syncplay.png"))) |
507 |
- self.setWindowFlags(self.windowFlags() & Qt.WindowCloseButtonHint & Qt.WindowMinimizeButtonHint & ~Qt.WindowContextHelpButtonHint) |
508 |
- self.show() |
509 |
- self.setAcceptDrops(True) |
510 |
- |
511 |
|
512 |
diff --git a/media-video/syncplay/files/syncplay-change-alignment-operator.patch b/media-video/syncplay/files/syncplay-change-alignment-operator.patch |
513 |
new file mode 100644 |
514 |
index 00000000..15c9f67a |
515 |
--- /dev/null |
516 |
+++ b/media-video/syncplay/files/syncplay-change-alignment-operator.patch |
517 |
@@ -0,0 +1,41 @@ |
518 |
+From 61584550ca734d2f3fa3b811d73f2cebd2b7f30f Mon Sep 17 00:00:00 2001 |
519 |
+From: Andrew Ammerlaan <andrewammerlaan@××××××.net> |
520 |
+Date: Thu, 8 Oct 2020 08:37:58 +0200 |
521 |
+Subject: [PATCH] replace & with | in Alignment, visually identical |
522 |
+ |
523 |
+--- |
524 |
+ syncplay/ui/GuiConfiguration.py | 6 +++--- |
525 |
+ 1 file changed, 3 insertions(+), 3 deletions(-) |
526 |
+ |
527 |
+diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py |
528 |
+index 96915814..e0713adf 100755 |
529 |
+--- a/syncplay/ui/GuiConfiguration.py |
530 |
++++ b/syncplay/ui/GuiConfiguration.py |
531 |
+@@ -1181,7 +1181,7 @@ def addMessageTab(self): |
532 |
+ |
533 |
+ self.displaySettingsGroup = QtWidgets.QGroupBox(getMessage("messages-other-title")) |
534 |
+ self.displaySettingsLayout = QtWidgets.QVBoxLayout() |
535 |
+- self.displaySettingsLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) |
536 |
++ self.displaySettingsLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) |
537 |
+ self.displaySettingsFrame = QtWidgets.QFrame() |
538 |
+ |
539 |
+ self.showDurationNotificationCheckbox = QCheckBox(getMessage("showdurationnotification-label")) |
540 |
+@@ -1193,7 +1193,7 @@ def addMessageTab(self): |
541 |
+ self.languageLayout.setContentsMargins(0, 0, 0, 0) |
542 |
+ self.languageFrame.setLayout(self.languageLayout) |
543 |
+ self.languageFrame.setSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) |
544 |
+- self.languageLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) |
545 |
++ self.languageLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) |
546 |
+ self.languageLabel = QLabel(getMessage("language-label"), self) |
547 |
+ self.languageCombobox = QtWidgets.QComboBox(self) |
548 |
+ self.languageCombobox.addItem(getMessage("automatic-language").format(getMessage("LANGUAGE", getInitialLanguage()))) |
549 |
+@@ -1214,7 +1214,7 @@ def addMessageTab(self): |
550 |
+ |
551 |
+ self.displaySettingsGroup.setLayout(self.displaySettingsLayout) |
552 |
+ self.displaySettingsGroup.setMaximumHeight(self.displaySettingsGroup.minimumSizeHint().height()) |
553 |
+- self.displaySettingsLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) |
554 |
++ self.displaySettingsLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) |
555 |
+ self.messageLayout.addWidget(self.displaySettingsGroup) |
556 |
+ |
557 |
+ # messageFrame |
558 |
+ |
559 |
|
560 |
diff --git a/media-video/syncplay/files/syncplay-allow-PyQt5.patch b/media-video/syncplay/files/syncplay-make-qpixmap-to-qicon-conversion-explicit.patch |
561 |
similarity index 69% |
562 |
copy from media-video/syncplay/files/syncplay-allow-PyQt5.patch |
563 |
copy to media-video/syncplay/files/syncplay-make-qpixmap-to-qicon-conversion-explicit.patch |
564 |
index 89c9de33..2ff08f7e 100644 |
565 |
--- a/media-video/syncplay/files/syncplay-allow-PyQt5.patch |
566 |
+++ b/media-video/syncplay/files/syncplay-make-qpixmap-to-qicon-conversion-explicit.patch |
567 |
@@ -1,135 +1,17 @@ |
568 |
-From c759525889f303195e677f9341cf325decf74809 Mon Sep 17 00:00:00 2001 |
569 |
+From b0e018d0cda148ef8dba07857fcbe8d751800992 Mon Sep 17 00:00:00 2001 |
570 |
From: Andrew Ammerlaan <andrewammerlaan@××××××.net> |
571 |
-Date: Wed, 7 Oct 2020 13:31:46 +0200 |
572 |
-Subject: [PATCH] PyQt5 compatability |
573 |
+Date: Thu, 8 Oct 2020 08:47:44 +0200 |
574 |
+Subject: [PATCH] make conversion from QPixmap to QIcon explicit |
575 |
|
576 |
--- |
577 |
- syncplay/ui/ConfigurationGetter.py | 4 +- |
578 |
- syncplay/ui/GuiConfiguration.py | 16 ++-- |
579 |
- syncplay/ui/gui.py | 130 ++++++++++++++++------------- |
580 |
- 3 files changed, 82 insertions(+), 68 deletions(-) |
581 |
+ syncplay/ui/gui.py | 106 ++++++++++++++++++++++----------------------- |
582 |
+ 1 file changed, 53 insertions(+), 53 deletions(-) |
583 |
|
584 |
-diff --git a/syncplay/ui/ConfigurationGetter.py b/syncplay/ui/ConfigurationGetter.py |
585 |
-index dd1d8ec0..6d83c650 100755 |
586 |
---- a/syncplay/ui/ConfigurationGetter.py |
587 |
-+++ b/syncplay/ui/ConfigurationGetter.py |
588 |
-@@ -513,10 +513,10 @@ def getConfiguration(self): |
589 |
- self._overrideConfigWithArgs(args) |
590 |
- if not self._config['noGui']: |
591 |
- try: |
592 |
-- from syncplay.vendor.Qt import QtWidgets, IsPySide, IsPySide2 |
593 |
-+ from syncplay.vendor.Qt import QtWidgets, IsPySide, IsPySide2, IsPyQt5 |
594 |
- from syncplay.vendor.Qt.QtCore import QCoreApplication |
595 |
- from syncplay.vendor import qt5reactor |
596 |
-- if not (IsPySide2 or IsPySide): |
597 |
-+ if not (IsPySide2 or IsPySide or IsPyQt5): |
598 |
- raise ImportError |
599 |
- if QCoreApplication.instance() is None: |
600 |
- self.app = QtWidgets.QApplication(sys.argv) |
601 |
-diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py |
602 |
-index 96915814..cfe51b26 100755 |
603 |
---- a/syncplay/ui/GuiConfiguration.py |
604 |
-+++ b/syncplay/ui/GuiConfiguration.py |
605 |
-@@ -11,7 +11,7 @@ |
606 |
- from syncplay.utils import isBSD, isLinux, isMacOS, isWindows |
607 |
- from syncplay.utils import resourcespath, posixresourcespath |
608 |
- |
609 |
--from syncplay.vendor.Qt import QtCore, QtWidgets, QtGui, __binding__, IsPySide, IsPySide2 |
610 |
-+from syncplay.vendor.Qt import QtCore, QtWidgets, QtGui, __binding__, IsPySide, IsPySide2, IsPyQt5 |
611 |
- from syncplay.vendor.Qt.QtCore import Qt, QSettings, QCoreApplication, QSize, QPoint, QUrl, QLine, QEventLoop, Signal |
612 |
- from syncplay.vendor.Qt.QtWidgets import QApplication, QLineEdit, QLabel, QCheckBox, QButtonGroup, QRadioButton, QDoubleSpinBox, QPlainTextEdit |
613 |
- from syncplay.vendor.Qt.QtGui import QCursor, QIcon, QImage, QDesktopServices |
614 |
-@@ -21,6 +21,8 @@ |
615 |
- QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True) |
616 |
- if IsPySide2: |
617 |
- from PySide2.QtCore import QStandardPaths |
618 |
-+elif IsPyQt5: |
619 |
-+ from PyQt5.QtCore import QStandardPaths |
620 |
- |
621 |
- |
622 |
- class GuiConfiguration: |
623 |
-@@ -445,7 +447,7 @@ def browseMediapath(self): |
624 |
- defaultdirectory = QDesktopServices.storageLocation(QDesktopServices.HomeLocation) |
625 |
- else: |
626 |
- defaultdirectory = "" |
627 |
-- elif IsPySide2: |
628 |
-+ elif IsPySide2 or IsPyQt5: |
629 |
- if self.config["mediaSearchDirectories"] and os.path.isdir(self.config["mediaSearchDirectories"][0]): |
630 |
- defaultdirectory = self.config["mediaSearchDirectories"][0] |
631 |
- elif os.path.isdir(self.mediadirectory): |
632 |
-@@ -1181,7 +1183,7 @@ def addMessageTab(self): |
633 |
- |
634 |
- self.displaySettingsGroup = QtWidgets.QGroupBox(getMessage("messages-other-title")) |
635 |
- self.displaySettingsLayout = QtWidgets.QVBoxLayout() |
636 |
-- self.displaySettingsLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) |
637 |
-+ self.displaySettingsLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) |
638 |
- self.displaySettingsFrame = QtWidgets.QFrame() |
639 |
- |
640 |
- self.showDurationNotificationCheckbox = QCheckBox(getMessage("showdurationnotification-label")) |
641 |
-@@ -1193,7 +1195,7 @@ def addMessageTab(self): |
642 |
- self.languageLayout.setContentsMargins(0, 0, 0, 0) |
643 |
- self.languageFrame.setLayout(self.languageLayout) |
644 |
- self.languageFrame.setSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) |
645 |
-- self.languageLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) |
646 |
-+ self.languageLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) |
647 |
- self.languageLabel = QLabel(getMessage("language-label"), self) |
648 |
- self.languageCombobox = QtWidgets.QComboBox(self) |
649 |
- self.languageCombobox.addItem(getMessage("automatic-language").format(getMessage("LANGUAGE", getInitialLanguage()))) |
650 |
-@@ -1214,7 +1216,7 @@ def addMessageTab(self): |
651 |
- |
652 |
- self.displaySettingsGroup.setLayout(self.displaySettingsLayout) |
653 |
- self.displaySettingsGroup.setMaximumHeight(self.displaySettingsGroup.minimumSizeHint().height()) |
654 |
-- self.displaySettingsLayout.setAlignment(Qt.AlignTop & Qt.AlignLeft) |
655 |
-+ self.displaySettingsLayout.setAlignment(Qt.AlignTop | Qt.AlignLeft) |
656 |
- self.messageLayout.addWidget(self.displaySettingsGroup) |
657 |
- |
658 |
- # messageFrame |
659 |
-@@ -1394,7 +1396,9 @@ def __init__(self, config, playerpaths, error, defaultConfig): |
660 |
- self.publicServerAddresses = [] |
661 |
- |
662 |
- self._playerProbeThread = GetPlayerIconThread() |
663 |
-- self._playerProbeThread.done.connect(self._updateExecutableIcon) |
664 |
-+ # To-Do: Why does this not work with PyQt5 |
665 |
-+ if not IsPyQt5: |
666 |
-+ self._playerProbeThread.done.connect(self._updateExecutableIcon) |
667 |
- self._playerProbeThread.start() |
668 |
- |
669 |
- if self.config['clearGUIData'] == True: |
670 |
diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py |
671 |
-index c59c5697..a8fe427d 100755 |
672 |
+index c59c5697..2a4bd1a5 100755 |
673 |
--- a/syncplay/ui/gui.py |
674 |
+++ b/syncplay/ui/gui.py |
675 |
-@@ -18,8 +18,7 @@ |
676 |
- from syncplay.utils import resourcespath |
677 |
- from syncplay.utils import isLinux, isWindows, isMacOS |
678 |
- from syncplay.utils import formatTime, sameFilename, sameFilesize, sameFileduration, RoomPasswordProvider, formatSize, isURL |
679 |
--from syncplay.vendor import Qt |
680 |
--from syncplay.vendor.Qt import QtCore, QtWidgets, QtGui, __binding__, __binding_version__, __qt_version__, IsPySide, IsPySide2 |
681 |
-+from syncplay.vendor.Qt import QtCore, QtWidgets, QtGui, __binding__, __binding_version__, __qt_version__, IsPySide, IsPySide2, IsPyQt5 |
682 |
- from syncplay.vendor.Qt.QtCore import Qt, QSettings, QSize, QPoint, QUrl, QLine, QDateTime |
683 |
- applyDPIScaling = True |
684 |
- if isLinux(): |
685 |
-@@ -32,15 +31,17 @@ |
686 |
- QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, applyDPIScaling) |
687 |
- if IsPySide2: |
688 |
- from PySide2.QtCore import QStandardPaths |
689 |
-+elif IsPyQt5: |
690 |
-+ from PyQt5.QtCore import QStandardPaths |
691 |
- if isMacOS() and IsPySide: |
692 |
- from Foundation import NSURL |
693 |
- from Cocoa import NSString, NSUTF8StringEncoding |
694 |
- lastCheckedForUpdates = None |
695 |
- from syncplay.vendor import darkdetect |
696 |
- if isMacOS(): |
697 |
-- isDarkMode = darkdetect.isDark() |
698 |
-+ isDarkMode = darkdetect.isDark() |
699 |
- else: |
700 |
-- isDarkMode = None |
701 |
-+ isDarkMode = None |
702 |
- |
703 |
- |
704 |
- class ConsoleInGUI(ConsoleUI): |
705 |
-@@ -139,7 +140,7 @@ def __init__(self, parent=None): |
706 |
+@@ -139,7 +139,7 @@ def __init__(self, parent=None): |
707 |
self.setWindowTitle(getMessage("about-dialog-title")) |
708 |
if isWindows(): |
709 |
self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) |
710 |
@@ -138,7 +20,7 @@ index c59c5697..a8fe427d 100755 |
711 |
nameLabel = QtWidgets.QLabel("<center><strong>Syncplay</strong></center>") |
712 |
nameLabel.setFont(QtGui.QFont("Helvetica", 18)) |
713 |
linkLabel = QtWidgets.QLabel() |
714 |
-@@ -202,7 +203,7 @@ def __init__(self, tlsData, parent=None): |
715 |
+@@ -202,7 +202,7 @@ def __init__(self, tlsData, parent=None): |
716 |
self.setWindowTitle(getMessage("tls-information-title")) |
717 |
if isWindows(): |
718 |
self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) |
719 |
@@ -147,23 +29,7 @@ index c59c5697..a8fe427d 100755 |
720 |
statusLabel = QtWidgets.QLabel(getMessage("tls-dialog-status-label").format(tlsData["subject"])) |
721 |
descLabel = QtWidgets.QLabel(getMessage("tls-dialog-desc-label").format(tlsData["subject"])) |
722 |
connDataLabel = QtWidgets.QLabel(getMessage("tls-dialog-connection-label").format(tlsData["protocolVersion"], tlsData["cipher"])) |
723 |
-@@ -454,6 +455,15 @@ def mouseMoveEvent(self, event): |
724 |
- def needsClient(f): # @NoSelf |
725 |
- @wraps(f) |
726 |
- def wrapper(self, *args, **kwds): |
727 |
-+ # To-Do: For some strange reason the args tumple contains False |
728 |
-+ # for some functions, resulting in a crash as the function only accepts |
729 |
-+ # one argument (self). I do not understand where this 'False' is coming |
730 |
-+ # from, it does not seem to be added when the function is called. |
731 |
-+ # This very ugly workaround fixes the problem |
732 |
-+ if IsPyQt5: |
733 |
-+ if len(args)>0: |
734 |
-+ if not args[0]: |
735 |
-+ args = () |
736 |
- if not self._syncplayClient: |
737 |
- self.showDebugMessage("Tried to use client before it was ready!") |
738 |
- return |
739 |
-@@ -614,11 +624,11 @@ def showUserList(self, currentUser, rooms): |
740 |
+@@ -614,11 +614,11 @@ def showUserList(self, currentUser, rooms): |
741 |
|
742 |
if isControlledRoom: |
743 |
if room == currentUser.room and currentUser.isController(): |
744 |
@@ -178,7 +44,7 @@ index c59c5697..a8fe427d 100755 |
745 |
|
746 |
for user in rooms[room]: |
747 |
useritem = QtGui.QStandardItem(user.username) |
748 |
-@@ -719,31 +729,31 @@ def openPlaylistMenu(self, position): |
749 |
+@@ -719,31 +719,31 @@ def openPlaylistMenu(self, position): |
750 |
pathFound = self._syncplayClient.fileSwitch.findFilepath(firstFile) if not isURL(firstFile) else None |
751 |
if self._syncplayClient.userlist.currentUser.file is None or firstFile != self._syncplayClient.userlist.currentUser.file["name"]: |
752 |
if isURL(firstFile): |
753 |
@@ -223,7 +89,7 @@ index c59c5697..a8fe427d 100755 |
754 |
menu.exec_(self.playlist.viewport().mapToGlobal(position)) |
755 |
|
756 |
def openRoomMenu(self, position): |
757 |
-@@ -778,25 +788,25 @@ def openRoomMenu(self, position): |
758 |
+@@ -778,25 +778,25 @@ def openRoomMenu(self, position): |
759 |
elif username and filename and filename != getMessage("nofile-note"): |
760 |
if self.config['sharedPlaylistEnabled'] and not self.isItemInPlaylist(filename): |
761 |
if isURL(filename): |
762 |
@@ -255,34 +121,7 @@ index c59c5697..a8fe427d 100755 |
763 |
else: |
764 |
return |
765 |
menu.exec_(self.listTreeView.viewport().mapToGlobal(position)) |
766 |
-@@ -808,7 +818,7 @@ def updateListGeometry(self): |
767 |
- self.listTreeView.setFirstColumnSpanned(roomtocheck, self.listTreeView.rootIndex(), True) |
768 |
- roomtocheck += 1 |
769 |
- self.listTreeView.header().setStretchLastSection(False) |
770 |
-- if IsPySide2: |
771 |
-+ if IsPySide2 or IsPyQt5: |
772 |
- self.listTreeView.header().setSectionResizeMode(0, QtWidgets.QHeaderView.ResizeToContents) |
773 |
- self.listTreeView.header().setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents) |
774 |
- self.listTreeView.header().setSectionResizeMode(2, QtWidgets.QHeaderView.ResizeToContents) |
775 |
-@@ -822,7 +832,7 @@ def updateListGeometry(self): |
776 |
- if self.listTreeView.header().width() < (NarrowTabsWidth+self.listTreeView.header().sectionSize(3)): |
777 |
- self.listTreeView.header().resizeSection(3, self.listTreeView.header().width()-NarrowTabsWidth) |
778 |
- else: |
779 |
-- if IsPySide2: |
780 |
-+ if IsPySide2 or IsPyQt5: |
781 |
- self.listTreeView.header().setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) |
782 |
- if IsPySide: |
783 |
- self.listTreeView.header().setResizeMode(3, QtWidgets.QHeaderView.Stretch) |
784 |
-@@ -1003,7 +1013,7 @@ def getInitialMediaDirectory(self, includeUserSpecifiedDirectories=True): |
785 |
- defaultdirectory = QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.HomeLocation) |
786 |
- else: |
787 |
- defaultdirectory = "" |
788 |
-- elif IsPySide2: |
789 |
-+ elif IsPySide2 or IsPyQt5: |
790 |
- if self.config["mediaSearchDirectories"] and os.path.isdir(self.config["mediaSearchDirectories"][0]) and includeUserSpecifiedDirectories: |
791 |
- defaultdirectory = self.config["mediaSearchDirectories"][0] |
792 |
- elif includeUserSpecifiedDirectories and os.path.isdir(self.mediadirectory): |
793 |
-@@ -1410,7 +1420,7 @@ def addTopLayout(self, window): |
794 |
+@@ -1410,7 +1410,7 @@ def addTopLayout(self, window): |
795 |
window.chatInput.setMaxLength(constants.MAX_CHAT_MESSAGE_LENGTH) |
796 |
window.chatInput.returnPressed.connect(self.sendChatMessage) |
797 |
window.chatButton = QtWidgets.QPushButton( |
798 |
@@ -291,7 +130,7 @@ index c59c5697..a8fe427d 100755 |
799 |
getMessage("sendmessage-label")) |
800 |
window.chatButton.pressed.connect(self.sendChatMessage) |
801 |
window.chatLayout = QtWidgets.QHBoxLayout() |
802 |
-@@ -1445,7 +1455,7 @@ def addTopLayout(self, window): |
803 |
+@@ -1445,7 +1445,7 @@ def addTopLayout(self, window): |
804 |
window.listlabel = QtWidgets.QLabel(getMessage("userlist-heading-label")) |
805 |
if isMacOS: |
806 |
window.listlabel.setMinimumHeight(21) |
807 |
@@ -300,7 +139,7 @@ index c59c5697..a8fe427d 100755 |
808 |
window.sslButton.setVisible(False) |
809 |
window.sslButton.setFixedHeight(21) |
810 |
window.sslButton.setFixedWidth(21) |
811 |
-@@ -1453,7 +1463,7 @@ def addTopLayout(self, window): |
812 |
+@@ -1453,7 +1453,7 @@ def addTopLayout(self, window): |
813 |
window.sslButton.setStyleSheet("QPushButton:!hover{border: 1px solid gray;} QPushButton:hover{border:2px solid black;}") |
814 |
else: |
815 |
window.listlabel.setMinimumHeight(27) |
816 |
@@ -309,7 +148,7 @@ index c59c5697..a8fe427d 100755 |
817 |
window.sslButton.setVisible(False) |
818 |
window.sslButton.setFixedHeight(27) |
819 |
window.sslButton.setFixedWidth(27) |
820 |
-@@ -1485,7 +1495,7 @@ def addTopLayout(self, window): |
821 |
+@@ -1485,7 +1485,7 @@ def addTopLayout(self, window): |
822 |
window.roomsCombobox.setEditable(True) |
823 |
#window.roomsCombobox.setMaxLength(constants.MAX_ROOM_NAME_LENGTH) |
824 |
window.roomButton = QtWidgets.QPushButton( |
825 |
@@ -318,7 +157,7 @@ index c59c5697..a8fe427d 100755 |
826 |
getMessage("joinroom-label")) |
827 |
window.roomButton.pressed.connect(self.joinRoom) |
828 |
window.roomButton.setFixedWidth(window.roomButton.sizeHint().width()+3) |
829 |
-@@ -1620,24 +1630,24 @@ def addPlaybackLayout(self, window): |
830 |
+@@ -1620,24 +1620,24 @@ def addPlaybackLayout(self, window): |
831 |
window.playbackFrame.setLayout(window.playbackLayout) |
832 |
window.seekInput = QtWidgets.QLineEdit() |
833 |
window.seekInput.returnPressed.connect(self.seekFromButton) |
834 |
@@ -347,7 +186,7 @@ index c59c5697..a8fe427d 100755 |
835 |
window.pauseButton.setToolTip(getMessage("pause-menu-label")) |
836 |
window.pauseButton.pressed.connect(self.pause) |
837 |
window.playbackLayout.addWidget(window.pauseButton) |
838 |
-@@ -1657,13 +1667,13 @@ def populateMenubar(self, window): |
839 |
+@@ -1657,13 +1657,13 @@ def populateMenubar(self, window): |
840 |
# File menu |
841 |
|
842 |
window.fileMenu = QtWidgets.QMenu(getMessage("file-menu-label"), self) |
843 |
@@ -364,7 +203,7 @@ index c59c5697..a8fe427d 100755 |
844 |
getMessage("setmediadirectories-menu-label")) |
845 |
window.openAction.triggered.connect(self.openSetMediaDirectoriesDialog) |
846 |
|
847 |
-@@ -1671,7 +1681,7 @@ def populateMenubar(self, window): |
848 |
+@@ -1671,7 +1671,7 @@ def populateMenubar(self, window): |
849 |
if isMacOS(): |
850 |
window.exitAction.setMenuRole(QtWidgets.QAction.QuitRole) |
851 |
else: |
852 |
@@ -373,7 +212,7 @@ index c59c5697..a8fe427d 100755 |
853 |
window.exitAction.triggered.connect(self.exitSyncplay) |
854 |
|
855 |
if(window.editMenu is not None): |
856 |
-@@ -1683,19 +1693,19 @@ def populateMenubar(self, window): |
857 |
+@@ -1683,19 +1683,19 @@ def populateMenubar(self, window): |
858 |
|
859 |
window.playbackMenu = QtWidgets.QMenu(getMessage("playback-menu-label"), self) |
860 |
window.playAction = window.playbackMenu.addAction( |
861 |
@@ -397,7 +236,7 @@ index c59c5697..a8fe427d 100755 |
862 |
getMessage("undoseek-menu-label")) |
863 |
window.unseekAction.triggered.connect(self.undoSeek) |
864 |
|
865 |
-@@ -1705,17 +1715,17 @@ def populateMenubar(self, window): |
866 |
+@@ -1705,17 +1705,17 @@ def populateMenubar(self, window): |
867 |
|
868 |
window.advancedMenu = QtWidgets.QMenu(getMessage("advanced-menu-label"), self) |
869 |
window.setoffsetAction = window.advancedMenu.addAction( |
870 |
@@ -419,7 +258,16 @@ index c59c5697..a8fe427d 100755 |
871 |
getMessage("identifyascontroller-menu-label")) |
872 |
window.identifyascontroller.triggered.connect(self.identifyAsController) |
873 |
|
874 |
-@@ -1743,18 +1753,18 @@ def populateMenubar(self, window): |
875 |
+@@ -1725,7 +1725,7 @@ def populateMenubar(self, window): |
876 |
+ |
877 |
+ window.windowMenu = QtWidgets.QMenu(getMessage("window-menu-label"), self) |
878 |
+ |
879 |
+- window.editroomsAction = window.windowMenu.addAction(QtGui.QPixmap(resourcespath + 'door_open_edit.png'), getMessage("roomlist-msgbox-label")) |
880 |
++ window.editroomsAction = window.windowMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'door_open_edit.png')), getMessage("roomlist-msgbox-label")) |
881 |
+ window.editroomsAction.triggered.connect(self.openEditRoomsDialog) |
882 |
+ window.menuBar.addMenu(window.windowMenu) |
883 |
+ |
884 |
+@@ -1743,18 +1743,18 @@ def populateMenubar(self, window): |
885 |
window.helpMenu = QtWidgets.QMenu(getMessage("help-menu-label"), self) |
886 |
|
887 |
window.userguideAction = window.helpMenu.addAction( |
888 |
@@ -441,7 +289,7 @@ index c59c5697..a8fe427d 100755 |
889 |
getMessage("about-menu-label")) |
890 |
else: |
891 |
window.about = window.helpMenu.addAction("&About") |
892 |
-@@ -1835,16 +1845,16 @@ def changeAutoplayState(self, source=None): |
893 |
+@@ -1835,16 +1835,16 @@ def changeAutoplayState(self, source=None): |
894 |
def updateReadyIcon(self): |
895 |
ready = self.readyPushButton.isChecked() |
896 |
if ready: |
897 |
@@ -462,7 +310,7 @@ index c59c5697..a8fe427d 100755 |
898 |
|
899 |
def automaticUpdateCheck(self): |
900 |
currentDateTimeValue = QDateTime.currentDateTime() |
901 |
-@@ -2060,7 +2070,7 @@ def __init__(self, passedBar=None): |
902 |
+@@ -2060,7 +2060,7 @@ def __init__(self, passedBar=None): |
903 |
self.populateMenubar(self) |
904 |
self.addMainFrame(self) |
905 |
self.loadSettings() |
906 |
|
907 |
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 |
908 |
new file mode 100644 |
909 |
index 00000000..822b21b8 |
910 |
--- /dev/null |
911 |
+++ b/media-video/syncplay/files/syncplay-use-lambda-to-connect-behind-wrapper.patch |
912 |
@@ -0,0 +1,168 @@ |
913 |
+From f880d4773238a31ac7046ff290910a4ff4920d53 Mon Sep 17 00:00:00 2001 |
914 |
+From: Andrew Ammerlaan <andrewammerlaan@××××××.net> |
915 |
+Date: Thu, 8 Oct 2020 11:41:41 +0200 |
916 |
+Subject: [PATCH] use lambda when connect() to function with @wrapper |
917 |
+ |
918 |
+--- |
919 |
+ syncplay/ui/GuiConfiguration.py | 2 +- |
920 |
+ syncplay/ui/gui.py | 40 ++++++++++++++++----------------- |
921 |
+ 2 files changed, 21 insertions(+), 21 deletions(-) |
922 |
+ |
923 |
+diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py |
924 |
+index e0713adf..9ce6a429 100755 |
925 |
+--- a/syncplay/ui/GuiConfiguration.py |
926 |
++++ b/syncplay/ui/GuiConfiguration.py |
927 |
+@@ -1394,7 +1394,7 @@ def __init__(self, config, playerpaths, error, defaultConfig): |
928 |
+ self.publicServerAddresses = [] |
929 |
+ |
930 |
+ self._playerProbeThread = GetPlayerIconThread() |
931 |
+- self._playerProbeThread.done.connect(self._updateExecutableIcon) |
932 |
++ self._playerProbeThread.done.connect(lambda iconpath, playerpath: self._updateExecutableIcon(iconpath, playerpath)) |
933 |
+ self._playerProbeThread.start() |
934 |
+ |
935 |
+ if self.config['clearGUIData'] == True: |
936 |
+diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py |
937 |
+index 2a4bd1a5..b7a9a9f0 100755 |
938 |
+--- a/syncplay/ui/gui.py |
939 |
++++ b/syncplay/ui/gui.py |
940 |
+@@ -1457,7 +1457,7 @@ def addTopLayout(self, window): |
941 |
+ window.sslButton.setVisible(False) |
942 |
+ window.sslButton.setFixedHeight(27) |
943 |
+ window.sslButton.setFixedWidth(27) |
944 |
+- window.sslButton.pressed.connect(self.openSSLDetails) |
945 |
++ window.sslButton.pressed.connect(lambda: self.openSSLDetails()) |
946 |
+ window.sslButton.setToolTip(getMessage("sslconnection-tooltip")) |
947 |
+ window.listFrame = QtWidgets.QFrame() |
948 |
+ window.listFrame.setLineWidth(0) |
949 |
+@@ -1487,7 +1487,7 @@ def addTopLayout(self, window): |
950 |
+ window.roomButton = QtWidgets.QPushButton( |
951 |
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'door_in.png')), |
952 |
+ getMessage("joinroom-label")) |
953 |
+- window.roomButton.pressed.connect(self.joinRoom) |
954 |
++ window.roomButton.pressed.connect(lambda room=None: self.joinRoom(room)) |
955 |
+ window.roomButton.setFixedWidth(window.roomButton.sizeHint().width()+3) |
956 |
+ window.roomLayout = QtWidgets.QHBoxLayout() |
957 |
+ window.roomFrame = QtWidgets.QFrame() |
958 |
+@@ -1539,10 +1539,10 @@ def addBottomLayout(self, window): |
959 |
+ window.playlist.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection) |
960 |
+ window.playlist.setDefaultDropAction(Qt.MoveAction) |
961 |
+ window.playlist.setDragDropMode(QtWidgets.QAbstractItemView.InternalMove) |
962 |
+- window.playlist.doubleClicked.connect(self.playlistItemClicked) |
963 |
++ window.playlist.doubleClicked.connect(lambda item: self.playlistItemClicked(item)) |
964 |
+ window.playlist.setContextMenuPolicy(Qt.CustomContextMenu) |
965 |
+ window.playlist.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows) |
966 |
+- window.playlist.customContextMenuRequested.connect(self.openPlaylistMenu) |
967 |
++ window.playlist.customContextMenuRequested.connect(lambda position: self.openPlaylistMenu(position)) |
968 |
+ self.playlistUpdateTimer = task.LoopingCall(self.playlistChangeCheck) |
969 |
+ self.playlistUpdateTimer.start(0.1, True) |
970 |
+ noteFont = QtGui.QFont() |
971 |
+@@ -1579,7 +1579,7 @@ def addBottomLayout(self, window): |
972 |
+ window.autoplayPushButton.setText(getMessage("autoplay-guipushbuttonlabel")) |
973 |
+ window.autoplayPushButton.setCheckable(True) |
974 |
+ window.autoplayPushButton.setAutoExclusive(False) |
975 |
+- window.autoplayPushButton.toggled.connect(self.changeAutoplayState) |
976 |
++ window.autoplayPushButton.toggled.connect(lambda source=None: self.changeAutoplayState(source)) |
977 |
+ window.autoplayPushButton.setFont(autoPlayFont) |
978 |
+ if isMacOS(): |
979 |
+ window.autoplayFrame.setMinimumWidth(window.listFrame.sizeHint().width()) |
980 |
+@@ -1600,7 +1600,7 @@ def addBottomLayout(self, window): |
981 |
+ window.autoplayThresholdSpinbox.setMinimum(2) |
982 |
+ window.autoplayThresholdSpinbox.setMaximum(99) |
983 |
+ window.autoplayThresholdSpinbox.setToolTip(getMessage("autoplay-tooltip")) |
984 |
+- window.autoplayThresholdSpinbox.valueChanged.connect(self.changeAutoplayThreshold) |
985 |
++ window.autoplayThresholdSpinbox.valueChanged.connect(lambda source=None: self.changeAutoplayThreshold(source)) |
986 |
+ window.autoplayLayout.addWidget(window.autoplayPushButton, Qt.AlignRight) |
987 |
+ window.autoplayLayout.addWidget(window.autoplayLabel, Qt.AlignRight) |
988 |
+ window.autoplayLayout.addWidget(window.autoplayThresholdSpinbox, Qt.AlignRight) |
989 |
+@@ -1629,17 +1629,17 @@ def addPlaybackLayout(self, window): |
990 |
+ window.playbackLayout.addWidget(window.seekButton) |
991 |
+ window.unseekButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'arrow_undo.png')), "") |
992 |
+ window.unseekButton.setToolTip(getMessage("undoseek-menu-label")) |
993 |
+- window.unseekButton.pressed.connect(self.undoSeek) |
994 |
++ window.unseekButton.pressed.connect(lambda: self.undoSeek()) |
995 |
+ |
996 |
+ window.miscLayout = QtWidgets.QHBoxLayout() |
997 |
+ window.playbackLayout.addWidget(window.unseekButton) |
998 |
+ window.playButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_play_blue.png')), "") |
999 |
+ window.playButton.setToolTip(getMessage("play-menu-label")) |
1000 |
+- window.playButton.pressed.connect(self.play) |
1001 |
++ window.playButton.pressed.connect(lambda: self.play()) |
1002 |
+ window.playbackLayout.addWidget(window.playButton) |
1003 |
+ window.pauseButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_pause_blue.png')), "") |
1004 |
+ window.pauseButton.setToolTip(getMessage("pause-menu-label")) |
1005 |
+- window.pauseButton.pressed.connect(self.pause) |
1006 |
++ window.pauseButton.pressed.connect(lambda: self.pause()) |
1007 |
+ window.playbackLayout.addWidget(window.pauseButton) |
1008 |
+ window.playbackFrame.setMaximumHeight(window.playbackFrame.sizeHint().height()) |
1009 |
+ window.playbackFrame.setMaximumWidth(window.playbackFrame.sizeHint().width()) |
1010 |
+@@ -1659,20 +1659,20 @@ def populateMenubar(self, window): |
1011 |
+ window.fileMenu = QtWidgets.QMenu(getMessage("file-menu-label"), self) |
1012 |
+ window.openAction = window.fileMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'folder_explore.png')), |
1013 |
+ getMessage("openmedia-menu-label")) |
1014 |
+- window.openAction.triggered.connect(self.browseMediapath) |
1015 |
++ window.openAction.triggered.connect(lambda: self.browseMediapath()) |
1016 |
+ window.openAction = window.fileMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'world_explore.png')), |
1017 |
+ getMessage("openstreamurl-menu-label")) |
1018 |
+- window.openAction.triggered.connect(self.promptForStreamURL) |
1019 |
++ window.openAction.triggered.connect(lambda: self.promptForStreamURL()) |
1020 |
+ window.openAction = window.fileMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'film_folder_edit.png')), |
1021 |
+ getMessage("setmediadirectories-menu-label")) |
1022 |
+- window.openAction.triggered.connect(self.openSetMediaDirectoriesDialog) |
1023 |
++ window.openAction.triggered.connect(lambda: self.openSetMediaDirectoriesDialog()) |
1024 |
+ |
1025 |
+ window.exitAction = window.fileMenu.addAction(getMessage("exit-menu-label")) |
1026 |
+ if isMacOS(): |
1027 |
+ window.exitAction.setMenuRole(QtWidgets.QAction.QuitRole) |
1028 |
+ else: |
1029 |
+ window.exitAction.setIcon(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'cross.png'))) |
1030 |
+- window.exitAction.triggered.connect(self.exitSyncplay) |
1031 |
++ window.exitAction.triggered.connect(lambda: self.exitSyncplay()) |
1032 |
+ |
1033 |
+ if(window.editMenu is not None): |
1034 |
+ window.menuBar.insertMenu(window.editMenu.menuAction(), window.fileMenu) |
1035 |
+@@ -1685,11 +1685,11 @@ def populateMenubar(self, window): |
1036 |
+ window.playAction = window.playbackMenu.addAction( |
1037 |
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_play_blue.png')), |
1038 |
+ getMessage("play-menu-label")) |
1039 |
+- window.playAction.triggered.connect(self.play) |
1040 |
++ window.playAction.triggered.connect(lambda: self.play()) |
1041 |
+ window.pauseAction = window.playbackMenu.addAction( |
1042 |
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'control_pause_blue.png')), |
1043 |
+ getMessage("pause-menu-label")) |
1044 |
+- window.pauseAction.triggered.connect(self.pause) |
1045 |
++ window.pauseAction.triggered.connect(lambda: self.pause()) |
1046 |
+ window.seekAction = window.playbackMenu.addAction( |
1047 |
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'clock_go.png')), |
1048 |
+ getMessage("seektime-menu-label")) |
1049 |
+@@ -1697,7 +1697,7 @@ def populateMenubar(self, window): |
1050 |
+ window.unseekAction = window.playbackMenu.addAction( |
1051 |
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'arrow_undo.png')), |
1052 |
+ getMessage("undoseek-menu-label")) |
1053 |
+- window.unseekAction.triggered.connect(self.undoSeek) |
1054 |
++ window.unseekAction.triggered.connect(lambda: self.undoSeek()) |
1055 |
+ |
1056 |
+ window.menuBar.addMenu(window.playbackMenu) |
1057 |
+ |
1058 |
+@@ -1707,17 +1707,17 @@ def populateMenubar(self, window): |
1059 |
+ window.setoffsetAction = window.advancedMenu.addAction( |
1060 |
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'timeline_marker.png')), |
1061 |
+ getMessage("setoffset-menu-label")) |
1062 |
+- window.setoffsetAction.triggered.connect(self.setOffset) |
1063 |
++ window.setoffsetAction.triggered.connect(lambda: self.setOffset()) |
1064 |
+ window.setTrustedDomainsAction = window.advancedMenu.addAction( |
1065 |
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'shield_edit.png')), |
1066 |
+ getMessage("settrusteddomains-menu-label")) |
1067 |
+- window.setTrustedDomainsAction.triggered.connect(self.openSetTrustedDomainsDialog) |
1068 |
++ window.setTrustedDomainsAction.triggered.connect(lambda: self.openSetTrustedDomainsDialog()) |
1069 |
+ window.createcontrolledroomAction = window.advancedMenu.addAction( |
1070 |
+ QtGui.QIcon(QtGui.QPixmap(resourcespath + 'page_white_key.png')), getMessage("createcontrolledroom-menu-label")) |
1071 |
+- window.createcontrolledroomAction.triggered.connect(self.createControlledRoom) |
1072 |
++ window.createcontrolledroomAction.triggered.connect(lambda: self.createControlledRoom()) |
1073 |
+ window.identifyascontroller = window.advancedMenu.addAction(QtGui.QIcon(QtGui.QPixmap(resourcespath + 'key_go.png')), |
1074 |
+ getMessage("identifyascontroller-menu-label")) |
1075 |
+- window.identifyascontroller.triggered.connect(self.identifyAsController) |
1076 |
++ window.identifyascontroller.triggered.connect(lambda: self.identifyAsController()) |
1077 |
+ |
1078 |
+ window.menuBar.addMenu(window.advancedMenu) |
1079 |
+ |
1080 |
+ |
1081 |
|
1082 |
diff --git a/media-video/syncplay/metadata.xml b/media-video/syncplay/metadata.xml |
1083 |
index af8b590f..ed27ca4d 100644 |
1084 |
--- a/media-video/syncplay/metadata.xml |
1085 |
+++ b/media-video/syncplay/metadata.xml |
1086 |
@@ -9,8 +9,5 @@ |
1087 |
<use> |
1088 |
<flag name="client">Install the Syncplay client</flag> |
1089 |
<flag name="server">Install the Syncplay server</flag> |
1090 |
- <flag name="vlc">Pull in VLC with the lua flag</flag> |
1091 |
- <flag name="mpv">Pull in MPV with the lua flag</flag> |
1092 |
- <flag name="mplayer">Pull in MPlayer</flag> |
1093 |
</use> |
1094 |
</pkgmetadata> |
1095 |
|
1096 |
diff --git a/media-video/syncplay/syncplay-1.6.5-r1.ebuild b/media-video/syncplay/syncplay-1.6.6_beta1.ebuild |
1097 |
similarity index 65% |
1098 |
rename from media-video/syncplay/syncplay-1.6.5-r1.ebuild |
1099 |
rename to media-video/syncplay/syncplay-1.6.6_beta1.ebuild |
1100 |
index 7f1ad024..30712b36 100644 |
1101 |
--- a/media-video/syncplay/syncplay-1.6.5-r1.ebuild |
1102 |
+++ b/media-video/syncplay/syncplay-1.6.6_beta1.ebuild |
1103 |
@@ -8,32 +8,39 @@ DISTUTILS_USE_SETUPTOOLS=rdepend |
1104 |
|
1105 |
inherit distutils-r1 optfeature xdg |
1106 |
|
1107 |
+MYPV="${PV/_beta/-Beta}" |
1108 |
+ |
1109 |
DESCRIPTION="Client/server to synchronize media playback" |
1110 |
HOMEPAGE="https://github.com/Syncplay/syncplay https://syncplay.pl" |
1111 |
-SRC_URI="https://github.com/${PN^}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" |
1112 |
+SRC_URI="https://github.com/${PN^}/${PN}/archive/${MYPV}.tar.gz -> ${P}.tar.gz" |
1113 |
|
1114 |
LICENSE="Apache-2.0" |
1115 |
SLOT="0" |
1116 |
KEYWORDS="~amd64 ~x86" |
1117 |
|
1118 |
-IUSE="+client +server vlc mpv mplayer" |
1119 |
-REQUIRED_USE=" |
1120 |
- vlc? ( client ) |
1121 |
- mpv? ( client ) |
1122 |
- mplayer? ( client ) |
1123 |
- client? ( || ( vlc mpv mplayer ) ) |
1124 |
-" |
1125 |
+IUSE="+client +server" |
1126 |
|
1127 |
RDEPEND=" |
1128 |
dev-python/certifi[${PYTHON_USEDEP}] |
1129 |
dev-python/twisted[${PYTHON_USEDEP}] |
1130 |
- vlc? ( media-video/vlc[lua] ) |
1131 |
- mpv? ( media-video/mpv[lua] ) |
1132 |
- mplayer? ( media-video/mplayer ) |
1133 |
- client? ( dev-python/QtPy[${PYTHON_USEDEP},gui] ) |
1134 |
+ client? ( |
1135 |
+ dev-python/QtPy[${PYTHON_USEDEP},gui] |
1136 |
+ || ( |
1137 |
+ media-video/vlc[lua] |
1138 |
+ media-video/mpv[lua] |
1139 |
+ media-video/mplayer |
1140 |
+ ) |
1141 |
+ ) |
1142 |
" |
1143 |
|
1144 |
-PATCHES=( "${FILESDIR}/${PN}-allow-PyQt5.patch" ) |
1145 |
+PATCHES=( |
1146 |
+ "${FILESDIR}/${PN}-change-alignment-operator.patch" |
1147 |
+ "${FILESDIR}/${PN}-make-qpixmap-to-qicon-conversion-explicit.patch" |
1148 |
+ "${FILESDIR}/${PN}-use-lambda-to-connect-behind-wrapper.patch" |
1149 |
+ "${FILESDIR}/${PN}-allow-PyQt5.patch" |
1150 |
+) |
1151 |
+ |
1152 |
+S="${WORKDIR}/${PN}-${MYPV}" |
1153 |
|
1154 |
python_install() { |
1155 |
local MY_MAKEOPTS=( DESTDIR="${D}" PREFIX=/usr ) |
1156 |
@@ -51,7 +58,7 @@ pkg_postinst() { |
1157 |
xdg_pkg_postinst |
1158 |
|
1159 |
if use client; then |
1160 |
- elog "Syncplay supports the following players:" |
1161 |
+ elog "Syncplay supports the following media players:" |
1162 |
elog "media-video/mpv, media-video/mplayer, media-video/vlc\n" |
1163 |
optfeature "using Syncplay with VLC" media-video/vlc[lua] |
1164 |
optfeature "using Syncplay with MPV" media-video/mpv[lua] |