Cockatrice/cockatrice/src/interface/widgets/quick_settings/settings_button_widget.h
Lukas Brübach d1ecdc6612 Benchmark test.
Took 1 hour 25 minutes

Took 13 seconds
2026-04-05 18:02:42 +02:00

42 lines
874 B
C++

/**
* @file settings_button_widget.h
* @ingroup Widgets
* @ingroup Settings
* @brief TODO: Document this.
*/
#ifndef SETTINGS_BUTTON_WIDGET_H
#define SETTINGS_BUTTON_WIDGET_H
#include <QWidget>
class QHBoxLayout;
class SettingsPopupWidget;
class QToolButton;
class SettingsButtonWidget : public QWidget
{
Q_OBJECT
public:
explicit SettingsButtonWidget(QWidget *parent = nullptr);
void addSettingsWidget(QWidget *toAdd) const;
void removeSettingsWidget(QWidget *toRemove) const;
void setButtonIcon(QPixmap iconMap);
void setButtonText(const QString &buttonText);
protected:
void mousePressEvent(QMouseEvent *event) override;
private slots:
void togglePopup();
void onPopupClosed() const;
private:
QHBoxLayout *layout;
QToolButton *button;
public:
SettingsPopupWidget *popup;
};
#endif // SETTINGS_BUTTON_WIDGET_H