Differences From Artifact [38f60b5020]:

  • File src/Page.hxx — part of check-in [1d65417bea] at 2019-05-24 18:56:45 on branch edit-page — Page: ensure signals are emitted when the page is changed. For some reason the `QFutureWatcher::finished` signal does not work. We sent our own signals instead. (user: fifr size: 3283)

To Artifact [37efb388b9]:

  • File src/Page.hxx — part of check-in [1c166f5727] at 2019-05-24 20:25:32 on branch edit-page — Page: cleanup signals and properties (user: fifr size: 3881)

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class Scanner;

/// A single scanned page.
class Page : public QObject
{
    Q_OBJECT

    Q_PROPERTY(QDateTime creationTime READ creationTime CONSTANT)
    Q_PROPERTY(QString original READ original NOTIFY originalChanged)
    Q_PROPERTY(QString thumbnail READ thumbnail NOTIFY thumbnailChanged)
    Q_PROPERTY(QString result READ result NOTIFY resultChanged)
    Q_PROPERTY(QUrl resultUrl READ resultUrl NOTIFY resultChanged)
    Q_PROPERTY(Status status READ status NOTIFY statusChanged)

public:







|







27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class Scanner;

/// A single scanned page.
class Page : public QObject
{
    Q_OBJECT

    Q_PROPERTY(QDateTime creationTime READ creationTime NOTIFY creationTimeChanged)
    Q_PROPERTY(QString original READ original NOTIFY originalChanged)
    Q_PROPERTY(QString thumbnail READ thumbnail NOTIFY thumbnailChanged)
    Q_PROPERTY(QString result READ result NOTIFY resultChanged)
    Q_PROPERTY(QUrl resultUrl READ resultUrl NOTIFY resultChanged)
    Q_PROPERTY(Status status READ status NOTIFY statusChanged)

public:
88
89
90
91
92
93
94





95
96
97
98
99
100
101
102
103
104
105






106
107
108


109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
    bool read(const QJsonObject& json);

public slots:
    /// Delete all files associated with this page.
    void remove();

private:





    QString updateThumbnail(const QString& filename);

private slots:
    void onGenerationFinished();

    void onThumbnailFinished();

    void setStatus(Page::Status status);

    void setOriginal(const QString& original);







signals:
    void originalChanged();



    void thumbnailChanged();

    void resultChanged();

    void statusChanged();

    void generationFinished();

    void thumbnailFinished();

    /// An error occurred.
    void error(const QString& errorMessage);

private:
    struct Data;
    QScopedPointer<Data> d;
};

#endif







>
>
>
>
>



|

|





>
>
>
>
>
>



>
>


|



|

|










88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
    bool read(const QJsonObject& json);

public slots:
    /// Delete all files associated with this page.
    void remove();

private:
    void updateFromScanner(const Scanner* scanner,
                           const QString& original_path,
                           const QString& result_path,
                           const QDateTime& creation_time);

    QString updateThumbnail(const QString& filename);

private slots:
    void onGenerationFinished(const QString& original_path, const QString& result_path);

    void onThumbnailFinished(const QString& thumbnail_path);

    void setStatus(Page::Status status);

    void setOriginal(const QString& original);

    void setResult(const QString& result);

    void setThumbnail(const QString& thumbnail);

    void setCreationTime(const QDateTime& creation_time);

signals:
    void originalChanged();

    void resultChanged();

    void thumbnailChanged();

    void creationTimeChanged();

    void statusChanged();

    void generationFinished(const QString& original_path, const QString& result_path);

    void thumbnailFinished(const QString& thumbnail_path);

    /// An error occurred.
    void error(const QString& errorMessage);

private:
    struct Data;
    QScopedPointer<Data> d;
};

#endif