Copy All as Text now includes margin offset text prepended to each line

This commit is contained in:
IChooseYou
2026-02-10 06:17:10 -07:00
committed by sysadmin
parent 910b607b79
commit 9dd104ff34
3 changed files with 16 additions and 1 deletions

View File

@@ -1184,7 +1184,7 @@ void RcxController::showContextMenu(RcxEditor* editor, int line, int nodeIdx,
menu.addSeparator();
menu.addAction(icon("clippy.svg"), "Copy All as Text", [editor]() {
QApplication::clipboard()->setText(editor->scintilla()->text());
QApplication::clipboard()->setText(editor->textWithMargins());
});
menu.exec(globalPos);

View File

@@ -2154,4 +2154,18 @@ void RcxEditor::setGlobalFontName(const QString& fontName) {
g_fontName = fontName;
}
QString RcxEditor::textWithMargins() const {
int lineCount = (int)m_sci->SendScintilla(QsciScintillaBase::SCI_GETLINECOUNT);
QStringList lines;
lines.reserve(lineCount);
for (int i = 0; i < lineCount; i++) {
QString margin;
if (i < m_meta.size())
margin = m_meta[i].offsetText;
QString lineText = getLineText(m_sci, i);
lines.append(margin + lineText);
}
return lines.join('\n');
}
} // namespace rcx

View File

@@ -49,6 +49,7 @@ public:
static void setGlobalFontName(const QString& fontName);
// Custom type names (struct types from the tree) shown in type picker + lexer GlobalClass coloring
QString textWithMargins() const;
void setCustomTypeNames(const QStringList& names);
// Saved sources for quick-switch in source picker