diff --git a/GUI/View/Widget/ListItemDelegate.cpp b/GUI/View/Widget/ListItemDelegate.cpp index 7b3f1aab855a3dab86bffa3878c720ef04c9aee4..6d17b51f578752d91d0034b4bfd6c45decffe3f6 100644 --- a/GUI/View/Widget/ListItemDelegate.cpp +++ b/GUI/View/Widget/ListItemDelegate.cpp @@ -13,6 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Widget/ListItemDelegate.h" +#include "Base/Util/Assert.h" #include <QPainter> #include <QTextDocument> @@ -52,19 +53,15 @@ void ListItemDelegate::paint(QPainter* painter, const QStyleOptionViewItem& opti QSize ListItemDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const { - QSize s = QStyledItemDelegate::sizeHint(option, index); - - // get size of parent; this is the minimum size - const int h = QStyledItemDelegate::sizeHint(option, index).height(); - s.setHeight(std::max(s.height(), h)); + ASSERT(index.isValid()); + int h = QStyledItemDelegate::sizeHint(option, index).height(); QStyleOptionViewItem options = option; initStyleOption(&options, index); - auto s2 = mySizeHint(options.text); - s.setHeight(std::max(s.height(), s2.height() + 10)); - s.setHeight(std::max(s.height(), 32)); - s.setWidth(s2.width() + h); // +h: icon - return s; + h = std::max(h, 32); + h = std::max(h, s2.height() + 10); + + return {s2.width() + h, h}; }