Index: /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 66593)
@@ -295,5 +295,4 @@
 	src/UIMediumTypeChangeDialog.h \
 	src/VBoxAboutDlg.h \
-	src/VBoxGlobalSettings.h \
 	src/VBoxLicenseViewer.h \
 	src/VBoxSnapshotDetailsDlg.h \
@@ -592,5 +591,4 @@
 	src/UIMediumTypeChangeDialog.cpp \
 	src/VBoxAboutDlg.cpp \
-	src/VBoxGlobalSettings.cpp \
 	src/VBoxLicenseViewer.cpp \
 	src/VBoxSnapshotDetailsDlg.cpp \
Index: unk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.cpp	(revision 66592)
+++ 	(revision )
@@ -1,238 +1,0 @@
-/* $Id$ */
-/** @file
- * VBox Qt GUI - VBoxGlobalSettingsData, VBoxGlobalSettings class implementation.
- */
-
-/*
- * Copyright (C) 2006-2016 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#ifdef VBOX_WITH_PRECOMPILED_HEADERS
-# include <precomp.h>
-#else  /* !VBOX_WITH_PRECOMPILED_HEADERS */
-
-/* Qt includes: */
-# include <QString>
-# include <QRegExp>
-# include <QVariant>
-
-/* GUI includes: */
-# include "UIDefs.h"
-# include "UIExtraDataDefs.h"
-# include "VBoxGlobalSettings.h"
-
-/* COM includes: */
-# include "COMEnums.h"
-# include "CVirtualBox.h"
-
-# ifdef VBOX_WS_MAC
-/* Namespaces: */
-using namespace UIExtraDataDefs;
-# endif /* VBOX_WS_MAC */
-
-#endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
-
-
-/** @class VBoxGlobalSettingsData
- *
- *  The VBoxGlobalSettingsData class encapsulates the global settings
- *  of the VirtualBox.
- */
-
-VBoxGlobalSettingsData::VBoxGlobalSettingsData()
-{
-    /* default settings */
-    hostScreenSaverDisabled = false;
-}
-
-VBoxGlobalSettingsData::VBoxGlobalSettingsData (const VBoxGlobalSettingsData &that)
-{
-    hostScreenSaverDisabled = that.hostScreenSaverDisabled;
-}
-
-VBoxGlobalSettingsData::~VBoxGlobalSettingsData()
-{
-}
-
-bool VBoxGlobalSettingsData::operator== (const VBoxGlobalSettingsData &that) const
-{
-    return this == &that ||
-        (hostScreenSaverDisabled == that.hostScreenSaverDisabled
-        );
-}
-
-/** @class VBoxGlobalSettings
- *
- *  The VBoxGlobalSettings class is a wrapper class for VBoxGlobalSettingsData
- *  to implement implicit sharing of VirtualBox global data.
- */
-
-static struct
-{
-    const char *publicName;
-    const char *name;
-    const char *rx;
-    bool canDelete;
-}
-gPropertyMap[] =
-{
-    { "GUI/HostScreenSaverDisabled",               "hostScreenSaverDisabled", "true|false", true }
-};
-
-/**
- *  Loads the settings from the (global) extra data area of VirtualBox.
- *
- *  If an error occurs while accessing extra data area, the method immediately
- *  returns and the vbox argument will hold all error info (and therefore
- *  vbox.isOk() will be false to indicate this).
- *
- *  If an error occurs while setting the value of some property, the method
- *  also returns immediately. #operator !() will return false in this case
- *  and #lastError() will contain the error message.
- *
- *  @note   This method emits the #propertyChanged() signal.
- */
-void VBoxGlobalSettings::load (CVirtualBox &vbox)
-{
-    for (size_t i = 0; i < SIZEOF_ARRAY(gPropertyMap); i++)
-    {
-        QString value = vbox.GetExtraData(gPropertyMap[i].publicName);
-        if (!vbox.isOk())
-            return;
-        /* Check for the host key upgrade path. */
-        if (   value.isEmpty()
-            && QString(gPropertyMap[i].publicName) == "GUI/Input/HostKeyCombination")
-            value = vbox.GetExtraData("GUI/Input/HostKey");
-        /* Empty value means the key is absent. It is OK, the default will
-         * apply. */
-        if (value.isEmpty())
-            continue;
-        /* Try to set the property validating it against rx. */
-        setPropertyPrivate(i, value);
-        if (!(*this))
-            break;
-    }
-}
-
-/**
- *  Saves the settings to the (global) extra data area of VirtualBox.
- *
- *  If an error occurs while accessing extra data area, the method immediately
- *  returns and the vbox argument will hold all error info (and therefore
- *  vbox.isOk() will be false to indicate this).
- */
-void VBoxGlobalSettings::save (CVirtualBox &vbox) const
-{
-    for (size_t i = 0; i < SIZEOF_ARRAY (gPropertyMap); i++)
-    {
-        QVariant value = property (gPropertyMap [i].name);
-        Assert (value.isValid() && value.canConvert (QVariant::String));
-
-        vbox.SetExtraData (gPropertyMap [i].publicName, value.toString());
-        if (!vbox.isOk())
-            return;
-    }
-}
-
-/**
- *  Returns a value of the property with the given public name
- *  or QString::null if there is no such public property.
- */
-QString VBoxGlobalSettings::publicProperty (const QString &publicName) const
-{
-    for (size_t i = 0; i < SIZEOF_ARRAY (gPropertyMap); i++)
-    {
-        if (gPropertyMap [i].publicName == publicName)
-        {
-            QVariant value = property (gPropertyMap [i].name);
-            Assert (value.isValid() && value.canConvert (QVariant::String));
-
-            if (value.isValid() && value.canConvert (QVariant::String))
-                return value.toString();
-            else
-                break;
-        }
-    }
-
-    return QString::null;
-}
-
-/**
- *  Sets a value of a property with the given public name.
- *  Returns false if the specified property is not found, and true otherwise.
- *
- *  This method (as opposed to #setProperty (const char *name, const QVariant& value))
- *  validates the value against the property's regexp.
- *
- *  If an error occurs while setting the value of the property, #operator !()
- *  will return false after this method returns true, and #lastError() will contain
- *  the error message.
- *
- *  @note   This method emits the #propertyChanged() signal.
- */
-bool VBoxGlobalSettings::setPublicProperty (const QString &publicName, const QString &value)
-{
-    for (size_t i = 0; i < SIZEOF_ARRAY (gPropertyMap); i++)
-    {
-        if (gPropertyMap [i].publicName == publicName)
-        {
-            setPropertyPrivate (i, value);
-            return true;
-        }
-    }
-
-    return false;
-}
-
-void VBoxGlobalSettings::setPropertyPrivate (size_t index, const QString &value)
-{
-    if (value.isEmpty())
-    {
-        if (!gPropertyMap [index].canDelete)
-        {
-            last_err = tr ("Cannot delete the key '%1'.")
-                .arg (gPropertyMap [index].publicName);
-            return;
-        }
-    }
-    else
-    {
-        if (!QRegExp (gPropertyMap [index].rx).exactMatch (value))
-        {
-            last_err = tr ("The value '%1' of the key '%2' doesn't match the "
-                           "regexp constraint '%3'.")
-                .arg (value, gPropertyMap [index].publicName,
-                      gPropertyMap [index].rx);
-            return;
-        }
-    }
-
-    QVariant oldVal = property (gPropertyMap [index].name);
-    Assert (oldVal.isValid() && oldVal.canConvert (QVariant::String));
-
-    if (oldVal.isValid() && oldVal.canConvert (QVariant::String) &&
-        oldVal.toString() != value)
-    {
-        bool ok = setProperty (gPropertyMap [index].name, value);
-        Assert (ok);
-        if (ok)
-        {
-            /* The individual setter may have set a specific error */
-            if (!last_err.isNull())
-                return;
-
-            last_err = QString::null;
-            emit propertyChanged (gPropertyMap [index].publicName,
-                                  gPropertyMap [index].name);
-        }
-    }
-}
-
Index: unk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.h	(revision 66592)
+++ 	(revision )
@@ -1,107 +1,0 @@
-/* $Id$ */
-/** @file
- * VBox Qt GUI - VBoxGlobalSettingsData, VBoxGlobalSettings class declarations.
- */
-
-/*
- * Copyright (C) 2006-2016 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#ifndef __VBoxGlobalSettings_h__
-#define __VBoxGlobalSettings_h__
-
-#include "CIShared.h"
-
-/* Qt includes */
-#include <QObject>
-
-class CVirtualBox;
-
-class VBoxGlobalSettingsData
-{
-public:
-
-    VBoxGlobalSettingsData();
-    VBoxGlobalSettingsData( const VBoxGlobalSettingsData &that );
-    virtual ~VBoxGlobalSettingsData();
-    bool operator==( const VBoxGlobalSettingsData &that ) const;
-
-private:
-
-    bool hostScreenSaverDisabled;
-
-    friend class VBoxGlobalSettings;
-};
-
-/////////////////////////////////////////////////////////////////////////////
-
-class VBoxGlobalSettings : public QObject, public CIShared <VBoxGlobalSettingsData>
-{
-    Q_OBJECT
-    Q_PROPERTY (bool hostScreenSaverDisabled READ hostScreenSaverDisabled WRITE setHostScreenSaverDisabled)
-
-public:
-
-    VBoxGlobalSettings (bool null = true)
-        : CIShared <VBoxGlobalSettingsData> (null) {}
-    VBoxGlobalSettings (const VBoxGlobalSettings &that)
-        : QObject(), CIShared <VBoxGlobalSettingsData> (that) {}
-    VBoxGlobalSettings &operator= (const VBoxGlobalSettings &that) {
-        CIShared <VBoxGlobalSettingsData>::operator= (that);
-        return *this;
-    }
-
-    // Properties
-
-    bool hostScreenSaverDisabled() const { return data()->hostScreenSaverDisabled; }
-    void setHostScreenSaverDisabled (bool disabled)
-    {
-        mData()->hostScreenSaverDisabled = disabled;
-    }
-
-    void load (CVirtualBox &vbox);
-    void save (CVirtualBox &vbox) const;
-
-    /**
-     *  Returns true if the last setter or #load() operation has been failed
-     *  and false otherwise.
-     */
-    bool operator !() const { return !last_err.isEmpty(); }
-
-    /**
-     *  Returns the description of the error set by the last setter or #load()
-     *  operation, or an empty (or null) string if the last operation was
-     *  successful.
-     */
-    QString lastError() const { return last_err; }
-
-    QString publicProperty (const QString &publicName) const;
-    bool setPublicProperty (const QString &publicName, const QString &value);
-
-signals:
-
-    /**
-     *  This sighal is emitted only when #setPublicProperty() or #load() is called.
-     *  Direct modification of properties through individual setters or through
-     *  QObject::setProperty() currently cannot be tracked.
-     */
-    void propertyChanged (const char *publicName, const char *name);
-
-private:
-
-    void setPropertyPrivate (size_t index, const QString &value);
-    void resetError() { last_err = QString::null; }
-
-    QString last_err;
-};
-
-#endif // __VBoxGlobalSettings_h__
-
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 66593)
@@ -47,4 +47,7 @@
 const char* UIExtraDataDefs::GUI_RestrictedGlobalSettingsPages = "GUI/RestrictedGlobalSettingsPages";
 const char* UIExtraDataDefs::GUI_RestrictedMachineSettingsPages = "GUI/RestrictedMachineSettingsPages";
+
+/* Settings: General: */
+const char* UIExtraDataDefs::GUI_HostScreenSaverDisabled = "GUI/HostScreenSaverDisabled";
 
 /* Settings: Language: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 66593)
@@ -68,4 +68,10 @@
         /** Holds restricted Machine Settings pages. */
         extern const char* GUI_RestrictedMachineSettingsPages;
+    /** @} */
+
+    /** @name Settings: General
+      * @{ */
+        /** Holds whether host screen-saver should be disabled. */
+        extern const char* GUI_HostScreenSaverDisabled;
     /** @} */
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 66593)
@@ -43,5 +43,4 @@
 # include "UIHostComboEditor.h"
 # include "UIMainEventListener.h"
-# include "VBoxGlobalSettings.h"
 # include "VBoxGlobal.h"
 # include "UIActionPool.h"
@@ -238,5 +237,5 @@
 }
 
-void UIExtraDataEventHandler::sltPreprocessExtraDataCanChange(QString strMachineID, QString strKey, QString strValue, bool &fVeto, QString &strVetoReason)
+void UIExtraDataEventHandler::sltPreprocessExtraDataCanChange(QString strMachineID, QString strKey, QString /* strValue */, bool & /* fVeto */, QString & /* strVetoReason */)
 {
     /* Preprocess global 'extra-data can change' event: */
@@ -245,18 +244,8 @@
         if (strKey.startsWith("GUI/"))
         {
-            /* Try to set the global setting to check its syntax: */
-            VBoxGlobalSettings gs(false /* non-null */);
-            /* Known GUI property key? */
-            if (gs.setPublicProperty(strKey, strValue))
-            {
-                /* But invalid GUI property value? */
-                if (!gs)
-                {
-                    /* Remember veto reason: */
-                    strVetoReason = gs.lastError();
-                    /* And disallow that change: */
-                    fVeto = true;
-                }
-            }
+            /* Check whether global extra-data property can be applied: */
+            // TODO: Here can be various extra-data flags handling.
+            //       Generally we should check whether one or another flag feats some rule (like reg-exp).
+            //       For each required strValue we should set fVeto = true; and fill strVetoReason = "with some text".
         }
     }
@@ -270,9 +259,9 @@
         if (strKey.startsWith("GUI/"))
         {
-            /* Apply global property: */
-            m_mutex.lock();
-            vboxGlobal().settings().setPublicProperty(strKey, strValue);
-            m_mutex.unlock();
-            AssertMsgReturnVoid(!!vboxGlobal().settings(), ("Failed to apply global property.\n"));
+            /* Apply global extra-data property: */
+            // TODO: Here can be various extra-data flags handling.
+            //       Generally we should push one or another flag to various instances which want to handle
+            //       those flags independently from UIExtraDataManager. Remember to process each required strValue
+            //       from under the m_mutex lock (since we are in another thread) and unlock that m_mutex afterwards.
         }
     }
@@ -2337,4 +2326,16 @@
 }
 
+bool UIExtraDataManager::hostScreenSaverDisabled()
+{
+    /* 'False' unless feature allowed: */
+    return isFeatureAllowed(GUI_HostScreenSaverDisabled);
+}
+
+void UIExtraDataManager::setHostScreenSaverDisabled(bool fDisabled)
+{
+    /* 'True' if feature allowed, null-string otherwise: */
+    setExtraDataString(GUI_HostScreenSaverDisabled, toFeatureAllowed(fDisabled));
+}
+
 QString UIExtraDataManager::languageId()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 66593)
@@ -187,4 +187,12 @@
         /** Returns restricted machine settings pages. */
         QList<MachineSettingsPageType> restrictedMachineSettingsPages(const QString &strID);
+    /** @} */
+
+    /** @name Settings: General
+      * @{ */
+        /** Returns whether the host screen-saver should be disabled. */
+        bool hostScreenSaverDisabled();
+        /** Defines whether the host screen-saver should be @a fDisabled. */
+        void setHostScreenSaverDisabled(bool fDisabled);
     /** @} */
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 66593)
@@ -479,13 +479,4 @@
              "VirtualBox Manager window, and select one of the existing languages on the <b>Language</b> page.</p>")
              .arg(strLangFile));
-}
-
-void UIMessageCenter::cannotLoadGlobalConfig(const CVirtualBox &vbox, const QString &strError) const
-{
-    error(0, MessageType_Critical,
-          tr("<p>Failed to load the global GUI configuration from <b><nobr>%1</nobr></b>.</p>"
-             "<p>The application will now terminate.</p>")
-             .arg(CVirtualBox(vbox).GetSettingsFilePath()),
-          !vbox.isOk() ? formatErrorInfo(vbox) : QString("<!--EOM--><p>%1</p>").arg(vboxGlobal().emphasize(strError)));
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h	(revision 66593)
@@ -165,5 +165,4 @@
     void cannotFindLanguage(const QString &strLangId, const QString &strNlsPath) const;
     void cannotLoadLanguage(const QString &strLangFile) const;
-    void cannotLoadGlobalConfig(const CVirtualBox &vbox, const QString &strError) const;
     void cannotSaveGlobalConfig(const CVirtualBox &vbox) const;
     void cannotFindMachineByName(const CVirtualBox &vbox, const QString &strName) const;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 66593)
@@ -341,24 +341,4 @@
 #endif /* VBOX_WS_MAC */
 
-/**
- *  Sets the new global settings and saves them to the VirtualBox server.
- */
-bool VBoxGlobal::setSettings (VBoxGlobalSettings &gs)
-{
-    gs.save(m_vbox);
-
-    if (!m_vbox.isOk())
-    {
-        msgCenter().cannotSaveGlobalConfig(m_vbox);
-        return false;
-    }
-
-    /* We don't assign gs to our gset member here, because VBoxCallback
-     * will update gset as necessary when new settings are successfully
-     * sent to the VirtualBox server by gs.save(). */
-
-    return true;
-}
-
 QWidget* VBoxGlobal::activeMachineWindow() const
 {
@@ -2190,5 +2170,5 @@
 /**
  *  Returns the loaded (active) language ID.
- *  Note that it may not match with VBoxGlobalSettings::languageId() if the
+ *  Note that it may not match with UIExtraDataManager::languageId() if the
  *  specified language cannot be loaded.
  *  If the built-in language is active, this method returns "C".
@@ -4117,15 +4097,4 @@
     m_pThreadPool = new UIThreadPool(3 /* worker count */, 5000 /* worker timeout */);
 
-    /* create default non-null global settings */
-    gset = VBoxGlobalSettings (false);
-
-    /* try to load global settings */
-    gset.load(m_vbox);
-    if (!m_vbox.isOk() || !gset)
-    {
-        msgCenter().cannotLoadGlobalConfig(m_vbox, gset.lastError());
-        return;
-    }
-
     /* Load translation based on the user settings: */
     QString sLanguageId = gEDataManager->languageId();
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 66593)
@@ -34,5 +34,4 @@
 #include "UIDefs.h"
 #include "UIMediumDefs.h"
-#include "VBoxGlobalSettings.h"
 #ifdef VBOX_WS_X11
 # include "VBoxX11Helper.h"
@@ -144,7 +143,4 @@
     UIThreadPool* threadPool() const { return m_pThreadPool; }
 
-    VBoxGlobalSettings &settings() { return gset; }
-    bool setSettings (VBoxGlobalSettings &gs);
-
     /** Returns currently active virtual machine window. */
     QWidget* activeMachineWindow() const;
@@ -547,6 +543,4 @@
     /** Holds whether VBoxSVC is currently available. */
     bool m_fVBoxSVCAvailable;
-
-    VBoxGlobalSettings gset;
 
     /** Holds whether GUI is separate (from VM) process. */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/precomp.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/precomp.h	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/precomp.h	(revision 66593)
@@ -647,5 +647,4 @@
 #include "UIFilePathSelector.h"
 #include "VBoxGlobal.h"
-#include "VBoxGlobalSettings.h"
 #include "VBoxGuestRAMSlider.h"
 //#include "VBoxIChatTheaterWrapper.h"
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 66593)
@@ -205,10 +205,9 @@
 void UISettingsDialogGlobal::loadOwnData()
 {
-    /* Get properties and settings: */
+    /* Get properties: */
     CSystemProperties properties = vboxGlobal().virtualBox().GetSystemProperties();
-    VBoxGlobalSettings settings = vboxGlobal().settings();
     /* Prepare global data: */
     qRegisterMetaType<UISettingsDataGlobal>();
-    UISettingsDataGlobal data(properties, settings);
+    UISettingsDataGlobal data(properties);
     QVariant varData = QVariant::fromValue(data);
 
@@ -219,10 +218,9 @@
 void UISettingsDialogGlobal::saveOwnData()
 {
-    /* Get properties and settings: */
+    /* Get properties: */
     CSystemProperties properties = vboxGlobal().virtualBox().GetSystemProperties();
-    VBoxGlobalSettings settings = vboxGlobal().settings();
     /* Prepare global data: */
     qRegisterMetaType<UISettingsDataGlobal>();
-    UISettingsDataGlobal data(properties, settings);
+    UISettingsDataGlobal data(properties);
     QVariant varData = QVariant::fromValue(data);
 
@@ -230,13 +228,9 @@
     UISettingsDialog::saveData(varData);
 
-    /* Get updated properties & settings: */
+    /* Get updated properties: */
     CSystemProperties newProperties = varData.value<UISettingsDataGlobal>().m_properties;
-    VBoxGlobalSettings newSettings = varData.value<UISettingsDataGlobal>().m_settings;
     /* If properties are not OK => show the error: */
     if (!newProperties.isOk())
         msgCenter().cannotSetSystemProperties(newProperties, this);
-    /* Else save the new settings if they were changed: */
-    else if (!(newSettings == settings))
-        vboxGlobal().setSettings(newSettings);
 
     /* Mark as saved: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsPage.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsPage.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsPage.cpp	(revision 66593)
@@ -80,15 +80,14 @@
 }
 
-/* Fetch data to m_properties & m_settings: */
+/* Fetch data to m_properties: */
 void UISettingsPageGlobal::fetchData(const QVariant &data)
 {
     m_properties = data.value<UISettingsDataGlobal>().m_properties;
-    m_settings = data.value<UISettingsDataGlobal>().m_settings;
 }
 
-/* Upload m_properties & m_settings to data: */
+/* Upload m_properties to data: */
 void UISettingsPageGlobal::uploadData(QVariant &data) const
 {
-    data = QVariant::fromValue(UISettingsDataGlobal(m_properties, m_settings));
+    data = QVariant::fromValue(UISettingsDataGlobal(m_properties));
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsPage.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsPage.h	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsPage.h	(revision 66593)
@@ -27,5 +27,4 @@
 #include "UISettingsDefs.h"
 #include "UIExtraDataDefs.h"
-#include "VBoxGlobalSettings.h"
 
 /* COM includes: */
@@ -53,8 +52,7 @@
 {
     UISettingsDataGlobal() {}
-    UISettingsDataGlobal(const CSystemProperties &properties, const VBoxGlobalSettings &settings)
-        : m_properties(properties), m_settings(settings) {}
+    UISettingsDataGlobal(const CSystemProperties &properties)
+        : m_properties(properties) {}
     CSystemProperties m_properties;
-    VBoxGlobalSettings m_settings;
 };
 Q_DECLARE_METATYPE(UISettingsDataGlobal);
@@ -207,5 +205,4 @@
     /* Global data source: */
     CSystemProperties m_properties;
-    VBoxGlobalSettings m_settings;
 };
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsDisplay.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsDisplay.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsDisplay.cpp	(revision 66593)
@@ -76,5 +76,5 @@
 void UIGlobalSettingsDisplay::loadToCacheFrom(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -94,5 +94,5 @@
     m_pCache->cacheInitialData(oldDisplayData);
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
@@ -130,5 +130,5 @@
 void UIGlobalSettingsDisplay::saveFromCacheTo(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -144,5 +144,5 @@
     }
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp	(revision 66593)
@@ -271,5 +271,5 @@
 void UIGlobalSettingsExtension::loadToCacheFrom(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -293,5 +293,5 @@
     m_pCache->cacheInitialData(oldExtensionData);
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
@@ -319,10 +319,10 @@
 void UIGlobalSettingsExtension::saveFromCacheTo(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
     /* Nothing to save from the cache... */
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsGeneral.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsGeneral.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsGeneral.cpp	(revision 66593)
@@ -25,4 +25,5 @@
 /* GUI includes: */
 # include "UIGlobalSettingsGeneral.h"
+# include "UIExtraDataManager.h"
 # include "VBoxGlobal.h"
 
@@ -79,5 +80,5 @@
 void UIGlobalSettingsGeneral::loadToCacheFrom(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -91,10 +92,10 @@
     oldGeneralData.m_strDefaultMachineFolder = m_properties.GetDefaultMachineFolder();
     oldGeneralData.m_strVRDEAuthLibrary = m_properties.GetVRDEAuthLibrary();
-    oldGeneralData.m_fHostScreenSaverDisabled = m_settings.hostScreenSaverDisabled();
+    oldGeneralData.m_fHostScreenSaverDisabled = gEDataManager->hostScreenSaverDisabled();
 
     /* Cache old general data: */
     m_pCache->cacheInitialData(oldGeneralData);
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
@@ -127,5 +128,5 @@
 void UIGlobalSettingsGeneral::saveFromCacheTo(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -141,8 +142,8 @@
             m_properties.SetVRDEAuthLibrary(m_pCache->data().m_strVRDEAuthLibrary);
         if (m_pCache->data().m_fHostScreenSaverDisabled != m_pCache->base().m_fHostScreenSaverDisabled)
-            m_settings.setHostScreenSaverDisabled(m_pCache->data().m_fHostScreenSaverDisabled);
+            gEDataManager->setHostScreenSaverDisabled(m_pCache->data().m_fHostScreenSaverDisabled);
     }
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp	(revision 66593)
@@ -882,5 +882,5 @@
 void UIGlobalSettingsInput::loadToCacheFrom(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -910,5 +910,5 @@
     m_pCache->cacheInitialData(oldInputData);
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
@@ -944,5 +944,5 @@
 void UIGlobalSettingsInput::saveFromCacheTo(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -974,5 +974,5 @@
     }
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsLanguage.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsLanguage.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsLanguage.cpp	(revision 66593)
@@ -221,5 +221,5 @@
 void UIGlobalSettingsLanguage::loadToCacheFrom(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -236,5 +236,5 @@
     m_pCache->cacheInitialData(oldLanguageData);
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
@@ -266,5 +266,5 @@
 void UIGlobalSettingsLanguage::saveFromCacheTo(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -277,5 +277,5 @@
     }
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetwork.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetwork.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetwork.cpp	(revision 66593)
@@ -437,5 +437,5 @@
 void UIGlobalSettingsNetwork::loadToCacheFrom(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -464,5 +464,5 @@
     m_pCache->cacheInitialData(oldNetworkData);
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
@@ -518,5 +518,5 @@
 void UIGlobalSettingsNetwork::saveFromCacheTo(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -533,5 +533,5 @@
     }
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp	(revision 66593)
@@ -81,5 +81,5 @@
 void UIGlobalSettingsProxy::loadToCacheFrom(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -99,5 +99,5 @@
     m_pCache->cacheInitialData(oldProxyData);
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
@@ -141,5 +141,5 @@
 void UIGlobalSettingsProxy::saveFromCacheTo(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -155,5 +155,5 @@
     }
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.cpp	(revision 66592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.cpp	(revision 66593)
@@ -82,5 +82,5 @@
 void UIGlobalSettingsUpdate::loadToCacheFrom(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -101,5 +101,5 @@
     m_pCache->cacheInitialData(oldUpdateData);
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
@@ -141,5 +141,5 @@
 void UIGlobalSettingsUpdate::saveFromCacheTo(QVariant &data)
 {
-    /* Fetch data to properties & settings: */
+    /* Fetch data to properties: */
     UISettingsPageGlobal::fetchData(data);
 
@@ -152,5 +152,5 @@
     }
 
-    /* Upload properties & settings to data: */
+    /* Upload properties to data: */
     UISettingsPageGlobal::uploadData(data);
 }
