summaryrefslogtreecommitdiffstats
path: root/src/gui/widgets/qlinecontrol.cpp
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@nokia.com>2010-03-18 13:24:41 (GMT)
committerPaul Olav Tvete <paul.tvete@nokia.com>2010-03-18 13:24:41 (GMT)
commit1f8703d6faf855a96de0403f5926062bd2e2b3ee (patch)
treed27a75ff167c70bf8902bcde140632551e8cec79 /src/gui/widgets/qlinecontrol.cpp
parent349d2dd29cd6f4c90c1890e3f56850883f5ac07d (diff)
parent6dcdab8d9ee66f420a525400d873cfccf78c7003 (diff)
downloadQt-1f8703d6faf855a96de0403f5926062bd2e2b3ee.zip
Qt-1f8703d6faf855a96de0403f5926062bd2e2b3ee.tar.gz
Qt-1f8703d6faf855a96de0403f5926062bd2e2b3ee.tar.bz2
Merge remote branch 'qt/4.7' into lighthouse-4.7
Diffstat (limited to 'src/gui/widgets/qlinecontrol.cpp')
-rw-r--r--src/gui/widgets/qlinecontrol.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp
index f5e5907..91eeb39 100644
--- a/src/gui/widgets/qlinecontrol.cpp
+++ b/src/gui/widgets/qlinecontrol.cpp
@@ -136,9 +136,9 @@ void QLineControl::copy(QClipboard::Mode mode) const
\sa insert()
*/
-void QLineControl::paste()
+void QLineControl::paste(QClipboard::Mode clipboardMode)
{
- QString clip = QApplication::clipboard()->text(QClipboard::Clipboard);
+ QString clip = QApplication::clipboard()->text(clipboardMode);
if (!clip.isEmpty() || hasSelectedText()) {
separate(); //make it a separate undo/redo command
insert(clip);
@@ -1576,8 +1576,14 @@ void QLineControl::processKeyEvent(QKeyEvent* event)
copy();
}
else if (event == QKeySequence::Paste) {
- if (!isReadOnly())
- paste();
+ if (!isReadOnly()) {
+ QClipboard::Mode mode = QClipboard::Clipboard;
+#ifdef Q_WS_X11
+ if (event->modifiers() == (Qt::CTRL | Qt::SHIFT) && event->key() == Qt::Key_Insert)
+ mode = QClipboard::Selection;
+#endif
+ paste(mode);
+ }
}
else if (event == QKeySequence::Cut) {
if (!isReadOnly()) {