OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/views/location_bar_view.h" | 5 #include "chrome/browser/views/location_bar_view.h" |
6 | 6 |
7 #include "base/path_service.h" | 7 #include "base/path_service.h" |
8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
9 #include "chrome/app/chrome_dll_resource.h" | 9 #include "chrome/app/chrome_dll_resource.h" |
10 #include "chrome/browser/alternate_nav_url_fetcher.h" | 10 #include "chrome/browser/alternate_nav_url_fetcher.h" |
(...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
781 if (show_labels) { | 781 if (show_labels) { |
782 pref = leading_label_.GetPreferredSize(); | 782 pref = leading_label_.GetPreferredSize(); |
783 leading_label_.SetBounds(x, 0, pref.width(), height()); | 783 leading_label_.SetBounds(x, 0, pref.width(), height()); |
784 | 784 |
785 x += pref.width() + kTabButtonBitmap->width(); | 785 x += pref.width() + kTabButtonBitmap->width(); |
786 pref = trailing_label_.GetPreferredSize(); | 786 pref = trailing_label_.GetPreferredSize(); |
787 trailing_label_.SetBounds(x, 0, pref.width(), height()); | 787 trailing_label_.SetBounds(x, 0, pref.width(), height()); |
788 } | 788 } |
789 } | 789 } |
790 | 790 |
791 // We don't translate accelerators for ALT + numpad digit, they are used for | |
792 // entering special characters. | |
793 bool LocationBarView::ShouldLookupAccelerators(const views::KeyEvent& e) { | 791 bool LocationBarView::ShouldLookupAccelerators(const views::KeyEvent& e) { |
794 if (!e.IsAltDown()) | 792 int c = e.GetCharacter(); |
| 793 // We don't translate accelerators for ALT + numpad digit, they are used for |
| 794 // entering special characters. |
| 795 if (e.IsAltDown() && win_util::IsNumPadDigit(c, e.IsExtendedKey())) |
| 796 return false; |
| 797 |
| 798 // Skip accelerators for key combinations omnibox wants to crack. This list |
| 799 // should be synced with AutocompleteEditViewWin::OnKeyDownOnlyWritable(). |
| 800 // |
| 801 // We cannot return false for all keys because we still need to handle some |
| 802 // accelerators (e.g., F5 for reload the page should work even when the |
| 803 // Omnibox gets focused). |
| 804 switch (c) { |
| 805 case VK_RETURN: |
| 806 return false; |
| 807 |
| 808 case VK_UP: |
| 809 case VK_DOWN: |
| 810 return e.IsAltDown(); |
| 811 |
| 812 case VK_DELETE: |
| 813 case VK_INSERT: |
| 814 return e.IsAltDown() || !e.IsShiftDown(); |
| 815 |
| 816 case 'X': |
| 817 case 'V': |
| 818 return e.IsAltDown() || !e.IsControlDown(); |
| 819 |
| 820 case VK_BACK: |
| 821 case VK_TAB: |
| 822 case 0xbb: |
| 823 return false; |
| 824 |
| 825 default: |
795 return true; | 826 return true; |
796 | 827 } |
797 return !win_util::IsNumPadDigit(e.GetCharacter(), e.IsExtendedKey()); | |
798 } | 828 } |
799 | 829 |
800 // ShowInfoBubbleTask----------------------------------------------------------- | 830 // ShowInfoBubbleTask----------------------------------------------------------- |
801 | 831 |
802 class LocationBarView::ShowInfoBubbleTask : public Task { | 832 class LocationBarView::ShowInfoBubbleTask : public Task { |
803 public: | 833 public: |
804 explicit ShowInfoBubbleTask( | 834 explicit ShowInfoBubbleTask( |
805 LocationBarView::LocationBarImageView* image_view); | 835 LocationBarView::LocationBarImageView* image_view); |
806 virtual void Run(); | 836 virtual void Run(); |
807 void Cancel(); | 837 void Cancel(); |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1089 } | 1119 } |
1090 | 1120 |
1091 void LocationBarView::FocusSearch() { | 1121 void LocationBarView::FocusSearch() { |
1092 location_entry_->SetUserText(L"?"); | 1122 location_entry_->SetUserText(L"?"); |
1093 location_entry_->SetFocus(); | 1123 location_entry_->SetFocus(); |
1094 } | 1124 } |
1095 | 1125 |
1096 void LocationBarView::SaveStateToContents(TabContents* contents) { | 1126 void LocationBarView::SaveStateToContents(TabContents* contents) { |
1097 location_entry_->SaveStateToTab(contents); | 1127 location_entry_->SaveStateToTab(contents); |
1098 } | 1128 } |
OLD | NEW |