| OLD | NEW |
| 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/textfield.h" | 5 #include "ui/views/controls/textfield/textfield.h" |
| 6 | 6 |
| 7 #if defined(TOOLKIT_USES_GTK) | 7 #if defined(TOOLKIT_USES_GTK) |
| 8 #include <gdk/gdkkeysyms.h> | 8 #include <gdk/gdkkeysyms.h> |
| 9 #endif | 9 #endif |
| 10 | 10 |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 native_wrapper_->UpdateTextColor(); | 98 native_wrapper_->UpdateTextColor(); |
| 99 native_wrapper_->UpdateBackgroundColor(); | 99 native_wrapper_->UpdateBackgroundColor(); |
| 100 } | 100 } |
| 101 } | 101 } |
| 102 | 102 |
| 103 bool Textfield::IsObscured() const { | 103 bool Textfield::IsObscured() const { |
| 104 return style_ & STYLE_OBSCURED; | 104 return style_ & STYLE_OBSCURED; |
| 105 } | 105 } |
| 106 | 106 |
| 107 void Textfield::SetObscured(bool obscured) { | 107 void Textfield::SetObscured(bool obscured) { |
| 108 if (obscured) { | 108 if (obscured != IsObscured()) { |
| 109 style_ = static_cast<StyleFlags>(style_ | STYLE_OBSCURED); | 109 style_ = static_cast<StyleFlags>(style_ ^ STYLE_OBSCURED); |
| 110 SetTextInputType(ui::TEXT_INPUT_TYPE_PASSWORD); | 110 if (native_wrapper_) |
| 111 } else { | 111 native_wrapper_->UpdateIsObscured(); |
| 112 style_ = static_cast<StyleFlags>(style_ & ~STYLE_OBSCURED); | |
| 113 SetTextInputType(ui::TEXT_INPUT_TYPE_TEXT); | |
| 114 } | 112 } |
| 115 if (native_wrapper_) | |
| 116 native_wrapper_->UpdateIsObscured(); | |
| 117 } | 113 } |
| 118 | 114 |
| 119 | |
| 120 ui::TextInputType Textfield::GetTextInputType() const { | 115 ui::TextInputType Textfield::GetTextInputType() const { |
| 121 if (read_only() || !enabled()) | 116 if (read_only() || !enabled()) |
| 122 return ui::TEXT_INPUT_TYPE_NONE; | 117 return ui::TEXT_INPUT_TYPE_NONE; |
| 123 return text_input_type_; | 118 return text_input_type_; |
| 124 } | 119 } |
| 125 | 120 |
| 126 void Textfield::SetTextInputType(ui::TextInputType type) { | 121 void Textfield::SetTextInputType(ui::TextInputType type) { |
| 127 text_input_type_ = type; | 122 text_input_type_ = type; |
| 128 bool should_be_obscured = type == ui::TEXT_INPUT_TYPE_PASSWORD; | |
| 129 if (IsObscured() != should_be_obscured) | |
| 130 SetObscured(should_be_obscured); | |
| 131 } | 123 } |
| 132 | 124 |
| 133 void Textfield::SetText(const string16& text) { | 125 void Textfield::SetText(const string16& text) { |
| 134 text_ = text; | 126 text_ = text; |
| 135 if (native_wrapper_) | 127 if (native_wrapper_) |
| 136 native_wrapper_->UpdateText(); | 128 native_wrapper_->UpdateText(); |
| 137 } | 129 } |
| 138 | 130 |
| 139 void Textfield::AppendText(const string16& text) { | 131 void Textfield::AppendText(const string16& text) { |
| 140 text_ += text; | 132 text_ += text; |
| (...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 448 } | 440 } |
| 449 #endif | 441 #endif |
| 450 } | 442 } |
| 451 } | 443 } |
| 452 | 444 |
| 453 std::string Textfield::GetClassName() const { | 445 std::string Textfield::GetClassName() const { |
| 454 return kViewClassName; | 446 return kViewClassName; |
| 455 } | 447 } |
| 456 | 448 |
| 457 } // namespace views | 449 } // namespace views |
| OLD | NEW |