aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/EditorPage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/widgets/EditorPage.cpp')
-rw-r--r--src/ui/widgets/EditorPage.cpp154
1 files changed, 0 insertions, 154 deletions
diff --git a/src/ui/widgets/EditorPage.cpp b/src/ui/widgets/EditorPage.cpp
deleted file mode 100644
index 8c26fe71..00000000
--- a/src/ui/widgets/EditorPage.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/**
- * 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.
- *
- * Foobar 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 Foobar. If not, see <https://www.gnu.org/licenses/>.
- *
- * The initial version of the source code is inherited from gpg4usb-team.
- * Their source code version also complies with GNU General Public License.
- *
- * The source code version of this software was modified and released
- * by Saturneric<[email protected]><[email protected]> starting on May 12, 2021.
- *
- */
-
-#include "ui/widgets/EditorPage.h"
-
-#include <boost/filesystem.hpp>
-#include <utility>
-
-#include "ui/thread/FileReadThread.h"
-
-namespace GpgFrontend::UI {
-
-EditorPage::EditorPage(QString filePath, QWidget* parent)
- : QWidget(parent), full_file_path_(std::move(filePath)) {
- // Set the Textedit properties
- textPage = new QTextEdit();
- textPage->setAcceptRichText(false);
-
- // Set the layout style
- mainLayout = new QVBoxLayout();
- mainLayout->setSpacing(0);
- mainLayout->addWidget(textPage);
- mainLayout->setContentsMargins(0, 0, 0, 0);
- setLayout(mainLayout);
-
- textPage->setFocus();
-
- // Front in same width
- this->setFont({"Courier"});
- this->setAttribute(Qt::WA_DeleteOnClose);
-}
-
-const QString& EditorPage::getFilePath() const { return full_file_path_; }
-
-QTextEdit* EditorPage::getTextPage() { return textPage; }
-
-void EditorPage::setFilePath(const QString& filePath) {
- full_file_path_ = filePath;
-}
-
-void EditorPage::showNotificationWidget(QWidget* widget,
- const char* className) {
- widget->setProperty(className, true);
- mainLayout->addWidget(widget);
-}
-
-void EditorPage::closeNoteByClass(const char* className) {
- QList<QWidget*> widgets = findChildren<QWidget*>();
- for (QWidget* widget : widgets) {
- if (widget->property(className) == true) {
- widget->close();
- }
- }
-}
-
-void EditorPage::slotFormatGpgHeader() {
- QString content = textPage->toPlainText();
-
- // Get positions of the gpg-headers, if they exist
- int start = content.indexOf(GpgFrontend::GpgConstants::PGP_SIGNED_BEGIN);
- int startSig =
- content.indexOf(GpgFrontend::GpgConstants::PGP_SIGNATURE_BEGIN);
- int endSig = content.indexOf(GpgFrontend::GpgConstants::PGP_SIGNATURE_END);
-
- if (start < 0 || startSig < 0 || endSig < 0 || signMarked) {
- return;
- }
-
- signMarked = true;
-
- // Set the fontstyle for the header
- QTextCharFormat signFormat;
- signFormat.setForeground(QBrush(QColor::fromRgb(80, 80, 80)));
- signFormat.setFontPointSize(9);
-
- // set font style for the signature
- QTextCursor cursor(textPage->document());
- cursor.setPosition(startSig, QTextCursor::MoveAnchor);
- cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor, endSig);
- cursor.setCharFormat(signFormat);
-
- // set the font style for the header
- int headEnd = content.indexOf("\n\n", start);
- cursor.setPosition(start, QTextCursor::MoveAnchor);
- cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor, headEnd);
- cursor.setCharFormat(signFormat);
-}
-
-void EditorPage::ReadFile() {
- LOG(INFO) << "Called";
-
- read_done_ = false;
-
- auto text_page = this->getTextPage();
- text_page->setReadOnly(true);
- auto thread = new FileReadThread(this->full_file_path_.toStdString());
-
- connect(thread, &FileReadThread::sendReadBlock, this,
- &EditorPage::slotInsertText);
-
- connect(thread, &FileReadThread::readDone, this, [=]() {
- LOG(INFO) << "thread read done";
- text_page->document()->setModified(false);
- text_page->setReadOnly(false);
- });
-
- connect(thread, &FileReadThread::finished, this, [=]() {
- LOG(INFO) << "thread finished";
- thread->deleteLater();
- read_done_ = true;
- read_hread_ = nullptr;
- });
-
- connect(this, &EditorPage::destroyed, [=]() {
- LOG(INFO) << "request interruption for read thread";
- thread->requestInterruption();
- read_hread_ = nullptr;
- });
- this->read_hread_ = thread;
- thread->start();
-}
-
-void EditorPage::slotInsertText(const QString& text) {
- this->getTextPage()->insertPlainText(text);
-}
-void EditorPage::PrepareToDestroy() {
- if (read_hread_) {
- read_hread_->requestInterruption();
- read_hread_ = nullptr;
- }
-}
-
-} // namespace GpgFrontend::UI