summaryrefslogtreecommitdiffstats
path: root/src/gui/widgets/qlinecontrol_p.h
diff options
context:
space:
mode:
authorAlan Alpert <alan.alpert@nokia.com>2010-06-15 07:50:47 (GMT)
committerAlan Alpert <alan.alpert@nokia.com>2010-06-15 07:50:47 (GMT)
commit45d9575a8c680206cdea0519b03996b6b8085294 (patch)
treed156b7d5c2dc0633c4468dce4cae4f0daf9e0035 /src/gui/widgets/qlinecontrol_p.h
parent01506a3b212d449d65df1131b49af0e174e45275 (diff)
parentc1e6d97b9476c859abc3927046144b4006fcf735 (diff)
downloadQt-45d9575a8c680206cdea0519b03996b6b8085294.zip
Qt-45d9575a8c680206cdea0519b03996b6b8085294.tar.gz
Qt-45d9575a8c680206cdea0519b03996b6b8085294.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7
Diffstat (limited to 'src/gui/widgets/qlinecontrol_p.h')
-rw-r--r--src/gui/widgets/qlinecontrol_p.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/gui/widgets/qlinecontrol_p.h b/src/gui/widgets/qlinecontrol_p.h
index 5da1831..7068f62 100644
--- a/src/gui/widgets/qlinecontrol_p.h
+++ b/src/gui/widgets/qlinecontrol_p.h
@@ -78,7 +78,7 @@ class Q_GUI_EXPORT QLineControl : public QObject
public:
QLineControl(const QString &txt = QString())
- : m_cursor(0), m_preeditCursor(0), m_cursorWidth(0), m_layoutDirection(Qt::LeftToRight),
+ : m_cursor(0), m_preeditCursor(0), m_cursorWidth(0), m_layoutDirection(Qt::LayoutDirectionAuto),
m_hideCursor(false), m_separator(0), m_readOnly(0),
m_dragEnabled(0), m_echoMode(0), m_textDirty(0), m_selDirty(0),
m_validInput(1), m_blinkStatus(0), m_blinkPeriod(0), m_blinkTimer(0), m_deleteAllTimer(0),
@@ -272,7 +272,14 @@ public:
QChar passwordCharacter() const { return m_passwordCharacter; }
void setPasswordCharacter(const QChar &character) { m_passwordCharacter = character; updateDisplayText(); }
- Qt::LayoutDirection layoutDirection() const { return m_layoutDirection; }
+ Qt::LayoutDirection layoutDirection() const {
+ if (m_layoutDirection == Qt::LayoutDirectionAuto) {
+ if (m_text.isEmpty())
+ return QApplication::keyboardInputDirection();
+ return m_text.isRightToLeft() ? Qt::RightToLeft : Qt::LeftToRight;
+ }
+ return m_layoutDirection;
+ }
void setLayoutDirection(Qt::LayoutDirection direction)
{
if (direction != m_layoutDirection) {