summaryrefslogtreecommitdiffstats
path: root/src/b2qt-flashing-wizard/progress_page.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/b2qt-flashing-wizard/progress_page.cpp')
-rw-r--r--src/b2qt-flashing-wizard/progress_page.cpp38
1 files changed, 32 insertions, 6 deletions
diff --git a/src/b2qt-flashing-wizard/progress_page.cpp b/src/b2qt-flashing-wizard/progress_page.cpp
index 7986df9..9c87d2d 100644
--- a/src/b2qt-flashing-wizard/progress_page.cpp
+++ b/src/b2qt-flashing-wizard/progress_page.cpp
@@ -19,6 +19,8 @@
#include "progress_page.h"
#include "actor.h"
+#include <QApplication>
+#include <QClipboard>
#include <QDebug>
#include <QLabel>
#include <QLayout>
@@ -32,19 +34,25 @@ ProgressPage::ProgressPage(QWidget *parent)
, mActor(0)
, mFinished(false)
, mTextEdit(new QTextEdit(this))
+ , mToggleDetailsButton(new QPushButton(this))
+ , mCopyToClipboardButton(new QPushButton(this))
{
setTitle("Disk creation");
setSubTitle("Progress of writing the disk");
setLayout(new QVBoxLayout(this));
mProgress->setText(tr("Starting"));
layout()->addWidget(mProgress);
- QPushButton *button = new QPushButton(this);
- button->setText("Show details");
- layout()->addWidget(button);
+ mToggleDetailsButton->setText("Show details");
+ layout()->addWidget(mToggleDetailsButton);
layout()->addWidget(mTextEdit);
- QPushButton *copy = new QPushButton(this);
- copy->setText("Copy to clipboard");
- layout()->addWidget(copy);
+ mCopyToClipboardButton->setText("Copy to clipboard");
+ layout()->addWidget(mCopyToClipboardButton);
+
+ mTextEdit->hide();
+ mCopyToClipboardButton->hide();
+
+ connect(mToggleDetailsButton, &QPushButton::clicked, this, &ProgressPage::toggleDetails);
+ connect(mCopyToClipboardButton, &QPushButton::clicked, this, &ProgressPage::copyDetailsToClipboard);
}
ProgressPage::~ProgressPage()
@@ -88,3 +96,21 @@ void ProgressPage::addDetails(QByteArray newData)
newData.replace(0x08 /* backspace */, ' ');
mTextEdit->append(QString::fromLocal8Bit(newData));
}
+
+void ProgressPage::toggleDetails()
+{
+ if (mTextEdit->isHidden()) {
+ mTextEdit->show();
+ mCopyToClipboardButton->show();
+ mToggleDetailsButton->setText("Hide details");
+ } else {
+ mTextEdit->hide();
+ mCopyToClipboardButton->hide();
+ mToggleDetailsButton->setText("Show details");
+ }
+}
+
+void ProgressPage::copyDetailsToClipboard()
+{
+ QApplication::clipboard()->setText(mTextEdit->toPlainText());
+}