Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
ArchidektApiResponseDeckEntryDisplayWidget Class Reference

Displays a single Archidekt deck listing as a preview card with metadata. More...

#include <archidekt_api_response_deck_entry_display_widget.h>

Inheritance diagram for ArchidektApiResponseDeckEntryDisplayWidget:
[legend]
Collaboration diagram for ArchidektApiResponseDeckEntryDisplayWidget:
[legend]

Public Slots

void actRequestNavigationToDeck ()
 Emits requestNavigation for the deck's URL.
void setScaleFactor (int scale)
 Sets a scaling factor (percentage) for the preview image.

Signals

void requestNavigation (QString url)
 Emitted when the user requests navigation.

Public Member Functions

 ArchidektApiResponseDeckEntryDisplayWidget (QWidget *parent, ArchidektApiResponseDeckListingContainer response, QNetworkAccessManager *imageNetworkManager)
 Constructs a deck entry display widget.
void onPreviewImageLoadFinished (QNetworkReply *reply)
 Handles finished network replies for preview images.
void updateScaledPreview ()
 Updates the scaled preview image and adjusts layout accordingly.
void resizeEvent (QResizeEvent *event) override
 Ensures layout responds correctly on resize events.

Protected Member Functions

void mousePressEvent (QMouseEvent *event) override
void enterEvent (QEnterEvent *event) override
 Qt6 hover enter.
void leaveEvent (QEvent *event) override

Private Attributes

QVBoxLayout * layout
 Main vertical layout.
ArchidektApiResponseDeckListingContainer response
 Deck data.
QUrl imageUrl
 URL of the deck's preview image.
QNetworkAccessManager * imageNetworkManager
 Shared network manager.
ArchidektDeckPreviewImageDisplayWidgetpreviewWidget
 Widget showing the deck preview.
QLabel * picture
 QLabel displaying the scaled pixmap.
QPixmap originalPixmap
 Original image for scaling (avoids degradation)
int scaleFactor = 100
 Current scaling percentage.
BackgroundPlateWidgetbackgroundPlateWidget
 Plate for metadata labels.

Static Private Attributes

static constexpr float DESIGN_RATIO = 150.0f / 267.0f
 Design aspect ratio.

Detailed Description

Displays a single Archidekt deck listing as a preview card with metadata.

This widget renders a deck entry received from an Archidekt API response. It includes:

  • A scaled deck preview image loaded asynchronously via QNetworkAccessManager.
  • Elided deck name in the top-left corner.
  • Deck size, EDH bracket, and view count labels.
  • A color distribution bar summarizing deck colors.
  • Metadata labels including owner, creation date, and last update date.

The widget dynamically scales the preview image and labels according to a linked CardSizeWidget slider. Hovering over the widget highlights the background plate, and clicking emits a requestNavigation signal pointing to the deck URL.

Features

  • Asynchronous image loading with fallback to a default placeholder image.
  • Maintains a fixed aspect ratio for the preview image (150:267).
  • Updates text elision dynamically when resized or scaled.
  • Integrates with FlowWidget containers for scrollable deck galleries.

Signals

Slots

Constructor & Destructor Documentation

◆ ArchidektApiResponseDeckEntryDisplayWidget()

ArchidektApiResponseDeckEntryDisplayWidget::ArchidektApiResponseDeckEntryDisplayWidget ( QWidget * parent,
ArchidektApiResponseDeckListingContainer response,
QNetworkAccessManager * imageNetworkManager )
explicit

Constructs a deck entry display widget.

Parameters
parentParent widget.
responseAPI container holding deck listing data.
imageNetworkManagerShared network manager for fetching preview images.
Here is the call graph for this function:

Member Function Documentation

◆ actRequestNavigationToDeck

void ArchidektApiResponseDeckEntryDisplayWidget::actRequestNavigationToDeck ( )
slot

Emits requestNavigation for the deck's URL.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ enterEvent()

void ArchidektApiResponseDeckEntryDisplayWidget::enterEvent ( QEnterEvent * event)
overrideprotected

Qt6 hover enter.

◆ leaveEvent()

void ArchidektApiResponseDeckEntryDisplayWidget::leaveEvent ( QEvent * event)
overrideprotected

◆ mousePressEvent()

void ArchidektApiResponseDeckEntryDisplayWidget::mousePressEvent ( QMouseEvent * event)
overrideprotected
Here is the call graph for this function:

◆ onPreviewImageLoadFinished()

void ArchidektApiResponseDeckEntryDisplayWidget::onPreviewImageLoadFinished ( QNetworkReply * reply)

Handles finished network replies for preview images.

Parameters
replyQNetworkReply containing image data.

Validates that the reply corresponds to this widget and updates the preview image.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ requestNavigation

void ArchidektApiResponseDeckEntryDisplayWidget::requestNavigation ( QString url)
signal

Emitted when the user requests navigation.

Parameters
urlFull URL to the Archidekt page.
Here is the caller graph for this function:

◆ resizeEvent()

void ArchidektApiResponseDeckEntryDisplayWidget::resizeEvent ( QResizeEvent * event)
override

Ensures layout responds correctly on resize events.

Parameters
eventResize event.

◆ setScaleFactor

void ArchidektApiResponseDeckEntryDisplayWidget::setScaleFactor ( int scale)
slot

Sets a scaling factor (percentage) for the preview image.

Parameters
scaleScale percentage (100 = normal size).
Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateScaledPreview()

void ArchidektApiResponseDeckEntryDisplayWidget::updateScaledPreview ( )

Updates the scaled preview image and adjusts layout accordingly.

Here is the caller graph for this function:

Member Data Documentation

◆ backgroundPlateWidget

BackgroundPlateWidget* ArchidektApiResponseDeckEntryDisplayWidget::backgroundPlateWidget
private

Plate for metadata labels.

◆ DESIGN_RATIO

float ArchidektApiResponseDeckEntryDisplayWidget::DESIGN_RATIO = 150.0f / 267.0f
staticconstexprprivate

Design aspect ratio.

◆ imageNetworkManager

QNetworkAccessManager* ArchidektApiResponseDeckEntryDisplayWidget::imageNetworkManager
private

Shared network manager.

◆ imageUrl

QUrl ArchidektApiResponseDeckEntryDisplayWidget::imageUrl
private

URL of the deck's preview image.

◆ layout

QVBoxLayout* ArchidektApiResponseDeckEntryDisplayWidget::layout
private

Main vertical layout.

◆ originalPixmap

QPixmap ArchidektApiResponseDeckEntryDisplayWidget::originalPixmap
private

Original image for scaling (avoids degradation)

◆ picture

QLabel* ArchidektApiResponseDeckEntryDisplayWidget::picture
private

QLabel displaying the scaled pixmap.

◆ previewWidget

ArchidektDeckPreviewImageDisplayWidget* ArchidektApiResponseDeckEntryDisplayWidget::previewWidget
private

Widget showing the deck preview.

◆ response

ArchidektApiResponseDeckListingContainer ArchidektApiResponseDeckEntryDisplayWidget::response
private

Deck data.

◆ scaleFactor

int ArchidektApiResponseDeckEntryDisplayWidget::scaleFactor = 100
private

Current scaling percentage.


The documentation for this class was generated from the following files: