76 { |
76 { |
77 Q_OBJECT |
77 Q_OBJECT |
78 |
78 |
79 public: |
79 public: |
80 QLineControl(const QString &txt = QString()) |
80 QLineControl(const QString &txt = QString()) |
81 : m_cursor(0), m_preeditCursor(0), m_cursorWidth(0), m_layoutDirection(Qt::LeftToRight), |
81 : m_cursor(0), m_preeditCursor(0), m_cursorWidth(0), m_layoutDirection(Qt::LayoutDirectionAuto), |
82 m_hideCursor(false), m_separator(0), m_readOnly(0), |
82 m_hideCursor(false), m_separator(0), m_readOnly(0), |
83 m_dragEnabled(0), m_echoMode(0), m_textDirty(0), m_selDirty(0), |
83 m_dragEnabled(0), m_echoMode(0), m_textDirty(0), m_selDirty(0), |
84 m_validInput(1), m_blinkStatus(0), m_blinkPeriod(0), m_blinkTimer(0), m_deleteAllTimer(0), |
84 m_validInput(1), m_blinkStatus(0), m_blinkPeriod(0), m_blinkTimer(0), m_deleteAllTimer(0), |
85 m_ascent(0), m_maxLength(32767), m_lastCursorPos(-1), |
85 m_ascent(0), m_maxLength(32767), m_lastCursorPos(-1), |
86 m_tripleClickTimer(0), m_maskData(0), m_modifiedState(0), m_undoState(0), |
86 m_tripleClickTimer(0), m_maskData(0), m_modifiedState(0), m_undoState(0), |
270 bool passwordEchoEditing() const { return m_passwordEchoEditing; } |
270 bool passwordEchoEditing() const { return m_passwordEchoEditing; } |
271 |
271 |
272 QChar passwordCharacter() const { return m_passwordCharacter; } |
272 QChar passwordCharacter() const { return m_passwordCharacter; } |
273 void setPasswordCharacter(const QChar &character) { m_passwordCharacter = character; updateDisplayText(); } |
273 void setPasswordCharacter(const QChar &character) { m_passwordCharacter = character; updateDisplayText(); } |
274 |
274 |
275 Qt::LayoutDirection layoutDirection() const { return m_layoutDirection; } |
275 Qt::LayoutDirection layoutDirection() const { |
|
276 if (m_layoutDirection == Qt::LayoutDirectionAuto) { |
|
277 if (m_text.isEmpty()) |
|
278 return QApplication::keyboardInputDirection(); |
|
279 return m_text.isRightToLeft() ? Qt::RightToLeft : Qt::LeftToRight; |
|
280 } |
|
281 return m_layoutDirection; |
|
282 } |
276 void setLayoutDirection(Qt::LayoutDirection direction) |
283 void setLayoutDirection(Qt::LayoutDirection direction) |
277 { |
284 { |
278 if (direction != m_layoutDirection) { |
285 if (direction != m_layoutDirection) { |
279 m_layoutDirection = direction; |
286 m_layoutDirection = direction; |
280 updateDisplayText(); |
287 updateDisplayText(); |