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

Unified Diff: ui/views/controls/textfield/textfield.cc

Issue 11421204: Use native theme colors for textfields; etc. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync and rebase, add a blank line between includes. Created 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/controls/textfield/textfield.h ('k') | ui/views/controls/textfield/textfield_views_model.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/textfield/textfield.cc
diff --git a/ui/views/controls/textfield/textfield.cc b/ui/views/controls/textfield/textfield.cc
index 88f976660e944fb9ad2ae542b4b47457a5d30804..d353101c31b7ac137c9545afce4efaf1234fe6fc 100644
--- a/ui/views/controls/textfield/textfield.cc
+++ b/ui/views/controls/textfield/textfield.cc
@@ -17,6 +17,7 @@
#include "ui/base/ui_base_switches.h"
#include "ui/gfx/insets.h"
#include "ui/gfx/selection_model.h"
+#include "ui/native_theme/native_theme.h"
#include "ui/views/controls/native/native_view_host.h"
#include "ui/views/controls/textfield/native_textfield_views.h"
#include "ui/views/controls/textfield/native_textfield_wrapper.h"
@@ -65,8 +66,6 @@ Textfield::Textfield()
use_default_text_color_(true),
background_color_(SK_ColorWHITE),
use_default_background_color_(true),
- cursor_color_(SK_ColorBLACK),
- use_default_cursor_color_(true),
initialized_(false),
horizontal_margins_were_set_(false),
vertical_margins_were_set_(false),
@@ -86,8 +85,6 @@ Textfield::Textfield(StyleFlags style)
use_default_text_color_(true),
background_color_(SK_ColorWHITE),
use_default_background_color_(true),
- cursor_color_(SK_ColorBLACK),
- use_default_cursor_color_(true),
initialized_(false),
horizontal_margins_were_set_(false),
vertical_margins_were_set_(false),
@@ -116,7 +113,6 @@ void Textfield::SetReadOnly(bool read_only) {
native_wrapper_->UpdateReadOnly();
native_wrapper_->UpdateTextColor();
native_wrapper_->UpdateBackgroundColor();
- native_wrapper_->UpdateCursorColor();
}
}
@@ -197,6 +193,15 @@ bool Textfield::HasSelection() const {
return !range.is_empty();
}
+SkColor Textfield::GetTextColor() const {
+ if (!use_default_text_color_)
+ return text_color_;
+
+ return GetNativeTheme()->GetSystemColor(read_only() ?
+ ui::NativeTheme::kColorId_TextfieldReadOnlyColor :
+ ui::NativeTheme::kColorId_TextfieldDefaultColor);
+}
+
void Textfield::SetTextColor(SkColor color) {
text_color_ = color;
use_default_text_color_ = false;
@@ -210,6 +215,15 @@ void Textfield::UseDefaultTextColor() {
native_wrapper_->UpdateTextColor();
}
+SkColor Textfield::GetBackgroundColor() const {
+ if (!use_default_background_color_)
+ return background_color_;
+
+ return GetNativeTheme()->GetSystemColor(read_only() ?
+ ui::NativeTheme::kColorId_TextfieldReadOnlyBackground :
+ ui::NativeTheme::kColorId_TextfieldDefaultBackground);
+}
+
void Textfield::SetBackgroundColor(SkColor color) {
background_color_ = color;
use_default_background_color_ = false;
@@ -223,17 +237,13 @@ void Textfield::UseDefaultBackgroundColor() {
native_wrapper_->UpdateBackgroundColor();
}
-void Textfield::SetCursorColor(SkColor color) {
- cursor_color_ = color;
- use_default_cursor_color_ = false;
- if (native_wrapper_)
- native_wrapper_->UpdateCursorColor();
+bool Textfield::GetCursorEnabled() const {
+ return native_wrapper_ && native_wrapper_->GetCursorEnabled();
}
-void Textfield::UseDefaultCursorColor() {
- use_default_cursor_color_ = true;
+void Textfield::SetCursorEnabled(bool enabled) {
if (native_wrapper_)
- native_wrapper_->UpdateCursorColor();
+ native_wrapper_->SetCursorEnabled(enabled);
}
void Textfield::SetFont(const gfx::Font& font) {
@@ -289,7 +299,6 @@ void Textfield::UpdateAllProperties() {
native_wrapper_->UpdateText();
native_wrapper_->UpdateTextColor();
native_wrapper_->UpdateBackgroundColor();
- native_wrapper_->UpdateCursorColor();
native_wrapper_->UpdateReadOnly();
native_wrapper_->UpdateFont();
native_wrapper_->UpdateEnabled();
« no previous file with comments | « ui/views/controls/textfield/textfield.h ('k') | ui/views/controls/textfield/textfield_views_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698