#include "base/mac/scoped_nsobject.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
+#include "base/prefs/pref_member.h"
+#include "ui/message_center/message_center.h"
#include "ui/message_center/message_center_tray_delegate.h"
@class MCPopupCollection;
public:
explicit MessageCenterTrayBridge(
message_center::MessageCenter* message_center);
- virtual ~MessageCenterTrayBridge();
+ ~MessageCenterTrayBridge() override;
// message_center::MessageCenterTrayDelegate:
- virtual void OnMessageCenterTrayChanged() OVERRIDE;
- virtual bool ShowPopups() OVERRIDE;
- virtual void HidePopups() OVERRIDE;
- virtual bool ShowMessageCenter() OVERRIDE;
- virtual void HideMessageCenter() OVERRIDE;
- virtual bool ShowNotifierSettings() OVERRIDE;
- virtual bool IsContextMenuEnabled() const OVERRIDE;
- virtual message_center::MessageCenterTray* GetMessageCenterTray() OVERRIDE;
+ void OnMessageCenterTrayChanged() override;
+ bool ShowPopups() override;
+ void HidePopups() override;
+ bool ShowMessageCenter() override;
+ void HideMessageCenter() override;
+ bool ShowNotifierSettings() override;
+ bool IsContextMenuEnabled() const override;
+ message_center::MessageCenterTray* GetMessageCenterTray() override;
message_center::MessageCenter* message_center() { return message_center_; }
// Opens the message center tray.
void OpenTrayWindow();
+ // Uses the pref controlled by the main menu to determine whether the status
+ // item should be shown.
+ bool ShouldShowStatusItem() const;
+
+ // Notifies that the user has changed the show menubar item preference.
+ void OnShowStatusItemChanged();
+
// The global, singleton message center model object. Weak.
message_center::MessageCenter* message_center_;
// Obj-C controller for the on-screen popup notifications.
base::scoped_nsobject<MCPopupCollection> popup_collection_;
+ // A PrefMember that calls OnShowStatusItemChanged when the pref is updated
+ // by the user's selection in the main menu.
+ BooleanPrefMember show_status_item_;
+
// Weak pointer factory to posts tasks to self.
base::WeakPtrFactory<MessageCenterTrayBridge> weak_ptr_factory_;