diff options
Diffstat (limited to 'views/controls/textfield')
-rw-r--r-- | views/controls/textfield/native_textfield_views.cc | 11 | ||||
-rw-r--r-- | views/controls/textfield/textfield_views_model.cc | 13 | ||||
-rw-r--r-- | views/controls/textfield/textfield_views_model.h | 3 |
3 files changed, 10 insertions, 17 deletions
diff --git a/views/controls/textfield/native_textfield_views.cc b/views/controls/textfield/native_textfield_views.cc index 5b43215..e8fd03d 100644 --- a/views/controls/textfield/native_textfield_views.cc +++ b/views/controls/textfield/native_textfield_views.cc @@ -874,11 +874,12 @@ bool NativeTextfieldViews::HandleKeyEvent(const KeyEvent& key_event) { cursor_changed = true; break; case ui::VKEY_END: - model_->MoveCursorRight(gfx::LINE_BREAK, selection); - cursor_changed = true; - break; case ui::VKEY_HOME: - model_->MoveCursorLeft(gfx::LINE_BREAK, selection); + if ((key_code == ui::VKEY_HOME) == + (GetRenderText()->GetTextDirection() == base::i18n::RIGHT_TO_LEFT)) + model_->MoveCursorRight(gfx::LINE_BREAK, selection); + else + model_->MoveCursorLeft(gfx::LINE_BREAK, selection); cursor_changed = true; break; case ui::VKEY_BACK: @@ -921,7 +922,7 @@ bool NativeTextfieldViews::HandleKeyEvent(const KeyEvent& key_event) { cursor_changed = text_changed = model_->Delete(); break; case ui::VKEY_INSERT: - GetRenderText()->toggle_insert_mode(); + GetRenderText()->ToggleInsertMode(); cursor_changed = true; break; default: diff --git a/views/controls/textfield/textfield_views_model.cc b/views/controls/textfield/textfield_views_model.cc index 3f927dd..85e2179 100644 --- a/views/controls/textfield/textfield_views_model.cc +++ b/views/controls/textfield/textfield_views_model.cc @@ -398,11 +398,6 @@ bool TextfieldViewsModel::MoveCursorTo(const gfx::Point& point, bool select) { return render_text_->MoveCursorTo(point, select); } -std::vector<gfx::Rect> TextfieldViewsModel::GetSelectionBounds() const { - return render_text_->GetSubstringBounds(render_text_->GetSelectionStart(), - render_text_->GetCursorPosition()); -} - string16 TextfieldViewsModel::GetSelectedText() const { return GetText().substr(render_text_->MinOfSelection(), (render_text_->MaxOfSelection() - render_text_->MinOfSelection())); @@ -421,7 +416,7 @@ void TextfieldViewsModel::SelectRange(const ui::Range& range) { void TextfieldViewsModel::SelectSelectionModel(const gfx::SelectionModel& sel) { if (HasCompositionText()) ConfirmCompositionText(); - render_text_->SetSelectionModel(sel); + render_text_->MoveCursorTo(sel); } void TextfieldViewsModel::SelectAll() { @@ -509,7 +504,7 @@ bool TextfieldViewsModel::Cut() { render_text_->GetSelectionStart(), render_text_->GetSelectionStart(), gfx::SelectionModel::LEADING); - render_text_->SetSelectionModel(sel); + render_text_->MoveCursorTo(sel); DeleteSelection(); return true; } @@ -589,7 +584,7 @@ void TextfieldViewsModel::SetCompositionText( size_t end = std::min(range.start() + composition.selection.end(), range.end()); gfx::SelectionModel sel(start, end); - render_text_->SetSelectionModel(sel); + render_text_->MoveCursorTo(sel); } else { render_text_->SetCursorPosition(range.end()); } @@ -662,7 +657,7 @@ void TextfieldViewsModel::ReplaceTextInternal(const string16& text, size_t cursor = GetCursorPosition(); gfx::SelectionModel sel(render_text_->selection_model()); sel.set_selection_start(cursor + text.length()); - render_text_->SetSelectionModel(sel); + render_text_->MoveCursorTo(sel); } // Edit history is recorded in InsertText. InsertTextInternal(text, mergeable); diff --git a/views/controls/textfield/textfield_views_model.h b/views/controls/textfield/textfield_views_model.h index 616255f..abd1e13 100644 --- a/views/controls/textfield/textfield_views_model.h +++ b/views/controls/textfield/textfield_views_model.h @@ -143,9 +143,6 @@ class VIEWS_EXPORT TextfieldViewsModel { // Helper function to call MoveCursorTo on the TextfieldViewsModel. bool MoveCursorTo(const gfx::Point& point, bool select); - // Returns the bounds of selected text. - std::vector<gfx::Rect> GetSelectionBounds() const; - // Selection related method // Returns the selected text. |