Import fmit upstream version 0.97.6
[fmit.git] / src / AutoQSettings.cpp
1 // Copyright 2007 "Gilles Degottex"
2
3 // This file is part of "fmit"
4
5 // "Music" is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation; either version 2.1 of the License, or
8 // (at your option) any later version.
9 //
10 // "Music" is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
19 using namespace std;
20 #include <qsettings.h>
21 #include "AutoQSettings.h"
22
23 AutoQSettings::AutoQSettings(const QString& domain, const QString& product, const QString& setting_version)
24 {
25         setPath(domain, product);
26         beginGroup(QString("/")+product+setting_version+"/");
27 }
28
29 void AutoQSettings::save(QCheckBox* el)
30 {
31         writeEntry(el->name(), el->isChecked());
32 }
33 void AutoQSettings::load(QCheckBox* el)
34 {
35         el->setChecked(readBoolEntry(el->name(), el->isChecked()));
36 }
37
38 void AutoQSettings::save()
39 {
40         beginGroup("Auto/");
41
42         for(list<QCheckBox*>::iterator it=m_elements_checkbox.begin(); it!=m_elements_checkbox.end(); it++)
43                 writeEntry((*it)->name(), (*it)->isChecked());
44
45         for(list<QSpinBox*>::iterator it=m_elements_spinbox.begin(); it!=m_elements_spinbox.end(); it++)
46                 writeEntry((*it)->name(), (*it)->value());
47
48         for(list<QLineEdit*>::iterator it=m_elements_lineedit.begin(); it!=m_elements_lineedit.end(); it++)
49                 writeEntry((*it)->name(), (*it)->text());
50
51         for(list<QComboBox*>::iterator it=m_elements_combobox.begin(); it!=m_elements_combobox.end(); it++)
52                 writeEntry((*it)->name(), (*it)->currentItem());
53
54         for(list<QGroupBox*>::iterator it=m_elements_qgroupbox.begin(); it!=m_elements_qgroupbox.end(); it++)
55                 writeEntry((*it)->name(), (*it)->isChecked());
56
57         for(list<QRadioButton*>::iterator it=m_elements_qradiobutton.begin(); it!=m_elements_qradiobutton.end(); it++)
58                 writeEntry((*it)->name(), (*it)->isChecked());
59
60         endGroup();
61 }
62 void AutoQSettings::load()
63 {
64         beginGroup("Auto/");
65
66         for(list<QCheckBox*>::iterator it=m_elements_checkbox.begin(); it!=m_elements_checkbox.end(); it++)
67                 (*it)->setChecked(readBoolEntry((*it)->name(), (*it)->isChecked()));
68
69         for(list<QSpinBox*>::iterator it=m_elements_spinbox.begin(); it!=m_elements_spinbox.end(); it++)
70                 (*it)->setValue(readNumEntry((*it)->name(), (*it)->value()));
71
72         for(list<QLineEdit*>::iterator it=m_elements_lineedit.begin(); it!=m_elements_lineedit.end(); it++)
73                 (*it)->setText(readEntry((*it)->name(), ((*it)->text())));
74
75         for(list<QComboBox*>::iterator it=m_elements_combobox.begin(); it!=m_elements_combobox.end(); it++)
76                 (*it)->setCurrentItem(readNumEntry((*it)->name(), (*it)->currentItem()));
77
78         for(list<QGroupBox*>::iterator it=m_elements_qgroupbox.begin(); it!=m_elements_qgroupbox.end(); it++)
79                 (*it)->setChecked(readBoolEntry((*it)->name(), (*it)->isChecked()));
80
81         for(list<QRadioButton*>::iterator it=m_elements_qradiobutton.begin(); it!=m_elements_qradiobutton.end(); it++)
82                 (*it)->setChecked(readBoolEntry((*it)->name(), (*it)->isChecked()));
83
84         endGroup();
85 }
86 void AutoQSettings::clear()
87 {
88         beginGroup("Auto/");
89
90         for(list<QCheckBox*>::iterator it=m_elements_checkbox.begin(); it!=m_elements_checkbox.end(); it++)
91                 removeEntry((*it)->name());
92
93         for(list<QSpinBox*>::iterator it=m_elements_spinbox.begin(); it!=m_elements_spinbox.end(); it++)
94                 removeEntry((*it)->name());
95
96         for(list<QLineEdit*>::iterator it=m_elements_lineedit.begin(); it!=m_elements_lineedit.end(); it++)
97                 removeEntry((*it)->name());
98
99         for(list<QComboBox*>::iterator it=m_elements_combobox.begin(); it!=m_elements_combobox.end(); it++)
100                 removeEntry((*it)->name());
101
102         endGroup();
103 }