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

Side by Side Diff: chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc

Issue 5560001: Revert 67949 - [gtk] tab in omnibox... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_gtk.h" 5 #include "chrome/browser/autocomplete/autocomplete_edit_view_gtk.h"
6 6
7 #include <gtk/gtk.h> 7 #include <gtk/gtk.h>
8 #include <gdk/gdkkeysyms.h> 8 #include <gdk/gdkkeysyms.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after
885 // Now the last thing is to prevent the content of omnibox from being changed 885 // Now the last thing is to prevent the content of omnibox from being changed
886 // by GtkTextView when Enter key is pressed. As OnBeforePossibleChange() and 886 // by GtkTextView when Enter key is pressed. As OnBeforePossibleChange() and
887 // OnAfterPossibleChange() will be called by GtkTextView before and after 887 // OnAfterPossibleChange() will be called by GtkTextView before and after
888 // changing the content, and the content is already saved in 888 // changing the content, and the content is already saved in
889 // OnBeforePossibleChange(), so if the Enter key press event was not handled 889 // OnBeforePossibleChange(), so if the Enter key press event was not handled
890 // by IME, it's easy to restore the content in OnAfterPossibleChange(), as if 890 // by IME, it's easy to restore the content in OnAfterPossibleChange(), as if
891 // it's not changed at all. 891 // it's not changed at all.
892 892
893 GtkWidgetClass* klass = GTK_WIDGET_GET_CLASS(widget); 893 GtkWidgetClass* klass = GTK_WIDGET_GET_CLASS(widget);
894 894
895 enter_was_pressed_ = event->keyval == GDK_Return || 895 enter_was_pressed_ = (event->keyval == GDK_Return ||
896 event->keyval == GDK_ISO_Enter || 896 event->keyval == GDK_ISO_Enter ||
897 event->keyval == GDK_KP_Enter; 897 event->keyval == GDK_KP_Enter);
898 898
899 // Set |tab_was_pressed_| to true if it's a Tab key press event, so that our 899 // Set |tab_was_pressed_| to true if it's a Tab key press event, so that our
900 // handler of "move-focus" signal can trigger Tab to search behavior when 900 // handler of "move-focus" signal can trigger Tab to search behavior when
901 // necessary. 901 // necessary.
902 tab_was_pressed_ = (event->keyval == GDK_Tab || 902 tab_was_pressed_ = ((event->keyval == GDK_Tab ||
903 event->keyval == GDK_ISO_Left_Tab || 903 event->keyval == GDK_ISO_Left_Tab ||
904 event->keyval == GDK_KP_Tab) && 904 event->keyval == GDK_KP_Tab) &&
905 !(event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)); 905 !(event->state & GDK_CONTROL_MASK));
906 906
907 delete_was_pressed_ = event->keyval == GDK_Delete || 907 delete_was_pressed_ = (event->keyval == GDK_Delete ||
908 event->keyval == GDK_KP_Delete; 908 event->keyval == GDK_KP_Delete);
909 909
910 // Reset |enter_was_inserted_|, which may be set in the "insert-text" signal 910 // Reset |enter_was_inserted_|, which may be set in the "insert-text" signal
911 // handler, so that we'll know if an Enter key event was handled by IME. 911 // handler, so that we'll know if an Enter key event was handled by IME.
912 enter_was_inserted_ = false; 912 enter_was_inserted_ = false;
913 913
914 // Reset |paste_clipboard_requested_| to make sure we won't misinterpret this 914 // Reset |paste_clipboard_requested_| to make sure we won't misinterpret this
915 // key input action as a paste action. 915 // key input action as a paste action.
916 paste_clipboard_requested_ = false; 916 paste_clipboard_requested_ = false;
917 917
918 // Reset |text_changed_| before passing the key event on to the text view. 918 // Reset |text_changed_| before passing the key event on to the text view.
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
1378 // of the text. Delete the selected keyword. 1378 // of the text. Delete the selected keyword.
1379 model_->ClearKeyword(GetText()); 1379 model_->ClearKeyword(GetText());
1380 1380
1381 // Stop propagating the signal emission into GtkTextView. 1381 // Stop propagating the signal emission into GtkTextView.
1382 static guint signal_id = g_signal_lookup("backspace", GTK_TYPE_TEXT_VIEW); 1382 static guint signal_id = g_signal_lookup("backspace", GTK_TYPE_TEXT_VIEW);
1383 g_signal_stop_emission(text_view_, signal_id, 0); 1383 g_signal_stop_emission(text_view_, signal_id, 0);
1384 } 1384 }
1385 1385
1386 void AutocompleteEditViewGtk::HandleViewMoveFocus(GtkWidget* widget, 1386 void AutocompleteEditViewGtk::HandleViewMoveFocus(GtkWidget* widget,
1387 GtkDirectionType direction) { 1387 GtkDirectionType direction) {
1388 if (!tab_was_pressed_) 1388 // Trigger Tab to search behavior only when Tab key is pressed.
1389 return; 1389 if (tab_was_pressed_ && enable_tab_to_search_ &&
1390 model_->is_keyword_hint() && !model_->keyword().empty()) {
1391 model_->AcceptKeyword();
1390 1392
1391 // If special behavior is triggered, then stop the signal emission to 1393 // If Tab to search behavior is triggered, then stop the signal emission to
1392 // prevent the focus from being moved. 1394 // prevent the focus from being moved.
1393 bool handled = false;
1394
1395 // Trigger Tab to search behavior only when Tab key is pressed.
1396 if (model_->is_keyword_hint() && !model_->keyword().empty()) {
1397 if (enable_tab_to_search_) {
1398 model_->AcceptKeyword();
1399 handled = true;
1400 }
1401 } else {
1402 if (GTK_WIDGET_VISIBLE(instant_view_)) {
1403 controller_->OnCommitSuggestedText(GetText());
1404 handled = true;
1405 } else {
1406 handled = controller_->AcceptCurrentInstantPreview();
1407 }
1408 }
1409
1410 if (handled) {
1411 static guint signal_id = g_signal_lookup("move-focus", GTK_TYPE_WIDGET); 1395 static guint signal_id = g_signal_lookup("move-focus", GTK_TYPE_WIDGET);
1412 g_signal_stop_emission(widget, signal_id, 0); 1396 g_signal_stop_emission(widget, signal_id, 0);
1413 } 1397 }
1398
1399 // Propagate the signal so that focus can be moved as normal.
1414 } 1400 }
1415 1401
1416 void AutocompleteEditViewGtk::HandleCopyClipboard(GtkWidget* sender) { 1402 void AutocompleteEditViewGtk::HandleCopyClipboard(GtkWidget* sender) {
1417 HandleCopyOrCutClipboard(true); 1403 HandleCopyOrCutClipboard(true);
1418 } 1404 }
1419 1405
1420 void AutocompleteEditViewGtk::HandleCutClipboard(GtkWidget* sender) { 1406 void AutocompleteEditViewGtk::HandleCutClipboard(GtkWidget* sender) {
1421 HandleCopyOrCutClipboard(false); 1407 HandleCopyOrCutClipboard(false);
1422 } 1408 }
1423 1409
(...skipping 548 matching lines...) Expand 10 before | Expand all | Expand 10 after
1972 // baseline, so we need to move the |instant_view_| down to make sure it 1958 // baseline, so we need to move the |instant_view_| down to make sure it
1973 // has the same baseline as the |text_view_|. 1959 // has the same baseline as the |text_view_|.
1974 PangoLayout* layout = gtk_label_get_layout(GTK_LABEL(instant_view_)); 1960 PangoLayout* layout = gtk_label_get_layout(GTK_LABEL(instant_view_));
1975 int height; 1961 int height;
1976 pango_layout_get_size(layout, NULL, &height); 1962 pango_layout_get_size(layout, NULL, &height);
1977 PangoLayoutIter* iter = pango_layout_get_iter(layout); 1963 PangoLayoutIter* iter = pango_layout_get_iter(layout);
1978 int baseline = pango_layout_iter_get_baseline(iter); 1964 int baseline = pango_layout_iter_get_baseline(iter);
1979 pango_layout_iter_free(iter); 1965 pango_layout_iter_free(iter);
1980 g_object_set(instant_anchor_tag_, "rise", baseline - height, NULL); 1966 g_object_set(instant_anchor_tag_, "rise", baseline - height, NULL);
1981 } 1967 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/autocomplete_edit.h ('k') | chrome/browser/gtk/location_bar_view_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698