ClangFormat: Inline *.ui files

Change-Id: Ie6bcb486c70896894121434b1030861b029a46a2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2022-07-22 09:44:47 +02:00
committed by Artem Sokolovskii
parent 7070e89904
commit 031bf8d3a4
7 changed files with 139 additions and 146 deletions

View File

@@ -28,31 +28,56 @@
#include "clangformatconstants.h"
#include "clangformatsettings.h"
#include "ui_clangformatglobalconfigwidget.h"
#include <projectexplorer/project.h>
#include <utils/layoutbuilder.h>
#include <QCheckBox>
#include <QComboBox>
#include <QLabel>
#include <QWidget>
#include <sstream>
using namespace ProjectExplorer;
using namespace Utils;
namespace ClangFormat {
ClangFormatGlobalConfigWidget::ClangFormatGlobalConfigWidget(ProjectExplorer::Project *project,
QWidget *parent)
: CppCodeStyleWidget(parent)
, m_ui(std::make_unique<Ui::ClangFormatGlobalConfigWidget>())
{
m_ui->setupUi(this);
resize(489, 305);
m_formattingModeLabel = new QLabel(tr("Formatting mode:"));
m_indentingOrFormatting = new QComboBox(this);
m_formatWhileTyping = new QCheckBox(tr("Format while typing"));
m_formatOnSave = new QCheckBox(tr("Format edited code on file save"));
using namespace Layouting;
Group globalSettingsGroupBox {
title(tr("ClangFormat global setting:")),
Column {
Row { m_formattingModeLabel, m_indentingOrFormatting, st },
m_formatWhileTyping,
m_formatOnSave
}
};
Column {
globalSettingsGroupBox
}.attachTo(this);
initCheckBoxes();
initIndentationOrFormattingCombobox();
if (project) {
m_ui->settingsGroupBox->hide();
globalSettingsGroupBox.widget->hide();
return;
}
m_ui->settingsGroupBox->show();
globalSettingsGroupBox.widget->show();
}
ClangFormatGlobalConfigWidget::~ClangFormatGlobalConfigWidget() = default;
@@ -62,27 +87,27 @@ void ClangFormatGlobalConfigWidget::initCheckBoxes()
auto setEnableCheckBoxes = [this](int index) {
bool isFormatting = index == static_cast<int>(ClangFormatSettings::Mode::Formatting);
m_ui->formatOnSave->setEnabled(isFormatting);
m_ui->formatWhileTyping->setEnabled(isFormatting);
m_formatOnSave->setEnabled(isFormatting);
m_formatWhileTyping->setEnabled(isFormatting);
};
setEnableCheckBoxes(m_ui->indentingOrFormatting->currentIndex());
connect(m_ui->indentingOrFormatting, &QComboBox::currentIndexChanged,
setEnableCheckBoxes(m_indentingOrFormatting->currentIndex());
connect(m_indentingOrFormatting, &QComboBox::currentIndexChanged,
this, setEnableCheckBoxes);
m_ui->formatOnSave->setChecked(ClangFormatSettings::instance().formatOnSave());
m_ui->formatWhileTyping->setChecked(ClangFormatSettings::instance().formatWhileTyping());
m_formatOnSave->setChecked(ClangFormatSettings::instance().formatOnSave());
m_formatWhileTyping->setChecked(ClangFormatSettings::instance().formatWhileTyping());
}
void ClangFormatGlobalConfigWidget::initIndentationOrFormattingCombobox()
{
m_ui->indentingOrFormatting->insertItem(static_cast<int>(ClangFormatSettings::Mode::Indenting),
tr("Indenting only"));
m_ui->indentingOrFormatting->insertItem(static_cast<int>(ClangFormatSettings::Mode::Formatting),
tr("Full formatting"));
m_ui->indentingOrFormatting->insertItem(static_cast<int>(ClangFormatSettings::Mode::Disable),
tr("Disable"));
m_indentingOrFormatting->insertItem(static_cast<int>(ClangFormatSettings::Mode::Indenting),
tr("Indenting only"));
m_indentingOrFormatting->insertItem(static_cast<int>(ClangFormatSettings::Mode::Formatting),
tr("Full formatting"));
m_indentingOrFormatting->insertItem(static_cast<int>(ClangFormatSettings::Mode::Disable),
tr("Disable"));
m_ui->indentingOrFormatting->setCurrentIndex(
m_indentingOrFormatting->setCurrentIndex(
static_cast<int>(ClangFormatSettings::instance().mode()));
}
@@ -90,9 +115,9 @@ void ClangFormatGlobalConfigWidget::initIndentationOrFormattingCombobox()
void ClangFormatGlobalConfigWidget::apply()
{
ClangFormatSettings &settings = ClangFormatSettings::instance();
settings.setFormatOnSave(m_ui->formatOnSave->isChecked());
settings.setFormatWhileTyping(m_ui->formatWhileTyping->isChecked());
settings.setMode(static_cast<ClangFormatSettings::Mode>(m_ui->indentingOrFormatting->currentIndex()));
settings.setFormatOnSave(m_formatOnSave->isChecked());
settings.setFormatWhileTyping(m_formatWhileTyping->isChecked());
settings.setMode(static_cast<ClangFormatSettings::Mode>(m_indentingOrFormatting->currentIndex()));
settings.write();
}