Changeset 4857 for trunk/qt-gui/src/mledit.cpp
- Timestamp:
- 02/16/07 05:47:30 (22 months ago)
- Files:
-
- 1 modified
-
trunk/qt-gui/src/mledit.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/qt-gui/src/mledit.cpp
r4800 r4857 33 33 34 34 QFont *MLEditWrap::editFont = NULL; 35 bool MLEditWrap::useDoubleReturn = false; 35 36 36 37 MLEditWrap::MLEditWrap (bool wordWrap, QWidget* parent, bool /* doQuotes */, const char *name) 37 : MLEditWrapBase(parent, name), m_fixSetTextNewlines(true) 38 : MLEditWrapBase(parent, name), 39 m_fixSetTextNewlines(true), 40 m_lastKeyWasReturn(false) 38 41 { 39 42 setTextFormat(Qt::PlainText); … … 124 127 const bool isControl = e->state() & ControlButton; 125 128 129 // Get flag from last time and reset it before any possible returns 130 bool lastKeyWasReturn = m_lastKeyWasReturn; 131 m_lastKeyWasReturn = false; 132 126 133 if (isShift && e->key() == Key_Insert) 127 134 return paste(); … … 150 157 case Key_Return: 151 158 case Key_Enter: 152 emit signal_CtrlEnterPressed(); 159 if (useDoubleReturn) 160 insert("\n"); 161 else 162 emit signal_CtrlEnterPressed(); 153 163 break; 154 164 default: … … 156 166 } 157 167 return; 168 } 169 170 if ((e->state() & Qt::KeyButtonMask) == 0) 171 { 172 switch (e->key()) 173 { 174 case Key_Return: 175 case Key_Enter: 176 if (lastKeyWasReturn && useDoubleReturn) 177 { 178 // Return pressed twice, remove the previous line break and emit signal 179 moveCursor(QTextEdit::MoveBackward, true); 180 del(); 181 emit signal_CtrlEnterPressed(); 182 return; 183 } 184 else 185 { 186 // Return pressed once 187 m_lastKeyWasReturn = true; 188 } 189 break; 190 } 158 191 } 159 192
