Fix subscription notification clearing
This commit is contained in:
parent
bc5a1d35cb
commit
2fba24ccae
|
@ -606,6 +606,12 @@ public class ConversationView : Widget, Plugins.ConversationItemCollection, Plug
|
||||||
widget.dispose();
|
widget.dispose();
|
||||||
}
|
}
|
||||||
widgets.clear();
|
widgets.clear();
|
||||||
|
|
||||||
|
Widget? notification = notifications.get_first_child();
|
||||||
|
while (notification != null) {
|
||||||
|
notifications.remove(notification);
|
||||||
|
notification = notifications.get_first_child();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void clear_notifications() {
|
private void clear_notifications() {
|
||||||
|
|
|
@ -273,23 +273,28 @@ public class Dino.Ui.FreeDesktopNotifier : NotificationProvider, Object {
|
||||||
}
|
}
|
||||||
|
|
||||||
public async void retract_content_item_notifications() {
|
public async void retract_content_item_notifications() {
|
||||||
if (content_notifications != null) {
|
foreach (uint32 id in content_notifications.values) {
|
||||||
foreach (uint32 id in content_notifications.values) {
|
try {
|
||||||
try {
|
dbus_notifications.close_notification.begin(id);
|
||||||
dbus_notifications.close_notification.begin(id);
|
} catch (Error e) { }
|
||||||
} catch (Error e) { }
|
|
||||||
}
|
|
||||||
content_notifications.clear();
|
|
||||||
}
|
}
|
||||||
|
content_notifications.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async void retract_conversation_notifications(Conversation conversation) {
|
public async void retract_conversation_notifications(Conversation conversation) {
|
||||||
if (content_notifications.has_key(conversation)) {
|
try {
|
||||||
try {
|
if (content_notifications.has_key(conversation)) {
|
||||||
dbus_notifications.close_notification.begin(content_notifications[conversation]);
|
dbus_notifications.close_notification.begin(content_notifications[conversation]);
|
||||||
} catch (Error e) { }
|
content_notifications.unset(conversation);
|
||||||
}
|
}
|
||||||
content_notifications.unset(conversation);
|
|
||||||
|
if (conversation_notifications.has_key(conversation)) {
|
||||||
|
foreach (var notification_id in conversation_notifications[conversation]) {
|
||||||
|
dbus_notifications.close_notification.begin(notification_id);
|
||||||
|
}
|
||||||
|
conversation_notifications.unset(conversation);
|
||||||
|
}
|
||||||
|
} catch (Error e) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Variant get_conversation_icon(Conversation conversation) {
|
private async Variant get_conversation_icon(Conversation conversation) {
|
||||||
|
|
Loading…
Reference in a new issue