ui: Added Java project setup UI

This commit is contained in:
Eberhard Graether
2016-08-17 13:12:26 +02:00
parent 566cface6c
commit a3001b2b72
30 changed files with 329 additions and 176 deletions
+7 -2
View File
@@ -419,8 +419,13 @@ void QtMainWindow::openProject(const QString &path)
void QtMainWindow::editProject()
{
QtProjectWizzard* wizzard = createWindow<QtProjectWizzard>();
wizzard->editProject(Application::getInstance()->getCurrentProject()->getProjectSettingsFilePath());
Project* currentProject = Application::getInstance()->getCurrentProject().get();
if (currentProject)
{
QtProjectWizzard* wizzard = createWindow<QtProjectWizzard>();
wizzard->editProject(currentProject->getProjectSettingsFilePath());
}
}
void QtMainWindow::find()
@@ -1,7 +1,5 @@
#include "qt/window/project_wizzard/QtProjectWizzard.h"
#include <boost/algorithm/string.hpp>
#include <QFileDialog>
#include <QMessageBox>
#include <QSysInfo>
@@ -21,16 +19,13 @@
#include "settings/CxxProjectSettings.h"
#include "settings/JavaProjectSettings.h"
#include "utility/file/FileSystem.h"
#include "utility/logging/logging.h"
#include "utility/messaging/type/MessageDispatchWhenLicenseValid.h"
#include "utility/messaging/type/MessageLoadProject.h"
#include "utility/messaging/type/MessageRefresh.h"
#include "utility/solution/SolutionParserVisualStudio.h"
// #include "utility/solution/SolutionParserCodeBlocks.h"
#include "utility/messaging/type/MessageStatus.h"
#include "utility/logging/logging.h"
#include "utility/solution/SolutionParserVisualStudio.h"
#include "utility/utilityString.h"
#include "Application.h"
@@ -101,11 +96,9 @@ void QtProjectWizzard::newProjectFromSolution(const std::string& ideId, const st
QtProjectWizzardWindow* window = dynamic_cast<QtProjectWizzardWindow*>(widget);
std::string title = "NEW PROJECT FROM ";
title += ideId;
title += utility::toUpperCase(ideId);
title += " SOLUTION";
boost::algorithm::to_upper(title);
window->updateTitle(QString(title.c_str()));
window->updateNextButton("Create");
window->setPreviousVisible(m_windowStack.getWindowCount() > 0);
@@ -162,11 +155,13 @@ void QtProjectWizzard::editProject(const FilePath& settingsPath)
case LANGUAGE_JAVA:
settings = std::make_shared<JavaProjectSettings>(settingsPath);
break;
default:
return;
}
if (settings)
{
settings->load();
settings->reload();
editProject(settings);
}
}
@@ -176,7 +171,20 @@ void QtProjectWizzard::editProject(std::shared_ptr<ProjectSettings> settings)
m_settings = settings;
m_editing = true;
showSummary();
switch (m_settings->getLanguage())
{
case LANGUAGE_JAVA:
showSummaryJava();
break;
case LANGUAGE_C:
case LANGUAGE_CPP:
showSummary();
break;
default:
break;
}
QtProjectWizzardWindow* window = dynamic_cast<QtProjectWizzardWindow*>(m_windowStack.getTopWindow());
if (!window)
@@ -334,7 +342,14 @@ void QtProjectWizzard::selectedProjectType(LanguageType languageType, QtProjectW
switch (type)
{
case QtProjectWizzardContentSelect::PROJECT_EMPTY:
m_settings = std::make_shared<CxxProjectSettings>();
if (languageType == LANGUAGE_JAVA)
{
m_settings = std::make_shared<JavaProjectSettings>();
}
else
{
m_settings = std::make_shared<CxxProjectSettings>();
}
m_settings->setLanguage(languageType);
emptyProject();
break;
@@ -376,7 +391,15 @@ void QtProjectWizzard::selectedProjectType(LanguageType languageType, QtProjectW
void QtProjectWizzard::emptyProject()
{
QtProjectWizzardWindow* window = createWindowWithContent<QtProjectWizzardContentData>();
connect(window, SIGNAL(next()), this, SLOT(sourcePaths()));
if (m_settings->getLanguage() == LANGUAGE_JAVA)
{
connect(window, SIGNAL(next()), this, SLOT(sourcePathsJava()));
}
else
{
connect(window, SIGNAL(next()), this, SLOT(sourcePaths()));
}
}
void QtProjectWizzard::sourcePaths()
@@ -487,6 +510,25 @@ void QtProjectWizzard::headerPathsCDBDone()
}
}
void QtProjectWizzard::sourcePathsJava()
{
QtProjectWizzardWindow* window = createWindowWithSummary(
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
{
QtProjectWizzardContent* source = new QtProjectWizzardContentPathsSourceJava(m_settings, window);
summary->addContent(source, false, false);
connectShowFiles(source);
summary->addContent(new QtProjectWizzardContentPathsClassJava(m_settings, window), false, false);
window->setup();
}
);
connect(window, SIGNAL(next()), this, SLOT(showSummaryJava()));
}
void QtProjectWizzard::showFiles(QtProjectWizzardContent* content)
{
QWidget* widget = m_windowStack.getTopWindow();
@@ -566,17 +608,51 @@ void QtProjectWizzard::showSummary()
connect(window, SIGNAL(next()), this, SLOT(createProject()));
}
void QtProjectWizzard::showSummaryJava()
{
QtProjectWizzardWindow* window = createWindowWithSummary(
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
{
summary->setIsForm(true);
summary->addContent(new QtProjectWizzardContentData(m_settings, window), false, false);
QtProjectWizzardContentPathsSourceJava* source = new QtProjectWizzardContentPathsSourceJava(m_settings, window);
summary->addContent(source, false, true);
connectShowFiles(source);
summary->addContent(new QtProjectWizzardContentPathsClassJava(m_settings, window), false, true);
summary->addContent(new QtProjectWizzardContentExtensions(m_settings, window), true, false);
summary->addContent(new QtProjectWizzardContentPathsExclude(m_settings, window), true, true);
window->setup();
window->updateTitle("NEW PROJECT - SUMMARY");
window->updateNextButton("Create");
}
);
connect(window, SIGNAL(next()), this, SLOT(createProject()));
}
void QtProjectWizzard::createProject()
{
FilePath path = m_settings->getFilePath();
m_settings->save(path);
bool foreceRefreshProject = false;
bool forceRefreshProject = false;
if (m_editing)
{
std::shared_ptr<Application> application = Application::getInstance();
FilePath oldPath = application->getCurrentProject()->getProjectSettingsFilePath();
FilePath oldPath;
Project* currentProject = application->getCurrentProject().get();
if (currentProject)
{
oldPath = currentProject->getProjectSettingsFilePath();
}
if (oldPath.exists() && oldPath != path)
{
@@ -608,12 +684,12 @@ void QtProjectWizzard::createProject()
if (settingsChanged || appSettingsChanged)
{
foreceRefreshProject = true;
forceRefreshProject = true;
}
}
MessageDispatchWhenLicenseValid(
std::make_shared<MessageLoadProject>(path, foreceRefreshProject)
std::make_shared<MessageLoadProject>(path, forceRefreshProject)
).dispatch();
finishWizzard();
@@ -625,11 +701,15 @@ void QtProjectWizzard::savePreferences()
if (appSettingsChanged)
{
MessageDispatchWhenLicenseValid(
std::make_shared<MessageLoadProject>(
Application::getInstance()->getCurrentProject()->getProjectSettingsFilePath(), true
)
).dispatch();
Project* currentProject = Application::getInstance()->getCurrentProject().get();
if (currentProject)
{
MessageDispatchWhenLicenseValid(
std::make_shared<MessageLoadProject>(
currentProject->getProjectSettingsFilePath(), true
)
).dispatch();
}
}
else
{
@@ -82,9 +82,12 @@ private slots:
void headerPathsCDB();
void headerPathsCDBDone();
void sourcePathsJava();
void showFiles(QtProjectWizzardContent* content);
void showSummary();
void showSummaryJava();
void createProject();
void savePreferences();
@@ -35,10 +35,6 @@ void QtProjectWizzardContent::populateWindow(QWidget* widget)
{
}
void QtProjectWizzardContent::populateWindow(QGridLayout* layout)
{
}
void QtProjectWizzardContent::populateWindow(QGridLayout* layout, int& row)
{
}
@@ -36,7 +36,6 @@ public:
QtProjectWizzardContent(std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window);
virtual void populateWindow(QWidget* widget);
virtual void populateWindow(QGridLayout* layout);
virtual void populateWindow(QGridLayout* layout, int& row);
virtual void populateForm(QGridLayout* layout, int& row);
virtual void windowReady();
@@ -5,20 +5,20 @@
#include "settings/CxxProjectSettings.h"
#include "utility/logging/logging.h"
QtProjectWizzardContentData::QtProjectWizzardContentData(std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window)
: QtProjectWizzardContent(settings, window)
, m_projectName(nullptr)
, m_projectFileLocation(nullptr)
, m_language(nullptr)
, m_cppStandard(nullptr)
, m_cStandard(nullptr)
, m_standard(nullptr)
, m_buildFilePicker(nullptr)
{
}
void QtProjectWizzardContentData::populateWindow(QGridLayout* layout)
void QtProjectWizzardContentData::populateWindow(QGridLayout* layout, int& row)
{
int row = 0;
layout->setRowMinimumHeight(0, 15);
row++;
@@ -47,24 +47,24 @@ void QtProjectWizzardContentData::load()
if (m_language)
{
if (m_settings->getLanguage() != LANGUAGE_UNKNOWN)
LanguageType type = m_settings->getLanguage();
if (type == LANGUAGE_UNKNOWN)
{
m_language->setCurrentText(QString::fromStdString(languageTypeToString(m_settings->getLanguage())));
LOG_ERROR("No language type defined");
return;
}
if (m_settings->getStandard().length() > 0)
{
if (m_language->currentIndex() == 0) // c++
{
m_cppStandard->setCurrentText(QString::fromStdString(m_settings->getStandard()));
}
else if (m_language->currentIndex() == 1) // c
{
m_cStandard->setCurrentText(QString::fromStdString(m_settings->getStandard()));
}
m_language->setText(languageTypeToString(type).c_str());
handleSelectionChanged(m_language->currentIndex());
m_standard->clear();
std::vector<std::string> standards = m_settings->getLanguageStandards();
for (size_t i = 0; i < standards.size(); i++)
{
m_standard->insertItem(i, standards[i].c_str());
}
m_standard->setCurrentText(QString::fromStdString(m_settings->getStandard()));
}
}
@@ -76,18 +76,9 @@ void QtProjectWizzardContentData::save()
m_settings->setProjectFileLocation(m_projectFileLocation->getText().toStdString());
}
if (m_language)
if (m_standard)
{
m_settings->setLanguage(stringToLanguageType(m_language->currentText().toStdString()));
if (m_cppStandard->isVisible())
{
m_settings->setStandard(m_cppStandard->currentText().toStdString());
}
else if (m_cStandard->isVisible())
{
m_settings->setStandard(m_cStandard->currentText().toStdString());
}
m_settings->setStandard(m_standard->currentText().toStdString());
}
}
@@ -155,10 +146,7 @@ void QtProjectWizzardContentData::addLanguageAndStandard(QGridLayout* layout, in
{
QLabel* languageLabel = new QLabel("Language");
languageLabel->setObjectName("label");
m_language = new QComboBox();
m_language->insertItem(0, "C++");
m_language->insertItem(1, "C");
connect(m_language, SIGNAL(currentIndexChanged(int)), this, SLOT(handleSelectionChanged(int)));
m_language = new QLabel();
layout->addWidget(languageLabel, row, QtProjectWizzardWindow::FRONT_COL, Qt::AlignRight);
layout->addWidget(m_language, row, QtProjectWizzardWindow::BACK_COL, Qt::AlignLeft);
@@ -166,27 +154,11 @@ void QtProjectWizzardContentData::addLanguageAndStandard(QGridLayout* layout, in
QLabel* standardLabel = createFormLabel("Standard");
m_cppStandard = new QComboBox();
m_cppStandard->insertItem(0, "1z");
m_cppStandard->insertItem(1, "14");
m_cppStandard->insertItem(2, "1y");
m_cppStandard->insertItem(3, "11");
m_cppStandard->insertItem(4, "0x");
m_cppStandard->insertItem(5, "03");
m_cppStandard->insertItem(6, "98");
m_cStandard = new QComboBox();
m_cStandard->insertItem(0, "1x");
m_cStandard->insertItem(1, "11");
m_cStandard->insertItem(2, "9x");
m_cStandard->insertItem(3, "99");
m_cStandard->insertItem(4, "90");
m_cStandard->insertItem(5, "89");
m_standard = new QComboBox();
layout->addWidget(standardLabel, row, QtProjectWizzardWindow::FRONT_COL, Qt::AlignRight);
layout->addWidget(m_cppStandard, row, QtProjectWizzardWindow::BACK_COL, Qt::AlignLeft);
layout->addWidget(m_cStandard, row, QtProjectWizzardWindow::BACK_COL, Qt::AlignLeft);
layout->addWidget(m_standard, row, QtProjectWizzardWindow::BACK_COL, Qt::AlignLeft);
row++;
}
@@ -199,14 +171,6 @@ void QtProjectWizzardContentData::addBuildFilePicker(
m_buildFilePicker = new QtLocationPicker(this);
m_buildFilePicker->setFileFilter(filter);
// QPushButton* button = new QPushButton("", this);
// button->setObjectName("refreshButton");
// button->setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac
// button->setToolTip("refresh paths");
// connect(button, SIGNAL(clicked()), this, SLOT(refreshClicked()));
// m_buildFilePicker->layout()->addWidget(button);
layout->addWidget(m_buildFilePicker, row, QtProjectWizzardWindow::BACK_COL);
row++;
@@ -220,25 +184,6 @@ void QtProjectWizzardContentData::addBuildFilePicker(
row++;
}
void QtProjectWizzardContentData::handleSelectionChanged(int index)
{
if (!m_language)
{
return;
}
if (index != 0)
{
m_cStandard->show();
m_cppStandard->hide();
}
else
{
m_cppStandard->show();
m_cStandard->hide();
}
}
QtProjectWizzardContentDataCDB::QtProjectWizzardContentDataCDB(
std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window)
@@ -16,7 +16,7 @@ public:
QtProjectWizzardContentData(std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window);
// QtProjectWizzardContent implementation
virtual void populateWindow(QGridLayout* layout) override;
virtual void populateWindow(QGridLayout* layout, int& row) override;
virtual void populateForm(QGridLayout* layout, int& row) override;
virtual void load() override;
@@ -33,14 +33,10 @@ protected:
QLineEdit* m_projectName;
QtLocationPicker* m_projectFileLocation;
QComboBox* m_language;
QComboBox* m_cppStandard;
QComboBox* m_cStandard;
QLabel* m_language;
QComboBox* m_standard;
QtLocationPicker* m_buildFilePicker;
private slots:
void handleSelectionChanged(int index);
};
@@ -5,8 +5,9 @@
#include <QVBoxLayout>
#include "qt/element/QtDirectoryListBox.h"
#include "settings/CxxProjectSettings.h"
#include "settings/ApplicationSettings.h"
#include "settings/CxxProjectSettings.h"
#include "settings/JavaProjectSettings.h"
#include "utility/file/FileManager.h"
#include "utility/file/FileSystem.h"
#include "utility/headerSearch/StandardHeaderDetection.h"
@@ -17,12 +18,6 @@ QtProjectWizzardContentPaths::QtProjectWizzardContentPaths(std::shared_ptr<Proje
{
}
void QtProjectWizzardContentPaths::populateWindow(QGridLayout* layout)
{
int row = 0;
populateWindow(layout, row);
}
void QtProjectWizzardContentPaths::populateWindow(QGridLayout* layout, int& row)
{
layout->setRowMinimumHeight(row++, 10);
@@ -278,6 +273,20 @@ QString QtProjectWizzardContentPathsSource::getFileNamesDescription() const
return "files will be indexed.";
}
QtProjectWizzardContentPathsSourceJava::QtProjectWizzardContentPathsSourceJava(
std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window
)
: QtProjectWizzardContentPathsSource(settings, window)
{
setInfo(
"Source Paths",
"Add all directories or files you want to index. Usually these are all source files of "
"your project or a subset of them.",
"Source Paths define the files and directories that will be indexed by Coati. Usually these are the "
"source files of your project or a subset of them."
);
}
QtProjectWizzardContentPathsCDBHeader::QtProjectWizzardContentPathsCDBHeader(
std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window
)
@@ -452,3 +461,34 @@ void QtProjectWizzardContentPathsFrameworkSearchGlobal::save()
ApplicationSettings::getInstance()->setFrameworkSearchPaths(m_list->getList());
ApplicationSettings::getInstance()->save();
}
QtProjectWizzardContentPathsClassJava::QtProjectWizzardContentPathsClassJava(
std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window
)
: QtProjectWizzardContentPaths(settings, window)
{
setInfo(
"Class Path",
"Paths to .jar files and root directories of .class files your project depends on.",
"Enter the paths to .jar files and root directories of .class files your project depends on."
);
}
void QtProjectWizzardContentPathsClassJava::load()
{
std::shared_ptr<JavaProjectSettings> javaSettings = std::dynamic_pointer_cast<JavaProjectSettings>(m_settings);
if (javaSettings)
{
m_list->setList(javaSettings->getClasspaths());
}
}
void QtProjectWizzardContentPathsClassJava::save()
{
std::shared_ptr<JavaProjectSettings> javaSettings = std::dynamic_pointer_cast<JavaProjectSettings>(m_settings);
if (javaSettings)
{
javaSettings->setClasspaths(m_list->getList());
}
}
@@ -20,7 +20,6 @@ public:
QtProjectWizzardContentPaths(std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window);
// QtSettingsWindow implementation
virtual void populateWindow(QGridLayout* layout) override;
virtual void populateWindow(QGridLayout* layout, int& row) override;
virtual void populateForm(QGridLayout* layout, int& row) override;
@@ -70,6 +69,13 @@ public:
virtual QString getFileNamesDescription() const override;
};
class QtProjectWizzardContentPathsSourceJava
: public QtProjectWizzardContentPathsSource
{
public:
QtProjectWizzardContentPathsSourceJava(std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window);
};
class QtProjectWizzardContentPathsCDBHeader
: public QtProjectWizzardContentPathsSource
{
@@ -138,4 +144,16 @@ public:
virtual void save() override;
};
class QtProjectWizzardContentPathsClassJava
: public QtProjectWizzardContentPaths
{
public:
QtProjectWizzardContentPathsClassJava(std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window);
// QtProjectWizzardContent implementation
virtual void load() override;
virtual void save() override;
};
#endif // QT_PROJECT_WIZZARD_CONTENT_PATHS_H
@@ -27,9 +27,8 @@ QtProjectWizzardContentPreferences::~QtProjectWizzardContentPreferences()
}
}
void QtProjectWizzardContentPreferences::populateWindow(QGridLayout* layout)
void QtProjectWizzardContentPreferences::populateWindow(QGridLayout* layout, int& row)
{
int row = 0;
populateForm(layout, row);
}
@@ -17,7 +17,7 @@ public:
~QtProjectWizzardContentPreferences();
// QtProjectWizzardContent implementation
virtual void populateWindow(QGridLayout* layout) override;
virtual void populateWindow(QGridLayout* layout, int& row) override;
virtual void populateForm(QGridLayout* layout, int& row) override;
virtual void load() override;
@@ -10,39 +10,55 @@
#include "utility/solution/SolutionParserManager.h"
QtProjectWizzardContentSelect::QtProjectWizzardContentSelect(std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window, std::weak_ptr<SolutionParserManager> solutionParserManager)
QtProjectWizzardContentSelect::QtProjectWizzardContentSelect(
std::shared_ptr<ProjectSettings> settings,
QtProjectWizzardWindow* window,
std::weak_ptr<SolutionParserManager> solutionParserManager
)
: QtProjectWizzardContent(settings, window)
, m_solutionParserManager(solutionParserManager)
{
}
void QtProjectWizzardContentSelect::populateWindow(QGridLayout* layout)
void QtProjectWizzardContentSelect::populateWindow(QGridLayout* layout, int& row)
{
QPushButton* d = new QPushButton("C++");
QPushButton* e = new QPushButton("C");
QPushButton* d = new QPushButton(languageTypeToString(LANGUAGE_CPP).c_str(), this);
QPushButton* e = new QPushButton(languageTypeToString(LANGUAGE_C).c_str(), this);
QPushButton* f = new QPushButton(languageTypeToString(LANGUAGE_JAVA).c_str(), this);
d->setObjectName("menuButton");
e->setObjectName("menuButton");
f->setObjectName("menuButton");
d->setCheckable(true);
e->setCheckable(true);
f->setCheckable(true);
d->setChecked(true);
m_languages = new QButtonGroup();
m_languages->addButton(d);
m_languages->addButton(e);
m_languages->addButton(f);
m_languages->setId(d, 0);
m_languages->setId(e, 1);
m_languages->setId(f, 2);
connect(m_languages, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked),
[this](int id)
{
bool isJava = stringToLanguageType(m_languages->checkedButton()->text().toStdString()) == LANGUAGE_JAVA;
m_buttons->setExclusive(false);
for (int i = 0; i < m_buttons->buttons().size(); i++)
{
m_buttons->button(i)->setChecked(false);
if (i != 0)
{
m_buttons->button(i)->setVisible(!isJava);
}
}
m_buttons->setExclusive(true);
@@ -57,6 +73,7 @@ void QtProjectWizzardContentSelect::populateWindow(QGridLayout* layout)
vlayout->addWidget(d);
vlayout->addWidget(e);
vlayout->addWidget(f);
vlayout->addStretch();
@@ -19,10 +19,11 @@ public:
PROJECT_MANAGED = 2 // use this type for all standard parser (parsers that are handled by the parser manager)
};
QtProjectWizzardContentSelect(std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window, std::weak_ptr<SolutionParserManager> solutionParserManager);
QtProjectWizzardContentSelect(
std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window, std::weak_ptr<SolutionParserManager> solutionParserManager);
// QtProjectWizzardContent implementation
virtual void populateWindow(QGridLayout* layout) override;
virtual void populateWindow(QGridLayout* layout, int& row) override;
virtual void save() override;
virtual bool check() override;
@@ -32,8 +33,6 @@ public:
signals:
void selected(LanguageType, QtProjectWizzardContentSelect::ProjectType);
// void selected(unsigned int type);
private:
QButtonGroup* m_languages;
QButtonGroup* m_buttons;
@@ -11,12 +11,6 @@ QtProjectWizzardContentSimple::QtProjectWizzardContentSimple(std::shared_ptr<Pro
{
}
void QtProjectWizzardContentSimple::populateWindow(QGridLayout* layout)
{
int row = 0;
populateWindow(layout, row);
}
void QtProjectWizzardContentSimple::populateWindow(QGridLayout* layout, int& row)
{
QLabel* title = new QLabel("Lazy Include Search");
@@ -15,7 +15,6 @@ public:
QtProjectWizzardContentSimple(std::shared_ptr<ProjectSettings> settings, QtProjectWizzardWindow* window);
// QtProjectWizzardContent implementation
virtual void populateWindow(QGridLayout* layout) override;
virtual void populateWindow(QGridLayout* layout, int& row) override;
virtual void populateForm(QGridLayout* layout, int& row) override;
@@ -27,10 +27,8 @@ void QtProjectWizzardContentSummary::setIsForm(bool isForm)
m_isForm = isForm;
}
void QtProjectWizzardContentSummary::populateWindow(QGridLayout* layout)
void QtProjectWizzardContentSummary::populateWindow(QGridLayout* layout, int& row)
{
int row = 0;
if (m_isForm)
{
populateForm(layout, row);
@@ -26,7 +26,7 @@ public:
protected:
// QtProjectWizzardContent implementation
virtual void populateWindow(QGridLayout* layout) override;
virtual void populateWindow(QGridLayout* layout, int& row) override;
virtual void populateForm(QGridLayout* layout, int& row) override;
virtual void load() override;
@@ -40,7 +40,8 @@ void QtProjectWizzardWindow::populateWindow(QWidget* widget)
QGridLayout* layout = new QGridLayout();
layout->setContentsMargins(0, 0, 0, 0);
m_content->populateWindow(layout);
int row = 0;
m_content->populateWindow(layout, row);
if (layout->columnCount() < 2)
{