58 void updateStyleSheets();
59 void setCompactMode(
bool compact);
60 bool isCompactMode()
const;
61 void setSlideTypeVisible(BannerSlideType type,
bool visible);
62 void setAutoAdvanceInterval(
unsigned seconds);
63 void applySlideFilter();
65 QSize sizeHint()
const override;
68 void paintEvent(QPaintEvent *event)
override;
69 void mousePressEvent(QMouseEvent *event)
override;
70 void mouseMoveEvent(QMouseEvent *event)
override;
71 void changeEvent(QEvent *event)
override;
74 QList<BannerSlide> all_slides_;
75 QList<BannerSlide> slides_;
78 QMap<BannerSlideType, bool> slide_type_visible_;
79 QTimer *auto_advance_timer_;
83 QMap<BannerSlideType, SlideTypeConfig> type_config_;
85 QMap<BannerSlideType, QList<BannerSlide>> slides_by_type_;
87 QMap<BannerSlideType, int> type_offsets_;
89 QColor default_color_start_;
90 QColor default_color_end_;
93 QString resolveI18nField(
const QJsonObject &obj,
95 bool is_custom)
const;
96 void loadSlidesFromResource(
const QString &resource_path,
98 QMap<BannerSlideType, SlideTypeConfig> &file_config,
99 QMap<BannerSlideType, QList<BannerSlide>> &file_slides);
100 void buildSlideSequence();
106 void updateAccessibility();
107 QPair<QColor, QColor> gradientForType(BannerSlideType type)
const;
108 int dotHitTest(
const QPoint &pos)
const;
109 QRect dotRect(
int index)
const;
110 QRect buttonRect()
const;
111 static BannerSlideType typeFromString(
const QString &type_str);
114 static constexpr int kCardWidth = 300;
115 static constexpr int kCardHeight = 360;
116 static constexpr int kCardHeightCompact = 180;
117 static constexpr int kIllustrationHeight = 120;
118 static constexpr int kContentLeftMargin = 16;
119 static constexpr int kContentRightMargin = 16;
120 static constexpr int kDotRadius = 4;
121 static constexpr int kDotSpacing = 12;
122 static constexpr int kDotBottomMargin = 14;
123 static constexpr int kDefaultAutoAdvanceMs = 8000;