Implement "undo playlist change" feature
This commit is contained in:
parent
f4a0bbe967
commit
bf1825196c
@ -114,6 +114,7 @@ class SyncplayClient(object):
|
|||||||
self.autoplayTimeLeft = constants.AUTOPLAY_DELAY
|
self.autoplayTimeLeft = constants.AUTOPLAY_DELAY
|
||||||
|
|
||||||
self._playlist = []
|
self._playlist = []
|
||||||
|
self._previousPlaylist = None
|
||||||
self._playlistIndex = None
|
self._playlistIndex = None
|
||||||
self.__playerReady = defer.Deferred()
|
self.__playerReady = defer.Deferred()
|
||||||
|
|
||||||
@ -504,6 +505,11 @@ class SyncplayClient(object):
|
|||||||
newIndex = files.index(filename)
|
newIndex = files.index(filename)
|
||||||
except:
|
except:
|
||||||
newIndex = 0
|
newIndex = 0
|
||||||
|
if self._previousPlaylist is None:
|
||||||
|
if self._playlist <> None and self._playlist <> []:
|
||||||
|
self._previousPlaylist = self._playlist
|
||||||
|
elif self._previousPlaylist <> self._playlist and self._playlist <> files:
|
||||||
|
self._previousPlaylist = self._playlist
|
||||||
self._playlist = files
|
self._playlist = files
|
||||||
|
|
||||||
if username is None and self._protocol and self._protocol.logged:
|
if username is None and self._protocol and self._protocol.logged:
|
||||||
@ -513,6 +519,13 @@ class SyncplayClient(object):
|
|||||||
self.ui.setPlaylist(self._playlist)
|
self.ui.setPlaylist(self._playlist)
|
||||||
self.ui.showMessage(u"{} updated the playlist".format(username))
|
self.ui.showMessage(u"{} updated the playlist".format(username))
|
||||||
|
|
||||||
|
def undoPlaylistChange(self):
|
||||||
|
if self._previousPlaylist is not None and self._playlist <> self._previousPlaylist:
|
||||||
|
undidPlaylist = self._playlist
|
||||||
|
self.ui.setPlaylist(self._previousPlaylist)
|
||||||
|
self.changePlaylist(self._previousPlaylist)
|
||||||
|
self._previousPlaylist = undidPlaylist
|
||||||
|
|
||||||
def __executePrivacySettings(self, filename, size):
|
def __executePrivacySettings(self, filename, size):
|
||||||
if self._config['filenamePrivacyMode'] == PRIVACY_SENDHASHED_MODE:
|
if self._config['filenamePrivacyMode'] == PRIVACY_SENDHASHED_MODE:
|
||||||
filename = utils.hashFilename(filename)
|
filename = utils.hashFilename(filename)
|
||||||
@ -557,6 +570,7 @@ class SyncplayClient(object):
|
|||||||
return self.userlist.currentUser.username
|
return self.userlist.currentUser.username
|
||||||
|
|
||||||
def setRoom(self, roomName, resetAutoplay=False):
|
def setRoom(self, roomName, resetAutoplay=False):
|
||||||
|
self._previousPlaylist = None
|
||||||
self.userlist.currentUser.room = roomName
|
self.userlist.currentUser.room = roomName
|
||||||
if resetAutoplay:
|
if resetAutoplay:
|
||||||
self.resetAutoPlayState()
|
self.resetAutoPlayState()
|
||||||
|
|||||||
@ -538,8 +538,9 @@ class MainWindow(QtGui.QMainWindow):
|
|||||||
MainWindow.FileSwitchManager.setFilenameWatchlist(self.newWatchlist)
|
MainWindow.FileSwitchManager.setFilenameWatchlist(self.newWatchlist)
|
||||||
self.checkForDisabledDir()
|
self.checkForDisabledDir()
|
||||||
|
|
||||||
|
@needsClient
|
||||||
def undoPlaylistChange(self):
|
def undoPlaylistChange(self):
|
||||||
self.showErrorMessage("TODO: Undo playlist change!")
|
self._syncplayClient.undoPlaylistChange()
|
||||||
|
|
||||||
def openPlaylistMenu(self, position):
|
def openPlaylistMenu(self, position):
|
||||||
indexes = self.playlist.selectedIndexes()
|
indexes = self.playlist.selectedIndexes()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user