1 #ifndef BACKGROUNDMANAGER_H
2 #define BACKGROUNDMANAGER_H
3 
4 #include "telegramqml_global.h"
5 
6 #include <QObject>
7 #include <QUrl>
8 
9 class DialogObject;
10 class BackgroundManagerPrivate;
11 class TELEGRAMQMLSHARED_EXPORT BackgroundManager : public QObject
12 {
13     Q_OBJECT
14     Q_PROPERTY(QUrl directory READ directory WRITE setDirectory NOTIFY directoryChanged)
15     Q_PROPERTY(DialogObject* dialog READ dialog WRITE setDialog NOTIFY dialogChanged)
16     Q_PROPERTY(QUrl background READ background NOTIFY backgroundChanged)
17 
18 public:
19     BackgroundManager(QObject *parent = 0);
20     ~BackgroundManager();
21 
22     void setDirectory(const QUrl &path);
23     QUrl directory() const;
24 
25     void setDialog(DialogObject *dialog);
26     DialogObject *dialog() const;
27 
28     QUrl background() const;
29     qint64 dialogId();
30 
31 public Q_SLOTS:
32     void setBackground(const QString &filePath);
33 
34 Q_SIGNALS:
35     void directoryChanged();
36     void dialogChanged();
37     void backgroundChanged();
38 
39 private:
40     void refresh();
41 
42 private:
43     BackgroundManagerPrivate *p;
44 };
45 
46 #endif // BACKGROUNDMANAGER_H
47