qtbase/tests/manual/qlocale/languages.cpp
Lucie Gérard ff1039c217 Change license for tests files
According to QUIP-18 [1], all tests file should be
LicenseRef-Qt-Commercial OR GPL-3.0-only

[1]: https://contribute.qt-project.org/quips/18

Pick-to: 6.7
Task-number: QTBUG-121787
Change-Id: I9657df5d660820e56c96d511ea49d321c54682e8
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2024-02-04 09:56:42 +01:00

41 lines
1.1 KiB
C++

// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#undef QT_NO_FOREACH // this file contains unported legacy Q_FOREACH uses
#include "languages.h"
#include <QLabel>
#include <QListWidget>
#include <QHBoxLayout>
LanguagesWidget::LanguagesWidget()
{
QVBoxLayout *l = new QVBoxLayout(this);
languagesLabel = new QLabel("Preferred languages:");
languagesList = new QListWidget;
l->addWidget(languagesLabel);
l->addWidget(languagesList);
localeChanged(QLocale());
}
void LanguagesWidget::localeChanged(QLocale locale)
{
languagesList->clear();
foreach (const QString &lang, locale.uiLanguages()) {
QListWidgetItem *item = new QListWidgetItem(lang, languagesList);
QLocale l(lang);
if (l.language() != QLocale::C) {
QString language = QLocale::languageToString(l.language());
QString country = QLocale::territoryToString(l.territory());
QString tooltip = QString(QLatin1String("%1: %2/%3")).arg(l.name(), language, country);
item->setToolTip(tooltip);
}
}
}