ClangFormat: Fix settings checkboxes disappearance

- Fixed settings checkboxes disappearance after open a project
- Fixed impossibility to save settings

Task-number: QTCREATORBUG-26948
Change-Id: Ia73a61bf56b99adea9ed45c9d656860b185a3d7e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Artem Sokolovskii
2022-03-17 12:01:17 +01:00
parent 81f33072b9
commit bbc44cfb90
15 changed files with 64 additions and 33 deletions

View File

@@ -52,8 +52,10 @@ class CodeStyleDialog : public QDialog
{
Q_OBJECT
public:
CodeStyleDialog(ICodeStylePreferencesFactory *factory,
ICodeStylePreferences *codeStyle, QWidget *parent = nullptr);
explicit CodeStyleDialog(ICodeStylePreferencesFactory *factory,
ICodeStylePreferences *codeStyle,
ProjectExplorer::Project *project = nullptr,
QWidget *parent = nullptr);
~CodeStyleDialog() override;
ICodeStylePreferences *codeStyle() const;
private:
@@ -69,7 +71,9 @@ private:
};
CodeStyleDialog::CodeStyleDialog(ICodeStylePreferencesFactory *factory,
ICodeStylePreferences *codeStyle, QWidget *parent)
ICodeStylePreferences *codeStyle,
ProjectExplorer::Project *project,
QWidget *parent)
: QDialog(parent)
{
setWindowTitle(tr("Edit Code Style"));
@@ -104,7 +108,7 @@ CodeStyleDialog::CodeStyleDialog(ICodeStylePreferencesFactory *factory,
m_codeStyle->setValue(codeStyle->value());
m_codeStyle->setId(codeStyle->id());
m_codeStyle->setDisplayName(m_originalDisplayName);
QWidget *editor = factory->createEditor(m_codeStyle, this);
QWidget *editor = factory->createEditor(m_codeStyle, project, this);
m_buttons = new QDialogButtonBox(
QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this);
@@ -153,10 +157,13 @@ CodeStyleDialog::~CodeStyleDialog()
} // Internal
CodeStyleSelectorWidget::CodeStyleSelectorWidget(ICodeStylePreferencesFactory *factory, QWidget *parent) :
QWidget(parent),
m_factory(factory),
m_ui(new Internal::Ui::CodeStyleSelectorWidget)
CodeStyleSelectorWidget::CodeStyleSelectorWidget(ICodeStylePreferencesFactory *factory,
ProjectExplorer::Project *project,
QWidget *parent)
: QWidget(parent)
, m_factory(factory)
, m_project(project)
, m_ui(new Internal::Ui::CodeStyleSelectorWidget)
{
m_ui->setupUi(this);
m_ui->importButton->setEnabled(false);
@@ -283,7 +290,7 @@ void CodeStyleSelectorWidget::slotEditClicked()
ICodeStylePreferences *codeStyle = m_codeStyle->currentPreferences();
// check if it's read-only
Internal::CodeStyleDialog dialog(m_factory, codeStyle, this);
Internal::CodeStyleDialog dialog(m_factory, codeStyle, m_project, this);
if (dialog.exec() == QDialog::Accepted) {
ICodeStylePreferences *dialogCodeStyle = dialog.codeStyle();
if (codeStyle->isReadOnly()) {