diff --git a/qrenderdoc/Widgets/ResourcePreview.cpp b/qrenderdoc/Widgets/ResourcePreview.cpp index ebb81251a..1835ce6bd 100644 --- a/qrenderdoc/Widgets/ResourcePreview.cpp +++ b/qrenderdoc/Widgets/ResourcePreview.cpp @@ -1,9 +1,24 @@ #include "ResourcePreview.h" #include "ui_ResourcePreview.h" -ResourcePreview::ResourcePreview(QWidget *parent) : QWidget(parent), ui(new Ui::ResourcePreview) +ResourcePreview::ResourcePreview(Core *c, IReplayOutput *output, QWidget *parent) + : QFrame(parent), ui(new Ui::ResourcePreview) { ui->setupUi(this); + + ui->thumbnail->SetOutput(c, output); + + QPalette Pal(ui->slotLabel->palette()); + + QWidget tmp; + + Pal.setColor(ui->slotLabel->foregroundRole(), tmp.palette().color(QPalette::Foreground)); + Pal.setColor(ui->slotLabel->backgroundRole(), tmp.palette().color(QPalette::Dark)); + + ui->slotLabel->setAutoFillBackground(true); + ui->slotLabel->setPalette(Pal); + ui->descriptionLabel->setAutoFillBackground(true); + ui->descriptionLabel->setPalette(Pal); } ResourcePreview::~ResourcePreview() @@ -11,10 +26,34 @@ ResourcePreview::~ResourcePreview() delete ui; } -void ResourcePreview::SetSize(QSize s) +void ResourcePreview::setSlotName(const QString &n) +{ + ui->slotLabel->setText(n); +} + +void ResourcePreview::setResourceName(const QString &n) +{ + ui->descriptionLabel->setText(n); +} + +void ResourcePreview::setSize(QSize s) { setFixedWidth(s.width()); setFixedHeight(s.height()); setMinimumSize(s); setMaximumSize(s); } + +void ResourcePreview::setSelected(bool sel) +{ + QPalette Pal(palette()); + + Pal.setColor(QPalette::Foreground, sel ? Qt::red : Qt::black); + + setPalette(Pal); +} + +WId ResourcePreview::thumbWinId() +{ + return ui->thumbnail->winId(); +} diff --git a/qrenderdoc/Widgets/ResourcePreview.h b/qrenderdoc/Widgets/ResourcePreview.h index 19130d220..683d7d869 100644 --- a/qrenderdoc/Widgets/ResourcePreview.h +++ b/qrenderdoc/Widgets/ResourcePreview.h @@ -1,21 +1,29 @@ #ifndef RESOURCEPREVIEW_H #define RESOURCEPREVIEW_H -#include +#include namespace Ui { class ResourcePreview; } -class ResourcePreview : public QWidget +struct IReplayOutput; +class Core; + +class ResourcePreview : public QFrame { Q_OBJECT public: - explicit ResourcePreview(QWidget *parent = 0); + explicit ResourcePreview(Core *c, IReplayOutput *output, QWidget *parent = 0); ~ResourcePreview(); + void setSlotName(const QString &n); + void setResourceName(const QString &n); + + WId thumbWinId(); + void setActive(bool b) { m_Active = b; @@ -25,7 +33,9 @@ public: hide(); } bool isActive() { return m_Active; } - void SetSize(QSize s); + void setSize(QSize s); + + void setSelected(bool sel); private: Ui::ResourcePreview *ui; diff --git a/qrenderdoc/Widgets/ResourcePreview.ui b/qrenderdoc/Widgets/ResourcePreview.ui index e12a098e6..0220417e8 100644 --- a/qrenderdoc/Widgets/ResourcePreview.ui +++ b/qrenderdoc/Widgets/ResourcePreview.ui @@ -1,7 +1,7 @@ ResourcePreview - + 0 @@ -31,6 +31,15 @@ Form + + QFrame::Box + + + 4 + + + 4 + 0 @@ -71,6 +80,12 @@ 0 + + + 16777215 + 32 + + 12 @@ -94,6 +109,12 @@ 0 + + + 16777215 + 32 + + 10 @@ -105,8 +126,11 @@ Qt::AlignCenter + + true + - 6 + 0 diff --git a/qrenderdoc/Widgets/ThumbnailStrip.cpp b/qrenderdoc/Widgets/ThumbnailStrip.cpp index d66c39d4b..d83c27f8b 100644 --- a/qrenderdoc/Widgets/ThumbnailStrip.cpp +++ b/qrenderdoc/Widgets/ThumbnailStrip.cpp @@ -83,7 +83,7 @@ void ThumbnailStrip::RefreshLayout() ui->scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); for(ResourcePreview *c : m_Thumbnails) - c->SetSize(QSize(aspectWidth, avail.height())); + c->setSize(QSize(aspectWidth, avail.height())); } else { @@ -99,7 +99,7 @@ void ThumbnailStrip::RefreshLayout() hs->setEnabled(totalWidth > avail.width()); for(ResourcePreview *c : m_Thumbnails) - c->SetSize(QSize(aspectWidth, avail.height())); + c->setSize(QSize(aspectWidth, avail.height())); } } else @@ -125,7 +125,7 @@ void ThumbnailStrip::RefreshLayout() ui->scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); for(ResourcePreview *c : m_Thumbnails) - c->SetSize(QSize(avail.width(), aspectHeight)); + c->setSize(QSize(avail.width(), aspectHeight)); } else { @@ -141,7 +141,7 @@ void ThumbnailStrip::RefreshLayout() vs->setEnabled(totalHeight > avail.height()); for(ResourcePreview *c : m_Thumbnails) - c->SetSize(QSize(avail.width(), aspectHeight)); + c->setSize(QSize(avail.width(), aspectHeight)); } } } \ No newline at end of file