Changeset View
Changeset View
Standalone View
Standalone View
src/view/kateview.cpp
Show First 20 Lines • Show All 91 Lines • ▼ Show 20 Line(s) | 1243 | { | |||
---|---|---|---|---|---|
1260 | } | 1260 | } | ||
1261 | 1261 | | |||
1262 | return foldingRange; | 1262 | return foldingRange; | ||
1263 | } | 1263 | } | ||
1264 | 1264 | | |||
1265 | bool KTextEditor::ViewPrivate::unfoldLine(int line) | 1265 | bool KTextEditor::ViewPrivate::unfoldLine(int line) | ||
1266 | { | 1266 | { | ||
1267 | bool actionDone = false; | 1267 | bool actionDone = false; | ||
1268 | int rangeStartColumn = 0; | ||||
1268 | 1269 | | |||
1269 | // ask the folding info for this line, if any folds are around! | 1270 | // ask the folding info for this line, if any folds are around! | ||
1270 | // auto = QVector<QPair<qint64, Kate::TextFolding::FoldingRangeFlags>> | 1271 | // auto = QVector<QPair<qint64, Kate::TextFolding::FoldingRangeFlags>> | ||
1271 | auto startingRanges = textFolding().foldingRangesStartingOnLine(line); | 1272 | auto startingRanges = textFolding().foldingRangesStartingOnLine(line); | ||
1272 | for (int i = 0; i < startingRanges.size(); ++i) { | 1273 | for (int i = 0; i < startingRanges.size() && !actionDone; ++i) { | ||
1274 | rangeStartColumn = textFolding().foldingRange(startingRanges[i].first).start().column(); | ||||
1273 | actionDone |= textFolding().unfoldRange(startingRanges[i].first); | 1275 | actionDone |= textFolding().unfoldRange(startingRanges[i].first); | ||
1274 | } | 1276 | } | ||
1275 | 1277 | | |||
1278 | if (actionDone) { | ||||
1279 | // Avoid bad behavior in case of a big unfold and ensure nice highlight of folding marker | ||||
1280 | setCursorPosition(KTextEditor::Cursor(line, rangeStartColumn)); | ||||
1281 | } | ||||
1282 | | ||||
1276 | return actionDone; | 1283 | return actionDone; | ||
1277 | } | 1284 | } | ||
1278 | 1285 | | |||
1279 | bool KTextEditor::ViewPrivate::toggleFoldingOfLine(int line) | 1286 | bool KTextEditor::ViewPrivate::toggleFoldingOfLine(int line) | ||
1280 | { | 1287 | { | ||
1281 | bool actionDone = unfoldLine(line); | 1288 | bool actionDone = unfoldLine(line); | ||
1282 | if (!actionDone) { | 1289 | if (!actionDone) { | ||
1283 | actionDone = foldLine(line).isValid(); | 1290 | actionDone = foldLine(line).isValid(); | ||
▲ Show 20 Lines • Show All 91 Lines • Show Last 20 Lines |