diff options
author | Paul Olav Tvete <paul.tvete@nokia.com> | 2010-03-18 13:24:41 (GMT) |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@nokia.com> | 2010-03-18 13:24:41 (GMT) |
commit | 1f8703d6faf855a96de0403f5926062bd2e2b3ee (patch) | |
tree | d27a75ff167c70bf8902bcde140632551e8cec79 /src/gui/widgets/qlinecontrol.cpp | |
parent | 349d2dd29cd6f4c90c1890e3f56850883f5ac07d (diff) | |
parent | 6dcdab8d9ee66f420a525400d873cfccf78c7003 (diff) | |
download | Qt-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.cpp | 14 |
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()) { |