910e62b5创建于 1月15日历史提交
// 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_;
}