UI: Fix source item widget color height

The background color of the source tree item widgets wouldn't be
rendered properly.
master
cg2121 2022-08-24 12:37:54 -05:00 committed by Matt Gajownik
parent a4f486517f
commit adba393ca8
7 changed files with 62 additions and 6 deletions

View File

@ -189,11 +189,17 @@ SourceTree {
padding: 3px;
}
SourceTreeItem,
QMenu::item,
SceneTree::item {
padding: 6px;
}
SourceTreeItem,
QMenu::item,
SceneTree::item,
SourceTree::item {
border-radius: 4px;
padding: 6px;
color: palette(text);
border: 0px solid transparent;
}

View File

@ -189,11 +189,17 @@ SourceTree {
padding: 3px;
}
SourceTreeItem,
QMenu::item,
SceneTree::item {
padding: 6px;
}
SourceTreeItem,
QMenu::item,
SceneTree::item,
SourceTree::item {
border-radius: 4px;
padding: 6px;
color: palette(text);
border: 0px solid transparent;
}

View File

@ -189,11 +189,17 @@ SourceTree {
padding: 3px;
}
SourceTreeItem,
QMenu::item,
SceneTree::item {
padding: 6px;
}
SourceTreeItem,
QMenu::item,
SceneTree::item,
SourceTree::item {
border-radius: 4px;
padding: 6px;
color: palette(text);
border: 0px solid transparent;
}

View File

@ -191,11 +191,17 @@ SourceTree {
padding: 3px;
}
SourceTreeItem,
QMenu::item,
SceneTree::item {
padding: 6px;
}
SourceTreeItem,
QMenu::item,
SceneTree::item,
SourceTree::item {
border-radius: 4px;
padding: 6px;
color: palette(text);
border: 0px solid transparent;
}

View File

@ -189,11 +189,17 @@ SourceTree {
padding: 3px;
}
SourceTreeItem,
QMenu::item,
SceneTree::item {
padding: 6px;
}
SourceTreeItem,
QMenu::item,
SceneTree::item,
SourceTree::item {
border-radius: 4px;
padding: 6px;
color: palette(text);
border: 0px solid transparent;
}

View File

@ -1088,6 +1088,8 @@ SourceTree::SourceTree(QWidget *parent_) : QListView(parent_)
connect(App(), &OBSApp::StyleChanged, this,
&SourceTree::UpdateNoSourcesMessage);
connect(App(), &OBSApp::StyleChanged, this, &SourceTree::UpdateIcons);
setItemDelegate(new SourceTreeDelegate(this));
}
void SourceTree::UpdateIcons()
@ -1743,3 +1745,17 @@ void SourceTree::paintEvent(QPaintEvent *event)
QListView::paintEvent(event);
}
}
SourceTreeDelegate::SourceTreeDelegate(QObject *parent)
: QStyledItemDelegate(parent)
{
}
QSize SourceTreeDelegate::sizeHint(const QStyleOptionViewItem &,
const QModelIndex &index) const
{
SourceTree *tree = qobject_cast<SourceTree *>(parent());
QWidget *item = tree->indexWidget(index);
return (QSize(item->width(), item->height()));
}

View File

@ -8,6 +8,7 @@
#include <QStaticText>
#include <QSvgRenderer>
#include <QAbstractListModel>
#include <QStyledItemDelegate>
#include <obs.hpp>
#include <obs-frontend-api.h>
@ -25,7 +26,7 @@ class SourceTreeSubItemCheckBox : public QCheckBox {
Q_OBJECT
};
class SourceTreeItem : public QWidget {
class SourceTreeItem : public QFrame {
Q_OBJECT
friend class SourceTree;
@ -218,3 +219,12 @@ protected:
selectionChanged(const QItemSelection &selected,
const QItemSelection &deselected) override;
};
class SourceTreeDelegate : public QStyledItemDelegate {
Q_OBJECT
public:
SourceTreeDelegate(QObject *parent);
virtual QSize sizeHint(const QStyleOptionViewItem &option,
const QModelIndex &index) const override;
};