|
@@ -11,11 +11,18 @@ public:
|
|
|
|
|
|
void start();
|
|
|
void start(int interval);
|
|
|
+ void restart(int interval);
|
|
|
void stop();
|
|
|
|
|
|
bool is_active() const { return m_active; }
|
|
|
int interval() const { return m_interval; }
|
|
|
- void set_interval(int interval) { m_interval = interval; }
|
|
|
+ void set_interval(int interval)
|
|
|
+ {
|
|
|
+ if (m_interval == interval)
|
|
|
+ return;
|
|
|
+ m_interval = interval;
|
|
|
+ m_interval_dirty = true;
|
|
|
+ }
|
|
|
|
|
|
bool is_single_shot() const { return m_single_shot; }
|
|
|
void set_single_shot(bool single_shot) { m_single_shot = single_shot; }
|
|
@@ -29,5 +36,6 @@ private:
|
|
|
|
|
|
bool m_active { false };
|
|
|
bool m_single_shot { false };
|
|
|
+ bool m_interval_dirty { false };
|
|
|
int m_interval { 0 };
|
|
|
};
|