Initial playlist current file indicator
This commit is contained in:
parent
9d28822731
commit
3afa12b910
@ -466,6 +466,7 @@ class SyncplayClient(object):
|
|||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
filename = self._playlist[index]
|
filename = self._playlist[index]
|
||||||
|
self.ui.setPlaylistIndexFilename(filename)
|
||||||
if username is not None and self.userlist.currentUser.file and filename == self.userlist.currentUser.file['name']:
|
if username is not None and self.userlist.currentUser.file and filename == self.userlist.currentUser.file['name']:
|
||||||
return
|
return
|
||||||
except IndexError:
|
except IndexError:
|
||||||
@ -1282,6 +1283,9 @@ class UiManager(object):
|
|||||||
def setPlaylist(self, newPlaylist):
|
def setPlaylist(self, newPlaylist):
|
||||||
self.__ui.setPlaylist(newPlaylist)
|
self.__ui.setPlaylist(newPlaylist)
|
||||||
|
|
||||||
|
def setPlaylistIndexFilename(self, filename):
|
||||||
|
self.__ui.setPlaylistIndexFilename(filename)
|
||||||
|
|
||||||
def showDebugMessage(self, message):
|
def showDebugMessage(self, message):
|
||||||
if constants.DEBUG_MODE and message.rstrip():
|
if constants.DEBUG_MODE and message.rstrip():
|
||||||
sys.stderr.write("{}{}\n".format(time.strftime(constants.UI_TIME_FORMAT, time.localtime()),message.rstrip()))
|
sys.stderr.write("{}{}\n".format(time.strftime(constants.UI_TIME_FORMAT, time.localtime()),message.rstrip()))
|
||||||
|
|||||||
@ -177,6 +177,7 @@ FILEITEM_SWITCH_ROLE = 1
|
|||||||
FILEITEM_SWITCH_NO_SWITCH = 0
|
FILEITEM_SWITCH_NO_SWITCH = 0
|
||||||
FILEITEM_SWITCH_FILE_SWITCH = 1
|
FILEITEM_SWITCH_FILE_SWITCH = 1
|
||||||
FILEITEM_SWITCH_STREAM_SWITCH = 2
|
FILEITEM_SWITCH_STREAM_SWITCH = 2
|
||||||
|
PLAYLISTITEM_CURRENTLYPLAYING_ROLE = 3
|
||||||
|
|
||||||
SYNCPLAY_UPDATE_URL = u"http://syncplay.pl/checkforupdate?{}" # Params
|
SYNCPLAY_UPDATE_URL = u"http://syncplay.pl/checkforupdate?{}" # Params
|
||||||
SYNCPLAY_DOWNLOAD_URL = "http://syncplay.pl/download/"
|
SYNCPLAY_DOWNLOAD_URL = "http://syncplay.pl/download/"
|
||||||
|
|||||||
@ -26,6 +26,9 @@ class ConsoleUI(threading.Thread):
|
|||||||
def setPlaylist(self, newPlaylist):
|
def setPlaylist(self, newPlaylist):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def setPlaylistIndexFilename(self, filename):
|
||||||
|
pass
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
try:
|
try:
|
||||||
while True:
|
while True:
|
||||||
|
|||||||
@ -88,6 +88,7 @@ class MainWindow(QtGui.QMainWindow):
|
|||||||
insertPosition = None
|
insertPosition = None
|
||||||
playlistState = []
|
playlistState = []
|
||||||
updatingPlaylist = False
|
updatingPlaylist = False
|
||||||
|
playlistIndex = None
|
||||||
|
|
||||||
def setPlaylistInsertPosition(self, newPosition):
|
def setPlaylistInsertPosition(self, newPosition):
|
||||||
if MainWindow.insertPosition <> newPosition:
|
if MainWindow.insertPosition <> newPosition:
|
||||||
@ -96,8 +97,23 @@ class MainWindow(QtGui.QMainWindow):
|
|||||||
|
|
||||||
class PlaylistItemDelegate(QtGui.QStyledItemDelegate):
|
class PlaylistItemDelegate(QtGui.QStyledItemDelegate):
|
||||||
def paint(self, itemQPainter, optionQStyleOptionViewItem, indexQModelIndex):
|
def paint(self, itemQPainter, optionQStyleOptionViewItem, indexQModelIndex):
|
||||||
QtGui.QStyledItemDelegate.paint(self, itemQPainter, optionQStyleOptionViewItem, indexQModelIndex)
|
|
||||||
itemQPainter.save()
|
itemQPainter.save()
|
||||||
|
currentQAbstractItemModel = indexQModelIndex.model()
|
||||||
|
currentlyPlayingFile = currentQAbstractItemModel.data(indexQModelIndex, Qt.UserRole + constants.PLAYLISTITEM_CURRENTLYPLAYING_ROLE)
|
||||||
|
if sys.platform.startswith('win'):
|
||||||
|
resourcespath = utils.findWorkingDir() + "\\resources\\"
|
||||||
|
else:
|
||||||
|
resourcespath = utils.findWorkingDir() + "/resources/"
|
||||||
|
if currentlyPlayingFile:
|
||||||
|
fileSwitchIconQPixmap = QtGui.QPixmap(resourcespath + "chevrons_right.png")
|
||||||
|
itemQPainter.drawPixmap (
|
||||||
|
(optionQStyleOptionViewItem.rect.x()),
|
||||||
|
optionQStyleOptionViewItem.rect.y(),
|
||||||
|
fileSwitchIconQPixmap.scaled(16, 16, Qt.KeepAspectRatio))
|
||||||
|
optionQStyleOptionViewItem.rect.setX(optionQStyleOptionViewItem.rect.x()+16)
|
||||||
|
|
||||||
|
QtGui.QStyledItemDelegate.paint(self, itemQPainter, optionQStyleOptionViewItem, indexQModelIndex)
|
||||||
|
|
||||||
lineAbove = False
|
lineAbove = False
|
||||||
lineBelow = False
|
lineBelow = False
|
||||||
if MainWindow.insertPosition == 0 and indexQModelIndex.row() == 0:
|
if MainWindow.insertPosition == 0 and indexQModelIndex.row() == 0:
|
||||||
@ -150,6 +166,18 @@ class MainWindow(QtGui.QMainWindow):
|
|||||||
|
|
||||||
class PlaylistWidget(QtGui.QListWidget):
|
class PlaylistWidget(QtGui.QListWidget):
|
||||||
selfWindow = None
|
selfWindow = None
|
||||||
|
playlistIndexFilename = None
|
||||||
|
|
||||||
|
def setPlaylistIndexFilename(self, filename):
|
||||||
|
if filename <> self.playlistIndexFilename:
|
||||||
|
self.playlistIndexFilename = filename
|
||||||
|
self.updatePlaylistIndexIcon()
|
||||||
|
|
||||||
|
def updatePlaylistIndexIcon(self):
|
||||||
|
for item in xrange(self.count()):
|
||||||
|
isPlayingFilename = self.item(item).text() == self.playlistIndexFilename
|
||||||
|
self.item(item).setData(Qt.UserRole + constants.PLAYLISTITEM_CURRENTLYPLAYING_ROLE, isPlayingFilename)
|
||||||
|
self.forceUpdate()
|
||||||
|
|
||||||
def setWindow(self, window):
|
def setWindow(self, window):
|
||||||
self.selfWindow = window
|
self.selfWindow = window
|
||||||
@ -172,6 +200,7 @@ class MainWindow(QtGui.QMainWindow):
|
|||||||
for index in xrange(self.count()):
|
for index in xrange(self.count()):
|
||||||
self.takeItem(0)
|
self.takeItem(0)
|
||||||
self.insertItems(0, newPlaylist)
|
self.insertItems(0, newPlaylist)
|
||||||
|
self.updatePlaylistIndexIcon()
|
||||||
|
|
||||||
def remove_selected_items(self):
|
def remove_selected_items(self):
|
||||||
for item in self.selectedItems():
|
for item in self.selectedItems():
|
||||||
@ -1308,6 +1337,9 @@ class MainWindow(QtGui.QMainWindow):
|
|||||||
self.playlist.updatePlaylist(newPlaylist)
|
self.playlist.updatePlaylist(newPlaylist)
|
||||||
self.updatingPlaylist = False
|
self.updatingPlaylist = False
|
||||||
|
|
||||||
|
def setPlaylistIndexFilename(self, filename):
|
||||||
|
self.playlist.setPlaylistIndexFilename(filename)
|
||||||
|
|
||||||
def addFileToPlaylist(self, filePath, index = -1):
|
def addFileToPlaylist(self, filePath, index = -1):
|
||||||
if os.path.isfile(filePath):
|
if os.path.isfile(filePath):
|
||||||
self.removePlaylistNote()
|
self.removePlaylistNote()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user