summaryrefslogtreecommitdiff
path: root/src/savetextasdialog.cpp
blob: eb455143586e431b13293e316a8b28b54975a32c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "savetextasdialog.h"
#include "ui_savetextasdialog.h"
#include <QClipboard>
#include <QFileDialog>
#include <report.h>

using MOBase::reportError;

SaveTextAsDialog::SaveTextAsDialog(QWidget* parent) : QDialog(parent), ui(new Ui::SaveTextAsDialog) {
    ui->setupUi(this);
}

SaveTextAsDialog::~SaveTextAsDialog() { delete ui; }

void SaveTextAsDialog::setText(const QString& text) { ui->textEdit->setPlainText(text); }

void SaveTextAsDialog::on_closeBtn_clicked() { this->close(); }

void SaveTextAsDialog::on_clipboardBtn_clicked() {
    QClipboard* clipboard = QApplication::clipboard();
    clipboard->setText(ui->textEdit->toPlainText());
}

void SaveTextAsDialog::on_saveAsBtn_clicked() {
    QString fileName =
        QFileDialog::getSaveFileName(this, tr("Save CSV"), QString(), tr("Text Files") + " (*.txt *.csv)");
    if (!fileName.isEmpty()) {
        QFile file(fileName);
        if (!file.open(QIODevice::WriteOnly)) {
            reportError(tr("failed to open \"%1\" for writing").arg(fileName));
            return;
        }

        file.write(ui->textEdit->toPlainText().toUtf8());
    }
}