- renamed icons to ASCII-only names cause build failed
[buliscores] / src / match.h
1 #ifndef MATCH_H
2 #define MATCH_H
3
4 #include <QIcon>
5 #include <QObject>
6 #include <QDateTime>
7
8 class Match : public QObject
9 {
10     Q_OBJECT
11     Q_PROPERTY(QDateTime date READ date)
12     Q_PROPERTY(QDateTime lastEvent READ lastEvent)
13     Q_PROPERTY(QIcon homeEmblem READ homeEmblem)
14     Q_PROPERTY(QIcon awayEmblem READ awayEmblem)
15     Q_PROPERTY(QString homeTeam READ homeTeam)
16     Q_PROPERTY(QString awayTeam READ awayTeam)
17     Q_PROPERTY(int homeScore READ homeScore)
18     Q_PROPERTY(int homeScoreFH READ homeScoreFH)
19     Q_PROPERTY(int awayScore READ awayScore)
20     Q_PROPERTY(int awayScoreFH READ awayScoreFH)
21     Q_PROPERTY(MatchState state READ state)
22
23     Q_ENUMS(MatchState)
24
25 public:
26     enum MatchState {
27         NotStarted,
28         FirstHalf,
29         HalfTime,
30         SecondHalf,
31         ExtraTime,
32         Finished
33     };
34
35 private:
36     QDateTime   m_lastevent;
37     QDateTime   m_date;
38     QString     m_homeTeam;
39     QString     m_awayTeam;
40     QIcon       m_homeEmblem;
41     QIcon       m_awayEmblem;
42     int         m_homeScore;
43     int         m_homeScoreFH;
44     int         m_awayScore;
45     int         m_awayScoreFH;
46     MatchState  m_state;
47
48     QIcon     getEmblemByName(QString team);
49
50 public:
51     explicit Match(QString hometeam, QString awayteam, QDateTime date, QObject *parent = 0);
52
53     QDateTime date() const {return m_date;}
54     QDateTime lastEvent() const {return m_lastevent;}
55
56     QString homeTeam() const {return m_homeTeam;}
57     QString awayTeam() const {return m_awayTeam;}
58
59     int homeScore() const {return m_homeScore;}
60     int homeScoreFH() const {return m_homeScoreFH;}
61
62     int awayScore() const {return m_awayScore;}
63     int awayScoreFH() const {return m_awayScoreFH;}
64
65     void setScore(int home, int away, bool notifyWatchers);
66
67     QIcon homeEmblem() const {return m_homeEmblem;}
68     QIcon awayEmblem() const {return m_awayEmblem;}
69
70     MatchState state() const {return m_state;}
71     void setState(MatchState state, bool notifyWatchers);
72
73 signals:
74     void scoreChanged(int oldhomescore, int oldawayscore,
75                       int homescore, int awayscore);
76     void stateChanged(Match::MatchState state);
77
78
79 public slots:
80
81 };
82
83 #endif // MATCH_H