blob: c9e14468ce4ab32374f233e4ceb430fe5aaac086 (
plain) (
blame)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#include "tablewidget.h"
#include <QKeyEvent>
#include <QApplication>
#include <QClipboard>
#include <QLabel>
TableWidget::TableWidget(QWidget *parent) :
QTableWidget(parent)
{
}
void TableWidget::keyPressEvent(QKeyEvent *event)
{
if (event->matches(QKeySequence::Copy))
{
copy();
return;
}
QTableWidget::keyPressEvent(event);
}
void TableWidget::copy()
{
QStringList strings;
QStringList cols;
for (int i = 0, total = rowCount(); i < total; ++i)
{
if (!item(i, 0)->isSelected())
continue;
for (int c = 1; c <= 2; c++)
{
if (cellWidget(i, c))
{
QLabel* l = dynamic_cast<QLabel*>(cellWidget(i, c));
if (l)
cols << l->text();
}
else
{
cols << item(i, c)->text();
}
}
strings << cols.join(" ");
}
QApplication::clipboard()->setText(strings.join("\n"));
}
|