| 38 | } |
| 39 | |
| 40 | void PlainTextLog::contextMenuEvent(QContextMenuEvent* event) |
| 41 | { |
| 42 | QMenu* menu = createStandardContextMenu(); |
| 43 | |
| 44 | menu->addSeparator(); |
| 45 | menu->addAction(tr("Clear Log"), this, SLOT(clear())); |
| 46 | |
| 47 | menu->addSeparator(); |
| 48 | auto saveAct = menu->addAction(tr("Save Log to File...")); |
| 49 | connect(saveAct, &QAction::triggered, this, [=]() |
| 50 | { |
| 51 | auto dlg = new QFileDialog(this, tr("Save Log"), QString(), |
| 52 | tr("Text Files (*.txt);;All Files (*.*)")); |
| 53 | connect(dlg, &QFileDialog::fileSelected, this, &PlainTextLog::saveLogToFile); |
| 54 | dlg->setAttribute(Qt::WA_DeleteOnClose); |
| 55 | dlg->setAcceptMode(QFileDialog::AcceptSave); |
| 56 | dlg->open(); |
| 57 | }); |
| 58 | |
| 59 | menu->exec(event->globalPos()); |
| 60 | delete menu; |
| 61 | } |
| 62 | |
| 63 | void PlainTextLog::saveLogToFile(const QString& fileName) |
| 64 | { |