+/* QGraphicsTextItem has an adjustSize() function that is supposed to
+ * resize the widget to it's "ideal" size. However it totally ignores
+ * all directives to not wrap lines and "ideal" is actually just a
+ * bunch of heuristics.
+ *
+ * We are starting with a hopefully absurdly large startingwidth and
+ * reduce it untill a line is broken (detected by a change in
+ * height). As long as the width (1000 here) is sufficiently large,
+ * this should give us a widget without any line-wrapping.
+ *
+ * One needs to call this on a Pointer of tye CustomQGraphicsTextItem
+ * as the adjustSize() function is not polymorphic (vurtual).
+ */
+void CustomQGraphicsTextItem::adjustSize() {
+ int width = 1000;
+ setTextWidth(width);
+ int height = boundingRect().height();
+ while (width > 250 && height == boundingRect().height()) {
+ setTextWidth(width -= 10);
+ }
+ width += 10;
+ if (width < 250) width = 250;
+ setTextWidth(width);
+}
+