blob: a76c58a9c918575f88d5f8455a7e8809253483bc [file] [log] [blame]
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/translate/target_language_combobox_model.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/ui/translate/translate_language_list_model.h"
TargetLanguageComboboxModel::TargetLanguageComboboxModel(
int default_index,
TranslateLanguageListModel* model)
: default_index_(default_index < 0 ? 0 : default_index), model_(model) {
// view::Combobox can't treate an negative index, but |default_index| can be
// negative when, for example, the page's language can't be detected.
}
TargetLanguageComboboxModel::~TargetLanguageComboboxModel() = default;
size_t TargetLanguageComboboxModel::GetItemCount() const {
return model_->GetNumberOfTargetLanguages();
}
std::u16string TargetLanguageComboboxModel::GetItemAt(size_t index) const {
return model_->GetTargetLanguageNameAt(index);
}
std::optional<size_t> TargetLanguageComboboxModel::GetDefaultIndex() const {
return default_index_;
}