quick_frontend(quick_widgets): deleteWidget can use additional arguments which will be passed to onDelete

This commit is contained in:
Goffi 2016-08-28 18:22:46 +02:00
commit 4785af58c6

View file

@ -250,13 +250,18 @@ class QuickWidgetsManager(object):
return widget
def deleteWidget(self, widget_to_delete):
def deleteWidget(self, widget_to_delete, *args, **kwargs):
"""Delete a widget
this method must be called by frontends when a widget is deleted
widget's onDelete method will be called before deletion
@param widget_to_delete(QuickWidget): widget which need to deleted
@param *args: extra arguments to pass to onDelete
@param *kwargs: extra keywords arguments to pass to onDelete
the extra arguments are not use by QuickFrontend, it's is up to
the frontend to use them or not
"""
if widget_to_delete.onDelete() == False:
if widget_to_delete.onDelete(*args, **kwargs) == False:
return
if self.host.selected_widget == widget_to_delete:
@ -339,7 +344,7 @@ class QuickWidget(object):
"""
return unicode(target) # by defaut, there is one hash for one target
def onDelete(self):
def onDelete(self, *args, **kwargs):
"""Called when a widget is being deleted
@return (boot, None): False to cancel deletion