chore: baseline usable version

This commit is contained in:
dela
2026-06-10 11:17:51 +08:00
commit a2f82a86b6
932 changed files with 172551 additions and 0 deletions
@@ -0,0 +1,57 @@
#ifndef HORIZONTALWIDGETGALLERY_H
#define HORIZONTALWIDGETGALLERY_H
#include <QWidget>
class QScrollArea;
class QHBoxLayout;
class QPushButton;
class QPropertyAnimation;
class HorizontalWidgetGallery : public QWidget
{
Q_OBJECT
public:
explicit HorizontalWidgetGallery(QWidget* parent = nullptr);
~HorizontalWidgetGallery() override = default;
void addWidget(QWidget* widget);
void clear();
void setSpacing(int spacing);
void adjustHeightToContent();
QSize minimumSizeHint() const override {
return QSize(1, QWidget::minimumSizeHint().height());
}
protected:
void resizeEvent(QResizeEvent* event) override;
bool eventFilter(QObject* obj, QEvent* event) override;
void wheelEvent(QWheelEvent* event) override;
private:
void applyContentHeight();
void updateButtonsVisibility();
void updateButtonPositions();
QScrollArea* m_scrollArea;
QWidget* m_contentWidget;
QHBoxLayout* m_contentLayout;
QPushButton* m_btnLeft;
QPushButton* m_btnRight;
QPropertyAnimation* m_hScrollAnim;
int m_hScrollTarget;
};
#endif