cookpanelbutton.h
1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#ifndef COOKPANELBUTTON_H
#define COOKPANELBUTTON_H
#include <QWidget>
#include <QLabel>
#include <QButtonGroup>
#include <QTimer>
#include <QPushButton>
#include "cookhistory.h"
namespace Ui {
class CookPanelButton;
}
class CookPanelButton : public QWidget
{
Q_OBJECT
signals:
void resized();
void clicked(CookPanelButton *);
void infoClicked(CookPanelButton *);
void deleteClicked(CookPanelButton *);
void longPressed(CookPanelButton *);
public:
explicit CookPanelButton(CookRecord record, QWidget *parent = 0);
~CookPanelButton();
void setText(QString text);
void showInfo();
void hideInfo();
void focusBar();
void focusInfoButton();
void focusDeleteButton();
void setLongPressEnabled(bool enabled);
QPushButton *bar();
QPushButton *infoButton();
QPushButton *deleteButton();
CookRecord record;
public slots:
void setEnabled(bool enabled = true);
protected:
void keyPressEvent(QKeyEvent *event);
void keyReleaseEvent(QKeyEvent *event);
private slots:
void emitLongPressed();
void on_pushButton_pressed();
void on_pushButton_released();
void on_pushButton_clicked();
void on_showInfoButton_clicked();
void on_deleteButton_clicked();
private:
Ui::CookPanelButton *ui;
QTimer longPressedTimer;
bool rendered;
QLabel *label;
bool emitted;
bool longPressEnabled;
QWidget *pushed = NULL;
void onEncoderLeft();
void onEncoderRight();
void onEncoderClicked(QWidget *clicked);
};
#endif // COOKPANELBUTTON_H