From 65f6f4b4b92766cdb386c4ade53149afca525515 Mon Sep 17 00:00:00 2001 From: Et0h Date: Mon, 17 Oct 2016 21:52:06 +0100 Subject: [PATCH] Add "edit playlist" option --- buildPy2exe.py | 1 + resources/film_edit.png | Bin 0 -> 855 bytes syncplay/messages_de.py | 2 ++ syncplay/messages_en.py | 2 ++ syncplay/messages_ru.py | 2 ++ syncplay/ui/gui.py | 31 +++++++++++++++++++++++++++++++ 6 files changed, 38 insertions(+) create mode 100644 resources/film_edit.png diff --git a/buildPy2exe.py b/buildPy2exe.py index 403bd4a..abe0db1 100644 --- a/buildPy2exe.py +++ b/buildPy2exe.py @@ -656,6 +656,7 @@ guiIcons = ['resources/accept.png', 'resources/arrow_undo.png', 'resources/clock 'resources/world_explore.png', 'resources/application_get.png', 'resources/cog.png', 'resources/arrow_switch.png', 'resources/film_go.png', 'resources/world_go.png', 'resources/arrow_refresh.png', 'resources/bullet_right_grey.png', 'resources/film_folder_edit.png', + 'resources/film_edit.png', 'resources/shield_edit.png', 'resources/world_add.png', 'resources/film_add.png', 'resources/delete.png', 'resources/spinner.mng' ] diff --git a/resources/film_edit.png b/resources/film_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..af66b73f2097d34f01d86c6a4a4d7f1980f94dd8 GIT binary patch literal 855 zcmV-d1E~CoP)l$D+s&Mu=$; z6r}`(5yA|KE~bWoW;aJ}R+>6%H+7ruIos)3N#vy$exDxx|L1+4|NC;~<>l`pkw_}x zs;sOuW0q4~T>L>4MYAMHj>g8ujDKq?5~hd4;oHRF($Z3SHUknzsUQlb*Hk2oA-0pd zm~^N@idDpbNitXjIFfW73$#Gl$yODK*Abc14HP7NOH>i|*Zd7(T<{4BjX{tFgWyEA zpc94!#@J`#7ST211|&=%))A79@5GDo4lGw*g(7T$&Akm>UMmh{s`e*ofS6s+}$NBwN{M(cm^&sus=E*n>5JUWHdv~ zX&}Lbaoq@zat9Gk#7)MqCqEFkck{OSf*}t&(-L@{7JO=|y&N@2AhsHf#vI$3fmt$8 zU}Z)yWBY@gIqQU8ON|p-^%LGb63`k+fMLTI203SI>Br@{5K zZIq1$3YVUG()oKpy1tL7C-`UzMf7saVi|VKd5+|)Enq{nP^x82_*2o}+!~RBf$YVn z+dKZoNS$*?yqic{Z%CDu-QSU`+Q3O%G6uV^L7%Kf$h`nxn_EI96gu?j z&qES>{}`s6JjBIWFwoIGcD~;E<$k-XlK#xk=?0uEPyK);Yv%@+E;6cCWSAiH6R(1< hk%NVo-a7D~^9#54wyk$25e)zU002ovPDHLkV1gTsf-L|5 literal 0 HcmV?d00001 diff --git a/syncplay/messages_de.py b/syncplay/messages_de.py index 09a388b..69beb1f 100644 --- a/syncplay/messages_de.py +++ b/syncplay/messages_de.py @@ -285,6 +285,7 @@ de = { "addfolder-label" : u"Add folder", # TODO: Translate "adduris-msgbox-label" : u"Add URLs to playlist (one per line)", # TODO: Translate + "editplaylist-msgbox-label": u"Set playlist (one per line)", # TODO: Translate "trusteddomains-msgbox-label" : u"Domains it is okay to automatically switch to (one per line)", # TODO: Translate "createcontrolledroom-msgbox-label" : u"Zentral gesteuerten Raum erstellen", @@ -398,6 +399,7 @@ de = { "undoplaylist-menu-label" : u"Undo last change to playlist", "addfilestoplaylist-menu-label" : u"Add file(s) to bottom of playlist", "addurlstoplaylist-menu-label" : u"Add URL(s) to bottom of playlist", + "editplaylist-menu-label": u"Edit playlist", "addusersfiletoplaylist-menu-label" : u"Add {} file to playlist", # item owner indicator "addusersstreamstoplaylist-menu-label" : u"Add {} stream to playlist", # item owner indicator diff --git a/syncplay/messages_en.py b/syncplay/messages_en.py index 96385c5..d2b933b 100644 --- a/syncplay/messages_en.py +++ b/syncplay/messages_en.py @@ -287,6 +287,7 @@ en = { "addfolder-label" : u"Add folder", "adduris-msgbox-label" : u"Add URLs to playlist (one per line)", + "editplaylist-msgbox-label" : u"Set playlist (one per line)", "trusteddomains-msgbox-label" : u"Domains it is okay to automatically switch to (one per line)", "createcontrolledroom-msgbox-label" : "Create managed room", @@ -399,6 +400,7 @@ en = { "undoplaylist-menu-label" : u"Undo last change to playlist", "addfilestoplaylist-menu-label" : u"Add file(s) to bottom of playlist", "addurlstoplaylist-menu-label" : u"Add URL(s) to bottom of playlist", + "editplaylist-menu-label": u"Edit playlist", "addusersfiletoplaylist-menu-label" : u"Add {} file to playlist", # item owner indicator "addusersstreamstoplaylist-menu-label" : u"Add {} stream to playlist", # item owner indicator diff --git a/syncplay/messages_ru.py b/syncplay/messages_ru.py index facc8dc..8778678 100644 --- a/syncplay/messages_ru.py +++ b/syncplay/messages_ru.py @@ -287,6 +287,7 @@ ru = { "addfolder-label" : u"Add folder", # TODO: Translate "adduris-msgbox-label" : u"Add URLs to playlist (one per line)", # TODO: Translate + "editplaylist-msgbox-label" : u"Set playlist (one per line)", # TODO: Translate "trusteddomains-msgbox-label" : u"Domains it is okay to automatically switch to (one per line)", # TODO: Translate "createcontrolledroom-msgbox-label" : u"Создать управляемую комнату", @@ -398,6 +399,7 @@ ru = { "undoplaylist-menu-label" : u"Undo last change to playlist", "addfilestoplaylist-menu-label" : u"Add file(s) to bottom of playlist", "addurlstoplaylist-menu-label" : u"Add URL(s) to bottom of playlist", + "editplaylist-menu-label": u"Edit playlist", "addusersfiletoplaylist-menu-label" : u"Add {} file to playlist", # item owner indicator "addusersstreamstoplaylist-menu-label" : u"Add {} stream to playlist", # item owner indicator diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py index dc62c85..7fec6a5 100644 --- a/syncplay/ui/gui.py +++ b/syncplay/ui/gui.py @@ -502,6 +502,7 @@ class MainWindow(QtGui.QMainWindow): menu.addSeparator() menu.addAction(QtGui.QPixmap(resourcespath + u"arrow_switch.png"), getMessage("shuffleplaylist-menuu-label"), lambda: self.shufflePlaylist()) menu.addAction(QtGui.QPixmap(resourcespath + u"arrow_undo.png"), getMessage("undoplaylist-menu-label"), lambda: self.undoPlaylistChange()) + menu.addAction(QtGui.QPixmap(resourcespath + u"film_edit.png"), getMessage("editplaylist-menu-label"), lambda: self.openEditPlaylistDialog()) menu.addAction(QtGui.QPixmap(resourcespath + u"film_add.png"),getMessage("addfilestoplaylist-menu-label"), lambda: self.OpenAddFilesToPlaylistDialog()) menu.addAction(QtGui.QPixmap(resourcespath + u"world_add.png"), getMessage("addurlstoplaylist-menu-label"), lambda: self.OpenAddURIsToPlaylistDialog()) menu.addSeparator() @@ -814,6 +815,36 @@ class MainWindow(QtGui.QMainWindow): self.addStreamToPlaylist(URI) self.updatingPlaylist = False + @needsClient + def openEditPlaylistDialog(self): + oldPlaylist = utils.getListAsMultilineString(self.getPlaylistState()) + editPlaylistDialog = QtGui.QDialog() + editPlaylistDialog.setWindowTitle(getMessage("editplaylist-msgbox-label")) + editPlaylistLayout = QtGui.QGridLayout() + editPlaylistLabel = QtGui.QLabel(getMessage("editplaylist-msgbox-label")) + editPlaylistLayout.addWidget(editPlaylistLabel, 0, 0, 1, 1) + editPlaylistTextbox = QtGui.QPlainTextEdit(oldPlaylist) + editPlaylistTextbox.setLineWrapMode(QtGui.QPlainTextEdit.NoWrap) + editPlaylistLayout.addWidget(editPlaylistTextbox, 1, 0, 1, 1) + editPlaylistButtonBox = QtGui.QDialogButtonBox() + editPlaylistButtonBox.setOrientation(Qt.Horizontal) + editPlaylistButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok|QtGui.QDialogButtonBox.Cancel) + editPlaylistButtonBox.accepted.connect(editPlaylistDialog.accept) + editPlaylistButtonBox.rejected.connect(editPlaylistDialog.reject) + editPlaylistLayout.addWidget(editPlaylistButtonBox, 2, 0, 1, 1) + editPlaylistDialog.setLayout(editPlaylistLayout) + editPlaylistDialog.setModal(True) + editPlaylistDialog.setMinimumWidth(600) + editPlaylistDialog.setMinimumHeight(500) + editPlaylistDialog.show() + result = editPlaylistDialog.exec_() + if result == QtGui.QDialog.Accepted: + newPlaylist = utils.convertMultilineStringToList(editPlaylistTextbox.toPlainText()) + if newPlaylist <> self.playlistState and self._syncplayClient and not self.updatingPlaylist: + self.setPlaylist(newPlaylist) + self._syncplayClient.playlist.changePlaylist(newPlaylist) + self._syncplayClient.fileSwitch.updateInfo() + @needsClient def openSetMediaDirectoriesDialog(self): MediaDirectoriesDialog = QtGui.QDialog()