Initial commit (software version 0.2.0)
[movie-schedule] / src / data / settings.h
1 // Copyright 2010 Jochen Becher
2 //
3 // This file is part of MovieSchedule.
4 //
5 // MovieSchedule is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // MovieSchedule is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with MovieSchedule.  If not, see <http://www.gnu.org/licenses/>.
17
18 #ifndef SETTINGS_H
19 #define SETTINGS_H
20
21 #include "location.h"
22
23 #include <QString>
24 #include <QList>
25
26 class Settings
27 {
28 public:
29     typedef QList<Location> Locations;
30
31     enum SearchObjectsType {
32         THEATERS,
33         MOVIES
34     };
35
36 public:
37     Settings();
38
39     Location GetLocation() const { return _location; }
40     void SetLocation(const Location &location) { _location = location; }
41
42     Locations GetPreviousLocations() const  { return _previous_locations; }
43     void SetPreviousLocations(const Locations &previous_locations);
44
45     bool IsGPSEnabled() const { return _gps_enabled; }
46     void SetGPSEnabled(bool gps_enabled) { _gps_enabled = gps_enabled; }
47
48     SearchObjectsType GetSearchObjectsType() const { return _search_objects_type; }
49     void SetSearchObjectsType(SearchObjectsType search_objects_type) { _search_objects_type = search_objects_type; }
50
51 private:
52     Location _location;
53     Locations _previous_locations;
54     bool _gps_enabled;
55     SearchObjectsType _search_objects_type;
56 };
57
58 #endif // SETTINGS_H