Files
Sourcetrail/src/lib_gui/qt/window/project_wizzard/QtProjectWizzardContentFlags.cpp
T

45 lines
1.5 KiB
C++

#include "qt/window/project_wizzard/QtProjectWizzardContentFlags.h"
#include <QFormLayout>
#include "qt/element/QtDirectoryListBox.h"
#include "settings/SourceGroupSettingsCxx.h"
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)
{
QString labelText((std::string(m_isCdb ? "Additional " : "") + "Compiler Flags").c_str());
QLabel* label = createFormLabel(labelText);
layout->addWidget(label, row, QtProjectWizzardWindow::FRONT_COL, Qt::AlignTop);
addHelpButton(labelText, "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);
row++;
}
void QtProjectWizzardContentFlags::load()
{
std::shared_ptr<SourceGroupSettingsCxx> cxxSettings = std::dynamic_pointer_cast<SourceGroupSettingsCxx>(m_settings);
if (cxxSettings)
{
m_list->setStringList(cxxSettings->getCompilerFlags());
}
}
void QtProjectWizzardContentFlags::save()
{
std::shared_ptr<SourceGroupSettingsCxx> cxxSettings = std::dynamic_pointer_cast<SourceGroupSettingsCxx>(m_settings);
if (cxxSettings)
{
cxxSettings->setCompilerFlags(m_list->getStringList());
}
}