GUI: Moved 'import project' to 'Paths and Defines' tab
This commit is contained in:
parent
22abfb811a
commit
2828742e1e
|
@ -92,6 +92,7 @@ ProjectFileDialog::ProjectFileDialog(const QString &path, QWidget *parent)
|
||||||
|
|
||||||
connect(mUI.mButtons, SIGNAL(accepted()), this, SLOT(accept()));
|
connect(mUI.mButtons, SIGNAL(accepted()), this, SLOT(accept()));
|
||||||
connect(mUI.mBtnBrowseBuildDir, SIGNAL(clicked()), this, SLOT(browseBuildDir()));
|
connect(mUI.mBtnBrowseBuildDir, SIGNAL(clicked()), this, SLOT(browseBuildDir()));
|
||||||
|
connect(mUI.mBtnClearImportProject, SIGNAL(clicked(bool)), this, SLOT(clearImportProject()));
|
||||||
connect(mUI.mBtnBrowseImportProject, SIGNAL(clicked()), this, SLOT(browseImportProject()));
|
connect(mUI.mBtnBrowseImportProject, SIGNAL(clicked()), this, SLOT(browseImportProject()));
|
||||||
connect(mUI.mBtnAddCheckPath, SIGNAL(clicked()), this, SLOT(addCheckPath()));
|
connect(mUI.mBtnAddCheckPath, SIGNAL(clicked()), this, SLOT(addCheckPath()));
|
||||||
connect(mUI.mBtnEditCheckPath, SIGNAL(clicked()), this, SLOT(editCheckPath()));
|
connect(mUI.mBtnEditCheckPath, SIGNAL(clicked()), this, SLOT(editCheckPath()));
|
||||||
|
@ -138,6 +139,7 @@ void ProjectFileDialog::loadFromProjectFile(const ProjectFile *projectFile)
|
||||||
setExcludedPaths(projectFile->getExcludedPaths());
|
setExcludedPaths(projectFile->getExcludedPaths());
|
||||||
setLibraries(projectFile->getLibraries());
|
setLibraries(projectFile->getLibraries());
|
||||||
setSuppressions(projectFile->getSuppressions());
|
setSuppressions(projectFile->getSuppressions());
|
||||||
|
updatePathsAndDefines();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectFileDialog::saveToProjectFile(ProjectFile *projectFile) const
|
void ProjectFileDialog::saveToProjectFile(ProjectFile *projectFile) const
|
||||||
|
@ -185,6 +187,26 @@ void ProjectFileDialog::browseBuildDir()
|
||||||
mUI.mEditBuildDir->setText(dir);
|
mUI.mEditBuildDir->setText(dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ProjectFileDialog::updatePathsAndDefines() {
|
||||||
|
bool importProject = !mUI.mEditImportProject->text().isEmpty();
|
||||||
|
mUI.mBtnClearImportProject->setEnabled(importProject);
|
||||||
|
mUI.mListCheckPaths->setEnabled(!importProject);
|
||||||
|
mUI.mBtnAddCheckPath->setEnabled(!importProject);
|
||||||
|
mUI.mBtnEditCheckPath->setEnabled(!importProject);
|
||||||
|
mUI.mBtnRemoveCheckPath->setEnabled(!importProject);
|
||||||
|
mUI.mEditDefines->setEnabled(!importProject);
|
||||||
|
mUI.mBtnAddInclude->setEnabled(!importProject);
|
||||||
|
mUI.mBtnEditInclude->setEnabled(!importProject);
|
||||||
|
mUI.mBtnRemoveInclude->setEnabled(!importProject);
|
||||||
|
mUI.mBtnIncludeUp->setEnabled(!importProject);
|
||||||
|
mUI.mBtnIncludeDown->setEnabled(!importProject);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProjectFileDialog::clearImportProject() {
|
||||||
|
mUI.mEditImportProject->clear();
|
||||||
|
updatePathsAndDefines();
|
||||||
|
}
|
||||||
|
|
||||||
void ProjectFileDialog::browseImportProject()
|
void ProjectFileDialog::browseImportProject()
|
||||||
{
|
{
|
||||||
const QFileInfo inf(mFilePath);
|
const QFileInfo inf(mFilePath);
|
||||||
|
@ -192,8 +214,15 @@ void ProjectFileDialog::browseImportProject()
|
||||||
QString fileName = QFileDialog::getOpenFileName(this, tr("Import Project"),
|
QString fileName = QFileDialog::getOpenFileName(this, tr("Import Project"),
|
||||||
dir.canonicalPath(),
|
dir.canonicalPath(),
|
||||||
tr("Visual Studio (*.sln *.vcxproj);;Compile database (compile_database.json)"));
|
tr("Visual Studio (*.sln *.vcxproj);;Compile database (compile_database.json)"));
|
||||||
if (!fileName.isEmpty())
|
if (!fileName.isEmpty()) {
|
||||||
mUI.mEditImportProject->setText(dir.relativeFilePath(fileName));
|
mUI.mEditImportProject->setText(dir.relativeFilePath(fileName));
|
||||||
|
updatePathsAndDefines();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QString ProjectFileDialog::getImportProject() const
|
||||||
|
{
|
||||||
|
return mUI.mEditImportProject->text();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectFileDialog::addIncludeDir(const QString &dir)
|
void ProjectFileDialog::addIncludeDir(const QString &dir)
|
||||||
|
@ -242,10 +271,6 @@ QString ProjectFileDialog::getBuildDir() const
|
||||||
return mUI.mEditBuildDir->text();
|
return mUI.mEditBuildDir->text();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ProjectFileDialog::getImportProject() const
|
|
||||||
{
|
|
||||||
return mUI.mEditImportProject->text();
|
|
||||||
}
|
|
||||||
|
|
||||||
QStringList ProjectFileDialog::getIncludePaths() const
|
QStringList ProjectFileDialog::getIncludePaths() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -46,6 +46,10 @@ public:
|
||||||
void loadFromProjectFile(const ProjectFile *projectFile);
|
void loadFromProjectFile(const ProjectFile *projectFile);
|
||||||
void saveToProjectFile(ProjectFile *projectFile) const;
|
void saveToProjectFile(ProjectFile *projectFile) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
/** Enable and disable widgets in the 'Paths and Defines' tab */
|
||||||
|
void updatePathsAndDefines();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Return project root path from the dialog control.
|
* @brief Return project root path from the dialog control.
|
||||||
* @return Project root path.
|
* @return Project root path.
|
||||||
|
@ -147,6 +151,11 @@ protected slots:
|
||||||
*/
|
*/
|
||||||
void browseBuildDir();
|
void browseBuildDir();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Clear 'import project'.
|
||||||
|
*/
|
||||||
|
void clearImportProject();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Browse for solution / project / compile database.
|
* @brief Browse for solution / project / compile database.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>642</width>
|
<width>642</width>
|
||||||
<height>434</height>
|
<height>498</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -69,34 +69,6 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="mLabelImport">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string><html><head/><body><p>Cppcheck can import Visual studio solutions (*.sln), Visual studio projects (*.vcxproj) or compile databases.</p><p>Files to check, include paths, configurations, defines, platform settings are imported.\n\nLibrary settings are not imported.\n\n</p><p>A compile database can be generated from a cmake project using cmake, or from a Makefile project using bear (build ear).</p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Import Project (Visual studio / compile database)</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="mEditImportProject"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="mBtnBrowseImportProject">
|
|
||||||
<property name="text">
|
|
||||||
<string>...</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="mLayoutLibraries">
|
<layout class="QHBoxLayout" name="mLayoutLibraries">
|
||||||
<item>
|
<item>
|
||||||
|
@ -137,7 +109,61 @@
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Paths and Defines</string>
|
<string>Paths and Defines</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_10">
|
<layout class="QVBoxLayout" name="verticalLayout_8">
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="mLabelImport">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>Cppcheck can import Visual studio solutions (*.sln), Visual studio projects (*.vcxproj) or compile databases.</p><p>Files to check, defines, include paths are imported.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Import Project (Visual studio / compile database)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="mEditImportProject">
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="mBtnClearImportProject">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset>
|
||||||
|
<activeon>:/images/edit-clear.png</activeon>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="mBtnBrowseImportProject">
|
||||||
|
<property name="text">
|
||||||
|
<string>...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="Line" name="line">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="mLayoutCheckPaths">
|
<layout class="QHBoxLayout" name="mLayoutCheckPaths">
|
||||||
<item>
|
<item>
|
||||||
|
|
Loading…
Reference in New Issue