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

Side by Side Diff: ui/views/controls/textfield/native_textfield_views.cc

Issue 9250016: Aura: Add "Edit Search Engines" option to the aura omnibox context menu. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch Created 8 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ui/views/controls/textfield/native_textfield_views.h" 5 #include "ui/views/controls/textfield/native_textfield_views.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 return model_->HasSelection(); 551 return model_->HasSelection();
552 case IDS_APP_PASTE: 552 case IDS_APP_PASTE:
553 ViewsDelegate::views_delegate->GetClipboard() 553 ViewsDelegate::views_delegate->GetClipboard()
554 ->ReadText(ui::Clipboard::BUFFER_STANDARD, &result); 554 ->ReadText(ui::Clipboard::BUFFER_STANDARD, &result);
555 return editable && !result.empty(); 555 return editable && !result.empty();
556 case IDS_APP_DELETE: 556 case IDS_APP_DELETE:
557 return editable && model_->HasSelection(); 557 return editable && model_->HasSelection();
558 case IDS_APP_SELECT_ALL: 558 case IDS_APP_SELECT_ALL:
559 return true; 559 return true;
560 default: 560 default:
561 NOTREACHED(); 561 return textfield_->GetController()->IsCommandIdEnabled(command_id);
562 return false;
563 } 562 }
564 } 563 }
565 564
566 bool NativeTextfieldViews::GetAcceleratorForCommandId(int command_id, 565 bool NativeTextfieldViews::GetAcceleratorForCommandId(int command_id,
567 ui::Accelerator* accelerator) { 566 ui::Accelerator* accelerator) {
568 return false; 567 return false;
569 } 568 }
570 569
571 void NativeTextfieldViews::ExecuteCommand(int command_id) { 570 void NativeTextfieldViews::ExecuteCommand(int command_id) {
572 bool text_changed = false; 571 bool text_changed = false;
(...skipping 12 matching lines...) Expand all
585 text_changed = Paste(); 584 text_changed = Paste();
586 break; 585 break;
587 case IDS_APP_DELETE: 586 case IDS_APP_DELETE:
588 if (editable) 587 if (editable)
589 text_changed = model_->Delete(); 588 text_changed = model_->Delete();
590 break; 589 break;
591 case IDS_APP_SELECT_ALL: 590 case IDS_APP_SELECT_ALL:
592 SelectAll(); 591 SelectAll();
593 break; 592 break;
594 default: 593 default:
595 NOTREACHED() << "unknown command: " << command_id; 594 textfield_->GetController()->ExecuteCommand(command_id);
596 break; 595 break;
597 } 596 }
598 597
599 // The cursor must have changed if text changed during cut/paste/delete. 598 // The cursor must have changed if text changed during cut/paste/delete.
600 UpdateAfterChange(text_changed, text_changed); 599 UpdateAfterChange(text_changed, text_changed);
601 OnAfterUserAction(); 600 OnAfterUserAction();
602 } 601 }
603 602
604 void NativeTextfieldViews::ApplyStyleRange(const gfx::StyleRange& style) { 603 void NativeTextfieldViews::ApplyStyleRange(const gfx::StyleRange& style) {
605 GetRenderText()->ApplyStyleRange(style); 604 GetRenderText()->ApplyStyleRange(style);
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
979 void NativeTextfieldViews::UpdateContextMenu() { 978 void NativeTextfieldViews::UpdateContextMenu() {
980 if (!context_menu_contents_.get()) { 979 if (!context_menu_contents_.get()) {
981 context_menu_contents_.reset(new ui::SimpleMenuModel(this)); 980 context_menu_contents_.reset(new ui::SimpleMenuModel(this));
982 context_menu_contents_->AddItemWithStringId(IDS_APP_CUT, IDS_APP_CUT); 981 context_menu_contents_->AddItemWithStringId(IDS_APP_CUT, IDS_APP_CUT);
983 context_menu_contents_->AddItemWithStringId(IDS_APP_COPY, IDS_APP_COPY); 982 context_menu_contents_->AddItemWithStringId(IDS_APP_COPY, IDS_APP_COPY);
984 context_menu_contents_->AddItemWithStringId(IDS_APP_PASTE, IDS_APP_PASTE); 983 context_menu_contents_->AddItemWithStringId(IDS_APP_PASTE, IDS_APP_PASTE);
985 context_menu_contents_->AddItemWithStringId(IDS_APP_DELETE, IDS_APP_DELETE); 984 context_menu_contents_->AddItemWithStringId(IDS_APP_DELETE, IDS_APP_DELETE);
986 context_menu_contents_->AddSeparator(); 985 context_menu_contents_->AddSeparator();
987 context_menu_contents_->AddItemWithStringId(IDS_APP_SELECT_ALL, 986 context_menu_contents_->AddItemWithStringId(IDS_APP_SELECT_ALL,
988 IDS_APP_SELECT_ALL); 987 IDS_APP_SELECT_ALL);
988 textfield_->GetController()->UpdateContextMenu(
989 context_menu_contents_.get());
989 990
990 context_menu_delegate_.reset( 991 context_menu_delegate_.reset(
991 new views::MenuModelAdapter(context_menu_contents_.get())); 992 new views::MenuModelAdapter(context_menu_contents_.get()));
992 context_menu_runner_.reset( 993 context_menu_runner_.reset(
993 new MenuRunner(new views::MenuItemView(context_menu_delegate_.get()))); 994 new MenuRunner(new views::MenuItemView(context_menu_delegate_.get())));
994 } 995 }
995 996
996 context_menu_delegate_->BuildMenu(context_menu_runner_->GetMenu()); 997 context_menu_delegate_->BuildMenu(context_menu_runner_->GetMenu());
997 } 998 }
998 999
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
1123 1124
1124 #if defined(USE_AURA) 1125 #if defined(USE_AURA)
1125 // static 1126 // static
1126 NativeTextfieldWrapper* NativeTextfieldWrapper::CreateWrapper( 1127 NativeTextfieldWrapper* NativeTextfieldWrapper::CreateWrapper(
1127 Textfield* field) { 1128 Textfield* field) {
1128 return new NativeTextfieldViews(field); 1129 return new NativeTextfieldViews(field);
1129 } 1130 }
1130 #endif 1131 #endif
1131 1132
1132 } // namespace views 1133 } // namespace views
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/omnibox/omnibox_view_views.cc ('k') | ui/views/controls/textfield/textfield_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698