summaryrefslogtreecommitdiffstats
path: root/chrome/browser/notifications/notification_options_menu_model.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/notifications/notification_options_menu_model.h')
-rw-r--r--chrome/browser/notifications/notification_options_menu_model.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/chrome/browser/notifications/notification_options_menu_model.h b/chrome/browser/notifications/notification_options_menu_model.h
index f7f4c77..022b7e0 100644
--- a/chrome/browser/notifications/notification_options_menu_model.h
+++ b/chrome/browser/notifications/notification_options_menu_model.h
@@ -9,6 +9,28 @@
#include "app/menus/simple_menu_model.h"
#include "chrome/browser/notifications/balloon.h"
+// Model for the corner-selection submenu.
+class CornerSelectionMenuModel : public menus::SimpleMenuModel,
+ public menus::SimpleMenuModel::Delegate {
+ public:
+ explicit CornerSelectionMenuModel(Balloon* balloon);
+ virtual ~CornerSelectionMenuModel();
+
+ // Overridden from menus::SimpleMenuModel::Delegate:
+ virtual bool IsCommandIdChecked(int command_id) const;
+ virtual bool IsCommandIdEnabled(int command_id) const;
+ virtual bool GetAcceleratorForCommandId(int command_id,
+ menus::Accelerator* accelerator);
+ virtual void ExecuteCommand(int command_id);
+
+ private:
+ // Not owned.
+ Balloon* balloon_;
+
+ DISALLOW_COPY_AND_ASSIGN(CornerSelectionMenuModel);
+};
+
+// Model for the notification options menu itself.
class NotificationOptionsMenuModel : public menus::SimpleMenuModel,
public menus::SimpleMenuModel::Delegate {
public:
@@ -29,6 +51,8 @@ class NotificationOptionsMenuModel : public menus::SimpleMenuModel,
private:
Balloon* balloon_; // Not owned.
+ scoped_ptr<CornerSelectionMenuModel> corner_menu_model_;
+
DISALLOW_COPY_AND_ASSIGN(NotificationOptionsMenuModel);
};