00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <QString>
00027 #include <QDir>
00028 #include <QByteArray>
00029
00030 #ifndef SETTINGSSTORAGE_H_
00031 #define SETTINGSSTORAGE_H_
00032
00033
00034
00035 #define NUM_OF_SETTING_INTEGERS 15
00036 #define NUM_OF_SETTING_FLOATS 0
00037 #define SETTING_STRING_STARTING_PREFIX (NUM_OF_SETTING_INTEGERS+NUM_OF_SETTING_FLOATS)
00038 #define AMMOUNT_OF_SETTINGS 19
00039
00040 class SettingsStorage {
00041 public:
00042 static enum{
00043
00044 EDITOR_TRANSPARENCY_RED_CHANNEL = 0,
00045 EDITOR_TRANSPARENCY_GREEN_CHANNEL,
00046 EDITOR_TRANSPARENCY_BLUE_CHANNEL,
00047 EDITOR_TRANSPARENCY_ALPHA_CHANNEL,
00048 MPLAYER_VOLUME,
00049 CURRENT_GLOBAL_PLAYLIST_INDEX,
00050 MPLAYER_PLAY_GLOBAL,
00051 MPLAYER_PLAY_LOCAL,
00052 PLAY_GLOBAL_IN_RANDOM_ORDER,
00053 WARN_LOW_DISK_SPACE_LIMIT,
00054 BG_ANIMATION_NUMBER,
00055 ACCES_WEB_TO_DOWNLOAD_PICTURES,
00056 ACCESS_WEB_TO_CHECK_VERSION,
00057 POPUP_NOW_PLAYING_ON_SONG_CHANGE,
00058 POPUP_STILL_RUNNING_ON_HIDE_SYSTEMTRAY,
00059
00060
00061 BG_PICTURE,
00062 LOCALE,
00063 DIARY_ENTRY_STORAGE_PATH,
00064 DIARY_VERSION
00065 }SettingID;
00066
00067 static void LoadSettings(const QDir &userHomeDir);
00068 static void SaveSettings();
00069
00070
00071
00072
00073
00074
00075
00076 static int SetValue(const QString &value, int valueID);
00077 static int SetValue(int value, int valueID);
00078 static int SetValue(const QDir &value, int valueID);
00079 static int SetValue(bool value, int valueID);
00080 static int SetValue(unsigned value, int valueID);
00081 static int SetValue(qint64 value, int valueID);
00082 static int SetValue(float value, int valueID);
00083
00084 static int GetValue(QString &value, int valueID);
00085 static int GetValue(int &value, int valueID);
00086 static int GetValue(QDir &value, int valueID);
00087 static int GetValue(bool &value, int valueID);
00088 static int GetValue(unsigned &value, int valueID);
00089 static int GetValue(qint64 &value, int valueID);
00090 static int GetValue(float &value, int valueID);
00091 private:
00092 static bool ReadSettingsFromFile();
00093 static void LoadDefaultSettings();
00094 static void AddMissingSettings(QFile &targetFile);
00095 private:
00096 static int iIntegerTypeSettings[NUM_OF_SETTING_INTEGERS];
00097
00098 static QStringList iStringTypeSettings;
00099 static QDir iUserHomeDir;
00100
00101 static bool iDefinedSettings[AMMOUNT_OF_SETTINGS];
00102 };
00103
00104 #endif