Files
yacreader/YACReaderLibrary/yacreader_content_views_manager.h
luisangelsm 3709b6e737
Some checks failed
Build / Initialization (push) Has been cancelled
Build / Code Format Validation (push) Has been cancelled
Build / Linux (Qt6) (push) Has been cancelled
Build / Linux (Qt6 + 7zip) (push) Has been cancelled
Build / macOS (Qt6 Universal) (push) Has been cancelled
Build / Windows x64 (Qt6) (push) Has been cancelled
Build / Windows ARM64 (Qt6) (push) Has been cancelled
Build / Docker amd64 Image (push) Has been cancelled
Build / Docker arm64 Image (push) Has been cancelled
Build / Publish Dev Builds (push) Has been cancelled
Build / Publish Release (push) Has been cancelled
Build / Publish YACReader10 Pre-release Builds (push) Has been cancelled
Format includes using clang-format
2026-03-13 18:21:38 +01:00

90 lines
2.1 KiB
C++

#ifndef YACREADERCONTENTVIEWSMANAGER_H
#define YACREADERCONTENTVIEWSMANAGER_H
#include "themable.h"
#include "yacreader_global_gui.h"
#include <QSettings>
#include <QStackedWidget>
class LibraryWindow;
class ComicsView;
class ClassicComicsView;
class GridComicsView;
class InfoComicsView;
class ComicsViewTransition;
class FolderContentView;
class EmptyLabelWidget;
class EmptySpecialListWidget;
class EmptyReadingListWidget;
class EmptyFolderWidget;
class NoSearchResultsWidget;
using namespace YACReader;
class YACReaderContentViewsManager : public QObject, protected Themable
{
Q_OBJECT
public:
explicit YACReaderContentViewsManager(QSettings *settings, LibraryWindow *parent = nullptr);
QWidget *containerWidget();
ComicsView *comicsView;
ComicsViewTransition *comicsViewTransition;
FolderContentView *folderContentView;
EmptyLabelWidget *emptyLabelWidget;
EmptySpecialListWidget *emptySpecialList;
EmptyReadingListWidget *emptyReadingList;
EmptyFolderWidget *emptyFolderWidget;
NoSearchResultsWidget *noSearchResultsWidget;
void updateCurrentContentView();
void updateCurrentComicView();
void updateContinueReadingView();
void toFullscreen();
void toNormal();
protected:
QStackedWidget *comicsViewStack;
LibraryWindow *libraryWindow;
ComicsViewStatus comicsViewStatus;
ClassicComicsView *classicComicsView;
GridComicsView *gridComicsView;
InfoComicsView *infoComicsView;
void applyTheme(const Theme &theme) override;
signals:
public slots:
void toggleComicsView();
void focusComicsViewViaShortcut();
void showComicsView();
void showFolderContentView();
void showEmptyLabelView();
void showEmptySpecialList();
void showEmptyReadingListWidget();
void showEmptyFolderWidget();
void showNoSearchResultsView();
protected slots:
void showComicsViewTransition();
void _toggleComicsView();
void disconnectComicsViewConnections(ComicsView *widget);
void doComicsViewConnections();
void switchToComicsView(ComicsView *from, ComicsView *to);
};
#endif // YACREADERCONTENTVIEWSMANAGER_H