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

Side by Side Diff: views/controls/combobox/native_combobox_win.cc

Issue 5154009: Cleanup AdjustStringForLocaleDirection() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: further fixes Created 10 years, 1 month 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 "views/controls/combobox/native_combobox_win.h" 5 #include "views/controls/combobox/native_combobox_win.h"
6 6
7 #include "app/combobox_model.h" 7 #include "app/combobox_model.h"
8 #include "app/resource_bundle.h" 8 #include "app/resource_bundle.h"
9 #include "base/i18n/rtl.h" 9 #include "base/i18n/rtl.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 29 matching lines...) Expand all
40 //////////////////////////////////////////////////////////////////////////////// 40 ////////////////////////////////////////////////////////////////////////////////
41 // NativeComboboxWin, NativeComboboxWrapper implementation: 41 // NativeComboboxWin, NativeComboboxWrapper implementation:
42 42
43 void NativeComboboxWin::UpdateFromModel() { 43 void NativeComboboxWin::UpdateFromModel() {
44 SendMessage(native_view(), CB_RESETCONTENT, 0, 0); 44 SendMessage(native_view(), CB_RESETCONTENT, 0, 0);
45 gfx::Font font = ResourceBundle::GetSharedInstance().GetFont( 45 gfx::Font font = ResourceBundle::GetSharedInstance().GetFont(
46 ResourceBundle::BaseFont); 46 ResourceBundle::BaseFont);
47 int max_width = 0; 47 int max_width = 0;
48 int num_items = combobox_->model()->GetItemCount(); 48 int num_items = combobox_->model()->GetItemCount();
49 for (int i = 0; i < num_items; ++i) { 49 for (int i = 0; i < num_items; ++i) {
50 const std::wstring& text = UTF16ToWide(combobox_->model()->GetItemAt(i)); 50 std::wstring text = UTF16ToWide(combobox_->model()->GetItemAt(i));
51 51
52 // Inserting the Unicode formatting characters if necessary so that the 52 // Inserting the Unicode formatting characters if necessary so that the
53 // text is displayed correctly in right-to-left UIs. 53 // text is displayed correctly in right-to-left UIs.
54 std::wstring localized_text; 54 base::i18n::AdjustStringForLocaleDirection(&text);
55 const wchar_t* text_ptr = text.c_str(); 55 const wchar_t* text_ptr = text.c_str();
56 if (base::i18n::AdjustStringForLocaleDirection(text, &localized_text))
57 text_ptr = localized_text.c_str();
58 56
59 SendMessage(native_view(), CB_ADDSTRING, 0, 57 SendMessage(native_view(), CB_ADDSTRING, 0,
60 reinterpret_cast<LPARAM>(text_ptr)); 58 reinterpret_cast<LPARAM>(text_ptr));
61 max_width = std::max(max_width, font.GetStringWidth(text)); 59 max_width = std::max(max_width, font.GetStringWidth(text));
62 } 60 }
63 content_width_ = max_width; 61 content_width_ = max_width;
64 62
65 if (num_items > 0) { 63 if (num_items > 0) {
66 SendMessage(native_view(), CB_SETCURSEL, combobox_->selected_item(), 0); 64 SendMessage(native_view(), CB_SETCURSEL, combobox_->selected_item(), 0);
67 65
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 //////////////////////////////////////////////////////////////////////////////// 188 ////////////////////////////////////////////////////////////////////////////////
191 // NativeComboboxWrapper, public: 189 // NativeComboboxWrapper, public:
192 190
193 // static 191 // static
194 NativeComboboxWrapper* NativeComboboxWrapper::CreateWrapper( 192 NativeComboboxWrapper* NativeComboboxWrapper::CreateWrapper(
195 Combobox* combobox) { 193 Combobox* combobox) {
196 return new NativeComboboxWin(combobox); 194 return new NativeComboboxWin(combobox);
197 } 195 }
198 196
199 } // namespace views 197 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698