Blame | Last modification | View Log | RSS feed
/******************************************************************************** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).** Contact: Qt Software Information (qt-info@nokia.com)**** This file is part of the example classes of the Qt Toolkit.**** Commercial Usage** Licensees holding valid Qt Commercial licenses may use this file in** accordance with the Qt Commercial License Agreement provided with the** Software or, alternatively, in accordance with the terms contained in** a written agreement between you and Nokia.****** GNU General Public License Usage** Alternatively, this file may be used under the terms of the GNU** General Public License versions 2.0 or 3.0 as published by the Free** Software Foundation and appearing in the file LICENSE.GPL included in** the packaging of this file. Please review the following information** to ensure GNU General Public Licensing requirements will be met:** http://www.fsf.org/licensing/licenses/info/GPLv2.html and** http://www.gnu.org/copyleft/gpl.html. In addition, as a special** exception, Nokia gives you certain additional rights. These rights** are described in the Nokia Qt GPL Exception version 1.3, included in** the file GPL_EXCEPTION.txt in this package.**** Qt for Windows(R) Licensees** As a special exception, Nokia, as the sole copyright holder for Qt** Designer, grants users of the Qt/Eclipse Integration plug-in the** right for the Qt/Eclipse Integration to link to functionality** provided by Qt Designer and its related libraries.**** If you are unsure which license is appropriate for your use, please** contact the sales department at qt-sales@nokia.com.******************************************************************************/#include <QtGui>#include "configdialog.h"#include "pages.h"ConfigDialog::ConfigDialog(){contentsWidget = new QListWidget;contentsWidget->setViewMode(QListView::IconMode);contentsWidget->setIconSize(QSize(96, 84));contentsWidget->setMovement(QListView::Static);contentsWidget->setMaximumWidth(128);contentsWidget->setSpacing(12);pagesWidget = new QStackedWidget;pagesWidget->addWidget(new ConfigurationPage);pagesWidget->addWidget(new UpdatePage);pagesWidget->addWidget(new QueryPage);QPushButton *closeButton = new QPushButton(tr("Close"));createIcons();contentsWidget->setCurrentRow(0);connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));QHBoxLayout *horizontalLayout = new QHBoxLayout;horizontalLayout->addWidget(contentsWidget);horizontalLayout->addWidget(pagesWidget, 1);QHBoxLayout *buttonsLayout = new QHBoxLayout;buttonsLayout->addStretch(1);buttonsLayout->addWidget(closeButton);QVBoxLayout *mainLayout = new QVBoxLayout;mainLayout->addLayout(horizontalLayout);mainLayout->addStretch(1);mainLayout->addSpacing(12);mainLayout->addLayout(buttonsLayout);setLayout(mainLayout);setWindowTitle(tr("Config Dialog"));}void ConfigDialog::createIcons(){QListWidgetItem *configButton = new QListWidgetItem(contentsWidget);configButton->setIcon(QIcon(":/images/config.png"));configButton->setText(tr("Configuration"));configButton->setTextAlignment(Qt::AlignHCenter);configButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);QListWidgetItem *updateButton = new QListWidgetItem(contentsWidget);updateButton->setIcon(QIcon(":/images/update.png"));updateButton->setText(tr("Update"));updateButton->setTextAlignment(Qt::AlignHCenter);updateButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);QListWidgetItem *queryButton = new QListWidgetItem(contentsWidget);queryButton->setIcon(QIcon(":/images/query.png"));queryButton->setText(tr("Query"));queryButton->setTextAlignment(Qt::AlignHCenter);queryButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);connect(contentsWidget,SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*)));}void ConfigDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous){if (!current)current = previous;pagesWidget->setCurrentIndex(contentsWidget->row(current));}