src/gui/widgets/qlinecontrol.cpp
branchRCL_3
changeset 8 3f74d0d4af4c
parent 5 d3bac044e0f0
--- a/src/gui/widgets/qlinecontrol.cpp	Mon Mar 15 12:43:09 2010 +0200
+++ b/src/gui/widgets/qlinecontrol.cpp	Thu Apr 08 14:19:33 2010 +0300
@@ -65,7 +65,7 @@
     Updates the display text based of the current edit text
     If the text has changed will emit displayTextChanged()
 */
-void QLineControl::updateDisplayText()
+void QLineControl::updateDisplayText(bool forceUpdate)
 {
     QString orig = m_textLayout.text();
     QString str;
@@ -102,7 +102,7 @@
     m_textLayout.endLayout();
     m_ascent = qRound(l.ascent());
 
-    if (str != orig)
+    if (str != orig || forceUpdate)
         emit displayTextChanged(str);
 }
 
@@ -476,7 +476,7 @@
         }
     }
     m_textLayout.setAdditionalFormats(formats);
-    updateDisplayText();
+    updateDisplayText(/*force*/ true);
     if (cursorPositionChanged)
         emitCursorPositionChanged();
     if (isGettingInput)
@@ -1371,6 +1371,8 @@
             processInputMethodEvent(static_cast<QInputMethodEvent*>(ev)); break;
 #ifndef QT_NO_SHORTCUT
         case QEvent::ShortcutOverride:{
+            if (isReadOnly())
+                return false;
             QKeyEvent* ke = static_cast<QKeyEvent*>(ev);
             if (ke == QKeySequence::Copy
                 || ke == QKeySequence::Paste