locale_model.cc 985 B

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/system/model/locale_model.h"
  5. namespace ash {
  6. LocaleModel::Observer::~Observer() = default;
  7. LocaleModel::LocaleModel() = default;
  8. LocaleModel::~LocaleModel() = default;
  9. void LocaleModel::AddObserver(Observer* observer) {
  10. observers_.AddObserver(observer);
  11. }
  12. void LocaleModel::RemoveObserver(Observer* observer) {
  13. observers_.RemoveObserver(observer);
  14. }
  15. void LocaleModel::SetLocaleList(std::vector<LocaleInfo> locale_list,
  16. const std::string& current_locale_iso_code) {
  17. locale_list_ = std::move(locale_list);
  18. current_locale_iso_code_ = current_locale_iso_code;
  19. for (auto& observer : observers_)
  20. observer.OnLocaleListSet();
  21. }
  22. bool LocaleModel::ShouldShowCurrentLocaleInStatusArea() const {
  23. return !current_locale_iso_code_.empty();
  24. }
  25. } // namespace ash