diff --git a/plugins/channelrx/demoddsd/dsdstatustextdialog.cpp b/plugins/channelrx/demoddsd/dsdstatustextdialog.cpp index 47a843e8c..3b7e3d1da 100644 --- a/plugins/channelrx/demoddsd/dsdstatustextdialog.cpp +++ b/plugins/channelrx/demoddsd/dsdstatustextdialog.cpp @@ -20,6 +20,9 @@ #include #include +#include +#include +#include DSDStatusTextDialog::DSDStatusTextDialog(QWidget* parent) : QDialog(parent), @@ -53,3 +56,32 @@ void DSDStatusTextDialog::on_clear_clicked() { ui->logEdit->clear(); } + +void DSDStatusTextDialog::on_saveLog_clicked() +{ + QString fileName = QFileDialog::getSaveFileName(this, + tr("Open log file"), ".", tr("Log files (*.log)")); + + if (fileName != "") + { + QFileInfo fileInfo(fileName); + + if (fileInfo.suffix() != "log") { + fileName += ".log"; + } + + QFile exportFile(fileName); + + if (exportFile.open(QIODevice::WriteOnly | QIODevice::Text)) + { + QTextStream outstream(&exportFile); + outstream << ui->logEdit->toPlainText(); + exportFile.close(); + } + else + { + QMessageBox::information(this, tr("Message"), tr("Cannot open file for writing")); + } + } + +} diff --git a/plugins/channelrx/demoddsd/dsdstatustextdialog.h b/plugins/channelrx/demoddsd/dsdstatustextdialog.h index f5d5a0718..23c18b1ae 100644 --- a/plugins/channelrx/demoddsd/dsdstatustextdialog.h +++ b/plugins/channelrx/demoddsd/dsdstatustextdialog.h @@ -39,6 +39,7 @@ private: private slots: void on_clear_clicked(); + void on_saveLog_clicked(); }; diff --git a/plugins/channelrx/demoddsd/dsdstatustextdialog.ui b/plugins/channelrx/demoddsd/dsdstatustextdialog.ui index 675e41047..69a45c4ca 100644 --- a/plugins/channelrx/demoddsd/dsdstatustextdialog.ui +++ b/plugins/channelrx/demoddsd/dsdstatustextdialog.ui @@ -64,7 +64,7 @@ - + 24