mirror of
https://github.com/SoongNoonien/mpdevil.git
synced 2023-08-10 21:12:44 +03:00
merged move and delete function of PlaylistWindow
This commit is contained in:
parent
f41e075fc1
commit
46d4864f8a
20
bin/mpdevil
20
bin/mpdevil
@ -2744,23 +2744,13 @@ class PlaylistWindow(Gtk.Box):
|
|||||||
except:
|
except:
|
||||||
self._selection.unselect_all()
|
self._selection.unselect_all()
|
||||||
|
|
||||||
def _remove_song(self, path):
|
|
||||||
self._store.handler_block(self._row_inserted)
|
|
||||||
self._store.handler_block(self._row_deleted)
|
|
||||||
self._client.wrapped_call("delete", path) # bad song index possible
|
|
||||||
self._store.remove(self._store.get_iter(path))
|
|
||||||
self._playlist_version=self._client.wrapped_call("status")["playlist"]
|
|
||||||
self._store.handler_unblock(self._row_inserted)
|
|
||||||
self._store.handler_unblock(self._row_deleted)
|
|
||||||
|
|
||||||
def _on_key_press_event(self, widget, event):
|
def _on_key_press_event(self, widget, event):
|
||||||
self._treeview.handler_block(self._key_press_event)
|
self._treeview.handler_block(self._key_press_event)
|
||||||
if event.keyval == Gdk.keyval_from_name("Delete"):
|
if event.keyval == Gdk.keyval_from_name("Delete"):
|
||||||
treeview, treeiter=self._selection.get_selected()
|
treeview, treeiter=self._selection.get_selected()
|
||||||
if treeiter is not None:
|
if treeiter is not None:
|
||||||
path=self._store.get_path(treeiter)
|
|
||||||
try:
|
try:
|
||||||
self._remove_song(path)
|
self._store.remove(treeiter)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
elif event.keyval == Gdk.keyval_from_name("Menu"):
|
elif event.keyval == Gdk.keyval_from_name("Menu"):
|
||||||
@ -2778,7 +2768,7 @@ class PlaylistWindow(Gtk.Box):
|
|||||||
if event.button == 2 and event.type == Gdk.EventType.BUTTON_PRESS:
|
if event.button == 2 and event.type == Gdk.EventType.BUTTON_PRESS:
|
||||||
try:
|
try:
|
||||||
path=widget.get_path_at_pos(int(event.x), int(event.y))[0]
|
path=widget.get_path_at_pos(int(event.x), int(event.y))[0]
|
||||||
self._remove_song(path)
|
self._store.remove(self._store.get_iter(path))
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
elif event.button == 3 and event.type == Gdk.EventType.BUTTON_PRESS:
|
elif event.button == 3 and event.type == Gdk.EventType.BUTTON_PRESS:
|
||||||
@ -2789,7 +2779,8 @@ class PlaylistWindow(Gtk.Box):
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def _on_row_deleted(self, model, path):
|
def _on_row_deleted(self, model, path): # sync treeview to mpd
|
||||||
|
if self._inserted_path is not None: # move
|
||||||
path=int(path.to_string())
|
path=int(path.to_string())
|
||||||
if path > self._inserted_path:
|
if path > self._inserted_path:
|
||||||
path=path-1
|
path=path-1
|
||||||
@ -2797,6 +2788,9 @@ class PlaylistWindow(Gtk.Box):
|
|||||||
self._inserted_path=self._inserted_path-1
|
self._inserted_path=self._inserted_path-1
|
||||||
self._client.wrapped_call("move", path, self._inserted_path)
|
self._client.wrapped_call("move", path, self._inserted_path)
|
||||||
self._inserted_path=None
|
self._inserted_path=None
|
||||||
|
else: # delete
|
||||||
|
self._client.wrapped_call("delete", path) # bad song index possible
|
||||||
|
self._playlist_version=self._client.wrapped_call("status")["playlist"]
|
||||||
|
|
||||||
def _on_row_inserted(self, model, path, treeiter):
|
def _on_row_inserted(self, model, path, treeiter):
|
||||||
self._inserted_path=int(path.to_string())
|
self._inserted_path=int(path.to_string())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user