ui: Rewrote project setup to wizzard

* QtProjectWizzard handles window managment logic of project setup
* QtProjectWizzardWindow is used in every step and displays QtProjectWizzardContent
* QtProjectWizzardContent is the base class for all differnt content types
* Removed Singleton from ProjectSettings
* ProjectSettings are created by wizzard and QtProjectWizzardContent can access and load
* added project type selection at start of wizzard
* added summary at end of wizzard
* show global search paths in setup and summary
* fixed layout problems after font switch
* fixed scrolling and resizing of QtDirectoryListBox
* separated QtLocationPicker to own class
This commit is contained in:
Eberhard Graether
2016-02-14 15:42:30 +01:00
parent 50a94bf108
commit 2d48f0a663
38 changed files with 1784 additions and 716 deletions
@@ -0,0 +1,40 @@
#ifndef QT_PROJECT_WIZZARD_CONTENT_DATA_H
#define QT_PROJECT_WIZZARD_CONTENT_DATA_H
#include <QComboBox>
#include <QLabel>
#include "qt/window/project_wizzard/QtProjectWizzardContent.h"
#include "qt/element/QtLocationPicker.h"
class QtProjectWizzardContentData
: public QtProjectWizzardContent
{
Q_OBJECT
public:
QtProjectWizzardContentData(ProjectSettings* settings, QtProjectWizzardWindow* window);
// QtProjectWizzardContent implementation
virtual void populateWindow(QWidget* widget) override;
virtual void populateForm(QFormLayout* layout) override;
virtual void load() override;
virtual void save() override;
virtual bool check() override;
private:
QLineEdit* m_projectName;
QtLocationPicker* m_projectFileLocation;
QComboBox* m_language;
QComboBox* m_cppStandard;
QComboBox* m_cStandard;
QLabel* m_cppStandardLabel;
QLabel* m_cStandardLabel;
private slots:
void handleSelectionChanged(int index);
};
#endif // QT_PROJECT_WIZZARD_CONTENT_DATA_H