summaryrefslogtreecommitdiff
path: root/src/plugins/beautifier
diff options
context:
space:
mode:
authorLorenz Haas <lorenz.haas@histomatics.de>2017-03-20 22:54:27 +0100
committerLorenz Haas <lorenz.haas@histomatics.de>2017-03-28 11:42:23 +0000
commita5574bc8029e931c75504f4f82f1bfd421df32f0 (patch)
treeaedbba5adb1f4b45eef80140c681f87091df406c /src/plugins/beautifier
parent016767b2a681551ced79b95651b175e348228ed4 (diff)
downloadqt-creator-a5574bc8029e931c75504f4f82f1bfd421df32f0.tar.gz
Beautifier: Allow to define specific config file for AStyle
Change-Id: I3ea1a0bfb0f39d99606204a5699b01128138259e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/beautifier')
-rw-r--r--src/plugins/beautifier/artisticstyle/artisticstyle.cpp6
-rw-r--r--src/plugins/beautifier/artisticstyle/artisticstyleoptionspage.cpp6
-rw-r--r--src/plugins/beautifier/artisticstyle/artisticstyleoptionspage.ui14
-rw-r--r--src/plugins/beautifier/artisticstyle/artisticstylesettings.cpp32
-rw-r--r--src/plugins/beautifier/artisticstyle/artisticstylesettings.h8
5 files changed, 62 insertions, 4 deletions
diff --git a/src/plugins/beautifier/artisticstyle/artisticstyle.cpp b/src/plugins/beautifier/artisticstyle/artisticstyle.cpp
index 3a34747838..c28d1037fe 100644
--- a/src/plugins/beautifier/artisticstyle/artisticstyle.cpp
+++ b/src/plugins/beautifier/artisticstyle/artisticstyle.cpp
@@ -129,6 +129,12 @@ QString ArtisticStyle::configurationFile() const
}
}
+ if (m_settings->useSpecificConfigFile()) {
+ const Utils::FileName file = m_settings->specificConfigFile();
+ if (file.exists())
+ return file.toUserOutput();
+ }
+
if (m_settings->useHomeFile()) {
const QDir homeDirectory = QDir::home();
QString file = homeDirectory.filePath(".astylerc");
diff --git a/src/plugins/beautifier/artisticstyle/artisticstyleoptionspage.cpp b/src/plugins/beautifier/artisticstyle/artisticstyleoptionspage.cpp
index a2086def12..95afae7aea 100644
--- a/src/plugins/beautifier/artisticstyle/artisticstyleoptionspage.cpp
+++ b/src/plugins/beautifier/artisticstyle/artisticstyleoptionspage.cpp
@@ -48,6 +48,8 @@ ArtisticStyleOptionsPageWidget::ArtisticStyleOptionsPageWidget(ArtisticStyleSett
ui->setupUi(this);
ui->useHomeFile->setText(ui->useHomeFile->text().replace(
"HOME", QDir::toNativeSeparators(QDir::home().absolutePath())));
+ ui->specificConfigFile->setExpectedKind(Utils::PathChooser::File);
+ ui->specificConfigFile->setPromptDialogFilter(tr("AStyle (*.astylerc)"));
ui->command->setExpectedKind(Utils::PathChooser::ExistingCommand);
ui->command->setPromptDialogTitle(BeautifierPlugin::msgCommandPromptDialogTitle(
ArtisticStyle::tr(Constants::ArtisticStyle::DISPLAY_NAME)));
@@ -65,6 +67,8 @@ void ArtisticStyleOptionsPageWidget::restore()
ui->command->setPath(m_settings->command());
ui->mime->setText(m_settings->supportedMimeTypesAsString());
ui->useOtherFiles->setChecked(m_settings->useOtherFiles());
+ ui->useSpecificConfigFile->setChecked(m_settings->useSpecificConfigFile());
+ ui->specificConfigFile->setFileName(m_settings->specificConfigFile());
ui->useHomeFile->setChecked(m_settings->useHomeFile());
ui->useCustomStyle->setChecked(m_settings->useCustomStyle());
ui->configurations->setCurrentConfiguration(m_settings->customStyle());
@@ -75,6 +79,8 @@ void ArtisticStyleOptionsPageWidget::apply()
m_settings->setCommand(ui->command->path());
m_settings->setSupportedMimeTypes(ui->mime->text());
m_settings->setUseOtherFiles(ui->useOtherFiles->isChecked());
+ m_settings->setUseSpecificConfigFile(ui->useSpecificConfigFile->isChecked());
+ m_settings->setSpecificConfigFile(ui->specificConfigFile->fileName());
m_settings->setUseHomeFile(ui->useHomeFile->isChecked());
m_settings->setUseCustomStyle(ui->useCustomStyle->isChecked());
m_settings->setCustomStyle(ui->configurations->currentConfiguration());
diff --git a/src/plugins/beautifier/artisticstyle/artisticstyleoptionspage.ui b/src/plugins/beautifier/artisticstyle/artisticstyleoptionspage.ui
index 2697a93448..99ec88b4b6 100644
--- a/src/plugins/beautifier/artisticstyle/artisticstyleoptionspage.ui
+++ b/src/plugins/beautifier/artisticstyle/artisticstyleoptionspage.ui
@@ -57,6 +57,20 @@
</widget>
</item>
<item>
+ <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1">
+ <item>
+ <widget class="QCheckBox" name="useSpecificConfigFile">
+ <property name="text">
+ <string>Use specific config file:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Utils::PathChooser" name="specificConfigFile" native="true"/>
+ </item>
+ </layout>
+ </item>
+ <item>
<widget class="QCheckBox" name="useHomeFile">
<property name="text">
<string extracomment="HOME is replaced by the user's home directory">Use file .astylerc or astylerc in HOME</string>
diff --git a/src/plugins/beautifier/artisticstyle/artisticstylesettings.cpp b/src/plugins/beautifier/artisticstyle/artisticstylesettings.cpp
index da73a5a47e..c6b9c60f07 100644
--- a/src/plugins/beautifier/artisticstyle/artisticstylesettings.cpp
+++ b/src/plugins/beautifier/artisticstyle/artisticstylesettings.cpp
@@ -45,10 +45,12 @@ namespace Internal {
namespace ArtisticStyle {
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 USE_OTHER_FILES[] = "useOtherFiles";
+const char USE_SPECIFIC_CONFIG_FILE[] = "useSpecificConfigFile";
+const char SPECIFIC_CONFIG_FILE[] = "specificConfigFile";
+const char USE_HOME_FILE[] = "useHomeFile";
+const char USE_CUSTOM_STYLE[] = "useCustomStyle";
+const char CUSTOM_STYLE[] = "customStyle";
}
ArtisticStyleSettings::ArtisticStyleSettings() :
@@ -59,6 +61,8 @@ ArtisticStyleSettings::ArtisticStyleSettings() :
setCommand("astyle");
m_settings.insert(USE_OTHER_FILES, QVariant(true));
+ m_settings.insert(USE_SPECIFIC_CONFIG_FILE, QVariant(false));
+ m_settings.insert(SPECIFIC_CONFIG_FILE, QVariant());
m_settings.insert(USE_HOME_FILE, QVariant(false));
m_settings.insert(USE_CUSTOM_STYLE, QVariant(false));
m_settings.insert(CUSTOM_STYLE, QVariant());
@@ -117,6 +121,26 @@ void ArtisticStyleSettings::setUseOtherFiles(bool useOtherFiles)
m_settings.insert(USE_OTHER_FILES, QVariant(useOtherFiles));
}
+bool ArtisticStyleSettings::useSpecificConfigFile() const
+{
+ return m_settings.value(USE_SPECIFIC_CONFIG_FILE).toBool();
+}
+
+void ArtisticStyleSettings::setUseSpecificConfigFile(bool useSpecificConfigFile)
+{
+ m_settings.insert(USE_SPECIFIC_CONFIG_FILE, QVariant(useSpecificConfigFile));
+}
+
+Utils::FileName ArtisticStyleSettings::specificConfigFile() const
+{
+ return Utils::FileName::fromString(m_settings.value(SPECIFIC_CONFIG_FILE).toString());
+}
+
+void ArtisticStyleSettings::setSpecificConfigFile(const Utils::FileName &specificConfigFile)
+{
+ m_settings.insert(SPECIFIC_CONFIG_FILE, QVariant(specificConfigFile.toString()));
+}
+
bool ArtisticStyleSettings::useHomeFile() const
{
return m_settings.value(USE_HOME_FILE).toBool();
diff --git a/src/plugins/beautifier/artisticstyle/artisticstylesettings.h b/src/plugins/beautifier/artisticstyle/artisticstylesettings.h
index 3f5cd4cc17..9e3c60e435 100644
--- a/src/plugins/beautifier/artisticstyle/artisticstylesettings.h
+++ b/src/plugins/beautifier/artisticstyle/artisticstylesettings.h
@@ -27,6 +27,8 @@
#include "../abstractsettings.h"
+#include <utils/fileutils.h>
+
#include <QFuture>
#include <QFutureWatcher>
@@ -51,6 +53,12 @@ public:
bool useOtherFiles() const;
void setUseOtherFiles(bool useOtherFiles);
+ bool useSpecificConfigFile() const;
+ void setUseSpecificConfigFile(bool useSpecificConfigFile);
+
+ Utils::FileName specificConfigFile() const;
+ void setSpecificConfigFile(const Utils::FileName &specificConfigFile);
+
bool useHomeFile() const;
void setUseHomeFile(bool useHomeFile);