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()) {
|
if (m_settings->useHomeFile()) {
|
||||||
const QString file = QDir::home().filePath("uncrustify.cfg");
|
const QString file = QDir::home().filePath("uncrustify.cfg");
|
||||||
if (QFile::exists(file))
|
if (QFile::exists(file))
|
||||||
|
@@ -50,6 +50,10 @@ UncrustifyOptionsPageWidget::UncrustifyOptionsPageWidget(UncrustifySettings *set
|
|||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
ui->useHomeFile->setText(ui->useHomeFile->text().replace(
|
ui->useHomeFile->setText(ui->useHomeFile->text().replace(
|
||||||
"HOME", QDir::toNativeSeparators(QDir::home().absolutePath())));
|
"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->setExpectedKind(Utils::PathChooser::ExistingCommand);
|
||||||
ui->command->setPromptDialogTitle(BeautifierPlugin::msgCommandPromptDialogTitle(
|
ui->command->setPromptDialogTitle(BeautifierPlugin::msgCommandPromptDialogTitle(
|
||||||
Uncrustify::tr(Constants::Uncrustify::DISPLAY_NAME)));
|
Uncrustify::tr(Constants::Uncrustify::DISPLAY_NAME)));
|
||||||
@@ -68,6 +72,8 @@ void UncrustifyOptionsPageWidget::restore()
|
|||||||
ui->mime->setText(m_settings->supportedMimeTypesAsString());
|
ui->mime->setText(m_settings->supportedMimeTypesAsString());
|
||||||
ui->useOtherFiles->setChecked(m_settings->useOtherFiles());
|
ui->useOtherFiles->setChecked(m_settings->useOtherFiles());
|
||||||
ui->useHomeFile->setChecked(m_settings->useHomeFile());
|
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->useCustomStyle->setChecked(m_settings->useCustomStyle());
|
||||||
ui->configurations->setCurrentConfiguration(m_settings->customStyle());
|
ui->configurations->setCurrentConfiguration(m_settings->customStyle());
|
||||||
ui->formatEntireFileFallback->setChecked(m_settings->formatEntireFileFallback());
|
ui->formatEntireFileFallback->setChecked(m_settings->formatEntireFileFallback());
|
||||||
@@ -79,6 +85,8 @@ void UncrustifyOptionsPageWidget::apply()
|
|||||||
m_settings->setSupportedMimeTypes(ui->mime->text());
|
m_settings->setSupportedMimeTypes(ui->mime->text());
|
||||||
m_settings->setUseOtherFiles(ui->useOtherFiles->isChecked());
|
m_settings->setUseOtherFiles(ui->useOtherFiles->isChecked());
|
||||||
m_settings->setUseHomeFile(ui->useHomeFile->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->setUseCustomStyle(ui->useCustomStyle->isChecked());
|
||||||
m_settings->setCustomStyle(ui->configurations->currentConfiguration());
|
m_settings->setCustomStyle(ui->configurations->currentConfiguration());
|
||||||
m_settings->setFormatEntireFileFallback(ui->formatEntireFileFallback->isChecked());
|
m_settings->setFormatEntireFileFallback(ui->formatEntireFileFallback->isChecked());
|
||||||
|
@@ -56,6 +56,20 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</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>
|
<item>
|
||||||
<widget class="QCheckBox" name="useHomeFile">
|
<widget class="QCheckBox" name="useHomeFile">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -122,6 +136,8 @@
|
|||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>mime</tabstop>
|
<tabstop>mime</tabstop>
|
||||||
<tabstop>useOtherFiles</tabstop>
|
<tabstop>useOtherFiles</tabstop>
|
||||||
|
<tabstop>useSpecificFile</tabstop>
|
||||||
|
<tabstop>uncrusifyFilePath</tabstop>
|
||||||
<tabstop>useHomeFile</tabstop>
|
<tabstop>useHomeFile</tabstop>
|
||||||
<tabstop>useCustomStyle</tabstop>
|
<tabstop>useCustomStyle</tabstop>
|
||||||
<tabstop>formatEntireFileFallback</tabstop>
|
<tabstop>formatEntireFileFallback</tabstop>
|
||||||
|
@@ -46,6 +46,8 @@ namespace Uncrustify {
|
|||||||
namespace {
|
namespace {
|
||||||
const char USE_OTHER_FILES[] = "useOtherFiles";
|
const char USE_OTHER_FILES[] = "useOtherFiles";
|
||||||
const char USE_HOME_FILE[] = "useHomeFile";
|
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 USE_CUSTOM_STYLE[] = "useCustomStyle";
|
||||||
const char CUSTOM_STYLE[] = "customStyle";
|
const char CUSTOM_STYLE[] = "customStyle";
|
||||||
const char FORMAT_ENTIRE_FILE_FALLBACK[] = "formatEntireFileFallback";
|
const char FORMAT_ENTIRE_FILE_FALLBACK[] = "formatEntireFileFallback";
|
||||||
@@ -62,8 +64,10 @@ UncrustifySettings::UncrustifySettings() :
|
|||||||
m_settings.insert(USE_OTHER_FILES, QVariant(true));
|
m_settings.insert(USE_OTHER_FILES, QVariant(true));
|
||||||
m_settings.insert(USE_HOME_FILE, QVariant(false));
|
m_settings.insert(USE_HOME_FILE, QVariant(false));
|
||||||
m_settings.insert(USE_CUSTOM_STYLE, 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(CUSTOM_STYLE, QVariant());
|
||||||
m_settings.insert(FORMAT_ENTIRE_FILE_FALLBACK, QVariant(true));
|
m_settings.insert(FORMAT_ENTIRE_FILE_FALLBACK, QVariant(true));
|
||||||
|
m_settings.insert(SPECIFIC_CONFIG_FILE_PATH, QVariant());
|
||||||
read();
|
read();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,6 +91,26 @@ void UncrustifySettings::setUseHomeFile(bool useHomeFile)
|
|||||||
m_settings.insert(USE_HOME_FILE, QVariant(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
|
bool UncrustifySettings::useCustomStyle() const
|
||||||
{
|
{
|
||||||
return m_settings.value(USE_CUSTOM_STYLE).toBool();
|
return m_settings.value(USE_CUSTOM_STYLE).toBool();
|
||||||
|
@@ -26,7 +26,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "../abstractsettings.h"
|
#include "../abstractsettings.h"
|
||||||
|
#include <utils/fileutils.h>
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
|
|
||||||
namespace Beautifier {
|
namespace Beautifier {
|
||||||
@@ -60,6 +60,12 @@ public:
|
|||||||
|
|
||||||
void updateVersion() override;
|
void updateVersion() override;
|
||||||
|
|
||||||
|
Utils::FileName specificConfigFile() const;
|
||||||
|
void setSpecificConfigFile(const Utils::FileName &filePath);
|
||||||
|
|
||||||
|
bool useSpecificConfigFile() const;
|
||||||
|
void setUseSpecificConfigFile(bool useConfigFile);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QProcess m_versionProcess;
|
QProcess m_versionProcess;
|
||||||
void parseVersionProcessResult(int exitCode, QProcess::ExitStatus exitStatus);
|
void parseVersionProcessResult(int exitCode, QProcess::ExitStatus exitStatus);
|
||||||
|
Reference in New Issue
Block a user