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
|
#include "TextLnk.h"
void TextLnk::execute()
{
QClipboard* cb = QApplication::clipboard();
parseText();
cb->setText(m_params[1]);
QWSServer::sendKeyEvent('V'-'@',Qt::Key_V, Qt::ControlButton,
true, false);
QWSServer::sendKeyEvent('V'-'@',Qt::Key_V, Qt::ControlButton,
false, false);
}
void TextLnk::parse(QString& str)
{
replace(str, "\\\\", "\\");
replace(str, "\\n", "\n");
replace(str, "\\r", "\r");
replace(str, "\\t", "\t");
}
void TextLnk::replace(QString& str, const QString& s1, const QString& s2)
{
int index = 0;
int idx;
int len = s1.length();
idx = str.find(s1, index);
for(;;){
idx = str.find(s1, index);
if(idx < 0) break;
str.replace(idx, len, s2);
index = idx;
}
}
|