src/gui/widgets/qlineedit.cpp
changeset 23 89e065397ea6
parent 18 2f34d5167611
child 30 5dc02b23752f
equal deleted inserted replaced
22:79de32ba3296 23:89e065397ea6
   736     setText(newText);
   736     setText(newText);
   737     if(!hasAcceptableInput()){
   737     if(!hasAcceptableInput()){
   738         setText(oldText);
   738         setText(oldText);
   739         return false;
   739         return false;
   740     }
   740     }
   741     setCursorPosition(newPos);
   741     int selstart = qMin(newMarkAnchor, newMarkDrag);
   742     setSelection(qMin(newMarkAnchor, newMarkDrag), qAbs(newMarkAnchor - newMarkDrag));
   742     int sellength = qAbs(newMarkAnchor - newMarkDrag);
       
   743     if (selstart == newPos) {
       
   744         selstart = qMax(newMarkAnchor, newMarkDrag);
       
   745         sellength = -sellength;
       
   746     }
       
   747     //setSelection also set the position
       
   748     setSelection(selstart, sellength);
   743     return true;
   749     return true;
   744 }
   750 }
   745 #endif //QT3_SUPPORT
   751 #endif //QT3_SUPPORT
   746 
   752 
   747 /*!
   753 /*!