summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets/qwidgettextcontrol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/widgets/qwidgettextcontrol.cpp')
-rw-r--r--src/widgets/widgets/qwidgettextcontrol.cpp17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index 47806a194e..f5672bd87a 100644
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
@@ -848,21 +848,21 @@ void QWidgetTextControl::redo()
}
QWidgetTextControl::QWidgetTextControl(QObject *parent)
- : QObject(*new QWidgetTextControlPrivate, parent)
+ : QInputControl(QInputControl::TextEdit, *new QWidgetTextControlPrivate, parent)
{
Q_D(QWidgetTextControl);
d->init();
}
QWidgetTextControl::QWidgetTextControl(const QString &text, QObject *parent)
- : QObject(*new QWidgetTextControlPrivate, parent)
+ : QInputControl(QInputControl::TextEdit, *new QWidgetTextControlPrivate, parent)
{
Q_D(QWidgetTextControl);
d->init(Qt::RichText, text);
}
QWidgetTextControl::QWidgetTextControl(QTextDocument *doc, QObject *parent)
- : QObject(*new QWidgetTextControlPrivate, parent)
+ : QInputControl(QInputControl::TextEdit, *new QWidgetTextControlPrivate, parent)
{
Q_D(QWidgetTextControl);
d->init(Qt::RichText, QString(), doc);
@@ -1361,14 +1361,7 @@ void QWidgetTextControlPrivate::keyPressEvent(QKeyEvent *e)
process:
{
- // QTBUG-35734: ignore Ctrl/Ctrl+Shift; accept only AltGr (Alt+Ctrl) on German keyboards
- if (e->modifiers() == Qt::ControlModifier
- || e->modifiers() == (Qt::ShiftModifier | Qt::ControlModifier)) {
- e->ignore();
- return;
- }
- QString text = e->text();
- if (!text.isEmpty() && (text.at(0).isPrint() || text.at(0) == QLatin1Char('\t'))) {
+ if (q->isAcceptableInput(e)) {
if (overwriteMode
// no need to call deleteChar() if we have a selection, insertText
// does it already
@@ -1376,7 +1369,7 @@ process:
&& !cursor.atBlockEnd())
cursor.deleteChar();
- cursor.insertText(text);
+ cursor.insertText(e->text());
selectionChanged();
} else {
e->ignore();