summaryrefslogtreecommitdiffhomepage
path: root/tracker-trackhat/dialog.hpp
blob: 35ca866be9d830842af08678070be00bdcebbe99 (plain)
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
#pragma once
#include "trackhat.hpp"
#include "ui_dialog.h"
#include "tracker-pt/ftnoir_tracker_pt.h"
#include "api/plugin-api.hpp"
#include <QTimer>

class trackhat_dialog final : public ITrackerDialog
{
    Q_OBJECT

protected:
    Ui_trackhat_dialog ui;
    Tracker_PT* tracker = nullptr;
    QTimer poll_timer{this};

    pt_settings s{trackhat_metadata::module_name};
    trackhat_settings t;

    void set_buttons_visible(bool x) override;
    void update_raw_data();

public:
    trackhat_dialog();
    ~trackhat_dialog() override;
    void register_tracker(ITracker *tracker) override;
    void unregister_tracker() override;
    bool embeddable() noexcept override { return true; }
    void save() override;
    void reload() override;

public slots:
    void doOK();
    void doCancel();
    void poll_tracker_info();
};