/** * Copyright (C) 2021 Saturneric * * This file is part of GpgFrontend. * * GpgFrontend is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * GpgFrontend is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GpgFrontend. If not, see . * * The initial version of the source code is inherited from * the gpg4usb project, which is under GPL-3.0-or-later. * * All the source code of GpgFrontend was modified and released by * Saturneric starting on May 12, 2021. * * SPDX-License-Identifier: GPL-3.0-or-later * */ #include "ui/ShowCopyDialog.h" namespace GpgFrontend::UI { ShowCopyDialog::ShowCopyDialog(const QString& text, const QString& info, QWidget* parent) : QDialog(parent) { text_edit_ = new QTextEdit(); text_edit_->setReadOnly(true); text_edit_->setLineWrapMode(QTextEdit::WidgetWidth); text_edit_->setText(text); copy_button_ = new QPushButton("Copy"); connect(copy_button_, SIGNAL(clicked(bool)), this, SLOT(slot_copy_text())); info_label_ = new QLabel(); info_label_->setText(info); info_label_->setWordWrap(true); auto* layout = new QVBoxLayout(); layout->addWidget(text_edit_); layout->addWidget(copy_button_); layout->addWidget(info_label_); this->setWindowTitle("Short Ciphertext"); this->resize(320, 120); this->setModal(true); this->setLayout(layout); } void ShowCopyDialog::slot_copy_text() { QClipboard* cb = QApplication::clipboard(); cb->setText(text_edit_->toPlainText()); } } // namespace GpgFrontend::UI