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>
41 lines
1.1 KiB
C++
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);
|
|
}
|
|
}
|
|
}
|
|
|
|
|