mirror-chatterino2/settingsdialogtab.h

52 lines
916 B
C
Raw Normal View History

2017-01-01 18:43:52 +01:00
#ifndef SETTINGSNOTEBOOKTAB_H
#define SETTINGSNOTEBOOKTAB_H
#include <QWidget>
#include "QPaintEvent"
2017-01-02 03:02:32 +01:00
class SettingsDialog;
2017-01-01 18:43:52 +01:00
class SettingsDialogTab : public QWidget
{
Q_OBJECT
2017-01-11 18:52:09 +01:00
Q_PROPERTY(
bool selected READ selected WRITE setSelected NOTIFY selectedChanged)
2017-01-02 03:02:32 +01:00
2017-01-01 18:43:52 +01:00
public:
2017-01-11 18:52:09 +01:00
SettingsDialogTab(SettingsDialog *dialog, QString label, QString imageRes);
2017-01-02 03:02:32 +01:00
2017-01-11 18:52:09 +01:00
void
setSelected(bool selected)
2017-01-02 03:02:32 +01:00
{
2017-01-11 18:52:09 +01:00
if (selected == m_selected)
return;
2017-01-02 03:02:32 +01:00
m_selected = selected;
emit selectedChanged(selected);
}
2017-01-11 18:52:09 +01:00
bool
selected() const
{
return m_selected;
}
2017-01-02 03:02:32 +01:00
2017-01-11 18:52:09 +01:00
QWidget *widget;
2017-01-02 03:02:32 +01:00
signals:
void selectedChanged(bool);
2017-01-01 18:43:52 +01:00
private:
void paintEvent(QPaintEvent *);
2017-01-02 03:02:32 +01:00
void mouseReleaseEvent(QMouseEvent *event);
2017-01-01 18:43:52 +01:00
QString label;
2017-01-02 03:02:32 +01:00
QImage image;
2017-01-11 18:52:09 +01:00
SettingsDialog *dialog = NULL;
2017-01-02 03:02:32 +01:00
bool m_selected = false;
2017-01-01 18:43:52 +01:00
};
2017-01-11 18:52:09 +01:00
#endif // SETTINGSNOTEBOOKTAB_H