File indexing completed on 2025-02-02 04:11:32

0001 /*
0002  * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best>
0003  *
0004  * SPDX-License-Identifier: GPL-3.0-or-later
0005  */
0006 
0007 #pragma once
0008 
0009 #include <QAbstractButton>
0010 
0011 
0012 class QTabBar;
0013 
0014 namespace glaxnimate::gui {
0015 
0016 class TabBarCloseButton : public QAbstractButton
0017 {
0018     Q_OBJECT
0019 
0020 public:
0021     static void add_button(QTabBar* bar, int index);
0022 
0023     explicit TabBarCloseButton(QWidget *parent = nullptr);
0024 
0025     QSize sizeHint() const override;
0026     QSize minimumSizeHint() const override { return sizeHint(); }
0027 
0028 protected:
0029 #if QT_VERSION_MAJOR < 6
0030     void enterEvent(QEvent * event) override;
0031 #else
0032     void enterEvent(QEnterEvent * event) override;
0033 #endif
0034     void leaveEvent(QEvent *event) override;
0035     void paintEvent(QPaintEvent *event) override;
0036 };
0037 
0038 } // namespace glaxnimate::gui