qtquickappwizardpages.cpp 3.38 KB
Newer Older
hjk's avatar
hjk committed
1
/****************************************************************************
2
**
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
hjk's avatar
hjk committed
4
** Contact: http://www.qt-project.org/legal
5
**
hjk's avatar
hjk committed
6
** This file is part of Qt Creator.
7
**
hjk's avatar
hjk committed
8
9
10
11
12
13
14
** 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 Digia.  For licensing terms and
** conditions see http://qt.digia.com/licensing.  For further information
** use the contact form at http://qt.digia.com/contact-us.
15
16
**
** GNU Lesser General Public License Usage
hjk's avatar
hjk committed
17
18
19
20
21
22
23
24
25
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Digia gives you certain additional
** rights.  These rights are described in the Digia Qt LGPL Exception
con's avatar
con committed
26
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
hjk's avatar
hjk committed
28
****************************************************************************/
29

30
#include "qtquickappwizardpages.h"
31
32
33

#include <utils/wizard.h>

34
#include <QComboBox>
jkobus's avatar
jkobus committed
35
36
#include <QLabel>
#include <QVBoxLayout>
37

38
namespace QmakeProjectManager {
39
40
namespace Internal {

41
class QtQuickComponentSetPagePrivate
Feetu Nyrhinen's avatar
Feetu Nyrhinen committed
42
{
43
44
45
public:
    QComboBox *m_versionComboBox;
    QLabel *m_descriptionLabel;
Feetu Nyrhinen's avatar
Feetu Nyrhinen committed
46
47
};

48
QtQuickComponentSetPage::QtQuickComponentSetPage(QWidget *parent)
Feetu Nyrhinen's avatar
Feetu Nyrhinen committed
49
    : QWizardPage(parent)
50
    , d(new QtQuickComponentSetPagePrivate)
Feetu Nyrhinen's avatar
Feetu Nyrhinen committed
51
{
52
53
54
55
56
57
    setTitle(tr("Select Qt Quick Component Set"));
    QVBoxLayout *mainLayout = new QVBoxLayout(this);
    QHBoxLayout *l = new QHBoxLayout();

    QLabel *label = new QLabel(tr("Qt Quick component set:"), this);
    d->m_versionComboBox = new QComboBox(this);
58

59
60
    foreach (const TemplateInfo &templateInfo, QtQuickApp::templateInfos())
        d->m_versionComboBox->addItem(templateInfo.displayName);
61

62
63
    l->addWidget(label);
    l->addWidget(d->m_versionComboBox);
64

65
66
67
    d->m_descriptionLabel = new QLabel(this);
    d->m_descriptionLabel->setWordWrap(true);
    d->m_descriptionLabel->setTextFormat(Qt::RichText);
68
69
    connect(d->m_versionComboBox, SIGNAL(currentIndexChanged(int)),
            this, SLOT(updateDescription(int)));
70
71
72
73
    updateDescription(d->m_versionComboBox->currentIndex());

    mainLayout->addLayout(l);
    mainLayout->addWidget(d->m_descriptionLabel);
74
75

    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Component Set"));
Feetu Nyrhinen's avatar
Feetu Nyrhinen committed
76
77
}

78
QtQuickComponentSetPage::~QtQuickComponentSetPage()
Feetu Nyrhinen's avatar
Feetu Nyrhinen committed
79
{
hjk's avatar
hjk committed
80
    delete d;
Feetu Nyrhinen's avatar
Feetu Nyrhinen committed
81
82
}

83
TemplateInfo QtQuickComponentSetPage::templateInfo() const
84
{
85
86
87
    if (QtQuickApp::templateInfos().isEmpty())
        return TemplateInfo();
    return QtQuickApp::templateInfos().at(d->m_versionComboBox->currentIndex());
88
89
}

90
void QtQuickComponentSetPage::updateDescription(int index)
91
{
92
93
94
95
96
    if (QtQuickApp::templateInfos().isEmpty())
        return;

    const TemplateInfo templateInfo = QtQuickApp::templateInfos().at(index);
    d->m_descriptionLabel->setText(templateInfo.description);
97
98
99
}

} // namespace Internal
100
} // namespace QmakeProjectManager