forked from qt-creator/qt-creator
Beautifier: Allow to define specific config file
Change-Id: Ic6410d7eae27a008cbb46f506ca5907f80d6ea68 Reviewed-by: Lorenz Haas <lorenz.haas@histomatics.de> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
committed by
Laurent Montel
parent
aafb17ae83
commit
ac3710735b
@@ -168,6 +168,12 @@ QString Uncrustify::configurationFile() const
|
||||
}
|
||||
}
|
||||
|
||||
if (m_settings->useSpecificConfigFile()) {
|
||||
const Utils::FileName file = m_settings->specificConfigFile();
|
||||
if (file.exists())
|
||||
return file.toString();
|
||||
}
|
||||
|
||||
if (m_settings->useHomeFile()) {
|
||||
const QString file = QDir::home().filePath("uncrustify.cfg");
|
||||
if (QFile::exists(file))
|
||||
|
@@ -50,6 +50,10 @@ UncrustifyOptionsPageWidget::UncrustifyOptionsPageWidget(UncrustifySettings *set
|
||||
ui->setupUi(this);
|
||||
ui->useHomeFile->setText(ui->useHomeFile->text().replace(
|
||||
"HOME", QDir::toNativeSeparators(QDir::home().absolutePath())));
|
||||
ui->uncrusifyFilePath->setExpectedKind(Utils::PathChooser::File);
|
||||
ui->uncrusifyFilePath->setPromptDialogFilter(tr("Uncrustify file (*.cfg)"));
|
||||
ui->uncrusifyFilePath->setFileName(Utils::FileName::fromString(QDir::toNativeSeparators(QDir::home().absoluteFilePath("uncrustify.cfg"))));
|
||||
|
||||
ui->command->setExpectedKind(Utils::PathChooser::ExistingCommand);
|
||||
ui->command->setPromptDialogTitle(BeautifierPlugin::msgCommandPromptDialogTitle(
|
||||
Uncrustify::tr(Constants::Uncrustify::DISPLAY_NAME)));
|
||||
@@ -68,6 +72,8 @@ void UncrustifyOptionsPageWidget::restore()
|
||||
ui->mime->setText(m_settings->supportedMimeTypesAsString());
|
||||
ui->useOtherFiles->setChecked(m_settings->useOtherFiles());
|
||||
ui->useHomeFile->setChecked(m_settings->useHomeFile());
|
||||
ui->useSpecificFile->setChecked(m_settings->useSpecificConfigFile());
|
||||
ui->uncrusifyFilePath->setFileName(m_settings->specificConfigFile());
|
||||
ui->useCustomStyle->setChecked(m_settings->useCustomStyle());
|
||||
ui->configurations->setCurrentConfiguration(m_settings->customStyle());
|
||||
ui->formatEntireFileFallback->setChecked(m_settings->formatEntireFileFallback());
|
||||
@@ -79,6 +85,8 @@ void UncrustifyOptionsPageWidget::apply()
|
||||
m_settings->setSupportedMimeTypes(ui->mime->text());
|
||||
m_settings->setUseOtherFiles(ui->useOtherFiles->isChecked());
|
||||
m_settings->setUseHomeFile(ui->useHomeFile->isChecked());
|
||||
m_settings->setUseSpecificConfigFile(ui->useSpecificFile->isChecked());
|
||||
m_settings->setSpecificConfigFile(ui->uncrusifyFilePath->fileName());
|
||||
m_settings->setUseCustomStyle(ui->useCustomStyle->isChecked());
|
||||
m_settings->setCustomStyle(ui->configurations->currentConfiguration());
|
||||
m_settings->setFormatEntireFileFallback(ui->formatEntireFileFallback->isChecked());
|
||||
|
@@ -56,6 +56,20 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="useSpecificFile">
|
||||
<property name="text">
|
||||
<string>Use file specific uncrustify.cfg</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Utils::PathChooser" name="uncrusifyFilePath" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="useHomeFile">
|
||||
<property name="text">
|
||||
@@ -122,6 +136,8 @@
|
||||
<tabstops>
|
||||
<tabstop>mime</tabstop>
|
||||
<tabstop>useOtherFiles</tabstop>
|
||||
<tabstop>useSpecificFile</tabstop>
|
||||
<tabstop>uncrusifyFilePath</tabstop>
|
||||
<tabstop>useHomeFile</tabstop>
|
||||
<tabstop>useCustomStyle</tabstop>
|
||||
<tabstop>formatEntireFileFallback</tabstop>
|
||||
|
@@ -44,11 +44,13 @@ namespace Internal {
|
||||
namespace Uncrustify {
|
||||
|
||||
namespace {
|
||||
const char USE_OTHER_FILES[] = "useOtherFiles";
|
||||
const char USE_HOME_FILE[] = "useHomeFile";
|
||||
const char USE_CUSTOM_STYLE[] = "useCustomStyle";
|
||||
const char CUSTOM_STYLE[] = "customStyle";
|
||||
const char FORMAT_ENTIRE_FILE_FALLBACK[] = "formatEntireFileFallback";
|
||||
const char USE_OTHER_FILES[] = "useOtherFiles";
|
||||
const char USE_HOME_FILE[] = "useHomeFile";
|
||||
const char USE_SPECIFIC_CONFIG_FILE_PATH[] = "useSpecificConfigFile";
|
||||
const char SPECIFIC_CONFIG_FILE_PATH[] = "specificConfigFile";
|
||||
const char USE_CUSTOM_STYLE[] = "useCustomStyle";
|
||||
const char CUSTOM_STYLE[] = "customStyle";
|
||||
const char FORMAT_ENTIRE_FILE_FALLBACK[] = "formatEntireFileFallback";
|
||||
}
|
||||
|
||||
UncrustifySettings::UncrustifySettings() :
|
||||
@@ -62,8 +64,10 @@ UncrustifySettings::UncrustifySettings() :
|
||||
m_settings.insert(USE_OTHER_FILES, QVariant(true));
|
||||
m_settings.insert(USE_HOME_FILE, QVariant(false));
|
||||
m_settings.insert(USE_CUSTOM_STYLE, QVariant(false));
|
||||
m_settings.insert(USE_SPECIFIC_CONFIG_FILE_PATH, QVariant(false));
|
||||
m_settings.insert(CUSTOM_STYLE, QVariant());
|
||||
m_settings.insert(FORMAT_ENTIRE_FILE_FALLBACK, QVariant(true));
|
||||
m_settings.insert(SPECIFIC_CONFIG_FILE_PATH, QVariant());
|
||||
read();
|
||||
}
|
||||
|
||||
@@ -87,6 +91,26 @@ void UncrustifySettings::setUseHomeFile(bool useHomeFile)
|
||||
m_settings.insert(USE_HOME_FILE, QVariant(useHomeFile));
|
||||
}
|
||||
|
||||
Utils::FileName UncrustifySettings::specificConfigFile() const
|
||||
{
|
||||
return Utils::FileName::fromString(m_settings.value(SPECIFIC_CONFIG_FILE_PATH).toString());
|
||||
}
|
||||
|
||||
void UncrustifySettings::setSpecificConfigFile(const Utils::FileName &filePath)
|
||||
{
|
||||
m_settings.insert(SPECIFIC_CONFIG_FILE_PATH, QVariant(filePath.toString()));
|
||||
}
|
||||
|
||||
bool UncrustifySettings::useSpecificConfigFile() const
|
||||
{
|
||||
return m_settings.value(USE_SPECIFIC_CONFIG_FILE_PATH).toBool();
|
||||
}
|
||||
|
||||
void UncrustifySettings::setUseSpecificConfigFile(bool useConfigFile)
|
||||
{
|
||||
m_settings.insert(USE_SPECIFIC_CONFIG_FILE_PATH, QVariant(useConfigFile));
|
||||
}
|
||||
|
||||
bool UncrustifySettings::useCustomStyle() const
|
||||
{
|
||||
return m_settings.value(USE_CUSTOM_STYLE).toBool();
|
||||
|
@@ -26,7 +26,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "../abstractsettings.h"
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
#include <QProcess>
|
||||
|
||||
namespace Beautifier {
|
||||
@@ -60,6 +60,12 @@ public:
|
||||
|
||||
void updateVersion() override;
|
||||
|
||||
Utils::FileName specificConfigFile() const;
|
||||
void setSpecificConfigFile(const Utils::FileName &filePath);
|
||||
|
||||
bool useSpecificConfigFile() const;
|
||||
void setUseSpecificConfigFile(bool useConfigFile);
|
||||
|
||||
private:
|
||||
QProcess m_versionProcess;
|
||||
void parseVersionProcessResult(int exitCode, QProcess::ExitStatus exitStatus);
|
||||
|
Reference in New Issue
Block a user