Implemented buffed removal. Only works with audio searches at the moment
This commit is contained in:
parent
6914756719
commit
6a3ddaa489
@ -5,10 +5,12 @@ import messages
|
||||
import utils
|
||||
import posts
|
||||
import player
|
||||
import output
|
||||
from wxUI.tabs import home
|
||||
from pubsub import pub
|
||||
from sessionmanager import session
|
||||
from mysc.thread_utils import call_threaded
|
||||
from wxUI import commonMessages
|
||||
|
||||
class baseBuffer(object):
|
||||
""" a basic representation of a buffer. Other buffers should be derived from this class"""
|
||||
@ -117,6 +119,8 @@ class baseBuffer(object):
|
||||
def pause_audio(self, *args, **kwargs):
|
||||
player.player.pause()
|
||||
|
||||
def remove_buffer(self): return False
|
||||
|
||||
class feedBuffer(baseBuffer):
|
||||
|
||||
def get_items(self, show_nextpage=False):
|
||||
@ -161,6 +165,19 @@ class audioBuffer(feedBuffer):
|
||||
audios = [i for i in self.session.db[self.name]["items"][selected:]]
|
||||
pub.sendMessage("play-audios", audios=audios)
|
||||
|
||||
def remove_buffer(self):
|
||||
if "me_audio" == self.name or "popular_audio" == self.name or "recommended_audio" == self.name:
|
||||
output.speak(_(u"This buffer can't be deleted"))
|
||||
return False
|
||||
else:
|
||||
dlg = commonMessages.remove_buffer()
|
||||
if dlg == widgetUtils.YES:
|
||||
self.session.db.pop(self.name)
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
class empty(object):
|
||||
|
||||
def __init__(self, name=None, parent=None, *args, **kwargs):
|
||||
@ -171,4 +188,6 @@ class empty(object):
|
||||
pass
|
||||
|
||||
def update(self, *args, **kwargs):
|
||||
pass
|
||||
pass
|
||||
|
||||
def remove_buffer(self): return False
|
||||
|
@ -78,6 +78,7 @@ class Controller(object):
|
||||
widgetUtils.connect_event(self.window, widgetUtils.MENU, self.check_for_updates, menuitem=self.window.check_for_updates)
|
||||
widgetUtils.connect_event(self.window, widgetUtils.MENU, self.window.about_dialog, menuitem=self.window.about)
|
||||
widgetUtils.connect_event(self.window, widgetUtils.MENU, self.search_audios, menuitem=self.window.search_audios)
|
||||
widgetUtils.connect_event(self.window, widgetUtils.MENU,self.remove_buffer, menuitem=self.window.remove_buffer_)
|
||||
|
||||
def disconnect_events(self):
|
||||
pub.unsubscribe(self.in_post, "posted")
|
||||
@ -152,4 +153,14 @@ class Controller(object):
|
||||
self.window.insert_buffer(newbuff.tab, _(u"Search for {0}").format(q.decode("utf-8"),), self.window.search("audios"))
|
||||
|
||||
def update_status_bar(self, status):
|
||||
self.window.change_status(status)
|
||||
self.window.change_status(status)
|
||||
|
||||
def remove_buffer(self, *args, **kwargs):
|
||||
buffer = self.get_current_buffer()
|
||||
buff = self.window.search(buffer.name)
|
||||
answer = buffer.remove_buffer()
|
||||
if answer == False:
|
||||
return
|
||||
self.window.remove_buffer(buff)
|
||||
self.buffers.remove(buffer)
|
||||
del buffer
|
@ -6,4 +6,7 @@ def no_data_entered():
|
||||
return wx.MessageDialog(None, _(u"You must provide Both user and password."), _(u"Information needed"), wx.ICON_ERROR).ShowModal()
|
||||
|
||||
def no_update_available():
|
||||
return wx.MessageDialog(None, _(u"Your {0} version is up to date").format(application.name,), _(u"Update"), style=wx.OK).ShowModal()
|
||||
return wx.MessageDialog(None, _(u"Your {0} version is up to date").format(application.name,), _(u"Update"), style=wx.OK).ShowModal()
|
||||
|
||||
def remove_buffer():
|
||||
return wx.MessageDialog(None, _(u"Do you really want to dismiss this buffer?"), _(u"Attention"), style=wx.ICON_QUESTION|wx.YES_NO).ShowModal()
|
@ -12,6 +12,7 @@ class mainWindow(wx.Frame):
|
||||
self.update_buffer = buffer.Append(wx.NewId(), _(u"Update current buffer"))
|
||||
self.load_previous_items = buffer.Append(wx.NewId(), _(u"Load previous items"))
|
||||
self.load_previous_items.Enable(False)
|
||||
self.remove_buffer_ = buffer.Append(wx.NewId(), _(u"&Remove buffer"))
|
||||
mb.Append(buffer, _(u"Buffer"))
|
||||
help_ = wx.Menu()
|
||||
self.about = help_.Append(wx.NewId(), _(u"About {0}").format(application.name,))
|
||||
@ -84,13 +85,5 @@ class mainWindow(wx.Frame):
|
||||
info.AddDeveloper(application.author)
|
||||
wx.AboutBox(info)
|
||||
|
||||
def about_dialog(self, *args, **kwargs):
|
||||
info = wx.AboutDialogInfo()
|
||||
info.SetName(application.name)
|
||||
info.SetVersion(application.version)
|
||||
info.SetDescription(application.description)
|
||||
info.SetCopyright(application.copyright)
|
||||
# info.SetTranslators(application.translators)
|
||||
# info.SetLicence(application.licence)
|
||||
info.AddDeveloper(application.author)
|
||||
wx.AboutBox(info)
|
||||
def remove_buffer(self, pos):
|
||||
self.tb.DeletePage(pos)
|
Loading…
Reference in New Issue
Block a user