quick frontends (widgets): added widgetNew and widgetDelete listeners:
- `widgetNew` is called when a brand new widget is created (not when a new instance is created if there is already an existing one) - `widgetDelete` is called when all instances of a widget (with a given widget_hash) have been deleted.
This commit is contained in:
parent
03204f56b9
commit
aa203d4a49
3 changed files with 13 additions and 4 deletions
|
|
@ -99,13 +99,15 @@ class Const(constants.Const):
|
|||
"nick",
|
||||
"presence",
|
||||
"selected",
|
||||
"notification",
|
||||
"notificationsClear",
|
||||
"widgetNew",
|
||||
"widgetDeleted",
|
||||
"profilePlugged",
|
||||
"contactsFilled",
|
||||
"disconnect",
|
||||
"gotMenus",
|
||||
"menu",
|
||||
"notification",
|
||||
"notificationsClear",
|
||||
"progressFinished",
|
||||
"progressError",
|
||||
}
|
||||
|
|
|
|||
|
|
@ -560,8 +560,13 @@ class QuickApp(object):
|
|||
args: (selected_widget,)
|
||||
- notification: called when a new notification is emited
|
||||
args: (entity, notification_data, profile)
|
||||
- notification_clear: called when notifications are cleared
|
||||
- notificationsClear: called when notifications are cleared
|
||||
args: (entity, type_, profile)
|
||||
- widgetNew: a new QuickWidget has been created
|
||||
args: (widget,)
|
||||
- widgetDeleted: all instances of a widget with specific hash have been
|
||||
deleted
|
||||
args: (widget_deleted,)
|
||||
- menu: called when a menu item is added or removed
|
||||
args: (type_, path, path_i18n, item) were values are:
|
||||
type_: same as in [sat.core.sat_main.SAT.importMenu]
|
||||
|
|
|
|||
|
|
@ -231,9 +231,10 @@ class QuickWidgetsManager(object):
|
|||
|
||||
if widget is None:
|
||||
# we need to create a new widget
|
||||
log.debug("Creating new widget for target {} {}".format(target, cls))
|
||||
log.debug(f"Creating new widget for target {target} {cls}")
|
||||
widget = cls(*_args, **_kwargs)
|
||||
widgets_map.setdefault(hash_, []).append(widget)
|
||||
self.host.callListeners("widgetNew", widget)
|
||||
|
||||
if on_new_widget == C.WIDGET_NEW:
|
||||
self.host.newWidget(widget)
|
||||
|
|
@ -341,6 +342,7 @@ class QuickWidgetsManager(object):
|
|||
del widgets_map[widget_hash]
|
||||
log.debug("All instances of {cls} with hash {widget_hash!r} have been deleted"
|
||||
.format(cls=class_, widget_hash=widget_hash))
|
||||
self.host.callListeners("widgetDeleted", widget_to_delete)
|
||||
|
||||
|
||||
class QuickWidget(object):
|
||||
|
|
|
|||
Loading…
Reference in a new issue