]> git.tdb.fi Git - xinema.git/blob - remote/source/browsedirectoryitem.h
Overhaul BrowsePage to look and feel better
[xinema.git] / remote / source / browsedirectoryitem.h
1 #ifndef BROWSEDIRECTORYITEM_H_
2 #define BROWSEDIRECTORYITEM_H_
3
4 #include <QQuickItem>
5 #include "directorymodel.h"
6
7 class XinemaControlItem;
8
9 class BrowseDirectoryItem: public QQuickItem
10 {
11         Q_OBJECT
12
13         Q_PROPERTY(XinemaControlItem *control READ get_control WRITE set_control NOTIFY control_changed)
14         Q_PROPERTY(QString directory READ get_directory WRITE set_directory NOTIFY directory_changed)
15         Q_PROPERTY(DirectoryModel *model READ get_model CONSTANT)
16
17 private:
18         XinemaControlItem *control;
19         QString directory;
20         DirectoryModel model;
21
22 public:
23         BrowseDirectoryItem();
24
25         void set_control(XinemaControlItem *);
26         XinemaControlItem *get_control() const { return control; }
27
28         void set_directory(const QString &);
29         const QString &get_directory() const { return directory; }
30
31         DirectoryModel *get_model() { return &model; }
32
33 signals:
34         void control_changed();
35         void directory_changed();
36         void subdirectories_changed();
37         void files_changed();
38
39 private slots:
40         void directory_started(const QString &);
41         void file_added(const QString &);
42         void subdirectory_added(const QString &);
43 };
44
45 #endif