AlbumShaper 1.0a3
SettingGroup Class Reference

SettingGroup contains settings which are releated. More...

#include <settinggroup.h>

Collaboration diagram for SettingGroup:

Public Member Functions

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

Private Attributes

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

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.

22{
23 this->name = name;
24 firstSetting = NULL;
25 lastSetting = NULL;
26 next = NULL;
27}
QString name
groups identifying name
Setting * lastSetting
pointer to last setting in group
SettingGroup * next
pointer to next settingroup
Setting * firstSetting
pointer to first setting in group

References firstSetting, lastSetting, name, and next.

◆ ~SettingGroup()

SettingGroup::~SettingGroup ( )

Destructor.

Definition at line 29 of file settinggroup.cpp.

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

References firstSetting, and Setting::getNext().

Member Function Documentation

◆ getName()

QString SettingGroup::getName ( )

◆ getNext()

◆ getValue()

QString SettingGroup::getValue ( QString key)

Returns a setting value.

Definition at line 45 of file settinggroup.cpp.

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}
QString getKey()
Definition setting.cpp:26
QString getValue()
Definition setting.cpp:31

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

Referenced by Configuration::getString().

◆ loadSettings()

void SettingGroup::loadSettings ( QDomNode & node)

Definition at line 119 of file settinggroup.cpp.

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.

References setValue().

Referenced by Configuration::loadSettings().

◆ resetSetting()

void SettingGroup::resetSetting ( QString key)

resets a setting to its default value

Definition at line 59 of file settinggroup.cpp.

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}
void resetSetting()
resets value to default
Definition setting.cpp:51

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

Referenced by Configuration::resetSetting().

◆ saveSettings()

void SettingGroup::saveSettings ( Q3TextStream & stream)

writes out this group to file

Definition at line 104 of file settinggroup.cpp.

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}
QString getName()
Returns group's name.

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

Referenced by Configuration::saveSettings().

◆ setNext()

void SettingGroup::setNext ( SettingGroup * next)

sets the next group setting

Definition at line 99 of file settinggroup.cpp.

100{
101 this->next = next;
102}

References next.

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

◆ 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.

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}
void setValue(QString value)
Definition setting.cpp:36
void setNext(Setting *next)
sets a pointer to the next setting in the list
Definition setting.cpp:46

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

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

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: