1
/****************************************************************************
3
** Copyright (C) 2005-2005 Trolltech AS. All rights reserved.
5
** This file is part of the example classes of the Qt Toolkit.
7
** This file may be distributed under the terms of the Q Public License
8
** as defined by Trolltech AS of Norway and appearing in the file
9
** LICENSE.QPL included in the packaging of this file.
11
** This file may be distributed and/or modified under the terms of the
12
** GNU General Public License version 2 as published by the Free Software
13
** Foundation and appearing in the file LICENSE.GPL included in the
14
** packaging of this file.
16
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
17
** information about Qt Commercial License Agreements.
18
** See http://www.trolltech.com/qpl/ for QPL licensing information.
19
** See http://www.trolltech.com/gpl/ for GPL licensing information.
21
** Contact info@trolltech.com if any conditions of this licensing are
24
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
25
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27
****************************************************************************/
31
#include "configdialog.h"
34
ConfigDialog::ConfigDialog()
36
contentsWidget = new QListWidget;
37
contentsWidget->setViewMode(QListView::IconMode);
38
contentsWidget->setIconSize(QSize(96, 84));
39
contentsWidget->setMovement(QListView::Static);
40
contentsWidget->setMaximumWidth(128);
41
contentsWidget->setSpacing(12);
43
pagesWidget = new QStackedWidget;
44
pagesWidget->addWidget(new ConfigurationPage);
45
pagesWidget->addWidget(new UpdatePage);
46
pagesWidget->addWidget(new QueryPage);
48
QPushButton *closeButton = new QPushButton(tr("Close"));
51
contentsWidget->setCurrentRow(0);
53
connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
55
QHBoxLayout *horizontalLayout = new QHBoxLayout;
56
horizontalLayout->addWidget(contentsWidget);
57
horizontalLayout->addWidget(pagesWidget, 1);
59
QHBoxLayout *buttonsLayout = new QHBoxLayout;
60
buttonsLayout->addStretch(1);
61
buttonsLayout->addWidget(closeButton);
63
QVBoxLayout *mainLayout = new QVBoxLayout;
64
mainLayout->addLayout(horizontalLayout);
65
mainLayout->addStretch(1);
66
mainLayout->addSpacing(12);
67
mainLayout->addLayout(buttonsLayout);
68
setLayout(mainLayout);
70
setWindowTitle(tr("Config Dialog"));
73
void ConfigDialog::createIcons()
75
QListWidgetItem *configButton = new QListWidgetItem(contentsWidget);
76
configButton->setIcon(QIcon(":/images/config.png"));
77
configButton->setText(tr("Configuration"));
78
configButton->setTextAlignment(Qt::AlignHCenter);
79
configButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
81
QListWidgetItem *updateButton = new QListWidgetItem(contentsWidget);
82
updateButton->setIcon(QIcon(":/images/update.png"));
83
updateButton->setText(tr("Update"));
84
updateButton->setTextAlignment(Qt::AlignHCenter);
85
updateButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
87
QListWidgetItem *queryButton = new QListWidgetItem(contentsWidget);
88
queryButton->setIcon(QIcon(":/images/query.png"));
89
queryButton->setText(tr("Query"));
90
queryButton->setTextAlignment(Qt::AlignHCenter);
91
queryButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
93
connect(contentsWidget,
94
SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
95
this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*)));
98
void ConfigDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous)
103
pagesWidget->setCurrentIndex(contentsWidget->row(current));