mirror-chatterino2/widgets/settingsdialogtab.h
2017-01-18 21:30:23 +01:00

68 lines
1.1 KiB
C++

#ifndef SETTINGSNOTEBOOKTAB_H
#define SETTINGSNOTEBOOKTAB_H
#include <QPaintEvent>
#include <QWidget>
namespace chatterino {
namespace widgets {
class SettingsDialog;
class SettingsDialogTab : public QWidget
{
Q_OBJECT
Q_PROPERTY(bool getSelected READ getSelected WRITE setSelected NOTIFY
selectedChanged)
public:
SettingsDialogTab(SettingsDialog *dialog, QString label, QString imageRes);
void
setSelected(bool selected)
{
if (this->selected == selected)
return;
this->selected = selected;
emit selectedChanged(selected);
}
bool
getSelected() const
{
return this->selected;
}
QWidget *
getWidget()
{
return this->widget;
}
void
setWidget(QWidget *widget)
{
this->widget = widget;
}
signals:
void selectedChanged(bool);
private:
void paintEvent(QPaintEvent *);
void mouseReleaseEvent(QMouseEvent *event);
QWidget *widget;
QString label;
QImage image;
SettingsDialog *dialog = NULL;
bool selected = false;
};
}
}
#endif // SETTINGSNOTEBOOKTAB_H