pages.cpp Example File

dialogs/configdialog/pages.cpp
/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** 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. ** ** BSD License Usage ** Alternatively, you may use this file under the terms of the BSD license ** as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of The Qt Company Ltd nor the names of its ** contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/
#include <QtWidgets> #include "pages.h" ConfigurationPage::ConfigurationPage(QWidget *parent) : QWidget(parent) { QGroupBox *configGroup = new QGroupBox(tr("Server configuration")); QLabel *serverLabel = new QLabel(tr("Server:")); QComboBox *serverCombo = new QComboBox; serverCombo->addItem(tr("Qt (Australia)")); serverCombo->addItem(tr("Qt (Germany)")); serverCombo->addItem(tr("Qt (Norway)")); serverCombo->addItem(tr("Qt (People's Republic of China)")); serverCombo->addItem(tr("Qt (USA)")); QHBoxLayout *serverLayout = new QHBoxLayout; serverLayout->addWidget(serverLabel); serverLayout->addWidget(serverCombo); QVBoxLayout *configLayout = new QVBoxLayout; configLayout->addLayout(serverLayout); configGroup->setLayout(configLayout); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(configGroup); mainLayout->addStretch(1); setLayout(mainLayout); } UpdatePage::UpdatePage(QWidget *parent) : QWidget(parent) { QGroupBox *updateGroup = new QGroupBox(tr("Package selection")); QCheckBox *systemCheckBox = new QCheckBox(tr("Update system")); QCheckBox *appsCheckBox = new QCheckBox(tr("Update applications")); QCheckBox *docsCheckBox = new QCheckBox(tr("Update documentation")); QGroupBox *packageGroup = new QGroupBox(tr("Existing packages")); QListWidget *packageList = new QListWidget; QListWidgetItem *qtItem = new QListWidgetItem(packageList); qtItem->setText(tr("Qt")); QListWidgetItem *qsaItem = new QListWidgetItem(packageList); qsaItem->setText(tr("QSA")); QListWidgetItem *teamBuilderItem = new QListWidgetItem(packageList); teamBuilderItem->setText(tr("Teambuilder")); QPushButton *startUpdateButton = new QPushButton(tr("Start update")); QVBoxLayout *updateLayout = new QVBoxLayout; updateLayout->addWidget(systemCheckBox); updateLayout->addWidget(appsCheckBox); updateLayout->addWidget(docsCheckBox); updateGroup->setLayout(updateLayout); QVBoxLayout *packageLayout = new QVBoxLayout; packageLayout->addWidget(packageList); packageGroup->setLayout(packageLayout); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(updateGroup); mainLayout->addWidget(packageGroup); mainLayout->addSpacing(12); mainLayout->addWidget(startUpdateButton); mainLayout->addStretch(1); setLayout(mainLayout); } QueryPage::QueryPage(QWidget *parent) : QWidget(parent) { QGroupBox *packagesGroup = new QGroupBox(tr("Look for packages")); QLabel *nameLabel = new QLabel(tr("Name:")); QLineEdit *nameEdit = new QLineEdit; QLabel *dateLabel = new QLabel(tr("Released after:")); QDateTimeEdit *dateEdit = new QDateTimeEdit(QDate::currentDate()); QCheckBox *releasesCheckBox = new QCheckBox(tr("Releases")); QCheckBox *upgradesCheckBox = new QCheckBox(tr("Upgrades")); QSpinBox *hitsSpinBox = new QSpinBox; hitsSpinBox->setPrefix(tr("Return up to ")); hitsSpinBox->setSuffix(tr(" results")); hitsSpinBox->setSpecialValueText(tr("Return only the first result")); hitsSpinBox->setMinimum(1); hitsSpinBox->setMaximum(100); hitsSpinBox->setSingleStep(10); QPushButton *startQueryButton = new QPushButton(tr("Start query")); QGridLayout *packagesLayout = new QGridLayout; packagesLayout->addWidget(nameLabel, 0, 0); packagesLayout->addWidget(nameEdit, 0, 1); packagesLayout->addWidget(dateLabel, 1, 0); packagesLayout->addWidget(dateEdit, 1, 1); packagesLayout->addWidget(releasesCheckBox, 2, 0); packagesLayout->addWidget(upgradesCheckBox, 3, 0); packagesLayout->addWidget(hitsSpinBox, 4, 0, 1, 2); packagesGroup->setLayout(packagesLayout); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(packagesGroup); mainLayout->addSpacing(12); mainLayout->addWidget(startQueryButton); mainLayout->addStretch(1); setLayout(mainLayout); }