From e554d0bef5305b88767f4bf2c006d87008d83b0b Mon Sep 17 00:00:00 2001 From: samamou Date: Wed, 22 Jan 2025 15:39:38 -0500 Subject: [PATCH] Add icon + fix button layout --- .../Process/Script/ScriptEditor.cpp | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/plugins/score-lib-process/Process/Script/ScriptEditor.cpp b/src/plugins/score-lib-process/Process/Script/ScriptEditor.cpp index 76bd9af94e..f351034e34 100644 --- a/src/plugins/score-lib-process/Process/Script/ScriptEditor.cpp +++ b/src/plugins/score-lib-process/Process/Script/ScriptEditor.cpp @@ -4,6 +4,7 @@ #include "ScriptWidget.hpp" #include +#include #include #include @@ -44,6 +45,22 @@ ScriptDialog::ScriptDialog( lay->setStretch(1, 1); auto bbox = new QDialogButtonBox{ QDialogButtonBox::Ok | QDialogButtonBox::Reset | QDialogButtonBox::Close, this}; + if(auto editorPath = QSettings{}.value("Skin/DefaultEditor").toString(); + !editorPath.isEmpty()) + { + auto openExternalBtn = new QPushButton{tr("Edit in default editor"), this}; + connect(openExternalBtn, &QPushButton::clicked, this, [this, editorPath] { + openInExternalEditor(editorPath); + }); + bbox->addButton(openExternalBtn, QDialogButtonBox::HelpRole); + openExternalBtn->setToolTip( + tr("Edit in the default editor set in Score Settings > User Interface")); + auto icon = makeIcons( + QStringLiteral(":/icons/undock_on.png"), + QStringLiteral(":/icons/undock_off.png"), + QStringLiteral(":/icons/undock_off.png")); + openExternalBtn->setIcon(icon); + } bbox->button(QDialogButtonBox::Ok)->setText(tr("Compile")); bbox->button(QDialogButtonBox::Reset)->setText(tr("Clear log")); connect(bbox->button(QDialogButtonBox::Reset), &QPushButton::clicked, this, [this] { @@ -58,16 +75,6 @@ ScriptDialog::ScriptDialog( connect( bbox->button(QDialogButtonBox::Close), &QPushButton::clicked, this, &QDialog::close); - - if(auto editorPath = QSettings{}.value("Skin/DefaultEditor").toString(); - !editorPath.isEmpty()) - { - auto openExternalBtn = new QPushButton{tr("Edit in default editor"), this}; - connect(openExternalBtn, &QPushButton::clicked, this, [this, editorPath] { - openInExternalEditor(editorPath); - }); - lay->addWidget(openExternalBtn); - } } QString ScriptDialog::text() const noexcept