Changeset cf592af in OpenModelica
- Timestamp:
- 2017-02-23T15:32:21+01:00 (7 years ago)
- Branches:
- Added-citation-metadata, maintenance/v1.14, maintenance/v1.15, maintenance/v1.16, maintenance/v1.17, maintenance/v1.18, maintenance/v1.19, maintenance/v1.20, maintenance/v1.21, maintenance/v1.22, maintenance/v1.23, master, omlib-staging
- Children:
- d3844f3
- Parents:
- b6f72c5
- Location:
- OMEdit/OMEditGUI/Editors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
OMEdit/OMEditGUI/Editors/BaseEditor.cpp
r2702730 rcf592af 1162 1162 1163 1163 /*! 1164 * \brief BaseEditor::PlainTextEdit::handleHomeKey 1165 * Handles the home key.\n 1166 * Moves the cursor to the start of the line.\n 1167 * Skips the trailing spaces. 1168 * \param keepAnchor 1169 */ 1170 void BaseEditor::PlainTextEdit::handleHomeKey(bool keepAnchor) 1171 { 1172 QTextCursor cursor = textCursor(); 1173 QTextCursor::MoveMode mode = keepAnchor ? QTextCursor::KeepAnchor : QTextCursor::MoveAnchor; 1174 const int initpos = cursor.position(); 1175 int pos = cursor.block().position(); 1176 QChar character = document()->characterAt(pos); 1177 const QLatin1Char tab = QLatin1Char('\t'); 1178 // loop until we have some character 1179 while (character == tab || character.category() == QChar::Separator_Space) { 1180 ++pos; 1181 if (pos == initpos) { 1182 break; 1183 } 1184 character = document()->characterAt(pos); 1185 } 1186 // Go to the start of the block when we're already at the start of the text 1187 if (pos == initpos) { 1188 pos = cursor.block().position(); 1189 } 1190 // set the cursor position 1191 cursor.setPosition(pos, mode); 1192 setTextCursor(cursor); 1193 } 1194 1195 /*! 1164 1196 * \brief BaseEditor::PlainTextEdit::highlightCurrentLine 1165 1197 * Hightlights the current line. … … 1237 1269 1238 1270 /*! 1239 * \brief BaseEditor:: keyPressEvent1271 * \brief BaseEditor::PlainTextEdit::keyPressEvent 1240 1272 * Reimplementation of keyPressEvent. 1241 1273 * \param pEvent … … 1243 1275 void BaseEditor::PlainTextEdit::keyPressEvent(QKeyEvent *pEvent) 1244 1276 { 1277 bool shiftModifier = pEvent->modifiers().testFlag(Qt::ShiftModifier); 1278 bool controlModifier = pEvent->modifiers().testFlag(Qt::ControlModifier); 1245 1279 if (pEvent->key() == Qt::Key_Escape) { 1246 1280 if (mpBaseEditor->getFindReplaceWidget()->isVisible()) { … … 1253 1287 indentOrUnindent(pEvent->key() == Qt::Key_Tab); 1254 1288 return; 1255 } else if ( pEvent->modifiers().testFlag(Qt::ControlModifier)&& pEvent->key() == Qt::Key_F) {1289 } else if (controlModifier && pEvent->key() == Qt::Key_F) { 1256 1290 // ctrl+f is pressed. 1257 1291 mpBaseEditor->showFindReplaceWidget(); 1258 1292 return; 1259 } else if ( pEvent->modifiers().testFlag(Qt::ControlModifier)&& pEvent->key() == Qt::Key_L) {1293 } else if (controlModifier && pEvent->key() == Qt::Key_L) { 1260 1294 // ctrl+l is pressed. 1261 1295 mpBaseEditor->showGotoLineNumberDialog(); 1262 1296 return; 1263 } else if ( pEvent->modifiers().testFlag(Qt::ControlModifier)&& pEvent->key() == Qt::Key_K) {1297 } else if (controlModifier && pEvent->key() == Qt::Key_K) { 1264 1298 // ctrl+k is pressed. 1265 1299 mpBaseEditor->toggleCommentSelection(); 1266 1300 return; 1267 // } else if (pEvent->modifiers().testFlag(Qt::ControlModifier) && pEvent->key() == Qt::Key_Plus) { 1268 // // ctrl++ is pressed. 1269 // zoomIn(); 1270 // return; 1271 // } else if (pEvent->modifiers().testFlag(Qt::ControlModifier) && pEvent->key() == Qt::Key_Underscore) { 1272 // // ctrl+- is pressed. 1273 // zoomOut(); 1274 // return; 1275 // } else if (pEvent->modifiers().testFlag(Qt::ControlModifier) && pEvent->key() == Qt::Key_0) { 1276 // // ctrl+0 is pressed. 1277 // resetZoom(); 1278 // return; 1279 } else if (pEvent->modifiers().testFlag(Qt::ShiftModifier) && (pEvent->key() == Qt::Key_Enter || pEvent->key() == Qt::Key_Return)) { 1301 } else if (shiftModifier && pEvent->key() == Qt::Key_Home) { 1302 handleHomeKey(true); 1303 return; 1304 } else if (pEvent->key() == Qt::Key_Home) { 1305 handleHomeKey(false); 1306 return; 1307 } else if (shiftModifier && (pEvent->key() == Qt::Key_Enter || pEvent->key() == Qt::Key_Return)) { 1280 1308 /* Ticket #2273. Change shift+enter to enter. */ 1281 1309 pEvent->setModifiers(Qt::NoModifier); -
OMEdit/OMEditGUI/Editors/BaseEditor.h
r2702730 rcf592af 235 235 void zoomIn(); 236 236 void zoomOut(); 237 void handleHomeKey(bool keepAnchor); 237 238 private: 238 239 BaseEditor *mpBaseEditor;
Note: See TracChangeset
for help on using the changeset viewer.