diff --git a/src/plugins/beautifier/CMakeLists.txt b/src/plugins/beautifier/CMakeLists.txt index 6cdf581016f..12e39464f00 100644 --- a/src/plugins/beautifier/CMakeLists.txt +++ b/src/plugins/beautifier/CMakeLists.txt @@ -15,7 +15,7 @@ add_qtc_plugin(Beautifier clangformat/clangformatconstants.h clangformat/clangformatoptionspage.cpp clangformat/clangformatoptionspage.h clangformat/clangformatsettings.cpp clangformat/clangformatsettings.h - configurationdialog.cpp configurationdialog.h configurationdialog.ui + configurationdialog.cpp configurationdialog.h configurationeditor.cpp configurationeditor.h configurationpanel.cpp configurationpanel.h generaloptionspage.cpp generaloptionspage.h diff --git a/src/plugins/beautifier/beautifier.qbs b/src/plugins/beautifier/beautifier.qbs index 7238c891d28..5144c1c6ff3 100644 --- a/src/plugins/beautifier/beautifier.qbs +++ b/src/plugins/beautifier/beautifier.qbs @@ -20,7 +20,6 @@ QtcPlugin { "beautifierplugin.h", "configurationdialog.cpp", "configurationdialog.h", - "configurationdialog.ui", "configurationeditor.cpp", "configurationeditor.h", "configurationpanel.cpp", diff --git a/src/plugins/beautifier/configurationdialog.cpp b/src/plugins/beautifier/configurationdialog.cpp index 2b8a6f650cb..e218cb6ded4 100644 --- a/src/plugins/beautifier/configurationdialog.cpp +++ b/src/plugins/beautifier/configurationdialog.cpp @@ -24,34 +24,73 @@ ****************************************************************************/ #include "configurationdialog.h" -#include "ui_configurationdialog.h" #include "abstractsettings.h" +#include "configurationeditor.h" #include #include +#include + +#include +#include +#include #include #include +#include +#include -namespace Beautifier { -namespace Internal { +namespace Beautifier::Internal { -ConfigurationDialog::ConfigurationDialog(QWidget *parent) : - QDialog(parent), - ui(new Ui::ConfigurationDialog) +ConfigurationDialog::ConfigurationDialog(QWidget *parent) + : QDialog(parent) { - ui->setupUi(this); + resize(640, 512); + + m_name = new QLineEdit; + + m_editor = new ConfigurationEditor; + + m_documentationHeader = new QLabel; + + m_documentation = new QTextEdit; + m_documentation->setReadOnly(true); + + m_buttonBox = new QDialogButtonBox(this); + m_buttonBox->setOrientation(Qt::Horizontal); + m_buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); + + using namespace Utils::Layouting; + + Column { + Group { + Title(tr("Name")), + Column { m_name } + }, + Group { + Title(tr("Value")), + Column { + m_editor, + m_documentationHeader, + m_documentation + } + }, + m_buttonBox + }.attachTo(this); + + connect(m_buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); + connect(m_buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); // Filter out characters which are not allowed in a file name QRegularExpressionValidator *fileNameValidator = new QRegularExpressionValidator( - QRegularExpression("^[^\\/\\\\\\?\\>\\<\\*\\%\\:\\\"\\']*$"), ui->name); - ui->name->setValidator(fileNameValidator); + QRegularExpression("^[^\\/\\\\\\?\\>\\<\\*\\%\\:\\\"\\']*$"), m_name); + m_name->setValidator(fileNameValidator); updateDocumentation(); - connect(ui->name, &QLineEdit::textChanged, this, &ConfigurationDialog::updateOkButton); + connect(m_name, &QLineEdit::textChanged, this, &ConfigurationDialog::updateOkButton); updateOkButton(); // force initial test. - connect(ui->editor, &ConfigurationEditor::documentationChanged, + connect(m_editor, &ConfigurationEditor::documentationChanged, this, &ConfigurationDialog::updateDocumentation); // Set palette and font according to settings @@ -66,11 +105,11 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent) : if (selectionFormat.background().style() != Qt::NoBrush) pal.setColor(QPalette::Highlight, selectionFormat.background().color()); pal.setBrush(QPalette::HighlightedText, selectionFormat.foreground()); - ui->documentation->setPalette(pal); - ui->editor->setPalette(pal); + m_documentation->setPalette(pal); + m_editor->setPalette(pal); - ui->documentation->setFont(tf.font()); - ui->editor->setFont(tf.font()); + m_documentation->setFont(tf.font()); + m_editor->setFont(tf.font()); // Set style sheet for documentation browser const QTextCharFormat tfOption = fs.toTextCharFormat(TextEditor::C_FIELD); @@ -85,63 +124,59 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent) : .arg(tfOption.foreground().color().name()) .arg(tfOption.background().style() == Qt::NoBrush ? QString() : tfOption.background().color().name()); - ui->documentation->document()->setDefaultStyleSheet(css); + m_documentation->document()->setDefaultStyleSheet(css); } -ConfigurationDialog::~ConfigurationDialog() -{ - delete ui; -} +ConfigurationDialog::~ConfigurationDialog() = default; void ConfigurationDialog::setSettings(AbstractSettings *settings) { m_settings = settings; - ui->editor->setSettings(m_settings); + m_editor->setSettings(m_settings); } void ConfigurationDialog::clear() { - ui->name->clear(); - ui->editor->clear(); + m_name->clear(); + m_editor->clear(); m_currentKey.clear(); updateOkButton(); } QString ConfigurationDialog::key() const { - return ui->name->text().simplified(); + return m_name->text().simplified(); } void ConfigurationDialog::setKey(const QString &key) { m_currentKey = key; - ui->name->setText(m_currentKey); + m_name->setText(m_currentKey); if (m_settings) - ui->editor->setPlainText(m_settings->style(m_currentKey)); + m_editor->setPlainText(m_settings->style(m_currentKey)); else - ui->editor->clear(); + m_editor->clear(); } QString ConfigurationDialog::value() const { - return ui->editor->toPlainText(); + return m_editor->toPlainText(); } void ConfigurationDialog::updateOkButton() { - const QString key = ui->name->text().simplified(); + const QString key = m_name->text().simplified(); const bool exists = m_settings && key != m_currentKey && m_settings->styleExists(key); - ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!(key.isEmpty() || exists)); + m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!(key.isEmpty() || exists)); } void ConfigurationDialog::updateDocumentation(const QString &word, const QString &docu) { if (word.isEmpty()) - ui->documentationHeader->setText(tr("Documentation")); + m_documentationHeader->setText(tr("Documentation")); else - ui->documentationHeader->setText(tr("Documentation for \"%1\"").arg(word)); - ui->documentation->setHtml(docu); + m_documentationHeader->setText(tr("Documentation for \"%1\"").arg(word)); + m_documentation->setHtml(docu); } -} // namespace Internal -} // namespace Beautifier +} // Beautifier::Internal diff --git a/src/plugins/beautifier/configurationdialog.h b/src/plugins/beautifier/configurationdialog.h index e720db480fd..91b64175fa1 100644 --- a/src/plugins/beautifier/configurationdialog.h +++ b/src/plugins/beautifier/configurationdialog.h @@ -26,13 +26,18 @@ #pragma once #include -#include -namespace Beautifier { -namespace Internal { +QT_BEGIN_NAMESPACE +class QDialogButtonBox; +class QLabel; +class QLineEdit; +class QTextEdit; +QT_END_NAMESPACE + +namespace Beautifier::Internal { class AbstractSettings; -namespace Ui { class ConfigurationDialog; } +class ConfigurationEditor; class ConfigurationDialog : public QDialog { @@ -51,11 +56,15 @@ public: private: void updateOkButton(); void updateDocumentation(const QString &word = QString(), const QString &docu = QString()); - Ui::ConfigurationDialog *ui; + AbstractSettings *m_settings = nullptr; QString m_currentKey; + + QLineEdit *m_name; + ConfigurationEditor *m_editor; + QLabel *m_documentationHeader; + QTextEdit *m_documentation; + QDialogButtonBox *m_buttonBox; }; - -} // namespace Internal -} // namespace Beautifier +} // Beautifier::Internal diff --git a/src/plugins/beautifier/configurationdialog.ui b/src/plugins/beautifier/configurationdialog.ui deleted file mode 100644 index 169e69c8ede..00000000000 --- a/src/plugins/beautifier/configurationdialog.ui +++ /dev/null @@ -1,118 +0,0 @@ - - - Beautifier::Internal::ConfigurationDialog - - - - 0 - 0 - 640 - 512 - - - - - - - Name - - - - - - - - - - - - Value - - - - - - Qt::Vertical - - - false - - - - - - - - Documentation - - - - - - - true - - - - - - - - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - - Beautifier::Internal::ConfigurationEditor - QPlainTextEdit -
beautifier/configurationeditor.h
-
-
- - - - buttonBox - accepted() - Beautifier::Internal::ConfigurationDialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - Beautifier::Internal::ConfigurationDialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - -