本文整理汇总了C++中texteditor::TabSettings::firstNonSpace方法的典型用法代码示例。如果您正苦于以下问题:C++ TabSettings::firstNonSpace方法的具体用法?C++ TabSettings::firstNonSpace怎么用?C++ TabSettings::firstNonSpace使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类texteditor::TabSettings
的用法示例。
在下文中一共展示了TabSettings::firstNonSpace方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: reindent
void Indenter::reindent(QTextDocument *doc, const QTextCursor &cursor, const TextEditor::TabSettings &tabSettings)
{
if (cursor.hasSelection()) {
QTextBlock block = doc->findBlock(cursor.selectionStart());
const QTextBlock end = doc->findBlock(cursor.selectionEnd()).next();
// skip empty blocks
while (block.isValid() && block != end) {
QString bt = block.text();
if (tabSettings.firstNonSpace(bt) < bt.size())
break;
indentBlock(doc, block, QChar::Null, tabSettings);
block = block.next();
}
int previousIndentation = tabSettings.indentationColumn(block.text());
indentBlock(doc, block, QChar::Null, tabSettings);
int currentIndentation = tabSettings.indentationColumn(block.text());
int delta = currentIndentation - previousIndentation;
block = block.next();
while (block.isValid() && block != end) {
tabSettings.reindentLine(block, delta);
block = block.next();
}
} else {
indentBlock(doc, cursor.block(), QChar::Null, tabSettings);
}
}