summaryrefslogtreecommitdiff
path: root/inputmethods/dasher
Unidiff
Diffstat (limited to 'inputmethods/dasher') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/dasher/SettingsStore.cpp5
-rw-r--r--inputmethods/dasher/SettingsStore.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/inputmethods/dasher/SettingsStore.cpp b/inputmethods/dasher/SettingsStore.cpp
index f7661bd..7e0fa58 100644
--- a/inputmethods/dasher/SettingsStore.cpp
+++ b/inputmethods/dasher/SettingsStore.cpp
@@ -1,66 +1,71 @@
1// SettingsStore.cpp 1// SettingsStore.cpp
2// 2//
3///////////////////////////////////////////////////////////////////////////// 3/////////////////////////////////////////////////////////////////////////////
4// 4//
5// Copyright (c) 2002 Iain Murray 5// Copyright (c) 2002 Iain Murray
6// 6//
7///////////////////////////////////////////////////////////////////////////// 7/////////////////////////////////////////////////////////////////////////////
8 8
9 9
10 10
11 11
12#include "SettingsStore.h" 12#include "SettingsStore.h"
13 13
14using namespace std; 14using namespace std;
15 15
16/* TODO: Consider using Template functions to make this neater. */ 16/* TODO: Consider using Template functions to make this neater. */
17 17
18 18
19CSettingsStore::~CSettingsStore()
20{
21}
22
23
19bool CSettingsStore::GetBoolOption(const string& Key) 24bool CSettingsStore::GetBoolOption(const string& Key)
20{ 25{
21 if (BoolMap.find(Key)==BoolMap.end()) { 26 if (BoolMap.find(Key)==BoolMap.end()) {
22 bool Value = false; 27 bool Value = false;
23 LoadSetting(Key, &Value); 28 LoadSetting(Key, &Value);
24 BoolMap[Key] = Value; 29 BoolMap[Key] = Value;
25 } 30 }
26 31
27 return BoolMap[Key]; 32 return BoolMap[Key];
28} 33}
29 34
30 35
31long CSettingsStore::GetLongOption(const string& Key) 36long CSettingsStore::GetLongOption(const string& Key)
32{ 37{
33 if (LongMap.find(Key)==LongMap.end()) { 38 if (LongMap.find(Key)==LongMap.end()) {
34 long Value = 0l; 39 long Value = 0l;
35 LoadSetting(Key, &Value); 40 LoadSetting(Key, &Value);
36 LongMap[Key] = Value; 41 LongMap[Key] = Value;
37 } 42 }
38 43
39 return LongMap[Key]; 44 return LongMap[Key];
40} 45}
41 46
42 47
43string& CSettingsStore::GetStringOption(const string& Key) 48string& CSettingsStore::GetStringOption(const string& Key)
44{ 49{
45 if (StringMap.find(Key)==StringMap.end()) { 50 if (StringMap.find(Key)==StringMap.end()) {
46 string Value = ""; 51 string Value = "";
47 LoadSetting(Key, &Value); 52 LoadSetting(Key, &Value);
48 StringMap[Key] = Value; 53 StringMap[Key] = Value;
49 } 54 }
50 55
51 return StringMap[Key]; 56 return StringMap[Key];
52} 57}
53 58
54 59
55void CSettingsStore::SetBoolOption(const string& Key, bool Value) 60void CSettingsStore::SetBoolOption(const string& Key, bool Value)
56{ 61{
57 BoolMap[Key] = Value; 62 BoolMap[Key] = Value;
58 SaveSetting(Key, Value); 63 SaveSetting(Key, Value);
59} 64}
60 65
61 66
62void CSettingsStore::SetLongOption(const string& Key, long Value) 67void CSettingsStore::SetLongOption(const string& Key, long Value)
63{ 68{
64 LongMap[Key] = Value; 69 LongMap[Key] = Value;
65 SaveSetting(Key, Value); 70 SaveSetting(Key, Value);
66} 71}
diff --git a/inputmethods/dasher/SettingsStore.h b/inputmethods/dasher/SettingsStore.h
index 8ef9fcf..2ddf152 100644
--- a/inputmethods/dasher/SettingsStore.h
+++ b/inputmethods/dasher/SettingsStore.h
@@ -1,77 +1,78 @@
1// SettingsStore.h 1// SettingsStore.h
2// 2//
3///////////////////////////////////////////////////////////////////////////// 3/////////////////////////////////////////////////////////////////////////////
4// 4//
5// Copyright (c) 2002 Iain Murray 5// Copyright (c) 2002 Iain Murray
6// 6//
7///////////////////////////////////////////////////////////////////////////// 7/////////////////////////////////////////////////////////////////////////////
8 8
9 9
10 10
11#ifndef __SettingsStore_h__ 11#ifndef __SettingsStore_h__
12#define __SettingsStore_h__ 12#define __SettingsStore_h__
13 13
14 14
15#include "MSVC_Unannoy.h" 15#include "MSVC_Unannoy.h"
16#include <string> 16#include <string>
17#include <map> 17#include <map>
18 18
19 19
20/* 20/*
21 The public interface uses UTF-8 strings. All Keys should be 21 The public interface uses UTF-8 strings. All Keys should be
22 in American English and encodable in ASCII. However, 22 in American English and encodable in ASCII. However,
23 string Values may contain special characters where appropriate. 23 string Values may contain special characters where appropriate.
24*/ 24*/
25 25
26 26
27class CSettingsStore 27class CSettingsStore
28{ 28{
29public: 29public:
30 virtual ~CSettingsStore();
30 bool GetBoolOption(const std::string& Key); 31 bool GetBoolOption(const std::string& Key);
31 long GetLongOption(const std::string& Key); 32 long GetLongOption(const std::string& Key);
32 std::string& GetStringOption(const std::string& Key); 33 std::string& GetStringOption(const std::string& Key);
33 34
34 void SetBoolOption(const std::string& Key, bool Value); 35 void SetBoolOption(const std::string& Key, bool Value);
35 void SetLongOption(const std::string& Key, long Value); 36 void SetLongOption(const std::string& Key, long Value);
36 void SetStringOption(const std::string& Key, const std::string& Value); 37 void SetStringOption(const std::string& Key, const std::string& Value);
37 38
38 void SetBoolDefault(const std::string& Key, bool Value); 39 void SetBoolDefault(const std::string& Key, bool Value);
39 void SetLongDefault(const std::string& Key, long Value); 40 void SetLongDefault(const std::string& Key, long Value);
40 void SetStringDefault(const std::string& Key, const std::string& Value); 41 void SetStringDefault(const std::string& Key, const std::string& Value);
41private: 42private:
42 // Platform Specific settings file management 43 // Platform Specific settings file management
43 44
44 // LoadSetting changes Value only if it succeeds in loading the setting, 45 // LoadSetting changes Value only if it succeeds in loading the setting,
45 // in which case it also returns true. Failure is indicated by returning false. 46 // in which case it also returns true. Failure is indicated by returning false.
46 //! Load a setting with a boolean value 47 //! Load a setting with a boolean value
47 // 48 //
48 //! Load a setting with a boolean value. Return true if successful 49 //! Load a setting with a boolean value. Return true if successful
49 //! \param Key Name of the setting 50 //! \param Key Name of the setting
50 //! \param Value Value of the setting 51 //! \param Value Value of the setting
51 virtual bool LoadSetting(const std::string& Key, bool* Value); 52 virtual bool LoadSetting(const std::string& Key, bool* Value);
52 53
53 //! Load a setting with a long value 54 //! Load a setting with a long value
54 // 55 //
55 //! Load a setting with a long value. Return true if successful 56 //! Load a setting with a long value. Return true if successful
56 //! \param Key Name of the setting 57 //! \param Key Name of the setting
57 //! \param Value Value of the setting 58 //! \param Value Value of the setting
58 virtual bool LoadSetting(const std::string& Key, long* Value); 59 virtual bool LoadSetting(const std::string& Key, long* Value);
59 60
60 //! Load a setting with a string value 61 //! Load a setting with a string value
61 // 62 //
62 //! Load a setting with a string value. Return true if successful 63 //! Load a setting with a string value. Return true if successful
63 //! \param Key Name of the setting 64 //! \param Key Name of the setting
64 //! \param Value Value of the setting, UTF8 encoded 65 //! \param Value Value of the setting, UTF8 encoded
65 virtual bool LoadSetting(const std::string& Key, std::string* Value); 66 virtual bool LoadSetting(const std::string& Key, std::string* Value);
66 67
67 //! Save a setting with a boolean value 68 //! Save a setting with a boolean value
68 // 69 //
69 //! \param Key Name of the setting 70 //! \param Key Name of the setting
70 //! \param Value Value of the setting 71 //! \param Value Value of the setting
71 virtual void SaveSetting(const std::string& Key, bool Value); 72 virtual void SaveSetting(const std::string& Key, bool Value);
72 73
73 //! Save a setting with a long value 74 //! Save a setting with a long value
74 // 75 //
75 //! \param Key Name of the setting 76 //! \param Key Name of the setting
76 //! \param Value Value of the setting 77 //! \param Value Value of the setting
77 virtual void SaveSetting(const std::string& Key, long Value); 78 virtual void SaveSetting(const std::string& Key, long Value);