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.
 
SettingGroup * getNext ()
 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
 
Setting * firstSetting
 pointer to first setting in group
 
Setting * lastSetting
 pointer to last setting in group
 
SettingGroup * next
 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: