~artmello/gallery-app/gallery-app-fix_crash_adding_files

« back to all changes in this revision

Viewing changes to src/event/event.h

  • Committer: Jim Nelson
  • Date: 2012-01-20 22:12:49 UTC
  • Revision ID: jim@yorba.org-20120120221249-81cc1q2jzdkej57k
Event and EventCollection introduced, represented in QML by
QmlEventCollectionModel.  This is work toward completing bug #915655,
the Event Timeline view.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2012 Canonical Ltd
 
3
 *
 
4
 * This program is free software: you can redistribute it and/or modify
 
5
 * it under the terms of the GNU General Public License version 3 as
 
6
 * published by the Free Software Foundation.
 
7
 *
 
8
 * This program is distributed in the hope that it will be useful,
 
9
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
 * GNU General Public License for more details.
 
12
 *
 
13
 * You should have received a copy of the GNU General Public License
 
14
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
15
 *
 
16
 * Authors:
 
17
 * Jim Nelson <jim@yorba.org>
 
18
 */
 
19
 
 
20
#ifndef GALLERY_EVENT_H_
 
21
#define GALLERY_EVENT_H_
 
22
 
 
23
#include <QObject>
 
24
#include <QDate>
 
25
#include <QDeclarativeListProperty>
 
26
#include <QList>
 
27
#include <QtDeclarative>
 
28
 
 
29
#include "core/container-source.h"
 
30
#include "media/media-source.h"
 
31
 
 
32
class Event : public ContainerSource {
 
33
  Q_OBJECT
 
34
  Q_PROPERTY(QDate date READ date NOTIFY date_altered)
 
35
  Q_PROPERTY(QDeclarativeListProperty<MediaSource> mediaSources READ qml_media_sources
 
36
    NOTIFY media_content_altered);
 
37
  
 
38
 signals:
 
39
  void date_altered();
 
40
  void media_content_altered();
 
41
  
 
42
 public:
 
43
  Event();
 
44
  explicit Event(const QDate &date);
 
45
  
 
46
  static void RegisterType();
 
47
  
 
48
  const QDate& date() const;
 
49
  
 
50
  QDeclarativeListProperty<MediaSource> qml_media_sources();
 
51
  
 
52
 protected:
 
53
  virtual void notify_container_contents_altered(const QSet<DataObject *> *added,
 
54
    const QSet<DataObject *> *removed);
 
55
  
 
56
  virtual void DestroySource(bool destroy_backing, bool as_orphan);
 
57
  
 
58
 private:
 
59
  QDate date_;
 
60
  QList<MediaSource*> all_media_;
 
61
};
 
62
 
 
63
QML_DECLARE_TYPE(Event);
 
64
 
 
65
#endif  // GALLERY_EVENT_H_