Add mce-dev into control build templates for dbus support
[vlc-remote] / src / appsettings.h
1 /*   VLC-REMOTE for MAEMO 5
2 *   Copyright (C) 2010 Schutz Sacha <istdasklar@gmail.com>, Dru Moore <usr@dru-id.co.uk>, Yann Nave <yannux@onbebop.net>
3 *   This program is free software; you can redistribute it and/or modify
4 *   it under the terms of the GNU General Public License version 2,
5 *   or (at your option) any later version, as published by the Free
6 *   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
14 *   License along with this program; if not, write to the
15 *   Free Software Foundation, Inc.,
16 *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17 */
18 #ifndef APPSETTINGS_H
19 #define APPSETTINGS_H
20 #include <QSettings>
21
22 #ifndef STATUS_POLL_TIMEOUT
23 #define STATUS_POLL_TIMEOUT 5000
24 #endif
25 #ifndef PING_TIMEOUT
26 #define PING_TIMEOUT 1000
27 #endif
28 #ifndef CONNECTION_TIMEOUT
29 #define CONNECTION_TIMEOUT 1000
30 #endif
31 #ifndef RETRIEVE_ART_TIMEOUT
32 #define RETRIEVE_ART_TIMEOUT 500
33 #endif
34 #ifndef RETRY_NETWORK_TIMEOUT
35 #define RETRY_NETWORK_TIMEOUT 25000
36 #endif
37
38 #ifndef SHOW_UNKNOWN_FILETYPES
39 #define SHOW_UNKNOWN_FILETYPES false
40 #endif
41
42 #ifndef SHOW_ALBUM_ART
43 #define SHOW_ALBUM_ART true
44 #endif
45
46 #ifndef ALERT_ON_CLOSE
47 #define ALERT_ON_CLOSE false
48 #endif
49
50
51 struct VlcDirectory {
52     QString name;
53     QString path;
54 };
55 enum Orientation {
56     AUTO_ROTATE = 0,
57     LANDSCAPE,
58     PORTRAIT
59 };
60
61 class AppSettings {
62 public:
63     explicit AppSettings();
64     ~AppSettings();
65     static QString getCurrentKey();
66     static QString setCurrentKey(QString);
67     static QString getCurrentIp();
68     static QString setCurrentIp(QString);
69     static QStringList getAllAccounts();
70     static VlcDirectory getHomeDirectory();
71     static QList<VlcDirectory>* getFavourites();
72     static bool addFavourite(VlcDirectory);
73     static bool deleteFavourite(VlcDirectory);
74     static bool setHomeDirectory(VlcDirectory);
75     static bool isConnected();
76     static int getStatusPollTimeout();
77     static int setStatusPollTimeout(int);
78     static int getPingTimeout();
79     static int setPingTimeout(int);
80     static int getConnectionTimeout();
81     static int setConnectionTimeout(int);
82     static int getRetrieveArtTimeout();
83     static int setRetrieveArtTimeout(int);
84     static int getRetryNetworkTimeout();
85     static int setRetryNetworkTimeout(int);
86     static bool getShowUnknownFileTypes();
87     static bool setShowUnknownFileTypes(bool);
88     static bool getShowAlbumArt();
89     static bool setShowAlbumArt(bool);
90     static bool getAlertOnClose();
91     static bool setAlertOnClose(bool);
92     static Orientation setOrientation(Orientation);
93     static Orientation getOrientation();
94
95 private:
96     static bool _haveCurrentKey;
97     static QString _currentKey;
98     static bool _haveCurrentIp;
99     static QString _currentIp;
100     static bool _haveConnectionTimeout;
101     static int _connectionTimeout;
102     static bool _havePingTimeout;
103     static int _pingTimeout;
104     static bool _haveStatusPollTimeout;
105     static int _statusPollTimeout;
106     static bool _haveRetrieveArtTimeout;
107     static int _retrieveArtTimeout;
108     static bool _haveRetryNetworkTimeout;
109     static int _retryNetworkTimeout;
110     static bool _haveShowUnknownFileTypes;
111     static bool _showUnknownFileTypes;
112     static bool _haveShowAlbumArt;
113     static bool _showAlbumArt;
114     static bool _haveAlertOnClose;
115     static bool _alertOnClose;
116     static bool _haveOrientation;
117     static Orientation _orientation;
118
119
120 };
121
122 #endif // APPSETTINGS_H