Import upstream version 0.99.2
[fmit.git] / src / AutoQSettings.cpp
index 6725b02..476a432 100644 (file)
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
+#include <iostream>
 using namespace std;
 #include <qsettings.h>
 #include "AutoQSettings.h"
 
 AutoQSettings::AutoQSettings(const QString& domain, const QString& product, const QString& setting_version)
+       : QSettings(QSettings::UserScope, domain, product)
 {
-       setPath(domain, product);
        beginGroup(QString("/")+product+setting_version+"/");
+    cerr << "AutoQSettings: " << fileName().toStdString() << endl;
+}
+
+void AutoQSettings::add(QCheckBox* el)
+{
+       assert(el->objectName()!="");
+       m_elements_checkbox.push_back(el);
+}
+void AutoQSettings::add(QSpinBox* el)
+{
+       assert(el->objectName()!="");
+       m_elements_spinbox.push_back(el);
+}
+void AutoQSettings::add(QLineEdit* el)
+{
+       assert(el->objectName()!="");
+       m_elements_lineedit.push_back(el);
+}
+void AutoQSettings::add(QComboBox* el)
+{
+       assert(el->objectName()!="");
+       m_elements_combobox.push_back(el);
+}
+void AutoQSettings::add(QGroupBox* el)
+{
+       assert(el->objectName()!="");
+       m_elements_qgroupbox.push_back(el);
+}
+void AutoQSettings::add(QRadioButton* el)
+{
+       assert(el->objectName()!="");
+       m_elements_qradiobutton.push_back(el);
 }
 
 void AutoQSettings::save(QCheckBox* el)
 {
-       writeEntry(el->name(), el->isChecked());
+       setValue(el->objectName(), el->isChecked());
 }
 void AutoQSettings::load(QCheckBox* el)
 {
-       el->setChecked(readBoolEntry(el->name(), el->isChecked()));
+       el->setChecked(value(el->objectName(), el->isChecked()).toBool());
 }
 
 void AutoQSettings::save()
@@ -40,22 +73,22 @@ void AutoQSettings::save()
        beginGroup("Auto/");
 
        for(list<QCheckBox*>::iterator it=m_elements_checkbox.begin(); it!=m_elements_checkbox.end(); it++)
-               writeEntry((*it)->name(), (*it)->isChecked());
+               setValue((*it)->objectName(), (*it)->isChecked());
 
        for(list<QSpinBox*>::iterator it=m_elements_spinbox.begin(); it!=m_elements_spinbox.end(); it++)
-               writeEntry((*it)->name(), (*it)->value());
+               setValue((*it)->objectName(), (*it)->value());
 
        for(list<QLineEdit*>::iterator it=m_elements_lineedit.begin(); it!=m_elements_lineedit.end(); it++)
-               writeEntry((*it)->name(), (*it)->text());
+               setValue((*it)->objectName(), (*it)->text());
 
        for(list<QComboBox*>::iterator it=m_elements_combobox.begin(); it!=m_elements_combobox.end(); it++)
-               writeEntry((*it)->name(), (*it)->currentItem());
+               setValue((*it)->objectName(), (*it)->currentIndex());
 
        for(list<QGroupBox*>::iterator it=m_elements_qgroupbox.begin(); it!=m_elements_qgroupbox.end(); it++)
-               writeEntry((*it)->name(), (*it)->isChecked());
+               setValue((*it)->objectName(), (*it)->isChecked());
 
        for(list<QRadioButton*>::iterator it=m_elements_qradiobutton.begin(); it!=m_elements_qradiobutton.end(); it++)
-               writeEntry((*it)->name(), (*it)->isChecked());
+               setValue((*it)->objectName(), (*it)->isChecked());
 
        endGroup();
 }
@@ -64,22 +97,22 @@ void AutoQSettings::load()
        beginGroup("Auto/");
 
        for(list<QCheckBox*>::iterator it=m_elements_checkbox.begin(); it!=m_elements_checkbox.end(); it++)
-               (*it)->setChecked(readBoolEntry((*it)->name(), (*it)->isChecked()));
+               (*it)->setChecked(value((*it)->objectName(), (*it)->isChecked()).toBool());
 
        for(list<QSpinBox*>::iterator it=m_elements_spinbox.begin(); it!=m_elements_spinbox.end(); it++)
-               (*it)->setValue(readNumEntry((*it)->name(), (*it)->value()));
+               (*it)->setValue(value((*it)->objectName(), (*it)->value()).toInt());
 
        for(list<QLineEdit*>::iterator it=m_elements_lineedit.begin(); it!=m_elements_lineedit.end(); it++)
-               (*it)->setText(readEntry((*it)->name(), ((*it)->text())));
+               (*it)->setText(value((*it)->objectName(), ((*it)->text())).toString());
 
        for(list<QComboBox*>::iterator it=m_elements_combobox.begin(); it!=m_elements_combobox.end(); it++)
-               (*it)->setCurrentItem(readNumEntry((*it)->name(), (*it)->currentItem()));
+               (*it)->setCurrentIndex(value((*it)->objectName(), (*it)->currentIndex()).toInt());
 
        for(list<QGroupBox*>::iterator it=m_elements_qgroupbox.begin(); it!=m_elements_qgroupbox.end(); it++)
-               (*it)->setChecked(readBoolEntry((*it)->name(), (*it)->isChecked()));
+               (*it)->setChecked(value((*it)->objectName(), (*it)->isChecked()).toBool());
 
        for(list<QRadioButton*>::iterator it=m_elements_qradiobutton.begin(); it!=m_elements_qradiobutton.end(); it++)
-               (*it)->setChecked(readBoolEntry((*it)->name(), (*it)->isChecked()));
+               (*it)->setChecked(value((*it)->objectName(), (*it)->isChecked()).toBool());
 
        endGroup();
 }
@@ -88,16 +121,22 @@ void AutoQSettings::clear()
        beginGroup("Auto/");
 
        for(list<QCheckBox*>::iterator it=m_elements_checkbox.begin(); it!=m_elements_checkbox.end(); it++)
-               removeEntry((*it)->name());
+               remove((*it)->objectName());
 
        for(list<QSpinBox*>::iterator it=m_elements_spinbox.begin(); it!=m_elements_spinbox.end(); it++)
-               removeEntry((*it)->name());
+               remove((*it)->objectName());
 
        for(list<QLineEdit*>::iterator it=m_elements_lineedit.begin(); it!=m_elements_lineedit.end(); it++)
-               removeEntry((*it)->name());
+               remove((*it)->objectName());
 
        for(list<QComboBox*>::iterator it=m_elements_combobox.begin(); it!=m_elements_combobox.end(); it++)
-               removeEntry((*it)->name());
+               remove((*it)->objectName());
 
-       endGroup();
+    for(list<QGroupBox*>::iterator it=m_elements_qgroupbox.begin(); it!=m_elements_qgroupbox.end(); it++)
+        remove((*it)->objectName());
+
+    for(list<QRadioButton*>::iterator it=m_elements_qradiobutton.begin(); it!=m_elements_qradiobutton.end(); it++)
+        remove((*it)->objectName());
+
+    endGroup();
 }