Index: /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackend.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackend.h	(revision 76043)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackend.h	(revision 76044)
@@ -30,4 +30,5 @@
 #include "UIMediumDefs.h"
 #include "UIExtraDataDefs.h"
+#include "UISettingsDefs.h"
 
 /* Other VBox includes: */
@@ -120,5 +121,5 @@
 template<> SHARED_LIBRARY_STUFF bool canConvert<MaxGuestResolutionPolicy>();
 template<> SHARED_LIBRARY_STUFF bool canConvert<UIMediumFormat>();
-
+template<> SHARED_LIBRARY_STUFF bool canConvert<UISettingsDefs::RecordingMode>();
 
 /* Declare COM canConvert specializations: */
@@ -259,4 +260,7 @@
 template<> SHARED_LIBRARY_STUFF QString toInternalString(const UIMediumFormat &enmUIMediumFormat);
 template<> SHARED_LIBRARY_STUFF UIMediumFormat fromInternalString<UIMediumFormat>(const QString &strUIMediumFormat);
+template<> SHARED_LIBRARY_STUFF QString toString(const UISettingsDefs::RecordingMode &enmRecordingMode);
+template<> SHARED_LIBRARY_STUFF QString toInternalString(const UISettingsDefs::RecordingMode &enmRecordingMode);
+template<> SHARED_LIBRARY_STUFF UISettingsDefs::RecordingMode fromInternalString<UISettingsDefs::RecordingMode>(const QString &enmRecordingMode);
 
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 76043)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 76044)
@@ -84,4 +84,5 @@
 template<> bool canConvert<MaxGuestResolutionPolicy>() { return true; }
 template<> bool canConvert<UIMediumFormat>() { return true; }
+template<> bool canConvert<UISettingsDefs::RecordingMode>() { return true; }
 
 
@@ -2502,2 +2503,54 @@
     return values.at(keys.indexOf(QRegExp(strUIMediumFormat, Qt::CaseInsensitive)));
 }
+
+/* QString <= UISettingsDefs::RecordingMode: */
+template<> QString toString(const UISettingsDefs::RecordingMode &enmRecordingMode)
+{
+    QString strResult;
+    switch (enmRecordingMode)
+    {
+        case UISettingsDefs::RecordingMode_VideoAudio: strResult = QApplication::translate("VBoxGlobal", "Video/Audio", "UISettingsDefs::RecordingMode"); break;
+        case UISettingsDefs::RecordingMode_VideoOnly:  strResult = QApplication::translate("VBoxGlobal", "Video Only", "UISettingsDefs::RecordingMode"); break;
+        case UISettingsDefs::RecordingMode_AudioOnly:  strResult = QApplication::translate("VBoxGlobal", "Audio Only", "UISettingsDefs::RecordingMode"); break;
+        default:
+        {
+            AssertMsgFailed(("No text for recording mode format=%d", enmRecordingMode));
+            break;
+        }
+    }
+    return strResult;
+}
+
+/* QString <= UISettingsDefs::RecordingMode: */
+template<> QString toInternalString(const UISettingsDefs::RecordingMode &enmRecordingMode)
+{
+    QString strResult;
+    switch (enmRecordingMode)
+    {
+        case UISettingsDefs::RecordingMode_VideoAudio: strResult = "Video/Audio"; break;
+        case UISettingsDefs::RecordingMode_VideoOnly:  strResult = "VideoOnly";   break;
+        case UISettingsDefs::RecordingMode_AudioOnly:  strResult = "AudioOnly";   break;
+        default:
+        {
+            AssertMsgFailed(("No text for recording mode=%d", enmRecordingMode));
+            break;
+        }
+    }
+    return strResult;
+}
+
+/* UISettingsDefs::RecordingMode <= QString: */
+template<> UISettingsDefs::RecordingMode fromInternalString<UISettingsDefs::RecordingMode>(const QString &strRecordingMode)
+{
+    /* Here we have some fancy stuff allowing us
+     * to search through the keys using 'case-insensitive' rule: */
+    QStringList keys;       QList<UISettingsDefs::RecordingMode> values;
+    keys << "Video/Audio";  values << UISettingsDefs::RecordingMode_VideoAudio;
+    keys << "VideoOnly";    values << UISettingsDefs::RecordingMode_VideoOnly;
+    keys << "AudioOnly";    values << UISettingsDefs::RecordingMode_AudioOnly;
+    /* VDI format for unknown words: */
+    if (!keys.contains(strRecordingMode, Qt::CaseInsensitive))
+        return UISettingsDefs::RecordingMode_VideoAudio;
+    /* Corresponding format for known words: */
+    return values.at(keys.indexOf(QRegExp(strRecordingMode, Qt::CaseInsensitive)));
+}
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDefs.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDefs.h	(revision 76043)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDefs.h	(revision 76044)
@@ -49,4 +49,12 @@
     };
 
+    /** Recording mode enum is used in Display setting page to determine the recording mode. */
+    enum RecordingMode
+    {
+        RecordingMode_VideoAudio = 0,
+        RecordingMode_VideoOnly  = 1,
+        RecordingMode_AudioOnly  = 2
+    };
+
     /** Determines configuration access level for passed @a enmSessionState and @a enmMachineState. */
     SHARED_LIBRARY_STUFF ConfigurationAccessLevel configurationAccessLevel(KSessionState enmSessionState,
@@ -287,3 +295,2 @@
 
 #endif /* !___UISettingsDefs_h___ */
-
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp	(revision 76043)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp	(revision 76044)
@@ -111,11 +111,4 @@
         RecordingOption_VC,
         RecordingOption_AC_Profile
-    };
-
-    enum RecordingMode
-    {
-        RecordingMode_VideoAudio,
-        RecordingMode_VideoOnly,
-        RecordingMode_AudioOnly
     };
 
@@ -466,9 +459,9 @@
                                                                                 UIDataSettingsMachineDisplay::RecordingOption_VC);
     if (fRecordAudio && fRecordVideo)
-        m_pComboBoxCaptureMode->setCurrentIndex(static_cast<int>(UIDataSettingsMachineDisplay::RecordingMode_VideoAudio));
+        m_pComboBoxCaptureMode->setCurrentIndex(m_pComboBoxCaptureMode->findText(gpConverter->toString(UISettingsDefs::RecordingMode_VideoAudio)));
     else if (fRecordAudio && !fRecordVideo)
-        m_pComboBoxCaptureMode->setCurrentIndex(static_cast<int>(UIDataSettingsMachineDisplay::RecordingMode_AudioOnly));
+        m_pComboBoxCaptureMode->setCurrentIndex(m_pComboBoxCaptureMode->findText(gpConverter->toString(UISettingsDefs::RecordingMode_AudioOnly)));
     else
-        m_pComboBoxCaptureMode->setCurrentIndex(static_cast<int>(UIDataSettingsMachineDisplay::RecordingMode_VideoOnly));
+        m_pComboBoxCaptureMode->setCurrentIndex(m_pComboBoxCaptureMode->findText(gpConverter->toString(UISettingsDefs::RecordingMode_VideoOnly)));
 
     m_pSliderAudioCaptureQuality->setValue(UIDataSettingsMachineDisplay::getAudioQualityFromOptions(oldDisplayData.m_strRecordingVideoOptions));
@@ -519,8 +512,8 @@
     /* Update recording options */
     QStringList optionValues;
-    optionValues.push_back((m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::RecordingMode_VideoAudio) ||
-                            m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::RecordingMode_VideoOnly)) ? "true" : "false");
-    optionValues.push_back((m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::RecordingMode_VideoAudio) ||
-                            m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::RecordingMode_AudioOnly)) ? "true" : "false");
+    optionValues.push_back((m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UISettingsDefs::RecordingMode_VideoAudio) ||
+                            m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UISettingsDefs::RecordingMode_VideoOnly)) ? "true" : "false");
+    optionValues.push_back((m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UISettingsDefs::RecordingMode_VideoAudio) ||
+                            m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UISettingsDefs::RecordingMode_AudioOnly)) ? "true" : "false");
     if (m_pSliderAudioCaptureQuality->value() == 1)
         optionValues.push_back("low");
@@ -742,4 +735,9 @@
     m_pLabelAudioCaptureQualityMed->setText(tr("medium", "quality"));
     m_pLabelAudioCaptureQualityMax->setText(tr("high", "quality"));
+
+    m_pComboBoxCaptureMode->setItemText(0, gpConverter->toString(UISettingsDefs::RecordingMode_VideoAudio));
+    m_pComboBoxCaptureMode->setItemText(1, gpConverter->toString(UISettingsDefs::RecordingMode_VideoOnly));
+    m_pComboBoxCaptureMode->setItemText(2, gpConverter->toString(UISettingsDefs::RecordingMode_AudioOnly));
+
     updateRecordingFileSizeHint();
 }
@@ -1075,7 +1073,7 @@
         AssertPtrReturnVoid(m_pComboBoxCaptureMode);
         {
-            m_pComboBoxCaptureMode->insertItem(UIDataSettingsMachineDisplay::RecordingMode_VideoAudio, "Video/Audio");
-            m_pComboBoxCaptureMode->insertItem(UIDataSettingsMachineDisplay::RecordingMode_VideoOnly, "Video Only");
-            m_pComboBoxCaptureMode->insertItem(UIDataSettingsMachineDisplay::RecordingMode_AudioOnly, "Audio Only");
+            m_pComboBoxCaptureMode->insertItem(0, ""); /* UISettingsDefs::RecordingMode_VideoAudio */
+            m_pComboBoxCaptureMode->insertItem(1, ""); /* UISettingsDefs::RecordingMode_VideoOnly */
+            m_pComboBoxCaptureMode->insertItem(2, ""); /* UISettingsDefs::RecordingMode_AudioOnly */
         }
 
@@ -1729,6 +1727,6 @@
                                              (isMachineOnline() && !m_pCache->base().m_fRecordingEnabled && m_pCheckboxVideoCapture->isChecked());
 
-    const UIDataSettingsMachineDisplay::RecordingMode enmRecordingMode =
-        static_cast<UIDataSettingsMachineDisplay::RecordingMode>(m_pComboBoxCaptureMode->currentIndex());
+    const UISettingsDefs::RecordingMode enmRecordingMode =
+        static_cast<UISettingsDefs::RecordingMode>(m_pComboBoxCaptureMode->currentIndex());
 
     /* Video Capture Screens option should be enabled only if:
@@ -1736,8 +1734,8 @@
     const bool fIsVideoCaptureScreenOptionEnabled = isMachineInValidMode() && m_pCheckboxVideoCapture->isChecked();
 
-    bool fRecordVideo = enmRecordingMode == UIDataSettingsMachineDisplay::RecordingMode_VideoOnly ||
-        enmRecordingMode == UIDataSettingsMachineDisplay::RecordingMode_VideoAudio;
-    bool fRecordAudio = enmRecordingMode == UIDataSettingsMachineDisplay::RecordingMode_AudioOnly ||
-        enmRecordingMode == UIDataSettingsMachineDisplay::RecordingMode_VideoAudio;
+    bool fRecordVideo = enmRecordingMode == UISettingsDefs::RecordingMode_VideoOnly ||
+        enmRecordingMode == UISettingsDefs::RecordingMode_VideoAudio;
+    bool fRecordAudio = enmRecordingMode == UISettingsDefs::RecordingMode_AudioOnly ||
+        enmRecordingMode == UISettingsDefs::RecordingMode_VideoAudio;
 
     m_pLabelVideoCaptureSize->setEnabled(fIsRecordingOptionsEnabled && fRecordVideo);
