aboutsummaryrefslogtreecommitdiff
path: root/src/main_qmladaptor.h
blob: 30aae973af939eaf0944aecef42b77dd1c70c461 (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#pragma once

#include <QObject>
#include <QQmlApplicationEngine>
#include <QQuickItem>
#include <QMessageBox>
#include <QApplication>
#include <QClipboard>

//#include "session.cpp"

class MainQMLAdaptor : public QObject
{
    Q_OBJECT
    Q_PROPERTY(bool showMessageDialog      READ getShowMessageDialog  NOTIFY showMessageDialogChanged)  // this makes showMessageDialog available as a QML property
    Q_PROPERTY(QString _messageDialogTitle READ getMessageDialogTitle NOTIFY messageDialogTitleChanged) // this makes showMessageDialogTitle available as a QML property
    Q_PROPERTY(QString _messageDialogText  READ getMessageDialogText  NOTIFY messageDialogTextChanged)  // this makes showMessageDialogText available as a QML property
    Q_PROPERTY(QMessageBox::Icon _messageDialogIcon READ getMessageDialogIcon NOTIFY messageDialogIconChanged)  // this makes showMessageDialogIcon available as a QML property
public:
    explicit MainQMLAdaptor(QObject *parent, QQmlApplicationEngine *engine = nullptr);

//    void setSession(Session session);

    bool setConnectButtonEnabled(bool enabled);
    bool setConnectButtonChecked(bool checked);

    bool setStatusIndicator(bool active, QColor color = QColor(255,255,255));
    bool setStatus(QString status);

    bool openMessageDialog(QString title, QString text, QMessageBox::Icon);
    QString getMessageDialogTitle();
    QString getMessageDialogText();
    QMessageBox::Icon getMessageDialogIcon();
    bool getShowMessageDialog();
signals:
    void showMessageDialogChanged(bool show);
    void messageDialogTextChanged(QString text);
    void messageDialogTitleChanged(QString title);
    void messageDialogIconChanged(int iconindex);

//    static void onCloseSignal();

//protected:
//    Session _session;
private:
    QQmlApplicationEngine* _engine;

    bool _showMessageDialog;
    QString _messageDialogTitle;
    QString _messageDialogText;
    QMessageBox::Icon _messageDialogIcon;

public slots:
    void handleCopyToClipboardButtonClick(QString copy_data);
//    static void onCloseHandler();
};