mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-10 04:16:43 -07:00
Indicate that things are clickable.
This commit is contained in:
parent
20a4836de3
commit
8cd5552d65
4 changed files with 34 additions and 5 deletions
|
|
@ -19,6 +19,16 @@ void BackgroundPlateWidget::paintEvent(QPaintEvent *event)
|
|||
// Set the background color to semi-transparent black with rounded corners
|
||||
QRect rect = this->rect();
|
||||
painter.setPen(Qt::NoPen); // No border
|
||||
if (focused) {
|
||||
painter.setBrush(QColor(85, 190, 75, 140));
|
||||
} else {
|
||||
painter.setBrush(QColor(0, 0, 0, 140)); // semi-transparent black
|
||||
}
|
||||
painter.drawRoundedRect(rect, 6, 6); // rounded corners
|
||||
}
|
||||
|
||||
void BackgroundPlateWidget::setFocused(bool _focused)
|
||||
{
|
||||
focused = _focused;
|
||||
update();
|
||||
}
|
||||
|
|
@ -10,6 +10,11 @@ class BackgroundPlateWidget : public QWidget
|
|||
public:
|
||||
explicit BackgroundPlateWidget(QWidget *parent = nullptr);
|
||||
|
||||
void setFocused(bool focused);
|
||||
|
||||
private:
|
||||
bool focused = false;
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -101,10 +101,10 @@ ArchidektApiResponseDeckEntryDisplayWidget::ArchidektApiResponseDeckEntryDisplay
|
|||
headerLayout->addWidget(colorBar);
|
||||
|
||||
// Create a shared plate for the labels
|
||||
BackgroundPlateWidget *sharedPlate = new BackgroundPlateWidget(this);
|
||||
sharedPlate->setFixedHeight(120); // Adjust height to fit all labels
|
||||
backgroundPlateWidget = new BackgroundPlateWidget(this);
|
||||
backgroundPlateWidget->setFixedHeight(120); // Adjust height to fit all labels
|
||||
|
||||
QVBoxLayout *plateLayout = new QVBoxLayout(sharedPlate);
|
||||
QVBoxLayout *plateLayout = new QVBoxLayout(backgroundPlateWidget);
|
||||
|
||||
// Add labels to the plate layout
|
||||
QLabel *ownerLabel = new QLabel(QString("Owner: %1").arg(response.getOwner().getName()));
|
||||
|
|
@ -117,7 +117,7 @@ ArchidektApiResponseDeckEntryDisplayWidget::ArchidektApiResponseDeckEntryDisplay
|
|||
plateLayout->addWidget(updatedAtLabel);
|
||||
|
||||
// Add the shared plate to the header layout
|
||||
headerLayout->addWidget(sharedPlate);
|
||||
headerLayout->addWidget(backgroundPlateWidget);
|
||||
|
||||
layout->addLayout(headerLayout);
|
||||
}
|
||||
|
|
@ -127,6 +127,16 @@ void ArchidektApiResponseDeckEntryDisplayWidget::mousePressEvent(QMouseEvent *ev
|
|||
QWidget::mousePressEvent(event);
|
||||
actRequestNavigationToDeck();
|
||||
}
|
||||
void ArchidektApiResponseDeckEntryDisplayWidget::enterEvent(QEnterEvent *event)
|
||||
{
|
||||
QWidget::enterEvent(event);
|
||||
backgroundPlateWidget->setFocused(true);
|
||||
}
|
||||
void ArchidektApiResponseDeckEntryDisplayWidget::leaveEvent(QEvent *event)
|
||||
{
|
||||
QWidget::leaveEvent(event);
|
||||
backgroundPlateWidget->setFocused(false);
|
||||
}
|
||||
|
||||
void ArchidektApiResponseDeckEntryDisplayWidget::setScaleFactor(int scale)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include <QVBoxLayout>
|
||||
#include <QWidget>
|
||||
|
||||
class BackgroundPlateWidget;
|
||||
class ArchidektApiResponseDeckEntryDisplayWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
|
@ -32,6 +33,8 @@ public slots:
|
|||
|
||||
protected:
|
||||
void mousePressEvent(QMouseEvent *event) override;
|
||||
void enterEvent(QEnterEvent *event) override;
|
||||
void leaveEvent(QEvent *event) override;
|
||||
|
||||
private:
|
||||
QVBoxLayout *layout;
|
||||
|
|
@ -42,6 +45,7 @@ private:
|
|||
QLabel *picture;
|
||||
QPixmap originalPixmap;
|
||||
int scaleFactor = 100;
|
||||
BackgroundPlateWidget *backgroundPlateWidget;
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_ARCHIDEKT_API_RESPONSE_DECK_ENTRY_DISPLAY_WIDGET_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue