Index: /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackend.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackend.h	(revision 46795)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackend.h	(revision 46796)
@@ -56,4 +56,5 @@
 /* Declare global canConvert specializations: */
 template<> bool canConvert<StorageSlot>();
+template<> bool canConvert<RuntimeMenuType>();
 template<> bool canConvert<DetailsElementType>();
 template<> bool canConvert<GlobalSettingsPageType>();
@@ -87,4 +88,6 @@
 template<> QString toString(const StorageSlot &storageSlot);
 template<> StorageSlot fromString<StorageSlot>(const QString &strStorageSlot);
+template<> QString toInternalString(const RuntimeMenuType &runtimeMenuType);
+template<> RuntimeMenuType fromInternalString<RuntimeMenuType>(const QString &strRuntimeMenuType);
 template<> QString toString(const DetailsElementType &detailsElementType);
 template<> DetailsElementType fromString<DetailsElementType>(const QString &strDetailsElementType);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 46795)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 46796)
@@ -32,4 +32,5 @@
  * These functions returns 'true' for all allowed conversions. */
 template<> bool canConvert<StorageSlot>() { return true; }
+template<> bool canConvert<RuntimeMenuType>() { return true; }
 template<> bool canConvert<DetailsElementType>() { return true; }
 template<> bool canConvert<GlobalSettingsPageType>() { return true; }
@@ -264,4 +265,44 @@
     }
     return result;
+}
+
+/* QString <= RuntimeMenuType: */
+template<> QString toInternalString(const RuntimeMenuType &runtimeMenuType)
+{
+    QString strResult;
+    switch (runtimeMenuType)
+    {
+        case RuntimeMenuType_Machine: strResult = "Machine"; break;
+        case RuntimeMenuType_View:    strResult = "View"; break;
+        case RuntimeMenuType_Devices: strResult = "Devices"; break;
+        case RuntimeMenuType_Debug:   strResult = "Debug"; break;
+        case RuntimeMenuType_Help:    strResult = "Help"; break;
+        case RuntimeMenuType_All:     strResult = "All"; break;
+        default:
+        {
+            AssertMsgFailed(("No text for indicator type=%d", runtimeMenuType));
+            break;
+        }
+    }
+    return strResult;
+}
+
+/* RuntimeMenuType <= QString: */
+template<> RuntimeMenuType fromInternalString<RuntimeMenuType>(const QString &strRuntimeMenuType)
+{
+    /* Here we have some fancy stuff allowing us
+     * to search through the keys using 'case-insensitive' rule: */
+    QStringList keys;  QList<RuntimeMenuType> values;
+    keys << "Machine"; values << RuntimeMenuType_Machine;
+    keys << "View";    values << RuntimeMenuType_View;
+    keys << "Devices"; values << RuntimeMenuType_Devices;
+    keys << "Debug";   values << RuntimeMenuType_Debug;
+    keys << "Help";    values << RuntimeMenuType_Help;
+    keys << "All";     values << RuntimeMenuType_All;
+    /* Invalid type for unknown words: */
+    if (!keys.contains(strRuntimeMenuType, Qt::CaseInsensitive))
+        return RuntimeMenuType_Invalid;
+    /* Corresponding type for known words: */
+    return values.at(keys.indexOf(QRegExp(strRuntimeMenuType, Qt::CaseInsensitive)));
 }
 
@@ -553,2 +594,3 @@
     return values.at(keys.indexOf(QRegExp(strMachineCloseAction, Qt::CaseInsensitive)));
 }
+
