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