--- a/src/main.cpp Sun Jul 03 22:24:12 2022 +0300 +++ b/src/main.cpp Sun Jul 03 22:32:50 2022 +0300 @@ -1,4 +1,5 @@ #include <QApplication> +#include <QClipboard> #include <QCloseEvent> #include <QFileDialog> #include <QMdiSubWindow> @@ -779,6 +780,21 @@ about(&mainWindow); } ); + QObject::connect( + ui.actionCopy, + &QAction::triggered, + [&]{ + if (Model* model = currentModelBody(&ui, &documents)) { + std::vector<int> selectedRows = rows(ui.modelListView->selectionModel()->selectedRows()); + QString text; + for (int row : selectedRows) { + const std::size_t i = static_cast<std::size_t>(row); + text += modelElementToString((*model)[i]); + text += QStringLiteral("\r\n"); + } + app.clipboard()->setText(text); + } + }); mainWindow.tabifyDockWidget(ui.messageLogDock, ui.toolOptionsDock); mainWindow.restoreGeometry(setting<Setting::MainWindowGeometry>()); mainWindow.restoreState(setting<Setting::MainWindowState>());