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::Close() {
if (notification_) {
notification_->Dismiss();
notification_.reset();
}
}
// Showing notifications
void Notification::Show() {
Close();
if (presenter_) {
notification_ = presenter_->CreateNotification(this);
if (notification_) {
@ -207,6 +215,7 @@ void Notification::BuildPrototype(v8::Isolate* isolate,
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.MakeDestroyable()
.SetMethod("show", &Notification::Show)
.SetMethod("close", &Notification::Close)
.SetProperty("title", &Notification::GetTitle, &Notification::SetTitle)
.SetProperty("subtitle", &Notification::GetSubtitle,
&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
will display it.
#### `notification.close()`
Dismisses the notification
### Playing Sounds
On macOS, you can specify the name of the sound you'd like to play when the