[geary/wip/766133-gnotification: 15/15] Ensure notifications are cleared on app activation
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/wip/766133-gnotification: 15/15] Ensure notifications are cleared on app activation
- Date: Tue, 16 Apr 2019 23:07:44 +0000 (UTC)
commit 2e0ee8cae8e95d76eda14d61beb60b99956a4f24
Author: Michael Gratton <mike vee net>
Date: Sun Apr 14 21:40:03 2019 +1000
Ensure notifications are cleared on app activation
Clear both new mail and send mail error notifications on activate, since
in the case of the former the new mail will be selected, and in the
case of the latter an error info bar will be displayed in the main
window.
src/client/application/geary-application.vala | 13 +++++++++++--
src/client/application/geary-controller.vala | 1 -
src/client/notification/notification-desktop.vala | 5 +++++
3 files changed, 16 insertions(+), 3 deletions(-)
---
diff --git a/src/client/application/geary-application.vala b/src/client/application/geary-application.vala
index 37ed88b8..1032e510 100644
--- a/src/client/application/geary-application.vala
+++ b/src/client/application/geary-application.vala
@@ -413,8 +413,17 @@ public class GearyApplication : Gtk.Application {
public override void activate() {
base.activate();
- if (!present())
- create_async.begin();
+ // Clear notifications immediately since we are showing a main
+ // window.
+
+ if (present()) {
+ this.controller.notifications.clear_all_notifications();
+ } else {
+ this.create_async.begin((obj, res) => {
+ this.create_async.end(res);
+ this.controller.notifications.clear_all_notifications();
+ });
+ }
}
public bool present() {
diff --git a/src/client/application/geary-controller.vala b/src/client/application/geary-controller.vala
index 50e95456..a624362b 100644
--- a/src/client/application/geary-controller.vala
+++ b/src/client/application/geary-controller.vala
@@ -2965,7 +2965,6 @@ public class GearyController : Geary.BaseObject {
case Geary.Protocol.SMTP:
context.account.outgoing.restart.begin(context.cancellable);
- this.notifications.clear_error_notification();
break;
}
}
diff --git a/src/client/notification/notification-desktop.vala
b/src/client/notification/notification-desktop.vala
index 356a6010..20876bd8 100644
--- a/src/client/notification/notification-desktop.vala
+++ b/src/client/notification/notification-desktop.vala
@@ -39,6 +39,11 @@ public class Notification.Desktop : Geary.BaseObject {
this.monitor.new_messages_arrived.disconnect(on_new_messages_arrived);
}
+ public void clear_all_notifications() {
+ clear_arrived_notification();
+ clear_error_notification();
+ }
+
public void clear_arrived_notification() {
this.application.withdraw_notification(ARRIVED_ID);
this.arrived_notification = null;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]