logic: Changed include files being analyzed solely by path

* removed header extensions
* added source extensions to source path setup screen
* added caching to hasFilePath check
* don't show header list in CDB setup
* removed TestSettings.xml
This commit is contained in:
Eberhard Graether
2016-05-19 21:47:09 +02:00
parent 5295267513
commit 86d1ff2905
26 changed files with 236 additions and 393 deletions
@@ -397,9 +397,22 @@ void QtProjectWizzard::emptyProject()
void QtProjectWizzard::sourcePaths()
{
QtProjectWizzardWindow* window = createWindowWithContent<QtProjectWizzardContentPathsSource>();
QtProjectWizzardWindow* window = createWindowWithSummary(
[this](QtProjectWizzardWindow* window, QtProjectWizzardContentSummary* summary)
{
ProjectSettings* settings = &m_settings;
QtProjectWizzardContent* source = new QtProjectWizzardContentPathsSource(settings, window);
summary->addContent(source, false, false);
connectShowFiles(source);
summary->addContent(new QtProjectWizzardContentExtensions(settings, window), false, false);
window->setup();
}
);
connect(window, SIGNAL(next()), this, SLOT(headerSearchPaths()));
connectShowFiles(window->content());
}
void QtProjectWizzard::headerSearchPaths()
@@ -462,7 +475,6 @@ void QtProjectWizzard::headerPathsCDB()
QtProjectWizzardContent* header = new QtProjectWizzardContentPathsCDBHeader(settings, window);
summary->addContent(header, false, false);
connectShowFiles(header);
window->setup();
@@ -11,18 +11,29 @@ QtProjectWizzardContentExtensions::QtProjectWizzardContentExtensions(
{
}
void QtProjectWizzardContentExtensions::populateWindow(QGridLayout* layout, int& row)
{
layout->setRowMinimumHeight(row++, 20);
QLabel* title = new QLabel("Source File Extensions");
title->setWordWrap(true);
title->setObjectName("section");
layout->addWidget(title, row, QtProjectWizzardWindow::FRONT_COL, Qt::AlignTop);
layout->setRowStretch(row, 0);
QLabel* text = new QLabel("Define extensions for source files including the dot e.g. .cpp");
text->setWordWrap(true);
text->setOpenExternalLinks(true);
layout->addWidget(text, row + 1, QtProjectWizzardWindow::FRONT_COL, Qt::AlignTop);
layout->setRowStretch(row + 1, 1);
m_sourceList = new QtDirectoryListBox(this);
layout->addWidget(m_sourceList, row, QtProjectWizzardWindow::BACK_COL, 2, 1, Qt::AlignTop);
row += 2;
}
void QtProjectWizzardContentExtensions::populateForm(QGridLayout* layout, int& row)
{
QLabel* headerLabel = createFormLabel("Header File Extensions");
headerLabel->setObjectName("label");
layout->addWidget(headerLabel, row, QtProjectWizzardWindow::FRONT_COL, Qt::AlignRight);
addHelpButton("Define extensions for header files including the dot e.g. .h", layout, row);
m_headerList = new QtDirectoryListBox(this, true);
layout->addWidget(m_headerList, row, QtProjectWizzardWindow::BACK_COL);
row++;
QLabel* sourceLabel = createFormLabel("Source File Extensions");
sourceLabel->setObjectName("label");
layout->addWidget(sourceLabel, row, QtProjectWizzardWindow::FRONT_COL, Qt::AlignRight);
@@ -36,12 +47,10 @@ void QtProjectWizzardContentExtensions::populateForm(QGridLayout* layout, int& r
void QtProjectWizzardContentExtensions::load()
{
m_headerList->setStringList(m_settings->getHeaderExtensions());
m_sourceList->setStringList(m_settings->getSourceExtensions());
}
void QtProjectWizzardContentExtensions::save()
{
m_settings->setHeaderExtensions(m_headerList->getStringList());
m_settings->setSourceExtensions(m_sourceList->getStringList());
}
@@ -14,13 +14,13 @@ public:
QtProjectWizzardContentExtensions(ProjectSettings* settings, QtProjectWizzardWindow* window);
// QtProjectWizzardContent implementation
virtual void populateWindow(QGridLayout* layout, int& row) override;
virtual void populateForm(QGridLayout* layout, int& row) override;
virtual void load() override;
virtual void save() override;
private:
QtDirectoryListBox* m_headerList;
QtDirectoryListBox* m_sourceList;
};
@@ -45,7 +45,7 @@ void QtProjectWizzardContentPaths::populateWindow(QGridLayout* layout, int& row)
if (m_showFilesString.size() > 0)
{
layout->setRowStretch(row, 10);
layout->setRowStretch(row, 0);
addFilesButton(m_showFilesString, layout, row);
}
@@ -242,30 +242,10 @@ bool QtProjectWizzardContentPathsSource::check()
}
QStringList QtProjectWizzardContentPathsSource::getFileNames() const
{
return getSourceFileNames(false);
}
QString QtProjectWizzardContentPathsSource::getFileNamesTitle() const
{
return "Analyzed Files";
}
QString QtProjectWizzardContentPathsSource::getFileNamesDescription() const
{
return "files will be analyzed.";
}
QStringList QtProjectWizzardContentPathsSource::getSourceFileNames(bool headersOnly) const
{
std::vector<FilePath> sourcePaths = m_settings->getAbsoluteSourcePaths();
std::vector<std::string> extensions;
if (!headersOnly)
{
utility::append(extensions, m_settings->getSourceExtensions());
}
utility::append(extensions, m_settings->getHeaderExtensions());
std::vector<std::string> extensions = m_settings->getSourceExtensions();
std::vector<FileInfo> fileInfos = FileSystem::getFileInfosFromPaths(sourcePaths, extensions);
FilePath projectPath = m_settings->getProjectFileLocation();
@@ -286,17 +266,27 @@ QStringList QtProjectWizzardContentPathsSource::getSourceFileNames(bool headersO
return list;
}
QString QtProjectWizzardContentPathsSource::getFileNamesTitle() const
{
return "Analyzed Files";
}
QString QtProjectWizzardContentPathsSource::getFileNamesDescription() const
{
return "files will be analyzed.";
}
QtProjectWizzardContentPathsCDBHeader::QtProjectWizzardContentPathsCDBHeader(
ProjectSettings* settings, QtProjectWizzardWindow* window
)
: QtProjectWizzardContentPathsSource(settings, window)
{
m_showFilesString = "show header files";
m_showFilesString = "";
setTitleString("Header Paths");
setDescriptionString(
"Add the header files or directories containing the header files of the source files above. These header files "
"will be analyzed if included."
"or files within these directories will be analyzed if included."
);
setHelpString(
"The compilation database only contains source files. Add the header files or directories containing the header "
@@ -304,21 +294,6 @@ QtProjectWizzardContentPathsCDBHeader::QtProjectWizzardContentPathsCDBHeader(
);
}
QStringList QtProjectWizzardContentPathsCDBHeader::getFileNames() const
{
return getSourceFileNames(true);
}
QString QtProjectWizzardContentPathsCDBHeader::getFileNamesTitle() const
{
return "Header Files";
}
QString QtProjectWizzardContentPathsCDBHeader::getFileNamesDescription() const
{
return "header files found.";
}
QtProjectWizzardContentPathsHeaderSearch::QtProjectWizzardContentPathsHeaderSearch(
ProjectSettings* settings, QtProjectWizzardWindow* window
)
@@ -69,9 +69,6 @@ public:
virtual QStringList getFileNames() const override;
virtual QString getFileNamesTitle() const override;
virtual QString getFileNamesDescription() const override;
protected:
QStringList getSourceFileNames(bool headersOnly) const;
};
class QtProjectWizzardContentPathsCDBHeader
@@ -79,11 +76,6 @@ class QtProjectWizzardContentPathsCDBHeader
{
public:
QtProjectWizzardContentPathsCDBHeader(ProjectSettings* settings, QtProjectWizzardWindow* window);
// QtProjectWizzardContent implementation
virtual QStringList getFileNames() const override;
virtual QString getFileNamesTitle() const override;
virtual QString getFileNamesDescription() const override;
};