Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "chrome/browser/search_engines/template_url_table_model.h" | 5 #include "chrome/browser/search_engines/template_url_table_model.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
|
viettrungluu
2010/12/29 23:41:17
These two #includes are presumably unneeded, since
| |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "app/l10n_util.h" | 10 #include "app/l10n_util.h" |
| 11 #include "app/resource_bundle.h" | 11 #include "app/resource_bundle.h" |
| 12 #include "app/table_model_observer.h" | 12 #include "app/table_model_observer.h" |
| 13 #include "base/callback.h" | 13 #include "base/callback.h" |
| 14 #include "base/i18n/rtl.h" | 14 #include "base/i18n/rtl.h" |
| 15 #include "base/stl_util-inl.h" | 15 #include "base/stl_util-inl.h" |
| 16 #include "base/utf_string_conversions.h" | 16 #include "base/utf_string_conversions.h" |
| 17 #include "chrome/browser/favicon_service.h" | 17 #include "chrome/browser/favicon_service.h" |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 170 } | 170 } |
| 171 | 171 |
| 172 if (observer_) | 172 if (observer_) |
| 173 observer_->OnModelChanged(); | 173 observer_->OnModelChanged(); |
| 174 } | 174 } |
| 175 | 175 |
| 176 int TemplateURLTableModel::RowCount() { | 176 int TemplateURLTableModel::RowCount() { |
| 177 return static_cast<int>(entries_.size()); | 177 return static_cast<int>(entries_.size()); |
| 178 } | 178 } |
| 179 | 179 |
| 180 std::wstring TemplateURLTableModel::GetText(int row, int col_id) { | 180 string16 TemplateURLTableModel::GetText(int row, int col_id) { |
| 181 DCHECK(row >= 0 && row < RowCount()); | 181 DCHECK(row >= 0 && row < RowCount()); |
| 182 const TemplateURL& url = entries_[row]->template_url(); | 182 const TemplateURL& url = entries_[row]->template_url(); |
| 183 | 183 |
| 184 switch (col_id) { | 184 switch (col_id) { |
| 185 case IDS_SEARCH_ENGINES_EDITOR_DESCRIPTION_COLUMN: { | 185 case IDS_SEARCH_ENGINES_EDITOR_DESCRIPTION_COLUMN: { |
| 186 std::wstring url_short_name = url.short_name(); | 186 string16 url_short_name = WideToUTF16Hack(url.short_name()); |
| 187 // TODO(xji): Consider adding a special case if the short name is a URL, | 187 // TODO(xji): Consider adding a special case if the short name is a URL, |
| 188 // since those should always be displayed LTR. Please refer to | 188 // since those should always be displayed LTR. Please refer to |
| 189 // http://crbug.com/6726 for more information. | 189 // http://crbug.com/6726 for more information. |
| 190 base::i18n::AdjustStringForLocaleDirection(&url_short_name); | 190 base::i18n::AdjustStringForLocaleDirection(&url_short_name); |
| 191 if (template_url_model_->GetDefaultSearchProvider() == &url) { | 191 if (template_url_model_->GetDefaultSearchProvider() == &url) { |
| 192 return UTF16ToWideHack( | 192 return l10n_util::GetStringFUTF16( |
| 193 l10n_util::GetStringFUTF16(IDS_SEARCH_ENGINES_EDITOR_DEFAULT_ENGINE, | 193 IDS_SEARCH_ENGINES_EDITOR_DEFAULT_ENGINE, |
| 194 WideToUTF16Hack(url_short_name))); | 194 url_short_name); |
| 195 } | 195 } |
| 196 return url_short_name; | 196 return url_short_name; |
| 197 } | 197 } |
| 198 | 198 |
| 199 case IDS_SEARCH_ENGINES_EDITOR_KEYWORD_COLUMN: { | 199 case IDS_SEARCH_ENGINES_EDITOR_KEYWORD_COLUMN: { |
| 200 // Keyword should be domain name. Force it to have LTR directionality. | 200 // Keyword should be domain name. Force it to have LTR directionality. |
| 201 string16 keyword = WideToUTF16(url.keyword()); | 201 string16 keyword = WideToUTF16(url.keyword()); |
| 202 keyword = base::i18n::GetDisplayStringInLTRDirectionality(keyword); | 202 keyword = base::i18n::GetDisplayStringInLTRDirectionality(keyword); |
| 203 return UTF16ToWide(keyword); | 203 return keyword; |
| 204 } | 204 } |
| 205 | 205 |
| 206 default: | 206 default: |
| 207 NOTREACHED(); | 207 NOTREACHED(); |
| 208 return std::wstring(); | 208 return string16(); |
| 209 } | 209 } |
| 210 } | 210 } |
| 211 | 211 |
| 212 SkBitmap TemplateURLTableModel::GetIcon(int row) { | 212 SkBitmap TemplateURLTableModel::GetIcon(int row) { |
| 213 DCHECK(row >= 0 && row < RowCount()); | 213 DCHECK(row >= 0 && row < RowCount()); |
| 214 return entries_[row]->GetIcon(); | 214 return entries_[row]->GetIcon(); |
| 215 } | 215 } |
| 216 | 216 |
| 217 void TemplateURLTableModel::SetObserver(TableModelObserver* observer) { | 217 void TemplateURLTableModel::SetObserver(TableModelObserver* observer) { |
| 218 observer_ = observer; | 218 observer_ = observer; |
| 219 } | 219 } |
| 220 | 220 |
| 221 bool TemplateURLTableModel::HasGroups() { | 221 bool TemplateURLTableModel::HasGroups() { |
| 222 return true; | 222 return true; |
| 223 } | 223 } |
| 224 | 224 |
| 225 TemplateURLTableModel::Groups TemplateURLTableModel::GetGroups() { | 225 TemplateURLTableModel::Groups TemplateURLTableModel::GetGroups() { |
| 226 Groups groups; | 226 Groups groups; |
| 227 | 227 |
| 228 Group search_engine_group; | 228 Group search_engine_group; |
| 229 search_engine_group.title = UTF16ToWideHack( | 229 search_engine_group.title = |
| 230 l10n_util::GetStringUTF16(IDS_SEARCH_ENGINES_EDITOR_MAIN_SEPARATOR)); | 230 l10n_util::GetStringUTF16(IDS_SEARCH_ENGINES_EDITOR_MAIN_SEPARATOR); |
| 231 search_engine_group.id = kMainGroupID; | 231 search_engine_group.id = kMainGroupID; |
| 232 groups.push_back(search_engine_group); | 232 groups.push_back(search_engine_group); |
| 233 | 233 |
| 234 Group other_group; | 234 Group other_group; |
| 235 other_group.title = UTF16ToWideHack( | 235 other_group.title = |
| 236 l10n_util::GetStringUTF16(IDS_SEARCH_ENGINES_EDITOR_OTHER_SEPARATOR)); | 236 l10n_util::GetStringUTF16(IDS_SEARCH_ENGINES_EDITOR_OTHER_SEPARATOR); |
| 237 other_group.id = kOtherGroupID; | 237 other_group.id = kOtherGroupID; |
| 238 groups.push_back(other_group); | 238 groups.push_back(other_group); |
| 239 | 239 |
| 240 return groups; | 240 return groups; |
| 241 } | 241 } |
| 242 | 242 |
| 243 int TemplateURLTableModel::GetGroupID(int row) { | 243 int TemplateURLTableModel::GetGroupID(int row) { |
| 244 DCHECK(row >= 0 && row < RowCount()); | 244 DCHECK(row >= 0 && row < RowCount()); |
| 245 return row < last_search_engine_index_ ? kMainGroupID : kOtherGroupID; | 245 return row < last_search_engine_index_ ? kMainGroupID : kOtherGroupID; |
| 246 } | 246 } |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 376 void TemplateURLTableModel::FavIconAvailable(ModelEntry* entry) { | 376 void TemplateURLTableModel::FavIconAvailable(ModelEntry* entry) { |
| 377 std::vector<ModelEntry*>::iterator i = | 377 std::vector<ModelEntry*>::iterator i = |
| 378 find(entries_.begin(), entries_.end(), entry); | 378 find(entries_.begin(), entries_.end(), entry); |
| 379 DCHECK(i != entries_.end()); | 379 DCHECK(i != entries_.end()); |
| 380 NotifyChanged(static_cast<int>(i - entries_.begin())); | 380 NotifyChanged(static_cast<int>(i - entries_.begin())); |
| 381 } | 381 } |
| 382 | 382 |
| 383 void TemplateURLTableModel::OnTemplateURLModelChanged() { | 383 void TemplateURLTableModel::OnTemplateURLModelChanged() { |
| 384 Reload(); | 384 Reload(); |
| 385 } | 385 } |
| OLD | NEW |