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

Side by Side Diff: ui/views/window/dialog_client_view.cc

Issue 8508055: Move views::Accelerator to ui in order to use it from aura code. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase Created 9 years, 1 month 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
« no previous file with comments | « ui/views/window/dialog_client_view.h ('k') | views/accelerator.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "views/window/dialog_client_view.h" 5 #include "views/window/dialog_client_view.h"
6 6
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 8
9 #if defined(OS_WIN) 9 #if defined(OS_WIN)
10 #include <windows.h> 10 #include <windows.h>
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 ui::DialogButton type, 70 ui::DialogButton type,
71 const string16& title, 71 const string16& title,
72 bool is_default) 72 bool is_default)
73 : NativeTextButton(listener, title), 73 : NativeTextButton(listener, title),
74 owner_(owner), 74 owner_(owner),
75 type_(type) { 75 type_(type) {
76 SetIsDefault(is_default); 76 SetIsDefault(is_default);
77 } 77 }
78 78
79 // Overridden to forward to the delegate. 79 // Overridden to forward to the delegate.
80 virtual bool AcceleratorPressed(const Accelerator& accelerator) { 80 virtual bool AcceleratorPressed(const ui::Accelerator& accelerator) {
81 if (!owner_->widget_delegate()->AsDialogDelegate()-> 81 if (!owner_->widget_delegate()->AsDialogDelegate()->
82 AreAcceleratorsEnabled(type_)) { 82 AreAcceleratorsEnabled(type_)) {
83 return false; 83 return false;
84 } 84 }
85 return NativeTextButton::AcceleratorPressed(accelerator); 85 return NativeTextButton::AcceleratorPressed(accelerator);
86 } 86 }
87 87
88 private: 88 private:
89 Widget* owner_; 89 Widget* owner_;
90 const ui::DialogButton type_; 90 const ui::DialogButton type_;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 (dd->GetDefaultDialogButton() & ui::DIALOG_BUTTON_OK) != 0; 135 (dd->GetDefaultDialogButton() & ui::DIALOG_BUTTON_OK) != 0;
136 ok_button_ = new DialogButton(this, 136 ok_button_ = new DialogButton(this,
137 GetWidget(), 137 GetWidget(),
138 ui::DIALOG_BUTTON_OK, 138 ui::DIALOG_BUTTON_OK,
139 label, 139 label,
140 is_default_button); 140 is_default_button);
141 ok_button_->SetGroup(kButtonGroup); 141 ok_button_->SetGroup(kButtonGroup);
142 if (is_default_button) 142 if (is_default_button)
143 default_button_ = ok_button_; 143 default_button_ = ok_button_;
144 if (!(buttons & ui::DIALOG_BUTTON_CANCEL)) 144 if (!(buttons & ui::DIALOG_BUTTON_CANCEL))
145 ok_button_->AddAccelerator(Accelerator(ui::VKEY_ESCAPE, 145 ok_button_->AddAccelerator(ui::Accelerator(ui::VKEY_ESCAPE,
146 false, false, false)); 146 false, false, false));
147 AddChildView(ok_button_); 147 AddChildView(ok_button_);
148 } 148 }
149 if (buttons & ui::DIALOG_BUTTON_CANCEL && !cancel_button_) { 149 if (buttons & ui::DIALOG_BUTTON_CANCEL && !cancel_button_) {
150 string16 label = 150 string16 label =
151 dd->GetDialogButtonLabel(ui::DIALOG_BUTTON_CANCEL); 151 dd->GetDialogButtonLabel(ui::DIALOG_BUTTON_CANCEL);
152 if (label.empty()) { 152 if (label.empty()) {
153 if (buttons & ui::DIALOG_BUTTON_OK) { 153 if (buttons & ui::DIALOG_BUTTON_OK) {
154 label = l10n_util::GetStringUTF16(IDS_APP_CANCEL); 154 label = l10n_util::GetStringUTF16(IDS_APP_CANCEL);
155 } else { 155 } else {
156 label = l10n_util::GetStringUTF16(IDS_APP_CLOSE); 156 label = l10n_util::GetStringUTF16(IDS_APP_CLOSE);
157 } 157 }
158 } 158 }
159 bool is_default_button = 159 bool is_default_button =
160 (dd->GetDefaultDialogButton() & ui::DIALOG_BUTTON_CANCEL) 160 (dd->GetDefaultDialogButton() & ui::DIALOG_BUTTON_CANCEL)
161 != 0; 161 != 0;
162 cancel_button_ = new DialogButton(this, 162 cancel_button_ = new DialogButton(this,
163 GetWidget(), 163 GetWidget(),
164 ui::DIALOG_BUTTON_CANCEL, 164 ui::DIALOG_BUTTON_CANCEL,
165 label, 165 label,
166 is_default_button); 166 is_default_button);
167 cancel_button_->SetGroup(kButtonGroup); 167 cancel_button_->SetGroup(kButtonGroup);
168 cancel_button_->AddAccelerator(Accelerator(ui::VKEY_ESCAPE, 168 cancel_button_->AddAccelerator(ui::Accelerator(ui::VKEY_ESCAPE,
169 false, false, false)); 169 false, false, false));
170 if (is_default_button) 170 if (is_default_button)
171 default_button_ = ok_button_; 171 default_button_ = ok_button_;
172 AddChildView(cancel_button_); 172 AddChildView(cancel_button_);
173 } 173 }
174 if (!buttons) { 174 if (!buttons) {
175 // Register the escape key as an accelerator which will close the window 175 // Register the escape key as an accelerator which will close the window
176 // if there are no dialog buttons. 176 // if there are no dialog buttons.
177 AddAccelerator(Accelerator(ui::VKEY_ESCAPE, false, false, false)); 177 AddAccelerator(ui::Accelerator(ui::VKEY_ESCAPE, false, false, false));
178 } 178 }
179 } 179 }
180 180
181 void DialogClientView::SetDefaultButton(NativeTextButton* new_default_button) { 181 void DialogClientView::SetDefaultButton(NativeTextButton* new_default_button) {
182 if (default_button_ && default_button_ != new_default_button) { 182 if (default_button_ && default_button_ != new_default_button) {
183 default_button_->SetIsDefault(false); 183 default_button_->SetIsDefault(false);
184 default_button_ = NULL; 184 default_button_ = NULL;
185 } 185 }
186 186
187 if (new_default_button) { 187 if (new_default_button) {
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 } 399 }
400 } 400 }
401 if (bottom_view_) { 401 if (bottom_view_) {
402 gfx::Size bottom_pref = bottom_view_->GetPreferredSize(); 402 gfx::Size bottom_pref = bottom_view_->GetPreferredSize();
403 prefsize.Enlarge(0, bottom_pref.height() + kButtonVEdgeMargin); 403 prefsize.Enlarge(0, bottom_pref.height() + kButtonVEdgeMargin);
404 } 404 }
405 prefsize.Enlarge(0, button_height); 405 prefsize.Enlarge(0, button_height);
406 return prefsize; 406 return prefsize;
407 } 407 }
408 408
409 bool DialogClientView::AcceleratorPressed(const Accelerator& accelerator) { 409 bool DialogClientView::AcceleratorPressed(const ui::Accelerator& accelerator) {
410 // We only expect Escape key. 410 // We only expect Escape key.
411 DCHECK(accelerator.key_code() == ui::VKEY_ESCAPE); 411 DCHECK(accelerator.key_code() == ui::VKEY_ESCAPE);
412 Close(); 412 Close();
413 return true; 413 return true;
414 } 414 }
415 415
416 //////////////////////////////////////////////////////////////////////////////// 416 ////////////////////////////////////////////////////////////////////////////////
417 // DialogClientView, ButtonListener implementation: 417 // DialogClientView, ButtonListener implementation:
418 418
419 void DialogClientView::ButtonPressed( 419 void DialogClientView::ButtonPressed(
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 void DialogClientView::InitClass() { 582 void DialogClientView::InitClass() {
583 static bool initialized = false; 583 static bool initialized = false;
584 if (!initialized) { 584 if (!initialized) {
585 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 585 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
586 dialog_button_font_ = new gfx::Font(rb.GetFont(ResourceBundle::BaseFont)); 586 dialog_button_font_ = new gfx::Font(rb.GetFont(ResourceBundle::BaseFont));
587 initialized = true; 587 initialized = true;
588 } 588 }
589 } 589 }
590 590
591 } // namespace views 591 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/window/dialog_client_view.h ('k') | views/accelerator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698