forked from qt-creator/qt-creator
Combine multi qt quick app wizards into just one
Cleanup some stuff (mobile orientation page), drop import of qml from existing file Change-Id: I261f03b6f249129dfe732719fb683978cc90fb9e Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
@@ -29,43 +29,88 @@
|
||||
|
||||
#include "qtquickappwizardpages.h"
|
||||
#include "ui_qtquickcomponentsetoptionspage.h"
|
||||
#include <QComboBox>
|
||||
|
||||
namespace QmakeProjectManager {
|
||||
namespace Internal {
|
||||
|
||||
class QtQuickComponentSetOptionsPagePrivate
|
||||
class QtQuickComponentSetPagePrivate
|
||||
{
|
||||
Ui::QtQuickComponentSetOptionsPage ui;
|
||||
friend class QtQuickComponentSetOptionsPage;
|
||||
public:
|
||||
QComboBox *m_versionComboBox;
|
||||
QLabel *m_descriptionLabel;
|
||||
};
|
||||
|
||||
QtQuickComponentSetOptionsPage::QtQuickComponentSetOptionsPage(QWidget *parent)
|
||||
: QWizardPage(parent)
|
||||
, d(new QtQuickComponentSetOptionsPagePrivate)
|
||||
QString QtQuickComponentSetPage::description(QtQuickApp::ComponentSet componentSet) const
|
||||
{
|
||||
d->ui.setupUi(this);
|
||||
|
||||
d->ui.importLineEdit->setExpectedKind(Utils::PathChooser::File);
|
||||
d->ui.importLineEdit->setPromptDialogFilter(QLatin1String("*.qml"));
|
||||
d->ui.importLineEdit->setPromptDialogTitle(tr("Select QML File"));
|
||||
connect(d->ui.importLineEdit, SIGNAL(changed(QString)), SIGNAL(completeChanged()));
|
||||
|
||||
setTitle(tr("Select Existing QML file"));
|
||||
const QString basicDescription = tr("Creates a Qt Quick 1 application project that can contain "
|
||||
"both QML and C++ code and includes a QDeclarativeView.<br><br>");
|
||||
const QString basicDescription2 = tr("Creates a Qt Quick 2 application project that can contain "
|
||||
"both QML and C++ code and includes a QQuickView.<br><br>");
|
||||
switch (componentSet) {
|
||||
case QtQuickApp::QtQuickControls10:
|
||||
return basicDescription2 + tr("Creates a deployable Qt Quick application using "
|
||||
"Qt Quick Controls. All files and directories that "
|
||||
"reside in the same directory as the main .qml file "
|
||||
"are deployed. You can modify the contents of the "
|
||||
"directory any time before deploying.\n\nRequires <b>Qt 5.1</b> or newer.");
|
||||
case QtQuickApp::QtQuick20Components:
|
||||
return basicDescription2 + tr("The built-in QML types in the QtQuick 2 namespace allow "
|
||||
"you to write cross-platform applications with "
|
||||
"a custom look and feel.\n\nRequires <b>Qt 5.0</b> or newer.");
|
||||
case QtQuickApp::QtQuick10Components:
|
||||
return basicDescription + tr("The built-in QML types in the QtQuick 1 namespace allow "
|
||||
"you to write cross-platform applications with "
|
||||
"a custom look and feel.\n\nRequires <b>Qt 4.8</b> or newer.");
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
QtQuickComponentSetOptionsPage::~QtQuickComponentSetOptionsPage()
|
||||
QtQuickComponentSetPage::QtQuickComponentSetPage(QWidget *parent)
|
||||
: QWizardPage(parent)
|
||||
, d(new QtQuickComponentSetPagePrivate)
|
||||
{
|
||||
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);
|
||||
d->m_versionComboBox->addItem(tr("Qt Quick Controls 1.0"), QtQuickApp::QtQuickControls10);
|
||||
d->m_versionComboBox->addItem(tr("Qt Quick 2.0"), QtQuickApp::QtQuick20Components);
|
||||
d->m_versionComboBox->addItem(tr("Qt Quick 1.1"), QtQuickApp::QtQuick10Components);
|
||||
|
||||
l->addWidget(label);
|
||||
l->addWidget(d->m_versionComboBox);
|
||||
|
||||
d->m_descriptionLabel = new QLabel(this);
|
||||
d->m_descriptionLabel->setWordWrap(true);
|
||||
d->m_descriptionLabel->setTextFormat(Qt::RichText);
|
||||
connect(d->m_versionComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateDescription(int)));
|
||||
updateDescription(d->m_versionComboBox->currentIndex());
|
||||
|
||||
mainLayout->addLayout(l);
|
||||
mainLayout->addWidget(d->m_descriptionLabel);
|
||||
}
|
||||
|
||||
QtQuickComponentSetPage::~QtQuickComponentSetPage()
|
||||
{
|
||||
delete d;
|
||||
}
|
||||
|
||||
QString QtQuickComponentSetOptionsPage::mainQmlFile() const
|
||||
QtQuickApp::ComponentSet QtQuickComponentSetPage::componentSet(int index) const
|
||||
{
|
||||
return d->ui.importLineEdit->path();
|
||||
return (QtQuickApp::ComponentSet)d->m_versionComboBox->itemData(index).toInt();
|
||||
}
|
||||
|
||||
bool QtQuickComponentSetOptionsPage::isComplete() const
|
||||
QtQuickApp::ComponentSet QtQuickComponentSetPage::componentSet() const
|
||||
{
|
||||
return d->ui.importLineEdit->isValid();
|
||||
return componentSet(d->m_versionComboBox->currentIndex());
|
||||
}
|
||||
|
||||
void QtQuickComponentSetPage::updateDescription(int index)
|
||||
{
|
||||
d->m_descriptionLabel->setText(description(componentSet(index)));
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
Reference in New Issue
Block a user