Files
yacreader/custom_widgets/yacreader_sidebar.h
2026-03-13 11:06:25 +01:00

63 lines
1.4 KiB
C++

#ifndef YACREADER_SIDEBAR_H
#define YACREADER_SIDEBAR_H
#include <QCloseEvent>
#include <QColor>
#include <QList>
#include <QPaintEvent>
#include <QSettings>
#include <QSplitter>
#include <QWidget>
#include "themable.h"
class YACReaderFoldersView;
class YACReaderLibraryListWidget;
class YACReaderSearchLineEdit;
class YACReaderTitledToolBar;
class YACReaderTitledToolBar;
class YACReaderReadingListsView;
class YACReaderSideBarSeparator : public QWidget
{
public:
explicit YACReaderSideBarSeparator(QWidget *parent = 0);
void setColor(const QColor &color);
protected:
void paintEvent(QPaintEvent *event);
private:
QColor separatorColor;
};
class YACReaderSideBar : public QWidget, protected Themable
{
Q_OBJECT
public:
explicit YACReaderSideBar(QWidget *parent = 0);
QSize sizeHint() const;
YACReaderFoldersView *foldersView;
YACReaderReadingListsView *readingListsView;
YACReaderLibraryListWidget *selectedLibrary;
YACReaderTitledToolBar *librariesTitle;
YACReaderTitledToolBar *foldersTitle;
YACReaderTitledToolBar *readingListsTitle;
signals:
public slots:
protected:
void paintEvent(QPaintEvent *);
void closeEvent(QCloseEvent *event);
void applyTheme(const Theme &theme) override;
QSettings *settings;
QSplitter *splitter;
QList<YACReaderSideBarSeparator *> separators;
};
#endif // YACREADER_SIDEBAR_H