Remove ignored typedef warning for GCC4
This commit is contained in:
parent
0ed0a7e1c0
commit
8e956baea7
|
@ -7,20 +7,20 @@
|
|||
|
||||
#include "PreferencesContainer.h"
|
||||
|
||||
typedef struct CayaPreferencesData
|
||||
typedef struct _CayaPreferencesData
|
||||
{
|
||||
bool MoveToCurrentWorkspace;
|
||||
bool ActivateWindow;
|
||||
bool IgnoreEmoticons;
|
||||
|
||||
CayaPreferencesData()
|
||||
_CayaPreferencesData()
|
||||
:
|
||||
MoveToCurrentWorkspace(true),
|
||||
ActivateWindow(true),
|
||||
IgnoreEmoticons(false)
|
||||
{
|
||||
}
|
||||
};
|
||||
} CayaPreferencesData;
|
||||
|
||||
typedef PreferencesContainer<CayaPreferencesData> CayaPreferences;
|
||||
|
||||
|
|
|
@ -7,6 +7,11 @@
|
|||
|
||||
#include <libsupport/Singleton.h>
|
||||
|
||||
#include <Directory.h>
|
||||
#include <File.h>
|
||||
#include <FindDirectory.h>
|
||||
#include <Path.h>
|
||||
|
||||
// TODO: added to main singleton class?
|
||||
template<typename T> T* Singleton<T>::fInstance = 0;
|
||||
|
||||
|
@ -15,7 +20,6 @@ template<class SettingsType>
|
|||
class PreferencesContainer : public Singleton<PreferencesContainer<SettingsType> > {
|
||||
|
||||
public:
|
||||
static const char* fFilename;
|
||||
|
||||
static SettingsType*
|
||||
Item()
|
||||
|
@ -23,13 +27,56 @@ public:
|
|||
return &(Singleton<PreferencesContainer<SettingsType> >::Get()->fSettings);
|
||||
}
|
||||
|
||||
// TODO:
|
||||
// status_t Save();
|
||||
// status_t Load();
|
||||
|
||||
status_t Load()
|
||||
{
|
||||
if (fPreferencesFile.SetTo(&fDirectory, fFilename,
|
||||
B_READ_WRITE | B_FAIL_IF_EXISTS) == B_OK) {
|
||||
|
||||
// reset the file pointer
|
||||
fPreferencesFile.Seek(0, SEEK_SET);
|
||||
|
||||
if (fPreferencesFile.Read(&fSettings, sizeof(SettingsType)) > 0)
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
return B_ERROR;
|
||||
}
|
||||
|
||||
|
||||
status_t Save()
|
||||
{
|
||||
if (fPreferencesFile.SetTo(&fDirectory, fFilename,
|
||||
B_READ_WRITE | B_CREATE_FILE | B_ERASE_FILE) == B_OK) {
|
||||
|
||||
if (fPreferencesFile.Write(&fSettings, sizeof(SettingsType)) > 0)
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
return B_ERROR;
|
||||
}
|
||||
|
||||
private:
|
||||
SettingsType fSettings;
|
||||
PreferencesContainer<SettingsType>()
|
||||
: Singleton<PreferencesContainer<SettingsType> >()
|
||||
{
|
||||
BPath path;
|
||||
|
||||
find_directory(B_USER_SETTINGS_DIRECTORY, &path);
|
||||
path.Append(fFolder);
|
||||
fDirectory.SetTo(path.Path());
|
||||
|
||||
Load();
|
||||
}
|
||||
|
||||
friend class Singleton<PreferencesContainer<SettingsType> >;
|
||||
|
||||
SettingsType fSettings;
|
||||
BFile fPreferencesFile;
|
||||
BDirectory fDirectory;
|
||||
|
||||
static const char* fFilename;
|
||||
static const char* fFolder;
|
||||
};
|
||||
|
||||
|
||||
|
|
Ŝarĝante…
Reference in New Issue