diff --git a/GUI/View/Widget/ItemViewOverlayButtons.cpp b/GUI/View/Widget/ItemViewOverlayButtons.cpp index 700b6785a86252f3bcf940c1c74c39d2cd93e63d..b6b1ca262db2a78b7092f647219262b46e5163ab 100644 --- a/GUI/View/Widget/ItemViewOverlayButtons.cpp +++ b/GUI/View/Widget/ItemViewOverlayButtons.cpp @@ -17,7 +17,6 @@ #include <QBoxLayout> #include <QKeyEvent> #include <QMenu> -#include <QStyledItemDelegate> #include <QToolButton> namespace { @@ -26,8 +25,6 @@ class ItemViewOverlayWidget : public QWidget { public: ItemViewOverlayWidget(QAbstractItemView* view, const QModelIndex& index); - static int heightForDelegate(); - void setHover(bool b); void create(); void hover(bool h); @@ -46,12 +43,6 @@ private: }; -class ItemViewOverlayDelegate : public QStyledItemDelegate { -public: - QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override; -}; - - ItemViewOverlayWidget::ItemViewOverlayWidget(QAbstractItemView* view, const QModelIndex& index) : QWidget(view) , m_view(view) @@ -67,14 +58,6 @@ void ItemViewOverlayWidget::setHover(bool b) m_hover = b; } -int ItemViewOverlayWidget::heightForDelegate() -{ - QToolButton btn; - const int size = QApplication::style()->pixelMetric(QStyle::PM_ToolBarIconSize); - btn.setIconSize(QSize(size, size)); - return btn.sizeHint().height() + 6; // 3px on top and bottom -} - void ItemViewOverlayWidget::enterEvent(QEnterEvent*) { hover(true); @@ -145,17 +128,6 @@ void ItemViewOverlayWidget::setHorizontalAlignment(Qt::Alignment a) } -QSize ItemViewOverlayDelegate::sizeHint(const QStyleOptionViewItem& option, - const QModelIndex& index) const -{ - QSize s = QStyledItemDelegate::sizeHint(option, index); - if (index.parent().isValid()) { - const int h = ItemViewOverlayWidget::heightForDelegate(); - s.setHeight(std::max(s.height(), h)); - } - return s; -} - } // namespace @@ -164,13 +136,9 @@ void ItemViewOverlayButtons::install(QAbstractItemView* view, FnGetActions fnGet auto* h = new ItemViewOverlayButtons(view); h->m_get_actions = fnGetActions; h->m_view = view; - auto* d = new ItemViewOverlayDelegate; - view->setItemDelegate(d); view->installEventFilter(h); h->update(); - connect(d, &QAbstractItemDelegate::closeEditor, h, &ItemViewOverlayButtons::update); - connect(view->model(), &QAbstractItemModel::modelReset, h, &ItemViewOverlayButtons::update, Qt::QueuedConnection); connect(view->model(), &QAbstractItemModel::rowsInserted, h, &ItemViewOverlayButtons::update,