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
+13 -23
View File
@@ -12,14 +12,10 @@
#include "utility/messaging/type/MessageNewProject.h"
#include "qt/utility/QtThreadedFunctor.h"
#include "qt/window/QtApplicationSettingsScreen.h"
#include "qt/window/QtStartScreen.h"
#include "qt/window/QtProjectSetupScreen.h"
#include "qt/window/QtAboutLicense.h"
#include "qt/window/QtAbout.h"
#include "qt/window/QtLicense.h"
#include "qt/window/QtWindowStack.h"
class QDockWidget;
class QtSettingsWindow;
class View;
class QtViewToggle
@@ -98,18 +94,16 @@ protected:
void keyPressEvent(QKeyEvent* event);
public slots:
void pushWindow(QWidget* window);
void popWindow();
void clearWindows();
void activateWindow();
void about();
void openSettings();
void showLicenses();
void enterLicense();
QtSettingsWindow* about();
QtSettingsWindow* openSettings();
QtSettingsWindow* showLicenses();
QtSettingsWindow* enterLicense();
QtSettingsWindow* showStartScreen();
void hideStartScreen();
void showStartScreen();
void newProject();
void openProject(const QString &path = QString());
void editProject();
@@ -164,6 +158,9 @@ private:
void setShowDockWidgetTitleBars(bool showTitleBars);
template<typename T>
T* createWindow();
std::vector<DockWidget> m_dockWidgets;
QMenu* m_viewMenu;
QAction* m_viewSeparator;
@@ -171,14 +168,7 @@ private:
QAction* m_showTitleBarsAction;
bool m_showDockWidgetTitleBars;
std::shared_ptr<QtApplicationSettingsScreen> m_applicationSettingsScreen;
std::shared_ptr<QtStartScreen> m_startScreen;
std::shared_ptr<QtProjectSetupScreen> m_newProjectDialog;
std::shared_ptr<QtAboutLicense> m_licenseWindow;
std::shared_ptr<QtAbout> m_aboutWindow;
std::shared_ptr<QtLicense> m_enterLicenseWindow;
std::vector<QWidget*> m_windowStack;
QtWindowStack m_windowStack;
QShortcut* m_escapeShortcut;