Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 51212)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 51213)
@@ -241,4 +241,26 @@
 #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
 
+bool UIExtraDataManager::isDescriptionHiddenForWizard(const QString &strWizardName)
+{
+    /* True if wizard-name among the others: */
+    return extraDataStringList(GUI_HideDescriptionForWizards).contains(strWizardName);
+}
+
+void UIExtraDataManager::setDescriptionHiddenForWizard(const QString &strWizardName, bool fHidden)
+{
+    /* Get current value: */
+    QStringList oldValue = extraDataStringList(GUI_HideDescriptionForWizards);
+    QStringList newValue = oldValue;
+    /* Include wizard-name if necessary: */
+    if (fHidden && !newValue.contains(strWizardName))
+        newValue << strWizardName;
+    /* Exclude wizard-name if necessary: */
+    else if (!fHidden && newValue.contains(strWizardName))
+        newValue.removeAll(strWizardName);
+    /* Update extra-data if necessary: */
+    if (newValue != oldValue)
+        setExtraDataStringList(GUI_HideDescriptionForWizards, newValue);
+}
+
 bool UIExtraDataManager::isFirstRun(const QString &strId) const
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 51212)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 51213)
@@ -114,4 +114,9 @@
     bool shouldWeAllowApplicationUpdate() const;
 #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
+
+    /** Returns whether description should be hidden for wizard @a strWizardName. */
+    bool isDescriptionHiddenForWizard(const QString &strWizardName);
+    /** Defines whether description should be @a fHidden for wizard @a strWizardName. */
+    void setDescriptionHiddenForWizard(const QString &strWizardName, bool fHidden);
 
     /** Returns whether this machine started for the first time. */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/UIWizard.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/UIWizard.cpp	(revision 51212)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/UIWizard.cpp	(revision 51213)
@@ -28,4 +28,5 @@
 #include "VBoxGlobal.h"
 #include "QIRichTextLabel.h"
+#include "UIExtraDataManager.h"
 
 void UIWizard::sltCurrentIdChanged(int iId)
@@ -51,35 +52,14 @@
         cleanup();
 
-        /* Compose wizard's name: */
-        QString strWizardName = nameForType(m_type);
-        /* Load mode settings: */
-        QStringList wizards = vboxGlobal().virtualBox().GetExtraDataStringList(GUI_HideDescriptionForWizards);
-
         /* Switch mode: */
         switch (m_mode)
         {
-            case UIWizardMode_Basic:
-            {
-                m_mode = UIWizardMode_Expert;
-                if (!wizards.contains(strWizardName))
-                    wizards << strWizardName;
-                break;
-            }
-            case UIWizardMode_Expert:
-            {
-                m_mode = UIWizardMode_Basic;
-                if (wizards.contains(strWizardName))
-                    wizards.removeAll(strWizardName);
-                break;
-            }
-            default:
-            {
-                AssertMsgFailed(("Invalid mode: %d", m_mode));
-                break;
-            }
+            case UIWizardMode_Basic:  m_mode = UIWizardMode_Expert; break;
+            case UIWizardMode_Expert: m_mode = UIWizardMode_Basic;  break;
+            default: AssertMsgFailed(("Invalid mode: %d", m_mode)); break;
         }
 
         /* Save mode settings: */
-        vboxGlobal().virtualBox().SetExtraDataStringList(GUI_HideDescriptionForWizards, wizards);
+        gEDataManager->setDescriptionHiddenForWizard(nameForType(m_type), m_mode == UIWizardMode_Expert);
 
         /* Prepare: */
@@ -547,10 +527,7 @@
     if (type == UIWizardType_FirstRun)
         return UIWizardMode_Basic;
-    /* Get mode from extra-data: */
-    QStringList wizards = vboxGlobal().virtualBox().GetExtraDataStringList(GUI_HideDescriptionForWizards);
-    if (wizards.contains(nameForType(type)))
-        return UIWizardMode_Expert;
-    /* Return mode: */
-    return UIWizardMode_Basic;
-}
-
+    /* Otherwise get mode from extra-data manager: */
+    return gEDataManager->isDescriptionHiddenForWizard(nameForType(type))
+           ? UIWizardMode_Expert : UIWizardMode_Basic;
+}
+
