| /**************************************************************************** |
| ** |
| ** Copyright (C) 2017 The Qt Company Ltd. |
| ** Contact: https://www.qt.io/licensing/ |
| ** |
| ** This file is part of the test suite of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ |
| ** Commercial License Usage |
| ** Licensees holding valid commercial Qt licenses may use this file in |
| ** accordance with the commercial license agreement provided with the |
| ** Software or, alternatively, in accordance with the terms contained in |
| ** a written agreement between you and The Qt Company. For licensing terms |
| ** and conditions see https://www.qt.io/terms-conditions. For further |
| ** information use the contact form at https://www.qt.io/contact-us. |
| ** |
| ** GNU General Public License Usage |
| ** Alternatively, this file may be used under the terms of the GNU |
| ** General Public License version 3 as published by the Free Software |
| ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT |
| ** included in the packaging of this file. Please review the following |
| ** information to ensure the GNU General Public License requirements will |
| ** be met: https://www.gnu.org/licenses/gpl-3.0.html. |
| ** |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| #include "info.h" |
| |
| #include <QLineEdit> |
| #include <QScrollArea> |
| #include <QGridLayout> |
| #include <QLabel> |
| #include <QLocale> |
| |
| InfoWidget::InfoWidget() |
| { |
| scrollArea = new QScrollArea; |
| scrollAreaWidget = new QWidget; |
| scrollArea->setWidget(scrollAreaWidget); |
| scrollArea->setWidgetResizable(true); |
| layout = new QGridLayout(); |
| QVBoxLayout *v = new QVBoxLayout(scrollAreaWidget); |
| v->addLayout(layout); |
| v->addStretch(); |
| |
| QVBoxLayout *l = new QVBoxLayout(this); |
| l->addWidget(scrollArea); |
| |
| name = addItem("Name:"); |
| bcp47Name = addItem("Bcp47 name:"); |
| languageName = addItem("Language name:"); |
| nativeLanguageName = addItem("Native language name:"); |
| scriptName = addItem("Script name:"); |
| countryName = addItem("Country name:"); |
| nativeCountryName = addItem("Native country name:"); |
| } |
| |
| void InfoWidget::localeChanged(QLocale locale) |
| { |
| setLocale(locale); |
| name->setText(locale.name()); |
| bcp47Name->setText(locale.bcp47Name()); |
| languageName->setText(QLocale::languageToString(locale.language())); |
| nativeLanguageName->setText(locale.nativeLanguageName()); |
| scriptName->setText(QLocale::scriptToString(locale.script())); |
| countryName->setText(QLocale::countryToString(locale.country())); |
| nativeCountryName->setText(locale.nativeCountryName()); |
| } |
| |
| void InfoWidget::addItem(const QString &label, QWidget *w) |
| { |
| QLabel *lbl = new QLabel(label); |
| int row = layout->rowCount(); |
| layout->addWidget(lbl, row, 0); |
| layout->addWidget(w, row, 1, 1, 2); |
| } |
| |
| QLineEdit *InfoWidget::addItem(const QString &label) |
| { |
| QLineEdit *le = new QLineEdit; |
| le->setReadOnly(true); |
| addItem(label, le); |
| return le; |
| } |