sam panel: add Clear button for the output log

Run and Clear sit in a horizontal row (Run expands, Clear fixed) so Clear
costs no extra vertical space. Clear calls the existing clearOutput().
This commit is contained in:
Levi Neely 2026-10-08 15:16:08 +02:00
parent df287b3a7f
commit b7320a5f23
2 changed files with 14 additions and 1 deletions

View File

@ -6,6 +6,7 @@
#include <KLocalizedString> #include <KLocalizedString>
#include <QFontDatabase> #include <QFontDatabase>
#include <QHBoxLayout>
#include <QKeyEvent> #include <QKeyEvent>
#include <QPlainTextEdit> #include <QPlainTextEdit>
#include <QPushButton> #include <QPushButton>
@ -67,7 +68,18 @@ SamPanel::SamPanel(QWidget *parent)
m_runButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); m_runButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
connect(m_runButton, &QPushButton::clicked, this, connect(m_runButton, &QPushButton::clicked, this,
[this]() { Q_EMIT runRequested(program()); }); [this]() { Q_EMIT runRequested(program()); });
layout->addWidget(m_runButton);
m_clearButton = new QPushButton(i18n("Clear"), this);
m_clearButton->setMinimumHeight(28);
m_clearButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
connect(m_clearButton, &QPushButton::clicked, this, [this]() { clearOutput(); });
auto *buttonRow = new QHBoxLayout();
buttonRow->setContentsMargins(0, 0, 0, 0);
buttonRow->setSpacing(4);
buttonRow->addWidget(m_runButton);
buttonRow->addWidget(m_clearButton);
layout->addLayout(buttonRow);
m_output = new QTextEdit(this); m_output = new QTextEdit(this);
m_output->setReadOnly(true); m_output->setReadOnly(true);

View File

@ -43,6 +43,7 @@ Q_SIGNALS:
private: private:
QPlainTextEdit *m_editor = nullptr; QPlainTextEdit *m_editor = nullptr;
QPushButton *m_runButton = nullptr; QPushButton *m_runButton = nullptr;
QPushButton *m_clearButton = nullptr;
QTextEdit *m_output = nullptr; QTextEdit *m_output = nullptr;
}; };