AlbumShaper  1.0a3
Public Member Functions | Private Attributes | List of all members
SettingGroup Class Reference

SettingGroup contains settings which are releated. More...

#include <settinggroup.h>

Collaboration diagram for SettingGroup:
Collaboration graph
[legend]

Public Member Functions

 SettingGroup (QString name)
 Creates configuration variables using default avlues. More...
 
 ~SettingGroup ()
 Destructor. More...
 
QString getName ()
 Returns group's name. More...
 
QString getValue (QString key)
 Returns a setting value. More...
 
void setValue (QString key, QString value)
 Sets a setting value, create new setting if setting not found. More...
 
SettingGroupgetNext ()
 returns the next groupsetting More...
 
void setNext (SettingGroup *next)
 sets the next group setting More...
 
void loadSettings (QDomNode &node)
 
void saveSettings (Q3TextStream &stream)
 writes out this group to file More...
 
void resetSetting (QString key)
 resets a setting to its default value More...
 

Private Attributes

QString name
 groups identifying name More...
 
SettingfirstSetting
 pointer to first setting in group More...
 
SettinglastSetting
 pointer to last setting in group More...
 
SettingGroupnext
 pointer to next settingroup More...
 

Detailed Description

SettingGroup contains settings which are releated.

Definition at line 27 of file settinggroup.h.

Constructor & Destructor Documentation

§ SettingGroup()

SettingGroup::SettingGroup ( QString  name)

Creates configuration variables using default avlues.

Definition at line 21 of file settinggroup.cpp.

References firstSetting, lastSetting, name, and next.

22 {
23  this->name = name;
24  firstSetting = NULL;
25  lastSetting = NULL;
26  next = NULL;
27 }
QString name
groups identifying name
Definition: settinggroup.h:63
Setting * lastSetting
pointer to last setting in group
Definition: settinggroup.h:69
Setting * firstSetting
pointer to first setting in group
Definition: settinggroup.h:66
SettingGroup * next
pointer to next settingroup
Definition: settinggroup.h:72

§ ~SettingGroup()

SettingGroup::~SettingGroup ( )

Destructor.

Definition at line 29 of file settinggroup.cpp.

References firstSetting, and Setting::getNext().

30 {
31  Setting* cur = firstSetting;
32  while(cur != NULL)
33  {
34  Setting* t = cur->getNext();
35  delete cur;
36  cur = t;
37  }
38 }
Setting * getNext()
gets a pointer to the next setting in the list
Definition: setting.cpp:41
Setting class, allows the setting and retrieval of setting values.
Definition: setting.h:23
Setting * firstSetting
pointer to first setting in group
Definition: settinggroup.h:66

Member Function Documentation

§ getName()

QString SettingGroup::getName ( )

Returns group's name.

Definition at line 40 of file settinggroup.cpp.

References name.

Referenced by Configuration::getString(), Configuration::loadSettings(), Configuration::removeGroup(), Configuration::resetSetting(), saveSettings(), and Configuration::setString().

41 {
42  return name;
43 }
QString name
groups identifying name
Definition: settinggroup.h:63

§ getNext()

SettingGroup * SettingGroup::getNext ( )

returns the next groupsetting

Definition at line 94 of file settinggroup.cpp.

References next.

Referenced by Configuration::getString(), Configuration::loadSettings(), Configuration::removeGroup(), Configuration::resetSetting(), Configuration::saveSettings(), Configuration::setString(), and Configuration::~Configuration().

95 {
96  return next;
97 }
SettingGroup * next
pointer to next settingroup
Definition: settinggroup.h:72

§ getValue()

QString SettingGroup::getValue ( QString  key)

Returns a setting value.

Definition at line 45 of file settinggroup.cpp.

References firstSetting, Setting::getKey(), Setting::getNext(), and Setting::getValue().

Referenced by Configuration::getString().

46 {
47  Setting* cur = firstSetting;
48  while(cur != NULL)
49  {
50  if(cur->getKey().compare(key) == 0)
51  {
52  return cur->getValue();
53  }
54  cur = cur->getNext();
55  }
56  return "-1";
57 }
Setting * getNext()
gets a pointer to the next setting in the list
Definition: setting.cpp:41
Setting class, allows the setting and retrieval of setting values.
Definition: setting.h:23
QString getValue()
Definition: setting.cpp:31
QString getKey()
Definition: setting.cpp:26
Setting * firstSetting
pointer to first setting in group
Definition: settinggroup.h:66

§ loadSettings()

void SettingGroup::loadSettings ( QDomNode &  node)

Definition at line 119 of file settinggroup.cpp.

References setValue().

Referenced by Configuration::loadSettings().

120 {
121  //iterate over all children (Settings)
122  QDomNode node = root.firstChild();
123  QDomText val;
124  while( !node.isNull() )
125  {
126  if( node.isElement() && node.nodeName() == "setting" )
127  {
128  //find key and value, if either is missing move on to next setting
129  QDomNamedNodeMap attributes = node.attributes();
130  if(attributes.namedItem("key").isNull() || attributes.namedItem("value").isNull())
131  {
132  node = node.nextSibling();
133  continue;
134  }
135 
136 
137  QString k = attributes.namedItem("key").nodeValue();
138  QString v = attributes.namedItem("value").nodeValue();
139 
140  //key and value found -> add new setting
141  setValue( attributes.namedItem("key").nodeValue(),
142  attributes.namedItem("value").nodeValue() );
143  }
144 
145  //move on to next setting
146  node = node.nextSibling();
147  }
148 }
void setValue(QString key, QString value)
Sets a setting value, create new setting if setting not found.

§ resetSetting()

void SettingGroup::resetSetting ( QString  key)

resets a setting to its default value

Definition at line 59 of file settinggroup.cpp.

References firstSetting, Setting::getKey(), Setting::getNext(), and Setting::resetSetting().

Referenced by Configuration::resetSetting().

60 {
61  Setting* cur = firstSetting;
62  while(cur != NULL)
63  {
64  if(cur->getKey().compare(key) == 0)
65  {
66  cur->resetSetting();
67  }
68  cur = cur->getNext();
69  }
70 }
Setting * getNext()
gets a pointer to the next setting in the list
Definition: setting.cpp:41
Setting class, allows the setting and retrieval of setting values.
Definition: setting.h:23
QString getKey()
Definition: setting.cpp:26
Setting * firstSetting
pointer to first setting in group
Definition: settinggroup.h:66
void resetSetting()
resets value to default
Definition: setting.cpp:51

§ saveSettings()

void SettingGroup::saveSettings ( Q3TextStream &  stream)

writes out this group to file

Definition at line 104 of file settinggroup.cpp.

References firstSetting, Setting::getKey(), getName(), Setting::getNext(), and Setting::getValue().

Referenced by Configuration::saveSettings().

105 {
106  stream << " <group name=\"" << getName() << "\">\n";
107 
108  //iterate over every setting
109  Setting* cur = firstSetting;
110  while(cur != NULL)
111  {
112  stream << " <setting key=\"" << cur->getKey() << "\" value=\"" << cur->getValue() << "\"/>\n";
113  cur = cur->getNext();
114  }
115 
116  stream << " </group>\n";
117 }
Setting * getNext()
gets a pointer to the next setting in the list
Definition: setting.cpp:41
Setting class, allows the setting and retrieval of setting values.
Definition: setting.h:23
QString getValue()
Definition: setting.cpp:31
QString getName()
Returns group&#39;s name.
QString getKey()
Definition: setting.cpp:26
Setting * firstSetting
pointer to first setting in group
Definition: settinggroup.h:66

§ setNext()

void SettingGroup::setNext ( SettingGroup next)

sets the next group setting

Definition at line 99 of file settinggroup.cpp.

References next.

Referenced by Configuration::loadSettings(), Configuration::removeGroup(), and Configuration::setString().

100 {
101  this->next = next;
102 }
SettingGroup * next
pointer to next settingroup
Definition: settinggroup.h:72

§ setValue()

void SettingGroup::setValue ( QString  key,
QString  value 
)

Sets a setting value, create new setting if setting not found.

Definition at line 72 of file settinggroup.cpp.

References firstSetting, Setting::getKey(), Setting::getNext(), lastSetting, Setting::setNext(), and Setting::setValue().

Referenced by loadSettings(), and Configuration::setString().

73 {
74  Setting* cur = firstSetting;
75  while(cur != NULL)
76  {
77  if(cur->getKey().compare(key) == 0)
78  {
79  cur->setValue(value);
80  return;
81  }
82  cur = cur->getNext();
83  }
84 
85  //setting not found, create new one and append to list
86  cur = new Setting(key, value);
87  if(firstSetting == NULL)
88  firstSetting = cur;
89  else
90  lastSetting->setNext(cur);
91  lastSetting = cur;
92 }
Setting * getNext()
gets a pointer to the next setting in the list
Definition: setting.cpp:41
Setting class, allows the setting and retrieval of setting values.
Definition: setting.h:23
Setting * lastSetting
pointer to last setting in group
Definition: settinggroup.h:69
void setNext(Setting *next)
sets a pointer to the next setting in the list
Definition: setting.cpp:46
QString getKey()
Definition: setting.cpp:26
void setValue(QString value)
Definition: setting.cpp:36
Setting * firstSetting
pointer to first setting in group
Definition: settinggroup.h:66

Member Data Documentation

§ firstSetting

Setting* SettingGroup::firstSetting
private

pointer to first setting in group

Definition at line 66 of file settinggroup.h.

Referenced by getValue(), resetSetting(), saveSettings(), SettingGroup(), setValue(), and ~SettingGroup().

§ lastSetting

Setting* SettingGroup::lastSetting
private

pointer to last setting in group

Definition at line 69 of file settinggroup.h.

Referenced by SettingGroup(), and setValue().

§ name

QString SettingGroup::name
private

groups identifying name

Definition at line 63 of file settinggroup.h.

Referenced by getName(), and SettingGroup().

§ next

SettingGroup* SettingGroup::next
private

pointer to next settingroup

Definition at line 72 of file settinggroup.h.

Referenced by getNext(), setNext(), and SettingGroup().


The documentation for this class was generated from the following files: