summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qinputcontrol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/text/qinputcontrol.cpp')
-rw-r--r--src/gui/text/qinputcontrol.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/gui/text/qinputcontrol.cpp b/src/gui/text/qinputcontrol.cpp
index 2f7dcfcd2b..3381fdb673 100644
--- a/src/gui/text/qinputcontrol.cpp
+++ b/src/gui/text/qinputcontrol.cpp
@@ -85,4 +85,55 @@ bool QInputControl::isAcceptableInput(const QKeyEvent *event) const
return false;
}
+bool QInputControl::isCommonTextEditShortcut(const QKeyEvent *ke)
+{
+ if (ke->modifiers() == Qt::NoModifier
+ || ke->modifiers() == Qt::ShiftModifier
+ || ke->modifiers() == Qt::KeypadModifier) {
+ if (ke->key() < Qt::Key_Escape) {
+ return true;
+ } else {
+ switch (ke->key()) {
+ case Qt::Key_Return:
+ case Qt::Key_Enter:
+ case Qt::Key_Delete:
+ case Qt::Key_Home:
+ case Qt::Key_End:
+ case Qt::Key_Backspace:
+ case Qt::Key_Left:
+ case Qt::Key_Right:
+ case Qt::Key_Up:
+ case Qt::Key_Down:
+ case Qt::Key_Tab:
+ return true;
+ default:
+ break;
+ }
+ }
+#if QT_CONFIG(shortcut)
+ } else if (ke->matches(QKeySequence::Copy)
+ || ke->matches(QKeySequence::Paste)
+ || ke->matches(QKeySequence::Cut)
+ || ke->matches(QKeySequence::Redo)
+ || ke->matches(QKeySequence::Undo)
+ || ke->matches(QKeySequence::MoveToNextWord)
+ || ke->matches(QKeySequence::MoveToPreviousWord)
+ || ke->matches(QKeySequence::MoveToStartOfDocument)
+ || ke->matches(QKeySequence::MoveToEndOfDocument)
+ || ke->matches(QKeySequence::SelectNextWord)
+ || ke->matches(QKeySequence::SelectPreviousWord)
+ || ke->matches(QKeySequence::SelectStartOfLine)
+ || ke->matches(QKeySequence::SelectEndOfLine)
+ || ke->matches(QKeySequence::SelectStartOfBlock)
+ || ke->matches(QKeySequence::SelectEndOfBlock)
+ || ke->matches(QKeySequence::SelectStartOfDocument)
+ || ke->matches(QKeySequence::SelectEndOfDocument)
+ || ke->matches(QKeySequence::SelectAll)
+ ) {
+ return true;
+#endif
+ }
+ return false;
+}
+
QT_END_NAMESPACE