2 #include <QFontMetrics>
5 #include "textmodifier.h"
7 QString TextModifier::shortenText(const QFontMetrics fontMetrics, const QString &text,
10 qDebug() << __PRETTY_FUNCTION__;
12 QString copiedText = text;
13 int index = copiedText.indexOf('\n');
16 copiedText.truncate(index);
17 copiedText.append("...");
20 return fontMetrics.elidedText(copiedText, Qt::ElideRight, textMaxWidth);
23 QString TextModifier::splitWord(const QFontMetrics fontMetrics, const QString &word,
26 qDebug() << __PRETTY_FUNCTION__;
31 for (int i = 0; i < word.length(); i++) {
32 if (fontMetrics.width(temp.append(word.at(i))) > textMaxWidth) {
33 result.append(temp.left(temp.length() - 1));
35 temp.remove(0, temp.length() - 1);
44 QString TextModifier::splitLongWords(const QFontMetrics fontMetrics, const QString &text,
47 qDebug() << __PRETTY_FUNCTION__;
50 list = text.split(' ');
52 for (int i = 0; i < list.count(); i++) {
53 if (fontMetrics.width(list.at(i)) > textMaxWidth)
54 list.replace(i, splitWord(fontMetrics, list.at(i), textMaxWidth));
57 return list.join(" ");