Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.cpp	(revision 66568)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.cpp	(revision 66569)
@@ -29,5 +29,4 @@
 # include "UIExtraDataDefs.h"
 # include "VBoxGlobalSettings.h"
-# include "UIHostComboEditor.h"
 
 /* COM includes: */
@@ -52,13 +51,4 @@
 {
     /* default settings */
-#if defined (VBOX_WS_WIN)
-    hostCombo = "163"; // VK_RCONTROL
-#elif defined (VBOX_WS_X11)
-    hostCombo = "65508"; // XK_Control_R
-#elif defined (VBOX_WS_MAC)
-    hostCombo = "55"; // QZ_LMETA
-#else
-# warning "port me!"
-#endif
 #if defined(VBOX_WS_X11) && defined(DEBUG)
     autoCapture = false;
@@ -76,5 +66,4 @@
 VBoxGlobalSettingsData::VBoxGlobalSettingsData (const VBoxGlobalSettingsData &that)
 {
-    hostCombo = that.hostCombo;
     autoCapture = that.autoCapture;
     guiFeatures = that.guiFeatures;
@@ -93,6 +82,5 @@
 {
     return this == &that ||
-        (hostCombo == that.hostCombo &&
-         autoCapture == that.autoCapture &&
+        (autoCapture == that.autoCapture &&
          guiFeatures == that.guiFeatures &&
          languageId  == that.languageId &&
@@ -122,5 +110,4 @@
 gPropertyMap[] =
 {
-    { "GUI/Input/HostKeyCombination",              "hostCombo",               "0|\\d*[1-9]\\d*(,\\d*[1-9]\\d*)?(,\\d*[1-9]\\d*)?", true },
     { "GUI/Input/AutoCapture",                     "autoCapture",             "true|false", true },
     { "GUI/Customizations",                        "guiFeatures",             "\\S+", true },
@@ -131,15 +118,4 @@
     { "GUI/HostScreenSaverDisabled",               "hostScreenSaverDisabled", "true|false", true }
 };
-
-void VBoxGlobalSettings::setHostCombo (const QString &hostCombo)
-{
-    if (!UIHostCombo::isValidKeyCombo (hostCombo))
-    {
-        last_err = tr ("'%1' is an invalid host-combination code-sequence.").arg (hostCombo);
-        return;
-    }
-    mData()->hostCombo = hostCombo;
-    resetError();
-}
 
 bool VBoxGlobalSettings::isFeatureActive (const char *aFeature) const
Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.h	(revision 66568)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobalSettings.h	(revision 66569)
@@ -37,5 +37,4 @@
 private:
 
-    QString hostCombo;
     bool autoCapture;
     QString guiFeatures;
@@ -54,5 +53,4 @@
 {
     Q_OBJECT
-    Q_PROPERTY (QString hostCombo READ hostCombo WRITE setHostCombo)
     Q_PROPERTY (bool autoCapture READ autoCapture WRITE setAutoCapture)
     Q_PROPERTY (QString guiFeatures READ guiFeatures WRITE setGuiFeatures)
@@ -75,7 +73,4 @@
 
     // Properties
-
-    QString hostCombo() const { return data()->hostCombo; }
-    void setHostCombo (const QString &hostCombo);
 
     bool autoCapture() const { return data()->autoCapture; }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 66568)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp	(revision 66569)
@@ -54,4 +54,5 @@
 const char* UIExtraDataDefs::GUI_Input_SelectorShortcuts = "GUI/Input/SelectorShortcuts";
 const char* UIExtraDataDefs::GUI_Input_MachineShortcuts = "GUI/Input/MachineShortcuts";
+const char* UIExtraDataDefs::GUI_Input_HostKeyCombination = "GUI/Input/HostKeyCombination";
 
 /* Settings: Storage: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 66568)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 66569)
@@ -83,4 +83,6 @@
         /** Holds Runtime UI shortcut overrides. */
         extern const char* GUI_Input_MachineShortcuts;
+        /** Holds Runtime UI host-key combination. */
+        extern const char* GUI_Input_HostKeyCombination;
     /** @} */
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 66568)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 66569)
@@ -40,4 +40,5 @@
 # include "UIDesktopWidgetWatchdog.h"
 # include "UIExtraDataManager.h"
+# include "UIHostComboEditor.h"
 # include "UIMainEventListener.h"
 # include "VBoxGlobalSettings.h"
@@ -2337,4 +2338,36 @@
 }
 
+QString UIExtraDataManager::hostKeyCombination()
+{
+    /* Acquire host-key combination: */
+    QString strHostCombo = extraDataString(GUI_Input_HostKeyCombination);
+    /* Invent some sane default if it's absolutely wrong or invalid: */
+    QRegularExpression reTemplate("0|[1-9]\\d*(,[1-9]\\d*)?(,[1-9]\\d*)?");
+    if (!reTemplate.match(strHostCombo).hasMatch() || !UIHostCombo::isValidKeyCombo(strHostCombo))
+    {
+#if   defined (VBOX_WS_MAC)
+        strHostCombo = "55"; // QZ_LMETA
+#elif defined (VBOX_WS_WIN)
+        strHostCombo = "163"; // VK_RCONTROL
+#elif defined (VBOX_WS_X11)
+        strHostCombo = "65508"; // XK_Control_R
+#else
+# warning "port me!"
+#endif
+    }
+    /* Return host-combo: */
+    return strHostCombo;
+}
+
+void UIExtraDataManager::setHostKeyCombination(const QString &strHostCombo)
+{
+    /* Do not save anything if it's absolutely wrong or invalid: */
+    QRegularExpression reTemplate("0|[1-9]\\d*(,[1-9]\\d*)?(,[1-9]\\d*)?");
+    if (!reTemplate.match(strHostCombo).hasMatch() || !UIHostCombo::isValidKeyCombo(strHostCombo))
+        return;
+    /* Define host-combo: */
+    setExtraDataString(GUI_Input_HostKeyCombination, strHostCombo);
+}
+
 QStringList UIExtraDataManager::shortcutOverrides(const QString &strPoolExtraDataID)
 {
@@ -3986,4 +4019,7 @@
             else if (strKey == GUI_Input_MachineShortcuts)
                 emit sigRuntimeUIShortcutChange();
+            /* Runtime UI host-key combintation changed? */
+            else if (strKey == GUI_Input_HostKeyCombination)
+                emit sigRuntimeUIHostKeyCombinationChange();
         }
     }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 66568)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 66569)
@@ -67,4 +67,6 @@
     /** Notifies about Runtime UI keyboard shortcut change. */
     void sigRuntimeUIShortcutChange();
+    /** Notifies about Runtime UI host-key combination change. */
+    void sigRuntimeUIHostKeyCombinationChange();
 
     /** Notifies about menu-bar configuration change. */
@@ -193,4 +195,9 @@
     /** @name Settings: Keyboard
       * @{ */
+        /** Returns the Runtime UI host-key combination. */
+        QString hostKeyCombination();
+        /** Defines the Runtime UI host-key combination. */
+        void setHostKeyCombination(const QString &strHostCombo);
+
         /** Returns shortcut overrides for shortcut-pool with @a strPoolExtraDataID. */
         QStringList shortcutOverrides(const QString &strPoolExtraDataID);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 66568)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 66569)
@@ -2071,5 +2071,5 @@
                          "This icon, together with the mouse icon placed nearby, indicate the current keyboard and mouse capture state.</p>") +
                       tr("<p>The host key is currently defined as <b>%1</b>.</p>", "additional message box paragraph")
-                         .arg(UIHostCombo::toReadableString(vboxGlobal().settings().hostCombo())),
+                         .arg(UIHostCombo::toReadableString(gEDataManager->hostKeyCombination())),
                       "confirmInputCapture",
                       AlertButton_Ok | AlertButtonOption_Default,
@@ -2091,5 +2091,5 @@
                              "<p>Note that the main menu bar is hidden in full-screen mode. "
                              "You can access it by pressing <b>Host+Home</b>.</p>")
-                             .arg(strHotKey, UIHostCombo::toReadableString(vboxGlobal().settings().hostCombo())),
+                             .arg(strHotKey, UIHostCombo::toReadableString(gEDataManager->hostKeyCombination())),
                           "confirmGoingFullscreen",
                           tr("Switch"));
@@ -2104,5 +2104,5 @@
                              "<p>Note that the main menu bar is hidden in seamless mode. "
                              "You can access it by pressing <b>Host+Home</b>.</p>")
-                             .arg(strHotKey, UIHostCombo::toReadableString(vboxGlobal().settings().hostCombo())),
+                             .arg(strHotKey, UIHostCombo::toReadableString(gEDataManager->hostKeyCombination())),
                           "confirmGoingSeamless",
                           tr("Switch"));
@@ -2117,5 +2117,5 @@
                              "<p>Note that the main menu bar is hidden in scaled mode. "
                              "You can access it by pressing <b>Host+Home</b>.</p>")
-                             .arg(strHotKey, UIHostCombo::toReadableString(vboxGlobal().settings().hostCombo())),
+                             .arg(strHotKey, UIHostCombo::toReadableString(gEDataManager->hostKeyCombination())),
                           "confirmGoingScale",
                           tr("Switch"));
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIPopupCenter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIPopupCenter.cpp	(revision 66568)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIPopupCenter.cpp	(revision 66569)
@@ -434,5 +434,5 @@
           QApplication::translate("UIMessageCenter", "<p>The host key is currently defined as <b>%1</b>.</p>",
                                                      "additional message box paragraph")
-                                                     .arg(UIHostCombo::toReadableString(vboxGlobal().settings().hostCombo())),
+                                                     .arg(UIHostCombo::toReadableString(gEDataManager->hostKeyCombination())),
           true);
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIIndicatorsPool.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIIndicatorsPool.cpp	(revision 66568)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIIndicatorsPool.cpp	(revision 66569)
@@ -1005,5 +1005,5 @@
     {
         /* Make sure host-combination label will be updated: */
-        connect(&vboxGlobal().settings(), SIGNAL(propertyChanged(const char *, const char *)),
+        connect(gEDataManager, SIGNAL(sigRuntimeUIHostKeyCombinationChange()),
                 this, SLOT(sltUpdateAppearance()));
         /* Translate finally: */
@@ -1016,5 +1016,5 @@
     void sltUpdateAppearance()
     {
-        setText(UIHostCombo::toReadableString(vboxGlobal().settings().hostCombo()));
+        setText(UIHostCombo::toReadableString(gEDataManager->hostKeyCombination()));
     }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp	(revision 66568)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp	(revision 66569)
@@ -533,5 +533,5 @@
             if (!fSentRESEND)
             {
-                QList <unsigned> shortCodes = UIHostCombo::modifiersToScanCodes(m_globalSettings.hostCombo());
+                QList <unsigned> shortCodes = UIHostCombo::modifiersToScanCodes(gEDataManager->hostKeyCombination());
                 QVector <LONG> codes;
                 foreach (unsigned idxCode, shortCodes)
@@ -572,5 +572,5 @@
 #ifdef VBOX_WS_MAC
     unsigned int hostComboModifierMask = 0;
-    QList<int> hostCombo = UIHostCombo::toKeyCodeList(m_globalSettings.hostCombo());
+    QList<int> hostCombo = UIHostCombo::toKeyCodeList(gEDataManager->hostKeyCombination());
     for (int i = 0; i < hostCombo.size(); ++i)
         hostComboModifierMask |= ::DarwinKeyCodeToDarwinModifierMask(hostCombo.at(i));
@@ -1901,5 +1901,5 @@
                            ? IsExtKeyPressed : IsKeyPressed;
     if (   (event.flags & 0x80) /* released */
-        && (   (   UIHostCombo::toKeyCodeList(m_globalSettings.hostCombo()).contains(event.vkCode)
+        && (   (   UIHostCombo::toKeyCodeList(gEDataManager->hostKeyCombination()).contains(event.vkCode)
                 && !m_fIsHostkeyInCapture)
             ||    (  m_pressedKeys[event.scanCode & 0x7F]
@@ -1978,5 +1978,5 @@
 {
     /* Get host-combo key list: */
-    QSet<int> allHostComboKeys = UIHostCombo::toKeyCodeList(m_globalSettings.hostCombo()).toSet();
+    QSet<int> allHostComboKeys = UIHostCombo::toKeyCodeList(gEDataManager->hostKeyCombination()).toSet();
     /* Get the type of key - simple or extended: */
     uint8_t uWhatPressed = fFlags & KeyExtended ? IsExtKeyPressed : IsKeyPressed;
@@ -2155,5 +2155,5 @@
 {
     /* Get host-combo key list: */
-    QSet<int> allHostComboKeys = UIHostCombo::toKeyCodeList(m_globalSettings.hostCombo()).toSet();
+    QSet<int> allHostComboKeys = UIHostCombo::toKeyCodeList(gEDataManager->hostKeyCombination()).toSet();
 
     /* Update the map of pressed host-combo keys: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp	(revision 66568)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp	(revision 66569)
@@ -35,4 +35,5 @@
 # include "UIHotKeyEditor.h"
 # include "UIShortcutPool.h"
+# include "UIExtraDataManager.h"
 # include "VBoxGlobalSettings.h"
 
@@ -892,5 +893,5 @@
 
     /* Gather old input data: */
-    oldInputData.shortcuts() << UIDataShortcutRow(m_pMachineTable, UIHostCombo::hostComboCacheKey(), tr("Host Key Combination"),  m_settings.hostCombo(), QString());
+    oldInputData.shortcuts() << UIDataShortcutRow(m_pMachineTable, UIHostCombo::hostComboCacheKey(), tr("Host Key Combination"),  gEDataManager->hostKeyCombination(), QString());
     const QMap<QString, UIShortcut> &shortcuts = gShortcutPool->shortcuts();
     const QList<QString> shortcutKeys = shortcuts.keys();
@@ -957,5 +958,5 @@
         const QString strHostComboData = iHostComboItemData != -1 ? m_pCache->data().shortcuts().at(iHostComboItemData).currentSequence() : QString();
         if (strHostComboData != strHostComboBase)
-            m_settings.setHostCombo(strHostComboData);
+            gEDataManager->setHostKeyCombination(strHostComboData);
 
         /* Save other new shortcuts from the cache: */
