Added utility to correctly cut text with commands.

This commit is contained in:
23rd 2021-12-25 17:31:10 +03:00
parent 44853e9334
commit 774da18a38
2 changed files with 19 additions and 0 deletions

View file

@ -2348,6 +2348,20 @@ QString TextWithSpoilerCommands(const TextWithEntities &textWithEntities) {
return text;
}
QString CutTextWithCommands(
QString text,
int length,
const QString &start,
const QString &stop) {
text = text.mid(0, length);
const auto lastStart = text.lastIndexOf(start);
const auto lastStop = text.lastIndexOf(stop);
const auto additional = ((lastStart == -1) || (lastStart < lastStop))
? QString()
: stop;
return text + additional + qstr("...");
}
} // namespace TextUtilities
EntityInText::EntityInText(

View file

@ -383,5 +383,10 @@ void SetClipboardText(
[[nodiscard]] QString TextWithSpoilerCommands(
const TextWithEntities &textWithEntities);
[[nodiscard]] QString CutTextWithCommands(
QString text,
int length,
const QString &start,
const QString &stop);
} // namespace TextUtilities