diff options
| author | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-12-29 16:06:15 +0100 |
|---|---|---|
| committer | Mikaël Capelle <capelle.mikael@gmail.com> | 2021-01-02 15:38:16 +0100 |
| commit | 68c9ae8592a51b87dc3228b8ebd13737bf2dc7f5 (patch) | |
| tree | c6d39779ea3405065b7e34799a99591b57cb5eeb | |
| parent | a67fca47600d9e3e6e43a93511182396c2f292d9 (diff) | |
Fix controls without indentation.
| -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);
|
