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

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

Issue 1155008: Adds the ability to display text in a textfield when the text is (Closed)
Patch Set: Updates Created 10 years, 9 months 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 | « views/controls/textfield/native_textfield_gtk.h ('k') | views/controls/textfield/textfield.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/controls/textfield/native_textfield_gtk.cc
diff --git a/views/controls/textfield/native_textfield_gtk.cc b/views/controls/textfield/native_textfield_gtk.cc
index 4aef06f2bc958b11be4264def32eeef357259e62..1d4dd2373430b86ffcf091077ee17e42ee524d3f 100644
--- a/views/controls/textfield/native_textfield_gtk.cc
+++ b/views/controls/textfield/native_textfield_gtk.cc
@@ -11,11 +11,13 @@
#include "gfx/gtk_util.h"
#include "gfx/insets.h"
#include "gfx/skia_utils_gtk.h"
+#include "views/controls/textfield/gtk_views_entry.h"
#include "views/controls/textfield/textfield.h"
namespace views {
+
// A character used to hide a text in password mode.
-const char kPasswordChar = '*';
+static const char kPasswordChar = '*';
////////////////////////////////////////////////////////////////////////////////
// NativeTextfieldGtk, public:
@@ -33,6 +35,26 @@ NativeTextfieldGtk::NativeTextfieldGtk(Textfield* textfield)
NativeTextfieldGtk::~NativeTextfieldGtk() {
}
+// Returns the inner border of an entry.
+// static
+gfx::Insets NativeTextfieldGtk::GetEntryInnerBorder(GtkEntry* entry) {
+ const GtkBorder* inner_border = gtk_entry_get_inner_border(entry);
+ if (inner_border)
+ return gfx::Insets(*inner_border);
+
+ // No explicit border set, try the style.
+ GtkBorder* style_border;
+ gtk_widget_style_get(GTK_WIDGET(entry), "inner-border", &style_border, NULL);
+ if (style_border) {
+ gfx::Insets insets = gfx::Insets(*style_border);
+ gtk_border_free(style_border);
+ return insets;
+ }
+
+ // If border is null, Gtk uses 2 on all sides.
+ return gfx::Insets(2, 2, 2, 2);
+}
+
////////////////////////////////////////////////////////////////////////////////
// NativeTextfieldGtk, NativeTextfieldWrapper implementation:
@@ -150,21 +172,7 @@ gfx::Insets NativeTextfieldGtk::CalculateInsets() {
GtkEntry* entry = GTK_ENTRY(widget);
gfx::Insets insets;
- const GtkBorder* inner_border = gtk_entry_get_inner_border(entry);
- if (inner_border) {
- insets += gfx::Insets(*inner_border);
- } else {
- // No explicit border set, try the style.
- GtkBorder* style_border;
- gtk_widget_style_get(widget, "inner-border", &style_border, NULL);
- if (style_border) {
- insets += gfx::Insets(*style_border);
- gtk_border_free(style_border);
- } else {
- // If border is null, Gtk uses 2 on all sides.
- insets += gfx::Insets(2, 2, 2, 2);
- }
- }
+ insets += GetEntryInnerBorder(entry);
if (entry->has_frame) {
insets += gfx::Insets(widget->style->ythickness,
@@ -240,7 +248,7 @@ gboolean NativeTextfieldGtk::OnChanged() {
// NativeTextfieldGtk, NativeControlGtk overrides:
void NativeTextfieldGtk::CreateNativeControl() {
- NativeControlCreated(gtk_entry_new());
+ NativeControlCreated(gtk_views_entry_new(this));
gtk_entry_set_invisible_char(GTK_ENTRY(native_view()),
static_cast<gunichar>(kPasswordChar));
textfield_->UpdateAllProperties();
« no previous file with comments | « views/controls/textfield/native_textfield_gtk.h ('k') | views/controls/textfield/textfield.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698