-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtableview.cpp
More file actions
28 lines (25 loc) · 1022 Bytes
/
tableview.cpp
File metadata and controls
28 lines (25 loc) · 1022 Bytes
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
#include "tableview.h"
#include "types.h"
#include <QApplication>
#include <QClipboard>
#include <QDebug>
#include <QHeaderView>
#include <QMenu>
TableView::TableView(QWidget* parent)
: QTableView{parent} {
horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
verticalHeader()->setDefaultSectionSize(QFontMetrics{font()}.height());
verticalHeader()->setSectionResizeMode(QHeaderView::Fixed);
setContextMenuPolicy(Qt::CustomContextMenu);
connect(this, &QWidget::customContextMenuRequested, this, &TableView::customMenuRequested);
}
void TableView::customMenuRequested(const QPoint& pos) {
QMenu menu;
menu.addAction(QIcon::fromTheme(u"edit-copy"_s), u"Копировать"_s, [this] {
QApplication::clipboard()->setText(model<Clipboard>()->copy());
});
menu.addAction(QIcon::fromTheme(u"edit-paste"_s), u"Вставить"_s, [this] {
model<Clipboard>()->paste(QApplication::clipboard()->text());
});
menu.exec(viewport()->mapToGlobal(pos));
}