src/main.cpp

changeset 327
2aa15daa0216
parent 325
64ddcd77639f
child 328
3ea38fd469ca
--- 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>());

mercurial