ui: revised project setup wizard
* adjusted some help texts * moved exclude paths and source file extensions contents to indexed paths selection in project setup wizard * removed compiler flags from CDB project setup wizard * added wizard content that shows some info text regarding the purpose of source groups * renamed ContentSummary to ContentGroup * fixed issue with CompilationDatabase include path extraction
This commit is contained in:
@@ -59,7 +59,7 @@ void utility::CompilationDatabase::init()
|
||||
for (size_t i = 0; i < command.CommandLine.size(); i++)
|
||||
{
|
||||
std::string argument = command.CommandLine[i];
|
||||
if (!utility::isPrefix("-", command.CommandLine[i + 1]))
|
||||
if (i + 1 < command.CommandLine.size() && !utility::isPrefix("-", command.CommandLine[i + 1]))
|
||||
{
|
||||
argument += command.CommandLine[++i];
|
||||
}
|
||||
|
||||
@@ -178,6 +178,8 @@ add_files(
|
||||
qt/window/project_wizzard/QtProjectWizzardContentExtensions.h
|
||||
qt/window/project_wizzard/QtProjectWizzardContentFlags.cpp
|
||||
qt/window/project_wizzard/QtProjectWizzardContentFlags.h
|
||||
qt/window/project_wizzard/QtProjectWizzardContentGroup.cpp
|
||||
qt/window/project_wizzard/QtProjectWizzardContentGroup.h
|
||||
qt/window/project_wizzard/QtProjectWizzardContentLanguageAndStandard.cpp
|
||||
qt/window/project_wizzard/QtProjectWizzardContentLanguageAndStandard.h
|
||||
qt/window/project_wizzard/QtProjectWizzardContentPath.cpp
|
||||
@@ -192,8 +194,8 @@ add_files(
|
||||
qt/window/project_wizzard/QtProjectWizzardContentSelect.h
|
||||
qt/window/project_wizzard/QtProjectWizzardContentSourceGroupData.cpp
|
||||
qt/window/project_wizzard/QtProjectWizzardContentSourceGroupData.h
|
||||
qt/window/project_wizzard/QtProjectWizzardContentSummary.cpp
|
||||
qt/window/project_wizzard/QtProjectWizzardContentSummary.h
|
||||
qt/window/project_wizzard/QtProjectWizzardContentSourceGroupInfoText.cpp
|
||||
qt/window/project_wizzard/QtProjectWizzardContentSourceGroupInfoText.h
|
||||
qt/window/project_wizzard/QtProjectWizzardContentVS.cpp
|
||||
qt/window/project_wizzard/QtProjectWizzardContentVS.h
|
||||
qt/window/project_wizzard/QtProjectWizzardWindow.cpp
|
||||
|
||||
@@ -25,7 +25,9 @@ QtHelpButton::QtHelpButton(const QString& helpText, QWidget* parent)
|
||||
void QtHelpButton::handleHelpPress()
|
||||
{
|
||||
QMessageBox msgBox;
|
||||
msgBox.setText("Help");
|
||||
msgBox.setWindowTitle("Sourcetrail");
|
||||
msgBox.setIcon(QMessageBox::Information);
|
||||
msgBox.setText("Sourcetrail Help");
|
||||
msgBox.setInformativeText(m_helpText);
|
||||
msgBox.setStandardButtons(QMessageBox::Ok);
|
||||
msgBox.setDefaultButton(QMessageBox::Ok);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "Application.h"
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentPaths.h"
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentPreferences.h"
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentSummary.h"
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentGroup.h"
|
||||
#include "utility/utilityApp.h"
|
||||
|
||||
QtPreferencesWindow::QtPreferencesWindow(QWidget* parent)
|
||||
@@ -23,7 +23,7 @@ QtPreferencesWindow::QtPreferencesWindow(QWidget* parent)
|
||||
m_appSettings.setPluginPort(appSettings->getPluginPort());
|
||||
|
||||
|
||||
QtProjectWizzardContentSummary* summary = new QtProjectWizzardContentSummary(this);
|
||||
QtProjectWizzardContentGroup* summary = new QtProjectWizzardContentGroup(this);
|
||||
summary->setIsForm(true);
|
||||
summary->addContent(new QtProjectWizzardContentPreferences(this));
|
||||
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentProjectData.h"
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentSelect.h"
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentSourceGroupData.h"
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentSummary.h"
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentSourceGroupInfoText.h"
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentGroup.h"
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentVS.h"
|
||||
#include "settings/SourceGroupSettingsCxxEmpty.h"
|
||||
#include "settings/SourceGroupSettingsCxxCdb.h"
|
||||
@@ -296,20 +297,20 @@ QtProjectWizzardWindow* QtProjectWizzard::createWindowWithContent(
|
||||
return window;
|
||||
}
|
||||
|
||||
QtProjectWizzardWindow* QtProjectWizzard::createWindowWithSummary(
|
||||
std::function<void(QtProjectWizzardWindow*, QtProjectWizzardContentSummary*)> func
|
||||
QtProjectWizzardWindow* QtProjectWizzard::createWindowWithContentGroup(
|
||||
std::function<void(QtProjectWizzardWindow*, QtProjectWizzardContentGroup*)> func
|
||||
){
|
||||
QtProjectWizzardWindow* window = new QtProjectWizzardWindow(parentWidget());
|
||||
|
||||
connect(window, &QtProjectWizzardWindow::previous, &m_windowStack, &QtWindowStack::popWindow);
|
||||
connect(window, &QtProjectWizzardWindow::canceled, this, &QtProjectWizzard::cancelSourceGroup);
|
||||
|
||||
QtProjectWizzardContentSummary* summary = new QtProjectWizzardContentSummary(window);
|
||||
QtProjectWizzardContentGroup* contentGroup = new QtProjectWizzardContentGroup(window);
|
||||
|
||||
window->setPreferredSize(QSize(750, 500));
|
||||
window->setContent(summary);
|
||||
window->setPreferredSize(QSize(750, 600));
|
||||
window->setContent(contentGroup);
|
||||
window->setScrollAble(window->content()->isScrollAble());
|
||||
func(window, summary);
|
||||
func(window, contentGroup);
|
||||
window->setup();
|
||||
|
||||
m_windowStack.pushWindow(window);
|
||||
@@ -351,7 +352,16 @@ void QtProjectWizzard::generalButtonClicked()
|
||||
return;
|
||||
}
|
||||
|
||||
setContent(new QtProjectWizzardContentProjectData(m_projectSettings, this, m_editing));
|
||||
QtProjectWizzardContentGroup* contentGroup = new QtProjectWizzardContentGroup(this);
|
||||
contentGroup->addContent(new QtProjectWizzardContentProjectData(m_projectSettings, this, m_editing));
|
||||
|
||||
if (m_allSourceGroupSettings.empty())
|
||||
{
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentSourceGroupInfoText(this));
|
||||
}
|
||||
|
||||
setContent(contentGroup);
|
||||
|
||||
qDeleteAll(m_contentWidget->children());
|
||||
QtProjectWizzardWindow::populateWindow(m_contentWidget);
|
||||
@@ -382,7 +392,7 @@ void QtProjectWizzard::selectedSourceGroupChanged(int index)
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> group = m_allSourceGroupSettings[index];
|
||||
|
||||
QtProjectWizzardContentSummary* summary = new QtProjectWizzardContentSummary(this);
|
||||
QtProjectWizzardContentGroup* summary = new QtProjectWizzardContentGroup(this);
|
||||
summary->setIsForm(true);
|
||||
|
||||
QtProjectWizzardContentSourceGroupData* content = new QtProjectWizzardContentSourceGroupData(group, this);
|
||||
@@ -399,25 +409,32 @@ void QtProjectWizzard::selectedSourceGroupChanged(int index)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathsSource(group, this));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsExclude(group, this));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentExtensions(group, this));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsClassJava(group, this));
|
||||
}
|
||||
else if (std::shared_ptr<SourceGroupSettingsJavaGradle> settingsJavaGradle = std::dynamic_pointer_cast<SourceGroupSettingsJavaGradle>(group))
|
||||
else
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathSourceGradle(group, this));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathDependenciesGradle(group, this));
|
||||
}
|
||||
else if (std::shared_ptr<SourceGroupSettingsJavaMaven> settingsJavaMaven = std::dynamic_pointer_cast<SourceGroupSettingsJavaMaven>(group))
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathSourceMaven(group, this));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathDependenciesMaven(group, this));
|
||||
}
|
||||
if (std::shared_ptr<SourceGroupSettingsJavaGradle> settingsJavaGradle = std::dynamic_pointer_cast<SourceGroupSettingsJavaGradle>(group))
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathSourceGradle(group, this));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathDependenciesGradle(group, this));
|
||||
}
|
||||
else if (std::shared_ptr<SourceGroupSettingsJavaMaven> settingsJavaMaven = std::dynamic_pointer_cast<SourceGroupSettingsJavaMaven>(group))
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathSourceMaven(group, this));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathDependenciesMaven(group, this));
|
||||
}
|
||||
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentExtensions(group, this));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsExclude(group, this));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsExclude(group, this));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentExtensions(group, this));
|
||||
}
|
||||
}
|
||||
else if (std::shared_ptr<SourceGroupSettingsCxx> settingsCxx = std::dynamic_pointer_cast<SourceGroupSettingsCxx>(group))
|
||||
{
|
||||
@@ -430,6 +447,7 @@ void QtProjectWizzard::selectedSourceGroupChanged(int index)
|
||||
summary->addSpace();
|
||||
|
||||
summary->addContent(new QtProjectWizzardContentPathsSource(group, this));
|
||||
summary->addContent(new QtProjectWizzardContentPathsExclude(group, this));
|
||||
summary->addContent(new QtProjectWizzardContentExtensions(group, this));
|
||||
summary->addSpace();
|
||||
}
|
||||
@@ -442,6 +460,7 @@ void QtProjectWizzard::selectedSourceGroupChanged(int index)
|
||||
summary->addSpace();
|
||||
|
||||
summary->addContent(new QtProjectWizzardContentPathsCDBHeader(group, this));
|
||||
summary->addContent(new QtProjectWizzardContentPathsExclude(group, this));
|
||||
summary->addSpace();
|
||||
}
|
||||
|
||||
@@ -457,9 +476,7 @@ void QtProjectWizzard::selectedSourceGroupChanged(int index)
|
||||
summary->addSpace();
|
||||
}
|
||||
|
||||
summary->addContent(new QtProjectWizzardContentFlags(group, this));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsExclude(group, this));
|
||||
summary->addContent(new QtProjectWizzardContentFlags(group, this, isCDB));
|
||||
}
|
||||
|
||||
setContent(summary);
|
||||
@@ -658,14 +675,14 @@ void QtProjectWizzard::selectedProjectType(SourceGroupType sourceGroupType)
|
||||
|
||||
void QtProjectWizzard::emptySourceGroup()
|
||||
{
|
||||
QtProjectWizzardWindow* window = createWindowWithSummary(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentLanguageAndStandard(m_newSourceGroupSettings, window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentLanguageAndStandard(m_newSourceGroupSettings, window));
|
||||
if (m_newSourceGroupSettings->getType() == SOURCE_GROUP_C_EMPTY||
|
||||
m_newSourceGroupSettings->getType() == SOURCE_GROUP_CPP_EMPTY)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentCrossCompilationOptions(m_newSourceGroupSettings, window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentCrossCompilationOptions(m_newSourceGroupSettings, window));
|
||||
window->setPreferredSize(QSize(470, 460));
|
||||
}
|
||||
else
|
||||
@@ -689,47 +706,53 @@ void QtProjectWizzard::emptySourceGroup()
|
||||
|
||||
void QtProjectWizzard::emptySourceGroupCDBVS()
|
||||
{
|
||||
QtProjectWizzardWindow* window = createWindowWithSummary(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentVS(window));
|
||||
summary->addContent(new QtProjectWizzardContentPathCDB(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentCDBSource(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsCDBHeader(m_newSourceGroupSettings, window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentVS(window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathCDB(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentCDBSource(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsCDBHeader(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsExclude(m_newSourceGroupSettings, window));
|
||||
}
|
||||
);
|
||||
|
||||
connect(window, &QtProjectWizzardWindow::next, this, &QtProjectWizzard::advancedSettingsCxx);
|
||||
connect(window, &QtProjectWizzardWindow::next, this, &QtProjectWizzard::createSourceGroup);
|
||||
window->updateSubTitle("VS Solution");
|
||||
}
|
||||
|
||||
void QtProjectWizzard::emptySourceGroupCDB()
|
||||
{
|
||||
QtProjectWizzardWindow* window = createWindowWithSummary(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathCDB(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentCDBSource(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsCDBHeader(m_newSourceGroupSettings, window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathCDB(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentCDBSource(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsCDBHeader(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsExclude(m_newSourceGroupSettings, window));
|
||||
}
|
||||
);
|
||||
|
||||
connect(window, &QtProjectWizzardWindow::next, this, &QtProjectWizzard::advancedSettingsCxx);
|
||||
connect(window, &QtProjectWizzardWindow::next, this, &QtProjectWizzard::createSourceGroup);
|
||||
window->updateSubTitle("CDB Path");
|
||||
}
|
||||
|
||||
void QtProjectWizzard::sourcePaths()
|
||||
{
|
||||
QtProjectWizzardWindow* window = createWindowWithSummary(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathsSource(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentExtensions(m_newSourceGroupSettings, window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsSource(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsExclude(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentExtensions(m_newSourceGroupSettings, window));
|
||||
}
|
||||
);
|
||||
|
||||
@@ -739,12 +762,12 @@ void QtProjectWizzard::sourcePaths()
|
||||
|
||||
void QtProjectWizzard::headerSearchPaths()
|
||||
{
|
||||
QtProjectWizzardWindow* window = createWindowWithSummary(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathsHeaderSearch(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsHeaderSearchGlobal(window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsHeaderSearch(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsHeaderSearchGlobal(window));
|
||||
}
|
||||
);
|
||||
|
||||
@@ -766,12 +789,12 @@ void QtProjectWizzard::headerSearchPathsDone()
|
||||
|
||||
void QtProjectWizzard::frameworkSearchPaths()
|
||||
{
|
||||
QtProjectWizzardWindow* window = createWindowWithSummary(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathsFrameworkSearch(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsFrameworkSearchGlobal(window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsFrameworkSearch(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsFrameworkSearchGlobal(window));
|
||||
}
|
||||
);
|
||||
|
||||
@@ -781,31 +804,46 @@ void QtProjectWizzard::frameworkSearchPaths()
|
||||
|
||||
void QtProjectWizzard::sourcePathsJava()
|
||||
{
|
||||
QtProjectWizzardWindow* window = createWindowWithSummary(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathsSource(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsClassJava(m_newSourceGroupSettings, window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsSource(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsExclude(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentExtensions(m_newSourceGroupSettings, window));
|
||||
}
|
||||
);
|
||||
|
||||
connect(window, &QtProjectWizzardWindow::next, this, &QtProjectWizzard::advancedSettingsJava);
|
||||
connect(window, &QtProjectWizzardWindow::next, this, &QtProjectWizzard::dependenciesJava);
|
||||
window->updateSubTitle("Indexed Paths");
|
||||
}
|
||||
|
||||
void QtProjectWizzard::dependenciesJava()
|
||||
{
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsClassJava(m_newSourceGroupSettings, window));
|
||||
}
|
||||
);
|
||||
|
||||
connect(window, &QtProjectWizzardWindow::next, this, &QtProjectWizzard::createSourceGroup);
|
||||
window->updateSubTitle("Dependencies");
|
||||
}
|
||||
|
||||
void QtProjectWizzard::sourcePathsJavaMaven()
|
||||
{
|
||||
std::dynamic_pointer_cast<SourceGroupSettingsJavaMaven>(m_newSourceGroupSettings)->setMavenDependenciesDirectory(
|
||||
FilePath("./sourcetrail_dependencies/" + utility::replace(m_projectSettings->getProjectName(), " ", "_") + "/" + m_newSourceGroupSettings->getId() + "/maven")
|
||||
);
|
||||
|
||||
QtProjectWizzardWindow* window = createWindowWithSummary(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathSourceMaven(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathDependenciesMaven(m_newSourceGroupSettings, window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathSourceMaven(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathDependenciesMaven(m_newSourceGroupSettings, window));
|
||||
}
|
||||
);
|
||||
|
||||
@@ -819,12 +857,12 @@ void QtProjectWizzard::sourcePathsJavaGradle()
|
||||
FilePath("./sourcetrail_dependencies/" + utility::replace(m_projectSettings->getProjectName(), " ", "_") + "/" + m_newSourceGroupSettings->getId() + "/gradle")
|
||||
);
|
||||
|
||||
QtProjectWizzardWindow* window = createWindowWithSummary(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentPathSourceGradle(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathDependenciesGradle(m_newSourceGroupSettings, window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathSourceGradle(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathDependenciesGradle(m_newSourceGroupSettings, window));
|
||||
}
|
||||
);
|
||||
|
||||
@@ -834,12 +872,10 @@ void QtProjectWizzard::sourcePathsJavaGradle()
|
||||
|
||||
void QtProjectWizzard::advancedSettingsCxx()
|
||||
{
|
||||
QtProjectWizzardWindow* window = createWindowWithSummary(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentFlags(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsExclude(m_newSourceGroupSettings, window));
|
||||
contentGroup->addContent(new QtProjectWizzardContentFlags(m_newSourceGroupSettings, window));
|
||||
}
|
||||
);
|
||||
|
||||
@@ -849,13 +885,13 @@ void QtProjectWizzard::advancedSettingsCxx()
|
||||
|
||||
void QtProjectWizzard::advancedSettingsJava()
|
||||
{
|
||||
QtProjectWizzardWindow* window = createWindowWithSummary(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
|
||||
QtProjectWizzardWindow* window = createWindowWithContentGroup(
|
||||
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentGroup* contentGroup)
|
||||
{
|
||||
summary->addContent(new QtProjectWizzardContentExtensions(m_newSourceGroupSettings, window));
|
||||
summary->addSpace();
|
||||
summary->addContent(new QtProjectWizzardContentPathsExclude(m_newSourceGroupSettings, window));
|
||||
}
|
||||
contentGroup->addContent(new QtProjectWizzardContentPathsExclude(m_newSourceGroupSettings, window));
|
||||
contentGroup->addSpace();
|
||||
contentGroup->addContent(new QtProjectWizzardContentExtensions(m_newSourceGroupSettings, window));
|
||||
}
|
||||
);
|
||||
|
||||
connect(window, &QtProjectWizzardWindow::next, this, &QtProjectWizzard::createSourceGroup);
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
class QListWidget;
|
||||
class QPushButton;
|
||||
class QtProjectWizzardContent;
|
||||
class QtProjectWizzardContentSummary;
|
||||
class QtProjectWizzardContentGroup;
|
||||
class QtProjectWizzardWindow;
|
||||
|
||||
class QtProjectWizzard
|
||||
@@ -47,8 +47,8 @@ private:
|
||||
QtProjectWizzardWindow* createWindowWithContent(
|
||||
std::function<QtProjectWizzardContent*(QtProjectWizzardWindow*)> func);
|
||||
|
||||
QtProjectWizzardWindow* createWindowWithSummary(
|
||||
std::function<void(QtProjectWizzardWindow*, QtProjectWizzardContentSummary*)> func);
|
||||
QtProjectWizzardWindow* createWindowWithContentGroup(
|
||||
std::function<void(QtProjectWizzardWindow*, QtProjectWizzardContentGroup*)> func);
|
||||
|
||||
void updateSourceGroupList();
|
||||
bool canExitContent();
|
||||
@@ -96,6 +96,7 @@ private slots:
|
||||
void frameworkSearchPaths();
|
||||
|
||||
void sourcePathsJava();
|
||||
void dependenciesJava();
|
||||
void sourcePathsJavaMaven();
|
||||
void sourcePathsJavaGradle();
|
||||
|
||||
|
||||
@@ -5,18 +5,19 @@
|
||||
#include "qt/element/QtDirectoryListBox.h"
|
||||
#include "settings/SourceGroupSettingsCxx.h"
|
||||
|
||||
QtProjectWizzardContentFlags::QtProjectWizzardContentFlags(std::shared_ptr<SourceGroupSettings> settings, QtProjectWizzardWindow* window)
|
||||
QtProjectWizzardContentFlags::QtProjectWizzardContentFlags(std::shared_ptr<SourceGroupSettings> settings, QtProjectWizzardWindow* window, bool isCDB)
|
||||
: QtProjectWizzardContent(window)
|
||||
, m_settings(settings)
|
||||
, m_isCdb(isCDB)
|
||||
{
|
||||
}
|
||||
|
||||
void QtProjectWizzardContentFlags::populate(QGridLayout* layout, int& row)
|
||||
{
|
||||
QLabel* label = createFormLabel("Compiler Flags");
|
||||
QLabel* label = createFormLabel((std::string(m_isCdb ? "Additional " : "") + "Compiler Flags").c_str());
|
||||
layout->addWidget(label, row, QtProjectWizzardWindow::FRONT_COL, Qt::AlignTop);
|
||||
|
||||
addHelpButton("Define compiler flags used during indexing including the dash (e.g. use \"-D RELEASE\" to add a #define for \"RELEASE\").", layout, row);
|
||||
addHelpButton("Define additional Clang compiler flags used during indexing including the dash (e.g. use \"-D RELEASE\" to add a #define for \"RELEASE\").", layout, row);
|
||||
|
||||
m_list = new QtDirectoryListBox(this, label->text(), true);
|
||||
layout->addWidget(m_list, row, QtProjectWizzardWindow::BACK_COL);
|
||||
|
||||
@@ -12,7 +12,7 @@ class QtProjectWizzardContentFlags
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QtProjectWizzardContentFlags(std::shared_ptr<SourceGroupSettings> settings, QtProjectWizzardWindow* window);
|
||||
QtProjectWizzardContentFlags(std::shared_ptr<SourceGroupSettings> settings, QtProjectWizzardWindow* window, bool isCDB = false);
|
||||
|
||||
// QtProjectWizzardContent implementation
|
||||
virtual void populate(QGridLayout* layout, int& row) override;
|
||||
@@ -22,6 +22,7 @@ public:
|
||||
|
||||
private:
|
||||
std::shared_ptr<SourceGroupSettings> m_settings;
|
||||
const bool m_isCdb;
|
||||
|
||||
QtDirectoryListBox* m_list;
|
||||
};
|
||||
|
||||
+11
-11
@@ -1,6 +1,6 @@
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentSummary.h"
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentGroup.h"
|
||||
|
||||
QtProjectWizzardContentSummary::QtProjectWizzardContentSummary(
|
||||
QtProjectWizzardContentGroup::QtProjectWizzardContentGroup(
|
||||
QtProjectWizzardWindow* window
|
||||
)
|
||||
: QtProjectWizzardContent(window)
|
||||
@@ -8,7 +8,7 @@ QtProjectWizzardContentSummary::QtProjectWizzardContentSummary(
|
||||
{
|
||||
}
|
||||
|
||||
void QtProjectWizzardContentSummary::addContent(QtProjectWizzardContent* content)
|
||||
void QtProjectWizzardContentGroup::addContent(QtProjectWizzardContent* content)
|
||||
{
|
||||
m_contents.push_back(content);
|
||||
|
||||
@@ -18,17 +18,17 @@ void QtProjectWizzardContentSummary::addContent(QtProjectWizzardContent* content
|
||||
}
|
||||
}
|
||||
|
||||
void QtProjectWizzardContentSummary::addSpace()
|
||||
void QtProjectWizzardContentGroup::addSpace()
|
||||
{
|
||||
m_contents.push_back(nullptr);
|
||||
}
|
||||
|
||||
void QtProjectWizzardContentSummary::setIsForm(bool isForm)
|
||||
void QtProjectWizzardContentGroup::setIsForm(bool isForm)
|
||||
{
|
||||
m_isForm = isForm;
|
||||
}
|
||||
|
||||
void QtProjectWizzardContentSummary::populate(QGridLayout* layout, int& row)
|
||||
void QtProjectWizzardContentGroup::populate(QGridLayout* layout, int& row)
|
||||
{
|
||||
if (m_isForm)
|
||||
{
|
||||
@@ -54,7 +54,7 @@ void QtProjectWizzardContentSummary::populate(QGridLayout* layout, int& row)
|
||||
layout->setRowStretch(row, 1);
|
||||
}
|
||||
|
||||
void QtProjectWizzardContentSummary::populateForm(QGridLayout* layout, int& row)
|
||||
void QtProjectWizzardContentGroup::populateForm(QGridLayout* layout, int& row)
|
||||
{
|
||||
layout->setRowMinimumHeight(row++, 10);
|
||||
|
||||
@@ -74,7 +74,7 @@ void QtProjectWizzardContentSummary::populateForm(QGridLayout* layout, int& row)
|
||||
layout->setRowStretch(row, 1);
|
||||
}
|
||||
|
||||
void QtProjectWizzardContentSummary::load()
|
||||
void QtProjectWizzardContentGroup::load()
|
||||
{
|
||||
for (QtProjectWizzardContent* content : m_contents)
|
||||
{
|
||||
@@ -85,7 +85,7 @@ void QtProjectWizzardContentSummary::load()
|
||||
}
|
||||
}
|
||||
|
||||
void QtProjectWizzardContentSummary::save()
|
||||
void QtProjectWizzardContentGroup::save()
|
||||
{
|
||||
for (QtProjectWizzardContent* content : m_contents)
|
||||
{
|
||||
@@ -96,7 +96,7 @@ void QtProjectWizzardContentSummary::save()
|
||||
}
|
||||
}
|
||||
|
||||
bool QtProjectWizzardContentSummary::check()
|
||||
bool QtProjectWizzardContentGroup::check()
|
||||
{
|
||||
for (QtProjectWizzardContent* content : m_contents)
|
||||
{
|
||||
@@ -109,7 +109,7 @@ bool QtProjectWizzardContentSummary::check()
|
||||
return true;
|
||||
}
|
||||
|
||||
bool QtProjectWizzardContentSummary::isScrollAble() const
|
||||
bool QtProjectWizzardContentGroup::isScrollAble() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
+5
-5
@@ -1,17 +1,17 @@
|
||||
#ifndef QT_PROJECT_WIZZARD_CONTENT_SUMMARY_H
|
||||
#define QT_PROJECT_WIZZARD_CONTENT_SUMMARY_H
|
||||
#ifndef QT_PROJECT_WIZZARD_CONTENT_GROUP_H
|
||||
#define QT_PROJECT_WIZZARD_CONTENT_GROUP_H
|
||||
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContent.h"
|
||||
|
||||
class QCheckBox;
|
||||
|
||||
class QtProjectWizzardContentSummary
|
||||
class QtProjectWizzardContentGroup
|
||||
: public QtProjectWizzardContent
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QtProjectWizzardContentSummary(QtProjectWizzardWindow* window);
|
||||
QtProjectWizzardContentGroup(QtProjectWizzardWindow* window);
|
||||
|
||||
void addContent(QtProjectWizzardContent* content);
|
||||
void addSpace();
|
||||
@@ -34,4 +34,4 @@ private:
|
||||
bool m_isForm;
|
||||
};
|
||||
|
||||
#endif // QT_PROJECT_WIZZARD_CONTENT_SUMMARY_H
|
||||
#endif // QT_PROJECT_WIZZARD_CONTENT_GROUP_H
|
||||
@@ -153,10 +153,10 @@ QtProjectWizzardContentPathsSource::QtProjectWizzardContentPathsSource(
|
||||
{
|
||||
m_showFilesString = "show files";
|
||||
|
||||
setTitleString("Indexed Paths");
|
||||
setTitleString("Files & Directories to Index");
|
||||
setHelpString(
|
||||
"Indexed Paths define the files and directories that will be indexed by Sourcetrail. Provide a directory to recursively "
|
||||
"add all contained files.<br />"
|
||||
"These paths define the files and directories that will be indexed by Sourcetrail. Provide a directory to recursively "
|
||||
"add all contained source and header files.<br />"
|
||||
"<br />"
|
||||
"If your project's source code resides in one location, but generated source files are kept at a different location, "
|
||||
"you will also need to add that directory.<br />"
|
||||
@@ -235,15 +235,17 @@ QtProjectWizzardContentPathsCDBHeader::QtProjectWizzardContentPathsCDBHeader(
|
||||
{
|
||||
m_showFilesString = "";
|
||||
|
||||
setTitleString("Indexed Header Paths");
|
||||
setTitleString("Header Files & Directories to Index");
|
||||
setHelpString(
|
||||
"Define which header files should be indexed by Sourcetrail. Provide a directory to recursively add all contained files. "
|
||||
"Every time an included header is encountered, Sourcetrail will check if the file is part of the indexed headers to "
|
||||
"decide whether or not to index it.<br />"
|
||||
"Your Compilation Database already specifies which source files are part of your project. But Sourcetrail still needs to know which "
|
||||
"header files to index as part of your project and which to skip. Skipping to index your system headers or external frameworks will "
|
||||
"significantly improve the overall indexing performance.<br />"
|
||||
"<br />"
|
||||
"Just enter the root path of your project if you want Sourcetrail to index all contained headers it encounters.<br />"
|
||||
"Use this list to define which header files should be indexed by Sourcetrail. Provide a directory to recursively add all contained files.<br />"
|
||||
"<br />"
|
||||
"You can make use of environment variables with ${ENV_VAR}."
|
||||
"You can make use of environment variables with ${ENV_VAR}.<br />"
|
||||
"<br />"
|
||||
"<b>Hint</b>: Just enter the root path of your project if you want Sourcetrail to index all contained headers it encounters.<br />"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -347,11 +349,12 @@ QtProjectWizzardContentPathsExclude::QtProjectWizzardContentPathsExclude(
|
||||
)
|
||||
: QtProjectWizzardContentPaths(settings, window)
|
||||
{
|
||||
setTitleString("Exclude Paths");
|
||||
setTitleString("Excluded Files & Directories");
|
||||
setHelpString(
|
||||
"Exclude Paths define the files and directories that will be left out from indexing.<br />"
|
||||
"These paths define the files and directories that will be left out from indexing.<br />"
|
||||
"<br />"
|
||||
"You can make use of environment variables with ${ENV_VAR}.");
|
||||
"You can make use of environment variables with ${ENV_VAR}."
|
||||
);
|
||||
}
|
||||
|
||||
void QtProjectWizzardContentPathsExclude::load()
|
||||
@@ -372,9 +375,9 @@ QtProjectWizzardContentPathsHeaderSearch::QtProjectWizzardContentPathsHeaderSear
|
||||
, m_showValidationResultFunctor(std::bind(&QtProjectWizzardContentPathsHeaderSearch::showValidationResult, this, std::placeholders::_1))
|
||||
, m_isCdb(isCDB)
|
||||
{
|
||||
setTitleString(isCDB ? "Additional Include Paths" : "Include Paths");
|
||||
setTitleString(m_isCdb ? "Additional Include Paths" : "Include Paths");
|
||||
setHelpString(
|
||||
((isCDB ? "<b>Note</b>: Use the Additional Include Paths to add paths that are missing in the CDB.<br /><br />" : "") + std::string(
|
||||
((m_isCdb ? "<b>Note</b>: Use the Additional Include Paths to add paths that are missing in the Compilation Database.<br /><br />" : "") + std::string(
|
||||
"Include Paths are used for resolving #include directives in the indexed source and header files. These paths are "
|
||||
"usually passed to the compiler with the '-I' or '-iquote' flags.<br />"
|
||||
"<br />"
|
||||
@@ -382,7 +385,7 @@ QtProjectWizzardContentPathsHeaderSearch::QtProjectWizzardContentPathsHeaderSear
|
||||
"specified relative to the project's root directory, please add that root directory here.<br />"
|
||||
"<br />"
|
||||
"If your project also includes files from external libraries (e.g. boost), please add these directories as well "
|
||||
"(e.g. add '<boost_home>/include').<br />"
|
||||
"(e.g. add 'path/to/boost_home/include').<br />"
|
||||
"<br />"
|
||||
"You can make use of environment variables with ${ENV_VAR}.")).c_str()
|
||||
);
|
||||
@@ -529,7 +532,7 @@ QtProjectWizzardContentPathsHeaderSearchGlobal::QtProjectWizzardContentPathsHead
|
||||
{
|
||||
setTitleString("Global Include Paths");
|
||||
setHelpString(
|
||||
"The Global Include Paths will be used in all your projects - in addition to the project specific Include Paths. "
|
||||
"The Global Include Paths will be used in all your projects in addition to the project specific Include Paths. "
|
||||
"These paths are usually passed to the compiler with the '-isystem' flag.<br />"
|
||||
"<br />"
|
||||
"Use them to add system header paths (See <a href=\"https://sourcetrail.com/documentation/#FindingSystemHeaderLocations\">"
|
||||
|
||||
@@ -125,7 +125,7 @@ private:
|
||||
void showValidationResult(const std::vector<IncludeDirective>& unresolvedIncludes);
|
||||
QtThreadedFunctor<std::vector<IncludeDirective>> m_showValidationResultFunctor;
|
||||
|
||||
bool m_isCdb;
|
||||
const bool m_isCdb;
|
||||
};
|
||||
|
||||
class QtProjectWizzardContentPathsHeaderSearchGlobal
|
||||
|
||||
@@ -43,7 +43,7 @@ void QtProjectWizzardContentProjectData::populate(QGridLayout* layout, int& row)
|
||||
|
||||
layout->addWidget(locationLabel, row, QtProjectWizzardWindow::FRONT_COL, Qt::AlignRight);
|
||||
layout->addWidget(m_projectFileLocation, row, QtProjectWizzardWindow::BACK_COL, Qt::AlignTop);
|
||||
addHelpButton("The directory where Sourcetrail project files will be saved to.", layout, row);
|
||||
addHelpButton("The directory the Sourcetrail project file (.srctrlprj) will be saved to.", layout, row);
|
||||
layout->setRowMinimumHeight(row, 30);
|
||||
row++;
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContentSourceGroupInfoText.h"
|
||||
|
||||
QtProjectWizzardContentSourceGroupInfoText::QtProjectWizzardContentSourceGroupInfoText(QtProjectWizzardWindow* window)
|
||||
: QtProjectWizzardContent(window)
|
||||
{
|
||||
}
|
||||
|
||||
void QtProjectWizzardContentSourceGroupInfoText::populate(QGridLayout* layout, int& row)
|
||||
{
|
||||
QHBoxLayout* layoutHorz = new QHBoxLayout();
|
||||
layout->addLayout(
|
||||
layoutHorz,
|
||||
row, QtProjectWizzardWindow::FRONT_COL,
|
||||
1, 1 + QtProjectWizzardWindow::BACK_COL - QtProjectWizzardWindow::FRONT_COL,
|
||||
Qt::AlignTop
|
||||
);
|
||||
|
||||
layoutHorz->addSpacing(60);
|
||||
|
||||
QLabel* infoLabel = new QLabel(
|
||||
"<p>Please add at least one source group to your project. A source group specifies which source files should be "
|
||||
"analyzed by Sourcetrail and includes all parameters required to analyze those source files. A Sourcetrail project "
|
||||
"may contain multiple source groups, which may be necessary if you want to analyze source files from different "
|
||||
"projects that do not share the same parameters.</p>"
|
||||
"<p><b>Hint</b>: If your project contains source code for multiple build targets, you can add all of those source "
|
||||
"files with one single source group as long as they all share the same parameters.</p>"
|
||||
);
|
||||
infoLabel->setObjectName("info");
|
||||
infoLabel->setWordWrap(true);
|
||||
layoutHorz->addWidget(infoLabel);
|
||||
|
||||
layoutHorz->addSpacing(40);
|
||||
|
||||
row++;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
#ifndef QT_PROJECT_WIZZARD_CONTENT_SOURCE_GROUP_INFO_TEXT_H
|
||||
#define QT_PROJECT_WIZZARD_CONTENT_SOURCE_GROUP_INFO_TEXT_H
|
||||
|
||||
#include "qt/window/project_wizzard/QtProjectWizzardContent.h"
|
||||
|
||||
class QtProjectWizzardContentSourceGroupInfoText
|
||||
: public QtProjectWizzardContent
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QtProjectWizzardContentSourceGroupInfoText(QtProjectWizzardWindow* window);
|
||||
|
||||
// QtProjectWizzardContent implementation
|
||||
virtual void populate(QGridLayout* layout, int& row) override;
|
||||
};
|
||||
|
||||
#endif // QT_PROJECT_WIZZARD_CONTENT_SOURCE_GROUP_INFO_TEXT_H
|
||||
Reference in New Issue
Block a user