Plumb in the macOS soundName property for notifications.
This commit is contained in:
		
					parent
					
						
							
								4bc4a0c45b
							
						
					
				
			
			
				commit
				
					
						0cfae1cc2b
					
				
			
		
					 5 changed files with 20 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -67,6 +67,7 @@ Notification::Notification(v8::Isolate* isolate,
 | 
			
		|||
    opts.Get("replyPlaceholder", &reply_placeholder_);
 | 
			
		||||
    opts.Get("hasReply", &has_reply_);
 | 
			
		||||
    opts.Get("actions", &actions_);
 | 
			
		||||
    opts.Get("soundName", &sound_name_);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -113,6 +114,10 @@ std::vector<brightray::NotificationAction> Notification::GetActions() const {
 | 
			
		|||
  return actions_;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
base::string16 Notification::GetSoundName() const {
 | 
			
		||||
  return sound_name_;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Setters
 | 
			
		||||
void Notification::SetTitle(const base::string16& new_title) {
 | 
			
		||||
  title_ = new_title;
 | 
			
		||||
| 
						 | 
				
			
			@ -143,6 +148,10 @@ void Notification::SetActions(
 | 
			
		|||
  actions_ = actions;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Notification::SetSoundName(const base::string16& new_sound_name) {
 | 
			
		||||
  sound_name_ = new_sound_name;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Notification::NotificationAction(int index) {
 | 
			
		||||
  Emit("action", index);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -181,6 +190,7 @@ void Notification::Show() {
 | 
			
		|||
      options.has_reply = has_reply_;
 | 
			
		||||
      options.reply_placeholder = reply_placeholder_;
 | 
			
		||||
      options.actions = actions_;
 | 
			
		||||
      options.sound_name = sound_name_;
 | 
			
		||||
      notification_->Show(options);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -207,7 +217,9 @@ void Notification::BuildPrototype(v8::Isolate* isolate,
 | 
			
		|||
      .SetProperty("hasReply", &Notification::GetHasReply,
 | 
			
		||||
                   &Notification::SetHasReply)
 | 
			
		||||
      .SetProperty("actions", &Notification::GetActions,
 | 
			
		||||
                   &Notification::SetActions);
 | 
			
		||||
                   &Notification::SetActions)
 | 
			
		||||
      .SetProperty("soundName", &Notification::GetSoundName,
 | 
			
		||||
                   &Notification::SetSoundName);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
}  // namespace api
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,6 +54,7 @@ class Notification : public mate::TrackableObject<Notification>,
 | 
			
		|||
  base::string16 GetReplyPlaceholder() const;
 | 
			
		||||
  bool GetHasReply() const;
 | 
			
		||||
  std::vector<brightray::NotificationAction> GetActions() const;
 | 
			
		||||
  base::string16 GetSoundName() const;
 | 
			
		||||
 | 
			
		||||
  // Prop Setters
 | 
			
		||||
  void SetTitle(const base::string16& new_title);
 | 
			
		||||
| 
						 | 
				
			
			@ -63,6 +64,7 @@ class Notification : public mate::TrackableObject<Notification>,
 | 
			
		|||
  void SetReplyPlaceholder(const base::string16& new_reply_placeholder);
 | 
			
		||||
  void SetHasReply(bool new_has_reply);
 | 
			
		||||
  void SetActions(const std::vector<brightray::NotificationAction>& actions);
 | 
			
		||||
  void SetSoundName(const base::string16& sound_name);
 | 
			
		||||
 | 
			
		||||
 private:
 | 
			
		||||
  base::string16 title_;
 | 
			
		||||
| 
						 | 
				
			
			@ -75,6 +77,7 @@ class Notification : public mate::TrackableObject<Notification>,
 | 
			
		|||
  base::string16 reply_placeholder_;
 | 
			
		||||
  bool has_reply_ = false;
 | 
			
		||||
  std::vector<brightray::NotificationAction> actions_;
 | 
			
		||||
  base::string16 sound_name_;
 | 
			
		||||
 | 
			
		||||
  brightray::NotificationPresenter* presenter_;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,6 +39,8 @@ void CocoaNotification::Show(const NotificationOptions& options) {
 | 
			
		|||
 | 
			
		||||
  if (options.silent) {
 | 
			
		||||
    [notification_ setSoundName:nil];
 | 
			
		||||
  } else if (options.sound_name != nil) {
 | 
			
		||||
    [notification_ setSoundName:base::SysUTF16ToNSString(options.sound_name)];
 | 
			
		||||
  } else {
 | 
			
		||||
    [notification_ setSoundName:NSUserNotificationDefaultSoundName];
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,6 +33,7 @@ struct NotificationOptions {
 | 
			
		|||
  bool silent;
 | 
			
		||||
  bool has_reply;
 | 
			
		||||
  base::string16 reply_placeholder;
 | 
			
		||||
  base::string16 sound_name;
 | 
			
		||||
  std::vector<NotificationAction> actions;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,6 +37,7 @@ Returns `Boolean` - Whether or not desktop notifications are supported on the cu
 | 
			
		|||
  * `icon` [NativeImage](native-image.md) - (optional) An icon to use in the notification
 | 
			
		||||
  * `hasReply` Boolean - (optional) Whether or not to add an inline reply option to the notification.  _macOS_
 | 
			
		||||
  * `replyPlaceholder` String - (optional) The placeholder to write in the inline reply input field. _macOS_
 | 
			
		||||
  * `soundName` String - (optional) The name of the sound file to play when the notification is shown. _macOS_
 | 
			
		||||
  * `actions` [NotificationAction[]](structures/notification-action.md) - (optional) Actions to add to the notification.  Please read the available actions and limitations in the `NotificationAction` documentation _macOS_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue