diff options
| -rw-r--r-- | src/modlistview.cpp | 24 | ||||
| -rw-r--r-- | src/modlistview.h | 2 |
2 files changed, 13 insertions, 13 deletions
diff --git a/src/modlistview.cpp b/src/modlistview.cpp index be7471aa..9192c01a 100644 --- a/src/modlistview.cpp +++ b/src/modlistview.cpp @@ -29,19 +29,6 @@ public: }
}
- QRect subElementRect(QStyle::SubElement element, const QStyleOption* option, const QWidget* widget) const override
- {
- QRect rect = QProxyStyle::subElementRect(element, option, widget);
- switch (element) {
- case SE_ItemViewItemCheckIndicator:
- case SE_ItemViewItemDecoration:
- case SE_ItemViewItemText:
- case SE_ItemViewItemFocusRect:
- rect.adjust(-20, 0, 0, 0);
- break;
- }
- return rect;
- }
};
class ModListStyledItemDelegated : public QStyledItemDelegate
@@ -80,6 +67,17 @@ ModListView::ModListView(QWidget* parent) setItemDelegate(new ModListStyledItemDelegated(this));
}
+QRect ModListView::visualRect(const QModelIndex& index) const
+{
+ QRect rect = QTreeView::visualRect(index);
+ if (index.isValid() && !index.model()->hasChildren(index) && index.parent().isValid()) {
+ auto parentIndex = index.parent().data(ModList::IndexRole).toInt();
+ if (ModInfo::getByIndex(parentIndex)->isSeparator()) {
+ rect.adjust(-indentation(), 0, 0, 0);
+ }
+ }
+ return rect;
+}
void ModListView::setModel(QAbstractItemModel* model)
{
diff --git a/src/modlistview.h b/src/modlistview.h index 438ed8a4..9cf1c0d9 100644 --- a/src/modlistview.h +++ b/src/modlistview.h @@ -26,6 +26,8 @@ public: explicit ModListView(QWidget* parent = 0);
void setModel(QAbstractItemModel* model) override;
+ QRect visualRect(const QModelIndex& index) const override;
+
signals:
void dragEntered(const QMimeData* mimeData);
|
