Files
yacreader/YACReaderLibrary/comic_vine/select_volume.h
luisangelsm edd5bbc69c Make Themable pass the current Theme through applyTheme
This reduces boilerplate code and remove the ThemeManager dependency at Thamable subclasses level.
2026-02-19 18:06:31 +01:00

60 lines
1.3 KiB
C++

#ifndef SELECT_VOLUME_H
#define SELECT_VOLUME_H
#include <QtWidgets>
#include "scraper_results_paginator.h"
#include "selected_volume_info.h"
#include "volume_search_query.h"
#include "themable.h"
class QLabel;
class VolumesModel;
class QModelIndex;
class QToolButton;
class QSortFilterProxyModel;
class ScraperScrollLabel;
class ScraperTableView;
class ScraperLineEdit;
class SelectVolume : public QWidget, protected Themable
{
Q_OBJECT
public:
SelectVolume(QWidget *parent = nullptr);
void load(const QString &json, const VolumeSearchQuery &searchQuery);
void clearFilter();
virtual ~SelectVolume();
public slots:
void loadVolumeInfo(const QModelIndex &mi);
void setCover(const QByteArray &);
void setDescription(const QString &jsonDetail);
SelectedVolumeInfo getSelectedVolumeInfo();
signals:
void loadPage(VolumeSearchQuery);
private slots:
void loadNextPage();
void loadPreviousPage();
private:
QLabel *label;
QLabel *cover;
ScraperScrollLabel *detailLabel;
ScraperTableView *tableVolumes;
VolumesModel *model;
QSortFilterProxyModel *proxyModel;
ScraperLineEdit *filterEdit;
QString selectedVolumeDescription;
VolumeSearchQuery currentSearchQuery;
ScraperResultsPaginator *paginator;
protected:
void applyTheme(const Theme &theme) override;
};
#endif // SELECT_VOLUME_H