Close the previous notification on multiple calls to show

This commit is contained in:
Samuel Attard 2017-10-27 16:22:21 +13:00
parent e2d5aaf0f3
commit fe9069c028
2 changed files with 13 additions and 0 deletions

View file

@ -175,8 +175,16 @@ void Notification::NotificationDestroyed() {
void Notification::NotificationClosed() { void Notification::NotificationClosed() {
} }
void Notification::Close() {
if (notification_) {
notification_->Dismiss();
notification_.reset();
}
}
// Showing notifications // Showing notifications
void Notification::Show() { void Notification::Show() {
Close();
if (presenter_) { if (presenter_) {
notification_ = presenter_->CreateNotification(this); notification_ = presenter_->CreateNotification(this);
if (notification_) { if (notification_) {
@ -207,6 +215,7 @@ void Notification::BuildPrototype(v8::Isolate* isolate,
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate()) mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.MakeDestroyable() .MakeDestroyable()
.SetMethod("show", &Notification::Show) .SetMethod("show", &Notification::Show)
.SetMethod("close", &Notification::Close)
.SetProperty("title", &Notification::GetTitle, &Notification::SetTitle) .SetProperty("title", &Notification::GetTitle, &Notification::SetTitle)
.SetProperty("subtitle", &Notification::GetSubtitle, .SetProperty("subtitle", &Notification::GetSubtitle,
&Notification::SetSubtitle) &Notification::SetSubtitle)

View file

@ -104,6 +104,10 @@ HTML5 Notification implementation, simply instantiating a `new Notification` doe
not immediately show it to the user, you need to call this method before the OS not immediately show it to the user, you need to call this method before the OS
will display it. will display it.
#### `notification.close()`
Dismisses the notification
### Playing Sounds ### Playing Sounds
On macOS, you can specify the name of the sound you'd like to play when the On macOS, you can specify the name of the sound you'd like to play when the