blob: 6c28e907e630bafcfa1e289a2ef0664d13648f59 [file] [log] [blame]
// Copyright 2019 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/source_language_combobox_model.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/ui/translate/translate_language_list_model.h"
SourceLanguageComboboxModel::SourceLanguageComboboxModel(
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.
}
SourceLanguageComboboxModel::~SourceLanguageComboboxModel() = default;
size_t SourceLanguageComboboxModel::GetItemCount() const {
return model_->GetNumberOfSourceLanguages();
}
std::u16string SourceLanguageComboboxModel::GetItemAt(size_t index) const {
return model_->GetSourceLanguageNameAt(index);
}
std::optional<size_t> SourceLanguageComboboxModel::GetDefaultIndex() const {
return default_index_;
}