Index: branches/qt_gui/src/defs/globals.h
===================================================================
--- branches/qt_gui/src/defs/globals.h	(revision 7595)
+++ branches/qt_gui/src/defs/globals.h	(revision 7598)
@@ -54,5 +54,5 @@
 #define   CONFIG_NAME_FOG                  "Fog"
 #define   CONFIG_NAME_REFLECTIONS          "Reflections"
-#define   CONFIG_NAME_TEXTURES             "TEXTURES"
+#define   CONFIG_NAME_TEXTURES             "Textures"
 #define   CONFIG_NAME_TEXTURE_DETAIL       "Texture-Detail"
 #define   CONFIG_NAME_MODEL_DETAIL         "Model-Detail"
Index: branches/qt_gui/src/lib/gui/gui.cc
===================================================================
--- branches/qt_gui/src/lib/gui/gui.cc	(revision 7595)
+++ branches/qt_gui/src/lib/gui/gui.cc	(revision 7598)
@@ -17,4 +17,6 @@
 
 #include "gui.h"
+#include "gui_saveable.h"
+
 
 namespace OrxGui
@@ -40,4 +42,19 @@
   }
 
+
+  void Gui::loadAll()
+  {
+    std::vector<SaveableGroup*>::iterator loadElem;
+    for (loadElem = this->groups.begin(); loadElem != this->groups.end(); ++loadElem)
+    {
+      (*loadElem)->load();
+    }
+
+  }
+
+  void Gui::saveAll()
+  {
+
+  }
 
   /**
Index: branches/qt_gui/src/lib/gui/gui.h
===================================================================
--- branches/qt_gui/src/lib/gui/gui.h	(revision 7595)
+++ branches/qt_gui/src/lib/gui/gui.h	(revision 7598)
@@ -42,5 +42,6 @@
 
     unsigned int getState() const { return this->state; };
-
+    void loadAll();
+    void saveAll();
 
     void addSaveableGroup(SaveableGroup* saveableGroup);
Index: branches/qt_gui/src/lib/gui/gui_saveable.cc
===================================================================
--- branches/qt_gui/src/lib/gui/gui_saveable.cc	(revision 7595)
+++ branches/qt_gui/src/lib/gui/gui_saveable.cc	(revision 7598)
@@ -55,12 +55,15 @@
 
 
-  void Saveable::load(const MultiType& value)
+  void Saveable::load()
   {
-    Preferences::getInstance()->setMultiType(this->group->getName(), this->getName(), value);
+    this->value() = Preferences::getInstance()->getMultiType(this->group->getName(), this->getName(), this->_value);
+    PRINTF(4)("Loaded to '%s' of group '%s' value ", this->getName(), this->group->getName());
+    this->value().debug();
+
   }
 
-  const MultiType& Saveable::save()
+  void Saveable::save()
   {
-    Preferences::getInstance()->getMultiType(this->group->getName(), this->getName(), 0);
+    Preferences::getInstance()->setMultiType(this->group->getName(), this->getName(), this->value());
   }
 
@@ -112,6 +115,9 @@
    * @param value the Value to load.
    */
-  void SaveableGroup::load(const MultiType& value)
+  void SaveableGroup::load()
   {
+    std::vector<Saveable*>::iterator elem;
+    for (elem = this->saveables.begin(); elem != this->saveables.end(); ++elem)
+      (*elem)->load();
   }
 
@@ -120,5 +126,5 @@
    * @returns nothing.
    */
-  const MultiType& SaveableGroup::save()
+  void SaveableGroup::save()
   {}
 
Index: branches/qt_gui/src/lib/gui/gui_saveable.h
===================================================================
--- branches/qt_gui/src/lib/gui/gui_saveable.h	(revision 7595)
+++ branches/qt_gui/src/lib/gui/gui_saveable.h	(revision 7598)
@@ -25,6 +25,6 @@
     void makeSaveable();
 
-    virtual void load(const MultiType& value);
-    virtual const MultiType& save();
+    virtual void load();
+    virtual void save();
 
     MultiType&       value() { return this->_value; };
@@ -52,6 +52,6 @@
     void removeSaveable(Saveable* saveable);
 
-    virtual void load(const MultiType& value);
-    virtual const MultiType& save();
+    virtual void load();
+    virtual void save();
 
   protected:
Index: branches/qt_gui/src/lib/gui/qt_gui/gui_video.cc
===================================================================
--- branches/qt_gui/src/lib/gui/qt_gui/gui_video.cc	(revision 7595)
+++ branches/qt_gui/src/lib/gui/qt_gui/gui_video.cc	(revision 7598)
@@ -28,5 +28,5 @@
 
 #include <QtGui/QLayout>
-#include "sdlincl.h"
+#include "globals.h"
 #include "debug.h"
 
@@ -39,14 +39,14 @@
   */
   GuiVideo::GuiVideo(OrxGui::Gui* gui)
-      : Element("Video", gui), QGroupBox()
+  : Element(CONFIG_SECTION_VIDEO, gui), QGroupBox()
   {
     QGridLayout* layout = new QGridLayout(this);
 
     {
-      QtGuiCheckBox* fullscreen = new QtGuiCheckBox("FullScreen", this);
+      QtGuiCheckBox* fullscreen = new QtGuiCheckBox(CONFIG_NAME_FULLSCREEN, this);
       //fullscreen->setName();
       layout->addWidget(fullscreen, 0, 0);
 
-      QtGuiCheckBox* wireframe = new QtGuiCheckBox("Wireframe mode", this);
+      QtGuiCheckBox* wireframe = new QtGuiCheckBox(CONFIG_NAME_WIREFRAME, this);
       layout->addWidget(wireframe, 1, 0);
 
@@ -61,29 +61,6 @@
 
 
-      QGroupBox* advanced = new QGroupBox("advanced");
-      {
-        QGridLayout* advLayout = new QGridLayout(advanced);              //!< Advanced Layout
-        {
-          QtGuiCheckBox* shadows = new QtGuiCheckBox("Shadows", this);         //!< CheckBox for shadows
-          advLayout->addWidget(shadows, 0,0);
-          QtGuiCheckBox* fog = new QtGuiCheckBox("Fog", this);                 //!< CheckBox for fog.
-          advLayout->addWidget(fog, 1,0);
-          QtGuiCheckBox* reflections = new QtGuiCheckBox("reflections", this);  //!< CheckBox for reflections
-          advLayout->addWidget(reflections, 2, 0);
-          QtGuiCheckBox* textures = new QtGuiCheckBox("textures", this);       //!< CheckBox for textures
-          advLayout->addWidget(textures, 3, 0);
-          /*
-          Menu* textureDetail;      //!< Menu for the Texture-Detail.
-          Label* modelDetailLabel;  //!< Label for model-detail.
-          Menu* modelDetail;        //!< model-detail.
-          CheckBox* particles;   //!< If the Particles should be enabled
-          Label* antiAliasingLabel; //!< Label for the anti-aliasing mode.
-          Menu* antiAliasing;       //!< Menu for the Antialiasing-mode.
-          Label* filterMethodLabel; //!< Label for filtering-Method.
-          Menu* filterMethod;       //!< Menu for filtering Method.
-          Button* closeButton;      //!< A Button to close the Advanced-settingsWindow.
-          */
-        }
-      }
+      QGroupBox* advanced = new GuiAdvancedVideo(gui);
+
 
       layout->addWidget(advanced, 0, 2, 4, 1);
@@ -146,3 +123,38 @@
   }
 
+
+
+  GuiAdvancedVideo::GuiAdvancedVideo(OrxGui::Gui* gui)
+  : Element(CONFIG_SECTION_VIDEO_ADVANCED ,gui)
+  {
+    {
+      QGridLayout* advLayout = new QGridLayout(this);              //!< Advanced Layout
+      {
+        QtGuiCheckBox* shadows = new QtGuiCheckBox(CONFIG_NAME_SHADOWS, this);         //!< CheckBox for shadows
+        advLayout->addWidget(shadows, 0,0);
+        QtGuiCheckBox* fog = new QtGuiCheckBox(CONFIG_NAME_FOG, this);                 //!< CheckBox for fog.
+        advLayout->addWidget(fog, 1,0);
+        QtGuiCheckBox* reflections = new QtGuiCheckBox(CONFIG_NAME_REFLECTIONS, this);  //!< CheckBox for reflections
+        advLayout->addWidget(reflections, 2, 0);
+        QtGuiCheckBox* textures = new QtGuiCheckBox(CONFIG_NAME_TEXTURES, this);       //!< CheckBox for textures
+        advLayout->addWidget(textures, 3, 0);
+          /*
+        Menu* textureDetail;      //!< Menu for the Texture-Detail.
+        Label* modelDetailLabel;  //!< Label for model-detail.
+        Menu* modelDetail;        //!< model-detail.
+        CheckBox* particles;   //!< If the Particles should be enabled
+        Label* antiAliasingLabel; //!< Label for the anti-aliasing mode.
+        Menu* antiAliasing;       //!< Menu for the Antialiasing-mode.
+        Label* filterMethodLabel; //!< Label for filtering-Method.
+        Menu* filterMethod;       //!< Menu for filtering Method.
+        Button* closeButton;      //!< A Button to close the Advanced-settingsWindow.
+          */
+      }
+    }
+  }
+
+  GuiAdvancedVideo::~GuiAdvancedVideo()
+  {
+  }
+
 }
Index: branches/qt_gui/src/lib/gui/qt_gui/gui_video.h
===================================================================
--- branches/qt_gui/src/lib/gui/qt_gui/gui_video.h	(revision 7595)
+++ branches/qt_gui/src/lib/gui/qt_gui/gui_video.h	(revision 7598)
@@ -23,4 +23,11 @@
     void getResolutions(std::vector<QString>& resolutionList);
   };
+
+  class GuiAdvancedVideo : public OrxGui::Element, public QGroupBox
+  {
+    public:
+      GuiAdvancedVideo(OrxGui::Gui* gui);
+      virtual ~GuiAdvancedVideo();
+  };
 }
 
Index: branches/qt_gui/src/lib/gui/qt_gui/qt_gui.cc
===================================================================
--- branches/qt_gui/src/lib/gui/qt_gui/qt_gui.cc	(revision 7595)
+++ branches/qt_gui/src/lib/gui/qt_gui/qt_gui.cc	(revision 7598)
@@ -73,5 +73,7 @@
     this->mainWindow->show();
 
+    this->loadAll();
     this->exec();
+
   }
 
@@ -82,5 +84,6 @@
 
   void QtGui::startGui()
-  {}
+  {
+  }
 
   void QtGui::stopGui()
Index: branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.cc
===================================================================
--- branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.cc	(revision 7595)
+++ branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.cc	(revision 7598)
@@ -18,5 +18,4 @@
 #include "qt_gui_elements.h"
 
-
 namespace OrxGui
 {
@@ -30,15 +29,17 @@
   }
 
-  void QtGuiCheckBox::load(const MultiType& value)
+  void QtGuiCheckBox::load()
   {
-    this->setTristate(value.getBool());
-    this->value() = value;
+    Saveable::load();
+    if (this->value().getBool())
+      this->setCheckState(Qt::Checked);
+    else
+      this->setCheckState(Qt::Unchecked);
   }
 
 
 
-  const MultiType& QtGuiCheckBox::save()
+  void QtGuiCheckBox::save()
   {
-    return this->value();
   }
 
@@ -69,13 +70,11 @@
   }
 
-  void QtGuiComboBox::load(const MultiType& value)
+  void QtGuiComboBox::load()
   {
-    this->value() = value;
     //TODO
   }
 
-  const MultiType& QtGuiComboBox::save()
+  void QtGuiComboBox::save()
   {
-    return this->value();
   }
 
@@ -89,15 +88,13 @@
 
 
-  void QtGuiInputLine::load(const MultiType& value)
+  void QtGuiInputLine::load()
   {
-    this->setText(value.getString().c_str());
-    this->value() = value;
+    this->setText(this->value().getString().c_str());
   }
 
 
 
-  const MultiType& QtGuiInputLine::save()
+  void QtGuiInputLine::save()
   {
-    return this->value();
   }
 
Index: branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.h
===================================================================
--- branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.h	(revision 7595)
+++ branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.h	(revision 7598)
@@ -33,6 +33,6 @@
     virtual ~QtGuiCheckBox() {};
 
-    virtual void load(const MultiType& value);
-    virtual const MultiType& save();
+    virtual void load();
+    virtual void save();
 
   public slots:
@@ -66,6 +66,6 @@
     QtGuiComboBox(const std::string& name, SaveableGroup* group);
 
-    virtual void load(const MultiType& value);
-    virtual const MultiType& save();
+    virtual void load();
+    virtual void save();
   };
 
@@ -77,6 +77,6 @@
     QtGuiInputLine(const std::string& name, SaveableGroup* group);
 
-    virtual void load(const MultiType& value);
-    virtual const MultiType& save();
+    virtual void load();
+    virtual void save();
   };
 
