mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2025-12-12 07:40:30 -08:00
[EDHRec] Add background plate and "selection highlight" to card display widgets (#6390)
This commit is contained in:
@@ -8,7 +8,7 @@ class BackgroundPlateWidget : public QWidget
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit BackgroundPlateWidget(QWidget *parent = nullptr);
|
explicit BackgroundPlateWidget(QWidget *parent);
|
||||||
|
|
||||||
void setFocused(bool focused);
|
void setFocused(bool focused);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "edhrec_api_response_card_details_display_widget.h"
|
#include "edhrec_api_response_card_details_display_widget.h"
|
||||||
|
|
||||||
|
#include "../../../../../general/display/background_plate_widget.h"
|
||||||
#include "../../tab_edhrec_main.h"
|
#include "../../tab_edhrec_main.h"
|
||||||
|
|
||||||
#include <libcockatrice/card/database/card_database_manager.h>
|
#include <libcockatrice/card/database/card_database_manager.h>
|
||||||
@@ -25,8 +26,14 @@ EdhrecApiResponseCardDetailsDisplayWidget::EdhrecApiResponseCardDetailsDisplayWi
|
|||||||
|
|
||||||
layout->addWidget(nameLabel);
|
layout->addWidget(nameLabel);
|
||||||
layout->addWidget(cardPictureWidget);
|
layout->addWidget(cardPictureWidget);
|
||||||
layout->addWidget(inclusionDisplayWidget);
|
|
||||||
layout->addWidget(synergyDisplayWidget);
|
backgroundPlateWidget = new BackgroundPlateWidget(this);
|
||||||
|
auto plateLayout = new QVBoxLayout(backgroundPlateWidget);
|
||||||
|
|
||||||
|
plateLayout->addWidget(inclusionDisplayWidget);
|
||||||
|
plateLayout->addWidget(synergyDisplayWidget);
|
||||||
|
|
||||||
|
layout->addWidget(backgroundPlateWidget);
|
||||||
|
|
||||||
QWidget *currentParent = parentWidget();
|
QWidget *currentParent = parentWidget();
|
||||||
TabEdhRecMain *parentTab = nullptr;
|
TabEdhRecMain *parentTab = nullptr;
|
||||||
@@ -49,6 +56,28 @@ EdhrecApiResponseCardDetailsDisplayWidget::EdhrecApiResponseCardDetailsDisplayWi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EdhrecApiResponseCardDetailsDisplayWidget::mousePressEvent(QMouseEvent *event)
|
||||||
|
{
|
||||||
|
QWidget::mousePressEvent(event);
|
||||||
|
actRequestPageNavigation();
|
||||||
|
}
|
||||||
|
|
||||||
|
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||||
|
void EdhrecApiResponseCardDetailsDisplayWidget::enterEvent(QEnterEvent *event)
|
||||||
|
#else
|
||||||
|
void EdhrecApiResponseCardDetailsDisplayWidget::enterEvent(QEvent *event)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
QWidget::enterEvent(event);
|
||||||
|
backgroundPlateWidget->setFocused(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void EdhrecApiResponseCardDetailsDisplayWidget::leaveEvent(QEvent *event)
|
||||||
|
{
|
||||||
|
QWidget::leaveEvent(event);
|
||||||
|
backgroundPlateWidget->setFocused(false);
|
||||||
|
}
|
||||||
|
|
||||||
void EdhrecApiResponseCardDetailsDisplayWidget::actRequestPageNavigation()
|
void EdhrecApiResponseCardDetailsDisplayWidget::actRequestPageNavigation()
|
||||||
{
|
{
|
||||||
emit requestUrl(toDisplay.url);
|
emit requestUrl(toDisplay.url);
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
#define EDHREC_COMMANDER_API_RESPONSE_CARD_DETAILS_DISPLAY_WIDGET_H
|
#define EDHREC_COMMANDER_API_RESPONSE_CARD_DETAILS_DISPLAY_WIDGET_H
|
||||||
|
|
||||||
#include "../../../../../cards/card_info_picture_widget.h"
|
#include "../../../../../cards/card_info_picture_widget.h"
|
||||||
|
#include "../../../../../general/display/background_plate_widget.h"
|
||||||
#include "../../api_response/cards/edhrec_api_response_card_details.h"
|
#include "../../api_response/cards/edhrec_api_response_card_details.h"
|
||||||
#include "edhrec_api_response_card_inclusion_display_widget.h"
|
#include "edhrec_api_response_card_inclusion_display_widget.h"
|
||||||
#include "edhrec_api_response_card_synergy_display_widget.h"
|
#include "edhrec_api_response_card_synergy_display_widget.h"
|
||||||
@@ -30,9 +31,20 @@ private:
|
|||||||
EdhrecApiResponseCardDetails toDisplay;
|
EdhrecApiResponseCardDetails toDisplay;
|
||||||
QVBoxLayout *layout;
|
QVBoxLayout *layout;
|
||||||
CardInfoPictureWidget *cardPictureWidget;
|
CardInfoPictureWidget *cardPictureWidget;
|
||||||
|
BackgroundPlateWidget *backgroundPlateWidget; ///< Plate for metadata labels
|
||||||
QLabel *nameLabel;
|
QLabel *nameLabel;
|
||||||
EdhrecApiResponseCardInclusionDisplayWidget *inclusionDisplayWidget;
|
EdhrecApiResponseCardInclusionDisplayWidget *inclusionDisplayWidget;
|
||||||
EdhrecApiResponseCardSynergyDisplayWidget *synergyDisplayWidget;
|
EdhrecApiResponseCardSynergyDisplayWidget *synergyDisplayWidget;
|
||||||
|
|
||||||
|
protected slots:
|
||||||
|
void mousePressEvent(QMouseEvent *event) override;
|
||||||
|
|
||||||
|
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||||
|
void enterEvent(QEnterEvent *event) override; ///< Qt6 hover enter
|
||||||
|
#else
|
||||||
|
void enterEvent(QEvent *event) override; ///< Qt5 hover enter
|
||||||
|
#endif
|
||||||
|
void leaveEvent(QEvent *event) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // EDHREC_COMMANDER_API_RESPONSE_CARD_DETAILS_DISPLAY_WIDGET_H
|
#endif // EDHREC_COMMANDER_API_RESPONSE_CARD_DETAILS_DISPLAY_WIDGET_H
|
||||||
|
|||||||
Reference in New Issue
Block a user