summaryrefslogtreecommitdiff
path: root/src/frontend/display/bthtmljsobject.h
blob: 3bf37f5516a08dca4c77ee341b360240e9b04611 (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
57
58
59
60
61
62
/*********
*
* In the name of the Father, and of the Son, and of the Holy Spirit.
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2014 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/

#ifndef BTHTMLJSOBJECT_H
#define BTHTMLJSOBJECT_H

#include <QObject>

#include <QPoint>


class BtHtmlReadDisplay;

class BtHtmlJsObject: public QObject {
        Q_OBJECT

    public:
        BtHtmlJsObject(BtHtmlReadDisplay* display);

        void moveToAnchor(const QString& anchor);
        void clearPrevAttribute();

    public slots:
        void mouseMoveEvent(const QString& attributes, const int& x, const int& y, const bool& shiftKey);
        void mouseClick(const QString& url);
        void mouseDownLeft(const QString& url, const int& X, const int& Y);
        void mouseDownRight(const QString& url, const QString& lemma);
        void timeOutEvent(const QString& attributes);

    signals:
        void startTimer(int time);
        void mouseMoveAttribute(const QString& attrName, const QString& attrValue);
        void gotoAnchor(const QString& anchor);
        void selectAll();

    private:
        int m_int;
        BtHtmlReadDisplay* m_display;
        QString m_prev_attributes;

        struct DNDData {
            bool mousePressed;
            bool isDragging;
            QPoint startPos;
            QString url;
            enum DragType {
                Link,
                Text
            } dragType;
        }        m_dndData;

};

#endif