Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(772)

Side by Side Diff: ui/message_center/views/notifier_settings_view.h

Issue 2300893002: Make notifier settings combobox a real combobox. (Closed)
Patch Set: remove dbg code Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_MESSAGE_CENTER_VIEWS_NOTIFIER_SETTINGS_VIEW_H_ 5 #ifndef UI_MESSAGE_CENTER_VIEWS_NOTIFIER_SETTINGS_VIEW_H_
6 #define UI_MESSAGE_CENTER_VIEWS_NOTIFIER_SETTINGS_VIEW_H_ 6 #define UI_MESSAGE_CENTER_VIEWS_NOTIFIER_SETTINGS_VIEW_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <set> 9 #include <set>
10 10
11 #include "base/gtest_prod_util.h" 11 #include "base/gtest_prod_util.h"
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "ui/message_center/message_center_export.h" 13 #include "ui/message_center/message_center_export.h"
14 #include "ui/message_center/notifier_settings.h" 14 #include "ui/message_center/notifier_settings.h"
15 #include "ui/message_center/views/message_bubble_base.h" 15 #include "ui/message_center/views/message_bubble_base.h"
16 #include "ui/views/controls/button/checkbox.h" 16 #include "ui/views/controls/button/checkbox.h"
17 #include "ui/views/controls/button/image_button.h" 17 #include "ui/views/controls/button/image_button.h"
18 #include "ui/views/controls/button/menu_button_listener.h" 18 #include "ui/views/controls/combobox/combobox_listener.h"
19 #include "ui/views/controls/image_view.h" 19 #include "ui/views/controls/image_view.h"
20 #include "ui/views/view.h" 20 #include "ui/views/view.h"
21 21
22 namespace ui {
23 class ComboboxModel;
24 }
25
22 namespace views { 26 namespace views {
27 class Combobox;
23 class Label; 28 class Label;
24 class MenuButton;
25 class MenuRunner;
26 } 29 }
27 30
28 namespace message_center { 31 namespace message_center {
29 class NotifierGroupMenuModel;
30 32
31 // A class to show the list of notifier extensions / URL patterns and allow 33 // A class to show the list of notifier extensions / URL patterns and allow
32 // users to customize the settings. 34 // users to customize the settings.
33 class MESSAGE_CENTER_EXPORT NotifierSettingsView 35 class MESSAGE_CENTER_EXPORT NotifierSettingsView
34 : public NotifierSettingsObserver, 36 : public NotifierSettingsObserver,
35 public views::View, 37 public views::View,
36 public views::ButtonListener, 38 public views::ButtonListener,
37 public views::MenuButtonListener { 39 public views::ComboboxListener {
38 public: 40 public:
39 explicit NotifierSettingsView(NotifierSettingsProvider* provider); 41 explicit NotifierSettingsView(NotifierSettingsProvider* provider);
40 ~NotifierSettingsView() override; 42 ~NotifierSettingsView() override;
41 43
42 bool IsScrollable(); 44 bool IsScrollable();
43 45
44 // Overridden from NotifierSettingsDelegate: 46 // Overridden from NotifierSettingsDelegate:
45 void UpdateIconImage(const NotifierId& notifier_id, 47 void UpdateIconImage(const NotifierId& notifier_id,
46 const gfx::Image& icon) override; 48 const gfx::Image& icon) override;
47 void NotifierGroupChanged() override; 49 void NotifierGroupChanged() override;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 // Overridden from views::View: 101 // Overridden from views::View:
100 void Layout() override; 102 void Layout() override;
101 gfx::Size GetMinimumSize() const override; 103 gfx::Size GetMinimumSize() const override;
102 gfx::Size GetPreferredSize() const override; 104 gfx::Size GetPreferredSize() const override;
103 bool OnKeyPressed(const ui::KeyEvent& event) override; 105 bool OnKeyPressed(const ui::KeyEvent& event) override;
104 bool OnMouseWheel(const ui::MouseWheelEvent& event) override; 106 bool OnMouseWheel(const ui::MouseWheelEvent& event) override;
105 107
106 // Overridden from views::ButtonListener: 108 // Overridden from views::ButtonListener:
107 void ButtonPressed(views::Button* sender, const ui::Event& event) override; 109 void ButtonPressed(views::Button* sender, const ui::Event& event) override;
108 110
109 // Overridden from views::MenuButtonListener: 111 // Overridden from views::ComboboxListener:
110 void OnMenuButtonClicked(views::MenuButton* source, 112 void OnPerformAction(views::Combobox* combobox) override;
111 const gfx::Point& point,
112 const ui::Event* event) override;
113 113
114 views::ImageButton* title_arrow_; 114 views::ImageButton* title_arrow_;
115 views::Label* title_label_; 115 views::Label* title_label_;
116 views::MenuButton* notifier_group_selector_; 116 views::Combobox* notifier_group_combobox_;
117 views::ScrollView* scroller_; 117 views::ScrollView* scroller_;
118 NotifierSettingsProvider* provider_; 118 NotifierSettingsProvider* provider_;
119 std::set<NotifierButton*> buttons_; 119 std::set<NotifierButton*> buttons_;
120 std::unique_ptr<NotifierGroupMenuModel> notifier_group_menu_model_; 120 std::unique_ptr<ui::ComboboxModel> notifier_group_model_;
121 std::unique_ptr<views::MenuRunner> notifier_group_menu_runner_;
122 121
123 DISALLOW_COPY_AND_ASSIGN(NotifierSettingsView); 122 DISALLOW_COPY_AND_ASSIGN(NotifierSettingsView);
124 }; 123 };
125 124
126 } // namespace message_center 125 } // namespace message_center
127 126
128 #endif // UI_MESSAGE_CENTER_VIEWS_NOTIFIER_SETTINGS_VIEW_H_ 127 #endif // UI_MESSAGE_CENTER_VIEWS_NOTIFIER_SETTINGS_VIEW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698