| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "chrome/browser/autocomplete/autocomplete_edit_view_mac.h" | 5 #include "chrome/browser/autocomplete/autocomplete_edit_view_mac.h" |
| 6 | 6 |
| 7 #include <Carbon/Carbon.h> // kVK_Return | 7 #include <Carbon/Carbon.h> // kVK_Return |
| 8 #include "app/gfx/font.h" | 8 #include "app/gfx/font.h" |
| 9 #include "app/resource_bundle.h" | 9 #include "app/resource_bundle.h" |
| 10 #include "base/clipboard.h" | 10 #include "base/clipboard.h" |
| (...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 615 // OnAfterPossibleChange(), even if identical contents are pasted into the | 615 // OnAfterPossibleChange(), even if identical contents are pasted into the |
| 616 // text box. | 616 // text box. |
| 617 text_before_change_.clear(); | 617 text_before_change_.clear(); |
| 618 | 618 |
| 619 NSString* s = base::SysWideToNSString(text); | 619 NSString* s = base::SysWideToNSString(text); |
| 620 [[field_ currentEditor] replaceCharactersInRange:selectedRange withString:s]; | 620 [[field_ currentEditor] replaceCharactersInRange:selectedRange withString:s]; |
| 621 | 621 |
| 622 OnAfterPossibleChange(); | 622 OnAfterPossibleChange(); |
| 623 } | 623 } |
| 624 | 624 |
| 625 bool AutocompleteEditViewMac::OnTabPressed() { |
| 626 if (model_->is_keyword_hint() && !model_->keyword().empty()) { |
| 627 model_->AcceptKeyword(); |
| 628 return true; |
| 629 } |
| 630 return false; |
| 631 } |
| 632 |
| 625 bool AutocompleteEditViewMac::IsPopupOpen() const { | 633 bool AutocompleteEditViewMac::IsPopupOpen() const { |
| 626 return popup_view_->IsOpen(); | 634 return popup_view_->IsOpen(); |
| 627 } | 635 } |
| 628 | 636 |
| 629 void AutocompleteEditViewMac::OnControlKeyChanged(bool pressed) { | 637 void AutocompleteEditViewMac::OnControlKeyChanged(bool pressed) { |
| 630 model_->OnControlKeyChanged(pressed); | 638 model_->OnControlKeyChanged(pressed); |
| 631 } | 639 } |
| 632 | 640 |
| 633 void AutocompleteEditViewMac::AcceptInput( | 641 void AutocompleteEditViewMac::AcceptInput( |
| 634 WindowOpenDisposition disposition, bool for_drop) { | 642 WindowOpenDisposition disposition, bool for_drop) { |
| 635 model_->AcceptInput(disposition, for_drop); | 643 model_->AcceptInput(disposition, for_drop); |
| 636 } | 644 } |
| 637 | 645 |
| 638 void AutocompleteEditViewMac::AcceptKeyword() { | |
| 639 model_->AcceptKeyword(); | |
| 640 } | |
| 641 | |
| 642 void AutocompleteEditViewMac::FocusLocation() { | 646 void AutocompleteEditViewMac::FocusLocation() { |
| 643 [[field_ window] makeFirstResponder:field_]; | 647 [[field_ window] makeFirstResponder:field_]; |
| 644 DCHECK_EQ([field_ currentEditor], [[field_ window] firstResponder]); | 648 DCHECK_EQ([field_ currentEditor], [[field_ window] firstResponder]); |
| 645 } | 649 } |
| 646 | 650 |
| 647 // TODO(shess): Copied from autocomplete_edit_view_win.cc. Could this | 651 // TODO(shess): Copied from autocomplete_edit_view_win.cc. Could this |
| 648 // be pushed into the model? | 652 // be pushed into the model? |
| 649 std::wstring AutocompleteEditViewMac::GetClipboardText(Clipboard* clipboard) { | 653 std::wstring AutocompleteEditViewMac::GetClipboardText(Clipboard* clipboard) { |
| 650 // autocomplete_edit_view_win.cc assumes this can never happen, we | 654 // autocomplete_edit_view_win.cc assumes this can never happen, we |
| 651 // will too. | 655 // will too. |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 718 edit_view_->OnUpOrDownKeyPressed(true, true); | 722 edit_view_->OnUpOrDownKeyPressed(true, true); |
| 719 return YES; | 723 return YES; |
| 720 } | 724 } |
| 721 | 725 |
| 722 if (cmd == @selector(cancelOperation:)) { | 726 if (cmd == @selector(cancelOperation:)) { |
| 723 edit_view_->OnEscapeKeyPressed(); | 727 edit_view_->OnEscapeKeyPressed(); |
| 724 return YES; | 728 return YES; |
| 725 } | 729 } |
| 726 | 730 |
| 727 if (cmd == @selector(insertTab:)) { | 731 if (cmd == @selector(insertTab:)) { |
| 728 edit_view_->AcceptKeyword(); | 732 if (edit_view_->OnTabPressed()) { |
| 729 return YES; | 733 return YES; |
| 734 } |
| 730 } | 735 } |
| 731 | 736 |
| 732 // |-noop:| is sent when the user presses Cmd+Return. Override the no-op | 737 // |-noop:| is sent when the user presses Cmd+Return. Override the no-op |
| 733 // behavior with the proper WindowOpenDisposition. | 738 // behavior with the proper WindowOpenDisposition. |
| 734 NSEvent* event = [NSApp currentEvent]; | 739 NSEvent* event = [NSApp currentEvent]; |
| 735 if (cmd == @selector(insertNewline:) || | 740 if (cmd == @selector(insertNewline:) || |
| 736 (cmd == @selector(noop:) && [event keyCode] == kVK_Return)) { | 741 (cmd == @selector(noop:) && [event keyCode] == kVK_Return)) { |
| 737 WindowOpenDisposition disposition = | 742 WindowOpenDisposition disposition = |
| 738 event_utils::WindowOpenDispositionFromNSEvent(event); | 743 event_utils::WindowOpenDispositionFromNSEvent(event); |
| 739 edit_view_->AcceptInput(disposition, false); | 744 edit_view_->AcceptInput(disposition, false); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 801 // prepended and ".com" appended. This calls down to | 806 // prepended and ".com" appended. This calls down to |
| 802 // AutocompleteEditModel::OnControlKeyChanged() so that it can change | 807 // AutocompleteEditModel::OnControlKeyChanged() so that it can change |
| 803 // the popup to reflect this. See autocomplete_edit.cc | 808 // the popup to reflect this. See autocomplete_edit.cc |
| 804 // OnControlKeyChanged() and OnAfterPossibleChange(). | 809 // OnControlKeyChanged() and OnAfterPossibleChange(). |
| 805 - (void)control:(NSControl*)control flagsChanged:(NSEvent*)theEvent { | 810 - (void)control:(NSControl*)control flagsChanged:(NSEvent*)theEvent { |
| 806 BOOL controlFlag = ([theEvent modifierFlags]&NSControlKeyMask) != 0; | 811 BOOL controlFlag = ([theEvent modifierFlags]&NSControlKeyMask) != 0; |
| 807 edit_view_->OnControlKeyChanged(controlFlag); | 812 edit_view_->OnControlKeyChanged(controlFlag); |
| 808 } | 813 } |
| 809 | 814 |
| 810 @end | 815 @end |
| OLD | NEW |