summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r--src/widgets/widgets/qabstractbutton.cpp16
-rw-r--r--src/widgets/widgets/qcombobox.cpp6
-rw-r--r--src/widgets/widgets/qfontcombobox.cpp4
-rw-r--r--src/widgets/widgets/qlineedit.cpp3
-rw-r--r--src/widgets/widgets/qlineedit_p.h6
-rw-r--r--src/widgets/widgets/qmenubar.cpp10
-rw-r--r--src/widgets/widgets/qprogressbar.cpp8
-rw-r--r--src/widgets/widgets/qprogressbar.h6
-rw-r--r--src/widgets/widgets/qslider.cpp14
-rw-r--r--src/widgets/widgets/qtextedit.cpp13
-rw-r--r--src/widgets/widgets/qtoolbar.cpp16
-rw-r--r--src/widgets/widgets/qtoolbar.h2
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol.cpp34
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol_p.h31
-rw-r--r--src/widgets/widgets/qwidgettextcontrol.cpp19
-rw-r--r--src/widgets/widgets/qwidgettextcontrol_p_p.h1
16 files changed, 63 insertions, 126 deletions
diff --git a/src/widgets/widgets/qabstractbutton.cpp b/src/widgets/widgets/qabstractbutton.cpp
index 8c0bcc098f..5f75bd3913 100644
--- a/src/widgets/widgets/qabstractbutton.cpp
+++ b/src/widgets/widgets/qabstractbutton.cpp
@@ -1178,11 +1178,11 @@ void QAbstractButton::keyPressEvent(QKeyEvent *e)
}
break;
case Qt::Key_Up:
- case Qt::Key_Left:
next = false;
// fall through
+ case Qt::Key_Left:
case Qt::Key_Right:
- case Qt::Key_Down:
+ case Qt::Key_Down: {
#ifdef QT_KEYPAD_NAVIGATION
if ((QApplication::keypadNavigationEnabled()
&& (e->key() == Qt::Key_Left || e->key() == Qt::Key_Right))
@@ -1192,13 +1192,13 @@ void QAbstractButton::keyPressEvent(QKeyEvent *e)
return;
}
#endif
- QWidget *pw;
+ QWidget *pw = parentWidget();
if (d->autoExclusive
#ifndef QT_NO_BUTTONGROUP
|| d->group
#endif
#ifndef QT_NO_ITEMVIEWS
- || ((pw = parentWidget()) && qobject_cast<QAbstractItemView *>(pw->parentWidget()))
+ || (pw && qobject_cast<QAbstractItemView *>(pw->parentWidget()))
#endif
) {
// ### Using qobject_cast to check if the parent is a viewport of
@@ -1209,9 +1209,17 @@ void QAbstractButton::keyPressEvent(QKeyEvent *e)
if (hasFocus()) // nothing happend, propagate
e->ignore();
} else {
+ // Prefer parent widget, use this if parent is absent
+ QWidget *w = pw ? pw : this;
+ bool reverse = (w->layoutDirection() == Qt::RightToLeft);
+ if ((e->key() == Qt::Key_Left && !reverse)
+ || (e->key() == Qt::Key_Right && reverse)) {
+ next = false;
+ }
focusNextPrevChild(next);
}
break;
+ }
case Qt::Key_Escape:
if (d->down) {
setDown(false);
diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp
index dc1e0dbfab..bea4061076 100644
--- a/src/widgets/widgets/qcombobox.cpp
+++ b/src/widgets/widgets/qcombobox.cpp
@@ -2468,7 +2468,7 @@ void QComboBox::showPopup()
}
container->setGeometry(listRect);
-#ifndef Q_WS_MAC
+#ifndef Q_OS_MAC
const bool updatesEnabled = container->updatesEnabled();
#endif
@@ -2484,7 +2484,7 @@ void QComboBox::showPopup()
// If updates are disabled at this point we'll miss our chance at painting the popup
// menu before it's shown, causing flicker since the window then displays the standard gray
// background.
-#ifndef Q_WS_MAC
+#ifndef Q_OS_MAC
container->setUpdatesEnabled(false);
#endif
@@ -2498,7 +2498,7 @@ void QComboBox::showPopup()
? QAbstractItemView::PositionAtCenter
: QAbstractItemView::EnsureVisible);
-#ifndef Q_WS_MAC
+#ifndef Q_OS_MAC
container->setUpdatesEnabled(updatesEnabled);
#endif
diff --git a/src/widgets/widgets/qfontcombobox.cpp b/src/widgets/widgets/qfontcombobox.cpp
index 5a8e083e44..09cbfd663d 100644
--- a/src/widgets/widgets/qfontcombobox.cpp
+++ b/src/widgets/widgets/qfontcombobox.cpp
@@ -120,8 +120,8 @@ public:
QFontFamilyDelegate::QFontFamilyDelegate(QObject *parent)
: QAbstractItemDelegate(parent)
{
- truetype = QIcon(QLatin1String(":/trolltech/styles/commonstyle/images/fonttruetype-16.png"));
- bitmap = QIcon(QLatin1String(":/trolltech/styles/commonstyle/images/fontbitmap-16.png"));
+ truetype = QIcon(QLatin1String(":/qt-project.org/styles/commonstyle/images/fonttruetype-16.png"));
+ bitmap = QIcon(QLatin1String(":/qt-project.org/styles/commonstyle/images/fontbitmap-16.png"));
writingSystem = QFontDatabase::Any;
}
diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp
index 07843136ff..1ea636ffb2 100644
--- a/src/widgets/widgets/qlineedit.cpp
+++ b/src/widgets/widgets/qlineedit.cpp
@@ -1669,7 +1669,7 @@ QVariant QLineEdit::inputMethodQuery(Qt::InputMethodQuery property) const
case Qt::ImCursorPosition:
return QVariant(d->control->cursor());
case Qt::ImSurroundingText:
- return QVariant(d->control->realText());
+ return QVariant(d->control->text());
case Qt::ImCurrentSelection:
return QVariant(selectedText());
case Qt::ImMaximumTextLength:
@@ -1748,7 +1748,6 @@ void QLineEdit::focusOutEvent(QFocusEvent *e)
reason != Qt::PopupFocusReason)
deselect();
- d->control->commitPreedit();
d->setCursorVisible(false);
d->control->setCursorBlinkPeriod(0);
#ifdef QT_KEYPAD_NAVIGATION
diff --git a/src/widgets/widgets/qlineedit_p.h b/src/widgets/widgets/qlineedit_p.h
index 3b7a0d1b91..d6af91fd65 100644
--- a/src/widgets/widgets/qlineedit_p.h
+++ b/src/widgets/widgets/qlineedit_p.h
@@ -70,7 +70,7 @@
QT_BEGIN_NAMESPACE
-class QLineEditPrivate : public QWidgetPrivate
+class Q_AUTOTEST_EXPORT QLineEditPrivate : public QWidgetPrivate
{
Q_DECLARE_PUBLIC(QLineEdit)
public:
@@ -109,6 +109,10 @@ public:
return !control->isReadOnly();
}
+ static inline QLineEditPrivate *get(QLineEdit *lineEdit) {
+ return lineEdit->d_func();
+ }
+
QPoint tripleClick;
QBasicTimer tripleClickTimer;
uint frame : 1;
diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp
index 5ec41b8ba6..c9818e056c 100644
--- a/src/widgets/widgets/qmenubar.cpp
+++ b/src/widgets/widgets/qmenubar.cpp
@@ -1906,16 +1906,6 @@ QAction *QMenuBar::defaultAction() const
*/
/*!
- \enum QMenuBar::Separator
-
- \compat
-
- \value Never
- \value InWindowsStyle
-
-*/
-
-/*!
\fn void QMenuBar::addAction(QAction *action)
\overload
diff --git a/src/widgets/widgets/qprogressbar.cpp b/src/widgets/widgets/qprogressbar.cpp
index 3e5b78fe2b..c02aa0e875 100644
--- a/src/widgets/widgets/qprogressbar.cpp
+++ b/src/widgets/widgets/qprogressbar.cpp
@@ -526,9 +526,9 @@ void QProgressBar::setInvertedAppearance(bool invert)
update();
}
-bool QProgressBar::invertedAppearance()
+bool QProgressBar::invertedAppearance() const
{
- Q_D(QProgressBar);
+ Q_D(const QProgressBar);
return d->invertedAppearance;
}
@@ -549,9 +549,9 @@ void QProgressBar::setTextDirection(QProgressBar::Direction textDirection)
update();
}
-QProgressBar::Direction QProgressBar::textDirection()
+QProgressBar::Direction QProgressBar::textDirection() const
{
- Q_D(QProgressBar);
+ Q_D(const QProgressBar);
return d->textDirection;
}
diff --git a/src/widgets/widgets/qprogressbar.h b/src/widgets/widgets/qprogressbar.h
index fad1ee4e0b..65ec5fa404 100644
--- a/src/widgets/widgets/qprogressbar.h
+++ b/src/widgets/widgets/qprogressbar.h
@@ -92,11 +92,9 @@ public:
Qt::Orientation orientation() const;
void setInvertedAppearance(bool invert);
- bool invertedAppearance(); //### Qt5 make const
- bool invertedAppearance() const { return const_cast<QProgressBar *>(this)->invertedAppearance(); }
+ bool invertedAppearance() const;
void setTextDirection(QProgressBar::Direction textDirection);
- QProgressBar::Direction textDirection(); //### Qt5 make const
- QProgressBar::Direction textDirection() const { return const_cast<QProgressBar *>(this)->textDirection(); }
+ QProgressBar::Direction textDirection() const;
void setFormat(const QString &format);
QString format() const;
diff --git a/src/widgets/widgets/qslider.cpp b/src/widgets/widgets/qslider.cpp
index 7f77bc9d03..5f37240d67 100644
--- a/src/widgets/widgets/qslider.cpp
+++ b/src/widgets/widgets/qslider.cpp
@@ -536,20 +536,6 @@ QSlider::TickPosition QSlider::tickPosition() const
}
/*!
- \fn TickPosition QSlider::tickmarks() const
- \compat
-
- Use tickPosition() instead.
-*/
-
-/*!
- \fn QSlider::setTickmarks(TickPosition position)
- \compat
-
- Use setTickPosition() instead.
-*/
-
-/*!
\property QSlider::tickInterval
\brief the interval between tickmarks
diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp
index 4b7e1b5978..217fda61dc 100644
--- a/src/widgets/widgets/qtextedit.cpp
+++ b/src/widgets/widgets/qtextedit.cpp
@@ -2491,19 +2491,6 @@ void QTextEdit::ensureCursorVisible()
}
/*!
- \enum QTextEdit::KeyboardAction
-
- \compat
-
- \value ActionBackspace
- \value ActionDelete
- \value ActionReturn
- \value ActionKill
- \value ActionWordBackspace
- \value ActionWordDelete
-*/
-
-/*!
\fn bool QTextEdit::find(const QString &exp, bool cs, bool wo)
Use the find() overload that takes a QTextDocument::FindFlags
diff --git a/src/widgets/widgets/qtoolbar.cpp b/src/widgets/widgets/qtoolbar.cpp
index 84cb5fd10c..6ba29c13b8 100644
--- a/src/widgets/widgets/qtoolbar.cpp
+++ b/src/widgets/widgets/qtoolbar.cpp
@@ -1279,22 +1279,6 @@ void QToolBar::initStyleOption(QStyleOptionToolBar *option) const
layout->getStyleOptionInfo(option, const_cast<QToolBar *>(this));
}
-/*!
- \reimp
-*/
-void QToolBar::childEvent(QChildEvent *event) // ### remove me in 5.0
-{
- QWidget::childEvent(event);
-}
-
-/*!
- \reimp
-*/
-void QToolBar::resizeEvent(QResizeEvent *event) // ### remove me in 5.0
-{
- QWidget::resizeEvent(event);
-}
-
QT_END_NAMESPACE
#include "moc_qtoolbar.cpp"
diff --git a/src/widgets/widgets/qtoolbar.h b/src/widgets/widgets/qtoolbar.h
index ac59d9803a..1fd5da797b 100644
--- a/src/widgets/widgets/qtoolbar.h
+++ b/src/widgets/widgets/qtoolbar.h
@@ -147,9 +147,7 @@ Q_SIGNALS:
protected:
void actionEvent(QActionEvent *event);
void changeEvent(QEvent *event);
- void childEvent(QChildEvent *event);
void paintEvent(QPaintEvent *event);
- void resizeEvent(QResizeEvent *event);
bool event(QEvent *event);
void initStyleOption(QStyleOptionToolBar *option) const;
diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp
index b4a7007190..c9300d3cdd 100644
--- a/src/widgets/widgets/qwidgetlinecontrol.cpp
+++ b/src/widgets/widgets/qwidgetlinecontrol.cpp
@@ -184,21 +184,15 @@ void QWidgetLineControl::paste(QClipboard::Mode clipboardMode)
/*!
\internal
-
- Exits preedit mode and commits parts marked as tentative commit
*/
void QWidgetLineControl::commitPreedit()
{
if (!composeMode())
return;
- qApp->inputMethod()->reset();
-
- if (!m_tentativeCommit.isEmpty()) {
- internalInsert(m_tentativeCommit);
- m_tentativeCommit.clear();
- finishChange(-1, true/*not used, not documented*/, false);
- }
+ qApp->inputMethod()->commit();
+ if (!composeMode())
+ return;
m_preeditCursor = 0;
setPreeditArea(-1, QString());
@@ -573,13 +567,7 @@ void QWidgetLineControl::processInputMethodEvent(QInputMethodEvent *event)
else if (m_preeditCursor != oldPreeditCursor)
emit updateMicroFocus();
- bool tentativeCommitChanged = (m_tentativeCommit != event->tentativeCommitString());
- if (tentativeCommitChanged) {
- m_textDirty = true;
- m_tentativeCommit = event->tentativeCommitString();
- }
-
- if (isGettingInput || tentativeCommitChanged)
+ if (isGettingInput)
finishChange(priorState);
if (selectionChange)
@@ -687,15 +675,6 @@ bool QWidgetLineControl::finishChange(int validateFromState, bool update, bool e
return true;
}
m_cursor = cursorCopy;
-
- if (!m_tentativeCommit.isEmpty()) {
- textCopy.insert(m_cursor, m_tentativeCommit);
- bool validInput = (m_validator->validate(textCopy, cursorCopy) != QValidator::Invalid);
- if (!validInput)
- m_tentativeCommit.clear();
- }
- } else {
- m_tentativeCommit.clear();
}
}
#endif
@@ -806,6 +785,11 @@ void QWidgetLineControl::internalInsert(const QString &s)
if (m_passwordEchoTimer != 0)
killTimer(m_passwordEchoTimer);
int delay = qGuiApp->styleHints()->passwordMaskDelay();
+#ifdef QT_BUILD_INTERNAL
+ if (m_passwordMaskDelayOverride >= 0)
+ delay = m_passwordMaskDelayOverride;
+#endif
+
if (delay > 0)
m_passwordEchoTimer = startTimer(delay);
}
diff --git a/src/widgets/widgets/qwidgetlinecontrol_p.h b/src/widgets/widgets/qwidgetlinecontrol_p.h
index 62184a27bb..ba3b202bda 100644
--- a/src/widgets/widgets/qwidgetlinecontrol_p.h
+++ b/src/widgets/widgets/qwidgetlinecontrol_p.h
@@ -98,6 +98,9 @@ public:
, m_threadChecks(false)
, m_textLayoutThread(0)
#endif
+#if defined(QT_BUILD_INTERNAL)
+ , m_passwordMaskDelayOverride(-1)
+#endif
, m_keyboardScheme(0)
{
init(txt);
@@ -217,22 +220,13 @@ public:
QString text() const
{
QString content = m_text;
- if (!m_tentativeCommit.isEmpty())
- content.insert(m_cursor, m_tentativeCommit);
QString res = m_maskData ? stripString(content) : content;
return (res.isNull() ? QString::fromLatin1("") : res);
}
- // like text() but doesn't include preedit
- QString realText() const
- {
- QString res = m_maskData ? stripString(m_text) : m_text;
- return (res.isNull() ? QString::fromLatin1("") : res);
- }
void setText(const QString &txt)
{
if (composeMode())
qApp->inputMethod()->reset();
- m_tentativeCommit.clear();
internalSetText(txt, -1, false);
}
void commitPreedit();
@@ -286,7 +280,18 @@ public:
bool hasAcceptableInput() const { return hasAcceptableInput(m_text); }
bool fixup();
- QString inputMask() const { return m_maskData ? m_inputMask + QLatin1Char(';') + m_blank : QString(); }
+ QString inputMask() const
+ {
+ QString mask;
+ if (m_maskData) {
+ mask = m_inputMask;
+ if (m_blank != QLatin1Char(' ')) {
+ mask += QLatin1Char(';');
+ mask += m_blank;
+ }
+ }
+ return mask;
+ }
void setInputMask(const QString &mask)
{
parseInputMask(mask);
@@ -402,7 +407,6 @@ private:
int m_cursor;
int m_preeditCursor;
int m_cursorWidth;
- QString m_tentativeCommit;
Qt::LayoutDirection m_layoutDirection;
uint m_hideCursor : 1; // used to hide the m_cursor inside preedit areas
uint m_separator : 1;
@@ -495,6 +499,11 @@ private:
mutable QThread *m_textLayoutThread;
#endif
+public:
+#if defined(QT_BUILD_INTERNAL)
+ int m_passwordMaskDelayOverride;
+#endif
+
Q_SIGNALS:
void cursorPositionChanged(int, int);
void selectionChanged();
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index 86dfb30389..d602d6daa5 100644
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
@@ -2000,7 +2000,6 @@ void QWidgetTextControlPrivate::inputMethodEvent(QInputMethodEvent *e)
}
}
layout->setAdditionalFormats(overrides);
- tentativeCommit = e->tentativeCommitString();
cursor.endEditBlock();
@@ -2057,7 +2056,6 @@ void QWidgetTextControlPrivate::focusEvent(QFocusEvent *e)
}
#endif
} else {
- commitPreedit();
setBlinkingCursorEnabled(false);
if (cursorIsFocusIndicator
@@ -2758,14 +2756,12 @@ void QWidgetTextControlPrivate::commitPreedit()
if (!isPreediting())
return;
- cursor.beginEditBlock();
- qApp->inputMethod()->reset();
+ qApp->inputMethod()->commit();
- if (!tentativeCommit.isEmpty()) {
- cursor.insertText(tentativeCommit);
- tentativeCommit.clear();
- }
+ if (!isPreediting())
+ return;
+ cursor.beginEditBlock();
preeditCursor = 0;
QTextBlock block = cursor.block();
QTextLayout *layout = block.layout();
@@ -2936,17 +2932,12 @@ bool QWidgetTextControl::find(const QString &exp, QTextDocument::FindFlags optio
QString QWidgetTextControl::toPlainText() const
{
- Q_D(const QWidgetTextControl);
- QString plainText = document()->toPlainText();
- if (!d->tentativeCommit.isEmpty())
- plainText.insert(textCursor().position(), d->tentativeCommit);
- return plainText;
+ return document()->toPlainText();
}
#ifndef QT_NO_TEXTHTMLPARSER
QString QWidgetTextControl::toHtml() const
{
- // note: currently not including tentative commit
return document()->toHtml();
}
#endif
diff --git a/src/widgets/widgets/qwidgettextcontrol_p_p.h b/src/widgets/widgets/qwidgettextcontrol_p_p.h
index d0d940e521..4efb59152a 100644
--- a/src/widgets/widgets/qwidgettextcontrol_p_p.h
+++ b/src/widgets/widgets/qwidgettextcontrol_p_p.h
@@ -209,7 +209,6 @@ public:
int preeditCursor;
bool hideCursor; // used to hide the cursor in the preedit area
- QString tentativeCommit;
QVector<QAbstractTextDocumentLayout::Selection> extraSelections;