diff options
author | Jan Dalheimer <jan@dalheimer.de> | 2014-02-01 19:58:13 +0100 |
---|---|---|
committer | Jan Dalheimer <jan@dalheimer.de> | 2014-02-01 19:58:13 +0100 |
commit | 983a40698c47739fee3786cf54c917004523ea36 (patch) | |
tree | 4a0d73577afbf430934cd878ff23674aaa7aea74 /gui/widgets/Common.cpp | |
parent | 866d7029afa10293a57d71aecbe3629399c95d06 (diff) | |
parent | 1936bd181f57a554ce0dd757ffe9419100eb47f4 (diff) | |
download | MultiMC-983a40698c47739fee3786cf54c917004523ea36.tar MultiMC-983a40698c47739fee3786cf54c917004523ea36.tar.gz MultiMC-983a40698c47739fee3786cf54c917004523ea36.tar.lz MultiMC-983a40698c47739fee3786cf54c917004523ea36.tar.xz MultiMC-983a40698c47739fee3786cf54c917004523ea36.zip |
Merge remote-tracking branch 'upstream/feature_derpstances' into feature_derpstances
Diffstat (limited to 'gui/widgets/Common.cpp')
-rw-r--r-- | gui/widgets/Common.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gui/widgets/Common.cpp b/gui/widgets/Common.cpp new file mode 100644 index 00000000..9b730d6c --- /dev/null +++ b/gui/widgets/Common.cpp @@ -0,0 +1,27 @@ +#include "Common.h" + +// Origin: Qt +QStringList viewItemTextLayout(QTextLayout &textLayout, int lineWidth, qreal &height, + qreal &widthUsed) +{ + QStringList lines; + height = 0; + widthUsed = 0; + textLayout.beginLayout(); + QString str = textLayout.text(); + while (true) + { + QTextLine line = textLayout.createLine(); + if (!line.isValid()) + break; + if (line.textLength() == 0) + break; + line.setLineWidth(lineWidth); + line.setPosition(QPointF(0, height)); + height += line.height(); + lines.append(str.mid(line.textStart(), line.textLength())); + widthUsed = qMax(widthUsed, line.naturalTextWidth()); + } + textLayout.endLayout(); + return lines; +} |