UIConverterBackendGlobal.cpp revision 98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccb
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync/* $Id$ */
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync/** @file
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync *
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync * VBox frontends: Qt GUI ("VirtualBox"):
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync * UIConverterBackendGlobal implementation
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync */
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync/*
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync * Copyright (C) 2012 Oracle Corporation
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync *
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync * available from http://www.virtualbox.org. This file is free software;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync * you can redistribute it and/or modify it under the terms of the GNU
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync * General Public License (GPL) as published by the Free Software
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync */
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync/* Qt includes: */
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync#include <QApplication>
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync#include <QHash>
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync/* GUI includes: */
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync#include "UIConverterBackend.h"
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync#include "UIIconPool.h"
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync#include "VBoxGlobal.h"
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync/* COM includes: */
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync#include "CSystemProperties.h"
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync/* Determines if <Object of type X> can be converted to object of other type.
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync * These functions returns 'true' for all allowed conversions. */
b7e694c031e36f70134c1d25506fd910dc413a52vboxsynctemplate<> bool canConvert<SizeSuffix>() { return true; }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsynctemplate<> bool canConvert<StorageSlot>() { return true; }
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsynctemplate<> bool canConvert<MenuHelpActionType>() { return true; }
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsynctemplate<> bool canConvert<RuntimeMenuType>() { return true; }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#ifdef Q_WS_MAC
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> bool canConvert<RuntimeMenuApplicationActionType>() { return true; }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#endif /* Q_WS_MAC */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> bool canConvert<RuntimeMenuMachineActionType>() { return true; }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> bool canConvert<RuntimeMenuViewActionType>() { return true; }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> bool canConvert<RuntimeMenuDevicesActionType>() { return true; }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#ifdef VBOX_WITH_DEBUGGER_GUI
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> bool canConvert<RuntimeMenuDebuggerActionType>() { return true; }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#endif /* VBOX_WITH_DEBUGGER_GUI */
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsynctemplate<> bool canConvert<UIVisualStateType>() { return true; }
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsynctemplate<> bool canConvert<DetailsElementType>() { return true; }
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsynctemplate<> bool canConvert<PreviewUpdateIntervalType>() { return true; }
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsynctemplate<> bool canConvert<GlobalSettingsPageType>() { return true; }
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsynctemplate<> bool canConvert<MachineSettingsPageType>() { return true; }
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsynctemplate<> bool canConvert<WizardType>() { return true; }
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsynctemplate<> bool canConvert<IndicatorType>() { return true; }
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsynctemplate<> bool canConvert<MachineCloseAction>() { return true; }
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsynctemplate<> bool canConvert<MouseCapturePolicy>() { return true; }
b429482aa9ee615942c70e9beedbe171471e48b3vboxsynctemplate<> bool canConvert<GuruMeditationHandlerType>() { return true; }
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsynctemplate<> bool canConvert<HiDPIOptimizationType>() { return true; }
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsynctemplate<> bool canConvert<MiniToolbarAlignment>() { return true; }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync/* QString <= SizeSuffix: */
b7e694c031e36f70134c1d25506fd910dc413a52vboxsynctemplate<> QString toString(const SizeSuffix &sizeSuffix)
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync{
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync QString strResult;
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync switch (sizeSuffix)
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync {
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync case SizeSuffix_Byte: strResult = QApplication::translate("VBoxGlobal", "B", "size suffix Bytes"); break;
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync case SizeSuffix_KiloByte: strResult = QApplication::translate("VBoxGlobal", "KB", "size suffix KBytes=1024 Bytes"); break;
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync case SizeSuffix_MegaByte: strResult = QApplication::translate("VBoxGlobal", "MB", "size suffix MBytes=1024 KBytes"); break;
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync case SizeSuffix_GigaByte: strResult = QApplication::translate("VBoxGlobal", "GB", "size suffix GBytes=1024 MBytes"); break;
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync case SizeSuffix_TeraByte: strResult = QApplication::translate("VBoxGlobal", "TB", "size suffix TBytes=1024 GBytes"); break;
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync case SizeSuffix_PetaByte: strResult = QApplication::translate("VBoxGlobal", "PB", "size suffix PBytes=1024 TBytes"); break;
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync default:
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync {
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync AssertMsgFailed(("No text for size suffix=%d", sizeSuffix));
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync break;
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync }
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync }
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync return strResult;
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync}
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync/* SizeSuffix <= QString: */
b7e694c031e36f70134c1d25506fd910dc413a52vboxsynctemplate<> SizeSuffix fromString<SizeSuffix>(const QString &strSizeSuffix)
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync{
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync QHash<QString, SizeSuffix> list;
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync list.insert(QApplication::translate("VBoxGlobal", "B", "size suffix Bytes"), SizeSuffix_Byte);
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync list.insert(QApplication::translate("VBoxGlobal", "KB", "size suffix KBytes=1024 Bytes"), SizeSuffix_KiloByte);
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync list.insert(QApplication::translate("VBoxGlobal", "MB", "size suffix MBytes=1024 KBytes"), SizeSuffix_MegaByte);
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync list.insert(QApplication::translate("VBoxGlobal", "GB", "size suffix GBytes=1024 MBytes"), SizeSuffix_GigaByte);
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync list.insert(QApplication::translate("VBoxGlobal", "TB", "size suffix TBytes=1024 GBytes"), SizeSuffix_TeraByte);
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync list.insert(QApplication::translate("VBoxGlobal", "PB", "size suffix PBytes=1024 TBytes"), SizeSuffix_PetaByte);
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync if (!list.contains(strSizeSuffix))
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync {
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync AssertMsgFailed(("No value for '%s'", strSizeSuffix.toAscii().constData()));
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync }
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync return list.value(strSizeSuffix);
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync}
b7e694c031e36f70134c1d25506fd910dc413a52vboxsync
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync/* QString <= StorageSlot: */
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsynctemplate<> QString toString(const StorageSlot &storageSlot)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync{
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync QString strResult;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync switch (storageSlot.bus)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case KStorageBus_IDE:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxPort = vboxGlobal().virtualBox().GetSystemProperties().GetMaxPortCountForStorageBus(storageSlot.bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxDevice = vboxGlobal().virtualBox().GetSystemProperties().GetMaxDevicesPerPortForStorageBus(storageSlot.bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (storageSlot.port < 0 || storageSlot.port > iMaxPort)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No text for bus=%d & port=%d", storageSlot.bus, storageSlot.port));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (storageSlot.device < 0 || storageSlot.device > iMaxDevice)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No text for bus=%d & port=%d & device=%d", storageSlot.bus, storageSlot.port, storageSlot.device));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (storageSlot.port == 0 && storageSlot.device == 0)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync strResult = QApplication::translate("VBoxGlobal", "IDE Primary Master", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync else if (storageSlot.port == 0 && storageSlot.device == 1)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync strResult = QApplication::translate("VBoxGlobal", "IDE Primary Slave", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync else if (storageSlot.port == 1 && storageSlot.device == 0)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync strResult = QApplication::translate("VBoxGlobal", "IDE Secondary Master", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync else if (storageSlot.port == 1 && storageSlot.device == 1)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync strResult = QApplication::translate("VBoxGlobal", "IDE Secondary Slave", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case KStorageBus_SATA:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxPort = vboxGlobal().virtualBox().GetSystemProperties().GetMaxPortCountForStorageBus(storageSlot.bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (storageSlot.port < 0 || storageSlot.port > iMaxPort)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No text for bus=%d & port=%d", storageSlot.bus, storageSlot.port));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (storageSlot.device != 0)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No text for bus=%d & port=%d & device=%d", storageSlot.bus, storageSlot.port, storageSlot.device));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync strResult = QApplication::translate("VBoxGlobal", "SATA Port %1", "StorageSlot").arg(storageSlot.port);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case KStorageBus_SCSI:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxPort = vboxGlobal().virtualBox().GetSystemProperties().GetMaxPortCountForStorageBus(storageSlot.bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (storageSlot.port < 0 || storageSlot.port > iMaxPort)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No text for bus=%d & port=%d", storageSlot.bus, storageSlot.port));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (storageSlot.device != 0)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No text for bus=%d & port=%d & device=%d", storageSlot.bus, storageSlot.port, storageSlot.device));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync strResult = QApplication::translate("VBoxGlobal", "SCSI Port %1", "StorageSlot").arg(storageSlot.port);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case KStorageBus_SAS:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxPort = vboxGlobal().virtualBox().GetSystemProperties().GetMaxPortCountForStorageBus(storageSlot.bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (storageSlot.port < 0 || storageSlot.port > iMaxPort)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No text for bus=%d & port=%d", storageSlot.bus, storageSlot.port));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (storageSlot.device != 0)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No text for bus=%d & port=%d & device=%d", storageSlot.bus, storageSlot.port, storageSlot.device));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync strResult = QApplication::translate("VBoxGlobal", "SAS Port %1", "StorageSlot").arg(storageSlot.port);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case KStorageBus_Floppy:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxDevice = vboxGlobal().virtualBox().GetSystemProperties().GetMaxDevicesPerPortForStorageBus(storageSlot.bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (storageSlot.port != 0)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No text for bus=%d & port=%d", storageSlot.bus, storageSlot.port));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (storageSlot.device < 0 || storageSlot.device > iMaxDevice)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No text for bus=%d & port=%d & device=%d", storageSlot.bus, storageSlot.port, storageSlot.device));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync strResult = QApplication::translate("VBoxGlobal", "Floppy Device %1", "StorageSlot").arg(storageSlot.device);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
35779b5ff92d92bc215bf98458583ed33162762fvboxsync case KStorageBus_USB:
35779b5ff92d92bc215bf98458583ed33162762fvboxsync {
35779b5ff92d92bc215bf98458583ed33162762fvboxsync int iMaxPort = vboxGlobal().virtualBox().GetSystemProperties().GetMaxPortCountForStorageBus(storageSlot.bus);
35779b5ff92d92bc215bf98458583ed33162762fvboxsync if (storageSlot.port < 0 || storageSlot.port > iMaxPort)
35779b5ff92d92bc215bf98458583ed33162762fvboxsync {
35779b5ff92d92bc215bf98458583ed33162762fvboxsync AssertMsgFailed(("No text for bus=%d & port=%d", storageSlot.bus, storageSlot.port));
35779b5ff92d92bc215bf98458583ed33162762fvboxsync break;
35779b5ff92d92bc215bf98458583ed33162762fvboxsync }
35779b5ff92d92bc215bf98458583ed33162762fvboxsync if (storageSlot.device != 0)
35779b5ff92d92bc215bf98458583ed33162762fvboxsync {
35779b5ff92d92bc215bf98458583ed33162762fvboxsync AssertMsgFailed(("No text for bus=%d & port=%d & device=%d", storageSlot.bus, storageSlot.port, storageSlot.device));
35779b5ff92d92bc215bf98458583ed33162762fvboxsync break;
35779b5ff92d92bc215bf98458583ed33162762fvboxsync }
35779b5ff92d92bc215bf98458583ed33162762fvboxsync strResult = QApplication::translate("VBoxGlobal", "USB Port %1", "StorageSlot").arg(storageSlot.port);
35779b5ff92d92bc215bf98458583ed33162762fvboxsync break;
35779b5ff92d92bc215bf98458583ed33162762fvboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync default:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
47be935062ff4d81085d342ce6f28d1317c2e9c2vboxsync AssertMsgFailed(("No text for bus=%d & port=%d & device=%d", storageSlot.bus, storageSlot.port, storageSlot.device));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync return strResult;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync}
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync/* StorageSlot <= QString: */
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsynctemplate<> StorageSlot fromString<StorageSlot>(const QString &strStorageSlot)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync{
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync QHash<int, QString> list;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync list[0] = QApplication::translate("VBoxGlobal", "IDE Primary Master", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync list[1] = QApplication::translate("VBoxGlobal", "IDE Primary Slave", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync list[2] = QApplication::translate("VBoxGlobal", "IDE Secondary Master", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync list[3] = QApplication::translate("VBoxGlobal", "IDE Secondary Slave", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync list[4] = QApplication::translate("VBoxGlobal", "SATA Port %1", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync list[5] = QApplication::translate("VBoxGlobal", "SCSI Port %1", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync list[6] = QApplication::translate("VBoxGlobal", "SAS Port %1", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync list[7] = QApplication::translate("VBoxGlobal", "Floppy Device %1", "StorageSlot");
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync list[8] = QApplication::translate("VBoxGlobal", "USB Port %1", "StorageSlot");
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int index = -1;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync QRegExp regExp;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync for (int i = 0; i < list.size(); ++i)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync regExp = QRegExp(i >= 0 && i <= 3 ? list[i] : list[i].arg("(\\d+)"));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (regExp.indexIn(strStorageSlot) != -1)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync index = i;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync StorageSlot result;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync switch (index)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case 0:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case 1:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case 2:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case 3:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync KStorageBus bus = KStorageBus_IDE;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxPort = vboxGlobal().virtualBox().GetSystemProperties().GetMaxPortCountForStorageBus(bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxDevice = vboxGlobal().virtualBox().GetSystemProperties().GetMaxDevicesPerPortForStorageBus(bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync LONG iPort = index / iMaxPort;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync LONG iDevice = index % iMaxPort;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (iPort < 0 || iPort > iMaxPort)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No storage slot for text='%s'", strStorageSlot.toAscii().constData()));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (iDevice < 0 || iDevice > iMaxDevice)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No storage slot for text='%s'", strStorageSlot.toAscii().constData()));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.bus = bus;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.port = iPort;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.device = iDevice;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case 4:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync KStorageBus bus = KStorageBus_SATA;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxPort = vboxGlobal().virtualBox().GetSystemProperties().GetMaxPortCountForStorageBus(bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync LONG iPort = regExp.cap(1).toInt();
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync LONG iDevice = 0;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (iPort < 0 || iPort > iMaxPort)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No storage slot for text='%s'", strStorageSlot.toAscii().constData()));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.bus = bus;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.port = iPort;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.device = iDevice;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case 5:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync KStorageBus bus = KStorageBus_SCSI;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxPort = vboxGlobal().virtualBox().GetSystemProperties().GetMaxPortCountForStorageBus(bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync LONG iPort = regExp.cap(1).toInt();
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync LONG iDevice = 0;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (iPort < 0 || iPort > iMaxPort)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No storage slot for text='%s'", strStorageSlot.toAscii().constData()));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.bus = bus;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.port = iPort;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.device = iDevice;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case 6:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync KStorageBus bus = KStorageBus_SAS;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxPort = vboxGlobal().virtualBox().GetSystemProperties().GetMaxPortCountForStorageBus(bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync LONG iPort = regExp.cap(1).toInt();
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync LONG iDevice = 0;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (iPort < 0 || iPort > iMaxPort)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No storage slot for text='%s'", strStorageSlot.toAscii().constData()));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.bus = bus;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.port = iPort;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.device = iDevice;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync case 7:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync KStorageBus bus = KStorageBus_Floppy;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync int iMaxDevice = vboxGlobal().virtualBox().GetSystemProperties().GetMaxDevicesPerPortForStorageBus(bus);
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync LONG iPort = 0;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync LONG iDevice = regExp.cap(1).toInt();
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync if (iDevice < 0 || iDevice > iMaxDevice)
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No storage slot for text='%s'", strStorageSlot.toAscii().constData()));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.bus = bus;
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync result.port = iPort;
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync result.device = iDevice;
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync break;
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync }
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync case 8:
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync {
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync KStorageBus bus = KStorageBus_USB;
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync int iMaxPort = vboxGlobal().virtualBox().GetSystemProperties().GetMaxPortCountForStorageBus(bus);
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync LONG iPort = regExp.cap(1).toInt();
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync LONG iDevice = 0;
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync if (iPort < 0 || iPort > iMaxPort)
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync {
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync AssertMsgFailed(("No storage slot for text='%s'", strStorageSlot.toAscii().constData()));
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync break;
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync }
70536965e536331aa13b95c62f0c0bdaf51213e7vboxsync result.bus = bus;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.port = iPort;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync result.device = iDevice;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync default:
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync {
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync AssertMsgFailed(("No storage slot for text='%s'", strStorageSlot.toAscii().constData()));
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync break;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync }
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync return result;
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync}
1c88e893e641d60853d1c2b516f8b01c767f6667vboxsync
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync/* QString <= MenuHelpActionType: */
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsynctemplate<> QString toInternalString(const MenuHelpActionType &menuHelpActionType)
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync{
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync QString strResult;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync switch (menuHelpActionType)
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync {
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync case MenuHelpActionType_Contents: strResult = "Contents"; break;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync case MenuHelpActionType_WebSite: strResult = "WebSite"; break;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync case MenuHelpActionType_ResetWarnings: strResult = "ResetWarnings"; break;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync#ifdef VBOX_GUI_WITH_NETWORK_MANAGER
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync case MenuHelpActionType_NetworkAccessManager: strResult = "NetworkAccessManager"; break;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync case MenuHelpActionType_CheckForUpdates: strResult = "CheckForUpdates"; break;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync#ifndef Q_WS_MAC
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync case MenuHelpActionType_About: strResult = "About"; break;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync case MenuHelpActionType_Preferences: strResult = "Preferences"; break;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync#endif /* !Q_WS_MAC */
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync case MenuHelpActionType_All: strResult = "All"; break;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync default:
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync {
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync AssertMsgFailed(("No text for action type=%d", menuHelpActionType));
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync break;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync }
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync }
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync return strResult;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync}
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync/* MenuHelpActionType <= QString: */
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsynctemplate<> MenuHelpActionType fromInternalString<MenuHelpActionType>(const QString &strMenuHelpActionType)
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync{
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync /* Here we have some fancy stuff allowing us
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync * to search through the keys using 'case-insensitive' rule: */
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync QStringList keys; QList<MenuHelpActionType> values;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync keys << "Contents"; values << MenuHelpActionType_Contents;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync keys << "WebSite"; values << MenuHelpActionType_WebSite;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync keys << "ResetWarnings"; values << MenuHelpActionType_ResetWarnings;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync#ifdef VBOX_GUI_WITH_NETWORK_MANAGER
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync keys << "NetworkAccessManager"; values << MenuHelpActionType_NetworkAccessManager;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync keys << "CheckForUpdates"; values << MenuHelpActionType_CheckForUpdates;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync#ifndef Q_WS_MAC
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync keys << "About"; values << MenuHelpActionType_About;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync keys << "Preferences"; values << MenuHelpActionType_Preferences;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync#endif /* !Q_WS_MAC */
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync keys << "All"; values << MenuHelpActionType_All;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync /* Invalid type for unknown words: */
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync if (!keys.contains(strMenuHelpActionType, Qt::CaseInsensitive))
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync return MenuHelpActionType_Invalid;
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync /* Corresponding type for known words: */
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync return values.at(keys.indexOf(QRegExp(strMenuHelpActionType, Qt::CaseInsensitive)));
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync}
98e2c4b54b8f4f38a9c5a56c7e5d470a6bf8fccbvboxsync
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync/* QString <= RuntimeMenuType: */
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsynctemplate<> QString toInternalString(const RuntimeMenuType &runtimeMenuType)
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync{
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync QString strResult;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync switch (runtimeMenuType)
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync {
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync case RuntimeMenuType_Machine: strResult = "Machine"; break;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync case RuntimeMenuType_View: strResult = "View"; break;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync case RuntimeMenuType_Devices: strResult = "Devices"; break;
66ed06e8ed931fba4277e63a9d1441f01a562bc0vboxsync#ifdef VBOX_WITH_DEBUGGER_GUI
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync case RuntimeMenuType_Debug: strResult = "Debug"; break;
66ed06e8ed931fba4277e63a9d1441f01a562bc0vboxsync#endif /* VBOX_WITH_DEBUGGER_GUI */
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync case RuntimeMenuType_Help: strResult = "Help"; break;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync case RuntimeMenuType_All: strResult = "All"; break;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync default:
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync {
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync AssertMsgFailed(("No text for indicator type=%d", runtimeMenuType));
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync break;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync }
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync }
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync return strResult;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync}
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync/* RuntimeMenuType <= QString: */
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsynctemplate<> RuntimeMenuType fromInternalString<RuntimeMenuType>(const QString &strRuntimeMenuType)
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync{
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync /* Here we have some fancy stuff allowing us
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync * to search through the keys using 'case-insensitive' rule: */
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync QStringList keys; QList<RuntimeMenuType> values;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync keys << "Machine"; values << RuntimeMenuType_Machine;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync keys << "View"; values << RuntimeMenuType_View;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync keys << "Devices"; values << RuntimeMenuType_Devices;
66ed06e8ed931fba4277e63a9d1441f01a562bc0vboxsync#ifdef VBOX_WITH_DEBUGGER_GUI
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync keys << "Debug"; values << RuntimeMenuType_Debug;
66ed06e8ed931fba4277e63a9d1441f01a562bc0vboxsync#endif /* VBOX_WITH_DEBUGGER_GUI */
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync keys << "Help"; values << RuntimeMenuType_Help;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync keys << "All"; values << RuntimeMenuType_All;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync /* Invalid type for unknown words: */
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync if (!keys.contains(strRuntimeMenuType, Qt::CaseInsensitive))
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync return RuntimeMenuType_Invalid;
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync /* Corresponding type for known words: */
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync return values.at(keys.indexOf(QRegExp(strRuntimeMenuType, Qt::CaseInsensitive)));
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync}
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#ifdef Q_WS_MAC
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync/* QString <= RuntimeMenuApplicationActionType: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> QString toInternalString(const RuntimeMenuApplicationActionType &runtimeMenuApplicationActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync{
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync QString strResult;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync switch (runtimeMenuApplicationActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync {
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync case RuntimeMenuApplicationActionType_About: strResult = "About"; break;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync case RuntimeMenuApplicationActionType_Preferences: strResult = "Preferences"; break;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync case RuntimeMenuApplicationActionType_Close: strResult = "Close"; break;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync case RuntimeMenuApplicationActionType_All: strResult = "All"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync default:
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync {
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync AssertMsgFailed(("No text for action type=%d", runtimeMenuApplicationActionType));
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return strResult;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync}
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync/* RuntimeMenuApplicationActionType <= QString: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> RuntimeMenuApplicationActionType fromInternalString<RuntimeMenuApplicationActionType>(const QString &strRuntimeMenuApplicationActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync{
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Here we have some fancy stuff allowing us
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync * to search through the keys using 'case-insensitive' rule: */
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync QStringList keys; QList<RuntimeMenuApplicationActionType> values;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync keys << "About"; values << RuntimeMenuApplicationActionType_About;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync keys << "Preferences"; values << RuntimeMenuApplicationActionType_Preferences;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync keys << "Close"; values << RuntimeMenuApplicationActionType_Close;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync keys << "All"; values << RuntimeMenuApplicationActionType_All;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Invalid type for unknown words: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync if (!keys.contains(strRuntimeMenuApplicationActionType, Qt::CaseInsensitive))
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return RuntimeMenuApplicationActionType_Invalid;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Corresponding type for known words: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return values.at(keys.indexOf(QRegExp(strRuntimeMenuApplicationActionType, Qt::CaseInsensitive)));
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync}
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#endif /* Q_WS_MAC */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync/* QString <= RuntimeMenuMachineActionType: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> QString toInternalString(const RuntimeMenuMachineActionType &runtimeMenuMachineActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync{
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync QString strResult;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync switch (runtimeMenuMachineActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync {
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_SettingsDialog: strResult = "SettingsDialog"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_TakeSnapshot: strResult = "TakeSnapshot"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_TakeScreenshot: strResult = "TakeScreenshot"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_InformationDialog: strResult = "InformationDialog"; break;
9bf6db42fe2affb34dd08b87fce741a0d862b7e6vboxsync case RuntimeMenuMachineActionType_Keyboard: strResult = "Keyboard"; break;
3525d924e3a567bfed195f4f4ab7a6e591462799vboxsync case RuntimeMenuMachineActionType_KeyboardSettings: strResult = "KeyboardSettings"; break;
9bf6db42fe2affb34dd08b87fce741a0d862b7e6vboxsync case RuntimeMenuMachineActionType_Mouse: strResult = "Mouse"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_MouseIntegration: strResult = "MouseIntegration"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_TypeCAD: strResult = "TypeCAD"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#ifdef Q_WS_X11
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_TypeCABS: strResult = "TypeCABS"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#endif /* Q_WS_X11 */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_Pause: strResult = "Pause"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_Reset: strResult = "Reset"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_SaveState: strResult = "SaveState"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_Shutdown: strResult = "Shutdown"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_PowerOff: strResult = "PowerOff"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#ifndef Q_WS_MAC
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_Close: strResult = "Close"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#endif /* !Q_WS_MAC */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuMachineActionType_All: strResult = "All"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync default:
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync {
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync AssertMsgFailed(("No text for action type=%d", runtimeMenuMachineActionType));
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return strResult;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync}
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync/* RuntimeMenuMachineActionType <= QString: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> RuntimeMenuMachineActionType fromInternalString<RuntimeMenuMachineActionType>(const QString &strRuntimeMenuMachineActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync{
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Here we have some fancy stuff allowing us
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync * to search through the keys using 'case-insensitive' rule: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync QStringList keys; QList<RuntimeMenuMachineActionType> values;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "SettingsDialog"; values << RuntimeMenuMachineActionType_SettingsDialog;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "TakeSnapshot"; values << RuntimeMenuMachineActionType_TakeSnapshot;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "TakeScreenshot"; values << RuntimeMenuMachineActionType_TakeScreenshot;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "InformationDialog"; values << RuntimeMenuMachineActionType_InformationDialog;
9bf6db42fe2affb34dd08b87fce741a0d862b7e6vboxsync keys << "Keyboard"; values << RuntimeMenuMachineActionType_Keyboard;
3525d924e3a567bfed195f4f4ab7a6e591462799vboxsync keys << "KeyboardSettings"; values << RuntimeMenuMachineActionType_KeyboardSettings;
9bf6db42fe2affb34dd08b87fce741a0d862b7e6vboxsync keys << "Mouse"; values << RuntimeMenuMachineActionType_Mouse;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "MouseIntegration"; values << RuntimeMenuMachineActionType_MouseIntegration;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "TypeCAD"; values << RuntimeMenuMachineActionType_TypeCAD;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#ifdef Q_WS_X11
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "TypeCABS"; values << RuntimeMenuMachineActionType_TypeCABS;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#endif /* Q_WS_X11 */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "Pause"; values << RuntimeMenuMachineActionType_Pause;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "Reset"; values << RuntimeMenuMachineActionType_Reset;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "SaveState"; values << RuntimeMenuMachineActionType_SaveState;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "Shutdown"; values << RuntimeMenuMachineActionType_Shutdown;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "PowerOff"; values << RuntimeMenuMachineActionType_PowerOff;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#ifndef Q_WS_MAC
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "Close"; values << RuntimeMenuMachineActionType_Close;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#endif /* !Q_WS_MAC */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "All"; values << RuntimeMenuMachineActionType_All;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Invalid type for unknown words: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync if (!keys.contains(strRuntimeMenuMachineActionType, Qt::CaseInsensitive))
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return RuntimeMenuMachineActionType_Invalid;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Corresponding type for known words: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return values.at(keys.indexOf(QRegExp(strRuntimeMenuMachineActionType, Qt::CaseInsensitive)));
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync}
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync/* QString <= RuntimeMenuViewActionType: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> QString toInternalString(const RuntimeMenuViewActionType &runtimeMenuViewActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync{
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync QString strResult;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync switch (runtimeMenuViewActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync {
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync case RuntimeMenuViewActionType_Fullscreen: strResult = "Fullscreen"; break;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync case RuntimeMenuViewActionType_Seamless: strResult = "Seamless"; break;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync case RuntimeMenuViewActionType_Scale: strResult = "Scale"; break;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync case RuntimeMenuViewActionType_GuestAutoresize: strResult = "GuestAutoresize"; break;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync case RuntimeMenuViewActionType_AdjustWindow: strResult = "AdjustWindow"; break;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync case RuntimeMenuViewActionType_StatusBar: strResult = "StatusBar"; break;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync case RuntimeMenuViewActionType_StatusBarSettings: strResult = "StatusBarSettings"; break;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync case RuntimeMenuViewActionType_ToggleStatusBar: strResult = "ToggleStatusBar"; break;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync case RuntimeMenuViewActionType_Resize: strResult = "Resize"; break;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync case RuntimeMenuViewActionType_Multiscreen: strResult = "Multiscreen"; break;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync case RuntimeMenuViewActionType_All: strResult = "All"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync default:
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync {
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync AssertMsgFailed(("No text for action type=%d", runtimeMenuViewActionType));
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return strResult;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync}
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync/* RuntimeMenuViewActionType <= QString: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> RuntimeMenuViewActionType fromInternalString<RuntimeMenuViewActionType>(const QString &strRuntimeMenuViewActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync{
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Here we have some fancy stuff allowing us
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync * to search through the keys using 'case-insensitive' rule: */
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync QStringList keys; QList<RuntimeMenuViewActionType> values;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync keys << "Fullscreen"; values << RuntimeMenuViewActionType_Fullscreen;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync keys << "Seamless"; values << RuntimeMenuViewActionType_Seamless;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync keys << "Scale"; values << RuntimeMenuViewActionType_Scale;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync keys << "GuestAutoresize"; values << RuntimeMenuViewActionType_GuestAutoresize;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync keys << "AdjustWindow"; values << RuntimeMenuViewActionType_AdjustWindow;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync keys << "StatusBar"; values << RuntimeMenuViewActionType_StatusBar;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync keys << "StatusBarSettings"; values << RuntimeMenuViewActionType_StatusBarSettings;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync keys << "ToggleStatusBar"; values << RuntimeMenuViewActionType_ToggleStatusBar;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync keys << "Resize"; values << RuntimeMenuViewActionType_Resize;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync keys << "Multiscreen"; values << RuntimeMenuViewActionType_Multiscreen;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync keys << "All"; values << RuntimeMenuViewActionType_All;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Invalid type for unknown words: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync if (!keys.contains(strRuntimeMenuViewActionType, Qt::CaseInsensitive))
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return RuntimeMenuViewActionType_Invalid;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Corresponding type for known words: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return values.at(keys.indexOf(QRegExp(strRuntimeMenuViewActionType, Qt::CaseInsensitive)));
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync}
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync/* QString <= RuntimeMenuDevicesActionType: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> QString toInternalString(const RuntimeMenuDevicesActionType &runtimeMenuDevicesActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync{
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync QString strResult;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync switch (runtimeMenuDevicesActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync {
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync case RuntimeMenuDevicesActionType_HardDrives: strResult = "HardDrives"; break;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync case RuntimeMenuDevicesActionType_HardDrivesSettings: strResult = "HardDrivesSettings"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_OpticalDevices: strResult = "OpticalDevices"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_FloppyDevices: strResult = "FloppyDevices"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_USBDevices: strResult = "USBDevices"; break;
4ea8610434b02d7ceac0da7c732c51dff2db3501vboxsync case RuntimeMenuDevicesActionType_USBDevicesSettings: strResult = "USBDevicesSettings"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_WebCams: strResult = "WebCams"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_SharedClipboard: strResult = "SharedClipboard"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_DragAndDrop: strResult = "DragAndDrop"; break;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync case RuntimeMenuDevicesActionType_Network: strResult = "Network"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_NetworkSettings: strResult = "NetworkSettings"; break;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync case RuntimeMenuDevicesActionType_SharedFolders: strResult = "SharedFolders"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_SharedFoldersSettings: strResult = "SharedFoldersSettings"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_VRDEServer: strResult = "VRDEServer"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_VideoCapture: strResult = "VideoCapture"; break;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync case RuntimeMenuDevicesActionType_VideoCaptureSettings: strResult = "VideoCaptureSettings"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_InstallGuestTools: strResult = "InstallGuestTools"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDevicesActionType_All: strResult = "All"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync default:
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync {
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync AssertMsgFailed(("No text for action type=%d", runtimeMenuDevicesActionType));
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return strResult;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync}
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync/* RuntimeMenuDevicesActionType <= QString: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> RuntimeMenuDevicesActionType fromInternalString<RuntimeMenuDevicesActionType>(const QString &strRuntimeMenuDevicesActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync{
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Here we have some fancy stuff allowing us
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync * to search through the keys using 'case-insensitive' rule: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync QStringList keys; QList<RuntimeMenuDevicesActionType> values;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync keys << "HardDrives"; values << RuntimeMenuDevicesActionType_HardDrives;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync keys << "HardDrivesSettings"; values << RuntimeMenuDevicesActionType_HardDrivesSettings;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "OpticalDevices"; values << RuntimeMenuDevicesActionType_OpticalDevices;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "FloppyDevices"; values << RuntimeMenuDevicesActionType_FloppyDevices;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "USBDevices"; values << RuntimeMenuDevicesActionType_USBDevices;
4ea8610434b02d7ceac0da7c732c51dff2db3501vboxsync keys << "USBDevicesSettings"; values << RuntimeMenuDevicesActionType_USBDevicesSettings;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "WebCams"; values << RuntimeMenuDevicesActionType_WebCams;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "SharedClipboard"; values << RuntimeMenuDevicesActionType_SharedClipboard;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "DragAndDrop"; values << RuntimeMenuDevicesActionType_DragAndDrop;
4759f52dfc0c5362f3cf176490786142d85a73e9vboxsync keys << "Network"; values << RuntimeMenuDevicesActionType_Network;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "NetworkSettings"; values << RuntimeMenuDevicesActionType_NetworkSettings;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync keys << "SharedFolders"; values << RuntimeMenuDevicesActionType_SharedFolders;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "SharedFoldersSettings"; values << RuntimeMenuDevicesActionType_SharedFoldersSettings;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "VRDEServer"; values << RuntimeMenuDevicesActionType_VRDEServer;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "VideoCapture"; values << RuntimeMenuDevicesActionType_VideoCapture;
82067ea564b40c20983c98a8ac8e11d6e2701e16vboxsync keys << "VideoCaptureSettings"; values << RuntimeMenuDevicesActionType_VideoCaptureSettings;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "InstallGuestTools"; values << RuntimeMenuDevicesActionType_InstallGuestTools;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "All"; values << RuntimeMenuDevicesActionType_All;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Invalid type for unknown words: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync if (!keys.contains(strRuntimeMenuDevicesActionType, Qt::CaseInsensitive))
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return RuntimeMenuDevicesActionType_Invalid;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Corresponding type for known words: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return values.at(keys.indexOf(QRegExp(strRuntimeMenuDevicesActionType, Qt::CaseInsensitive)));
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync}
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#ifdef VBOX_WITH_DEBUGGER_GUI
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync/* QString <= RuntimeMenuDebuggerActionType: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> QString toInternalString(const RuntimeMenuDebuggerActionType &runtimeMenuDebuggerActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync{
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync QString strResult;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync switch (runtimeMenuDebuggerActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync {
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDebuggerActionType_Statistics: strResult = "Statistics"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDebuggerActionType_CommandLine: strResult = "CommandLine"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDebuggerActionType_Logging: strResult = "Logging"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDebuggerActionType_LogDialog: strResult = "LogDialog"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync case RuntimeMenuDebuggerActionType_All: strResult = "All"; break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync default:
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync {
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync AssertMsgFailed(("No text for action type=%d", runtimeMenuDebuggerActionType));
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync break;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync }
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return strResult;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync}
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync/* RuntimeMenuDebuggerActionType <= QString: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsynctemplate<> RuntimeMenuDebuggerActionType fromInternalString<RuntimeMenuDebuggerActionType>(const QString &strRuntimeMenuDebuggerActionType)
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync{
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Here we have some fancy stuff allowing us
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync * to search through the keys using 'case-insensitive' rule: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync QStringList keys; QList<RuntimeMenuDebuggerActionType> values;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "Statistics"; values << RuntimeMenuDebuggerActionType_Statistics;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "CommandLine"; values << RuntimeMenuDebuggerActionType_CommandLine;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "Logging"; values << RuntimeMenuDebuggerActionType_Logging;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "LogDialog"; values << RuntimeMenuDebuggerActionType_LogDialog;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync keys << "All"; values << RuntimeMenuDebuggerActionType_All;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Invalid type for unknown words: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync if (!keys.contains(strRuntimeMenuDebuggerActionType, Qt::CaseInsensitive))
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return RuntimeMenuDebuggerActionType_Invalid;
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync /* Corresponding type for known words: */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync return values.at(keys.indexOf(QRegExp(strRuntimeMenuDebuggerActionType, Qt::CaseInsensitive)));
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync}
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync#endif /* VBOX_WITH_DEBUGGER_GUI */
878731e72e401b7e2a0434e5ab36ca633c7f2586vboxsync
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync/* QString <= UIVisualStateType: */
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsynctemplate<> QString toInternalString(const UIVisualStateType &visualStateType)
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync{
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync QString strResult;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync switch (visualStateType)
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync {
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync case UIVisualStateType_Normal: strResult = "Normal"; break;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync case UIVisualStateType_Fullscreen: strResult = "Fullscreen"; break;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync case UIVisualStateType_Seamless: strResult = "Seamless"; break;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync case UIVisualStateType_Scale: strResult = "Scale"; break;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync case UIVisualStateType_All: strResult = "All"; break;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync default:
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync {
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync AssertMsgFailed(("No text for visual state type=%d", visualStateType));
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync break;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync }
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync }
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync return strResult;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync}
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync/* UIVisualStateType <= QString: */
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsynctemplate<> UIVisualStateType fromInternalString<UIVisualStateType>(const QString &strVisualStateType)
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync{
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync /* Here we have some fancy stuff allowing us
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync * to search through the keys using 'case-insensitive' rule: */
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync QStringList keys; QList<UIVisualStateType> values;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync keys << "Normal"; values << UIVisualStateType_Normal;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync keys << "Fullscreen"; values << UIVisualStateType_Fullscreen;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync keys << "Seamless"; values << UIVisualStateType_Seamless;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync keys << "Scale"; values << UIVisualStateType_Scale;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync keys << "All"; values << UIVisualStateType_All;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync /* Invalid type for unknown words: */
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync if (!keys.contains(strVisualStateType, Qt::CaseInsensitive))
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync return UIVisualStateType_Invalid;
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync /* Corresponding type for known words: */
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync return values.at(keys.indexOf(QRegExp(strVisualStateType, Qt::CaseInsensitive)));
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync}
f7fc64d533369ec29bd0f79f3f80e2f56aac2fc4vboxsync
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync/* QString <= DetailsElementType: */
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsynctemplate<> QString toString(const DetailsElementType &detailsElementType)
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync{
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync QString strResult;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync switch (detailsElementType)
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync {
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_General: strResult = QApplication::translate("VBoxGlobal", "General", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Preview: strResult = QApplication::translate("VBoxGlobal", "Preview", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_System: strResult = QApplication::translate("VBoxGlobal", "System", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Display: strResult = QApplication::translate("VBoxGlobal", "Display", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Storage: strResult = QApplication::translate("VBoxGlobal", "Storage", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Audio: strResult = QApplication::translate("VBoxGlobal", "Audio", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Network: strResult = QApplication::translate("VBoxGlobal", "Network", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Serial: strResult = QApplication::translate("VBoxGlobal", "Serial ports", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync#ifdef VBOX_WITH_PARALLEL_PORTS
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Parallel: strResult = QApplication::translate("VBoxGlobal", "Parallel ports", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync#endif /* VBOX_WITH_PARALLEL_PORTS */
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_USB: strResult = QApplication::translate("VBoxGlobal", "USB", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_SF: strResult = QApplication::translate("VBoxGlobal", "Shared folders", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Description: strResult = QApplication::translate("VBoxGlobal", "Description", "DetailsElementType"); break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync default:
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync {
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync AssertMsgFailed(("No text for details element type=%d", detailsElementType));
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync }
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync }
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync return strResult;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync}
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync/* DetailsElementType <= QString: */
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsynctemplate<> DetailsElementType fromString<DetailsElementType>(const QString &strDetailsElementType)
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync{
d8637276ce3161eb560f36b841225ded8de81e99vboxsync /* Here we have some fancy stuff allowing us
d8637276ce3161eb560f36b841225ded8de81e99vboxsync * to search through the keys using 'case-insensitive' rule: */
d8637276ce3161eb560f36b841225ded8de81e99vboxsync QStringList keys; QList<DetailsElementType> values;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "General", "DetailsElementType"); values << DetailsElementType_General;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "Preview", "DetailsElementType"); values << DetailsElementType_Preview;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "System", "DetailsElementType"); values << DetailsElementType_System;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "Display", "DetailsElementType"); values << DetailsElementType_Display;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "Storage", "DetailsElementType"); values << DetailsElementType_Storage;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "Audio", "DetailsElementType"); values << DetailsElementType_Audio;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "Network", "DetailsElementType"); values << DetailsElementType_Network;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "Serial ports", "DetailsElementType"); values << DetailsElementType_Serial;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync#ifdef VBOX_WITH_PARALLEL_PORTS
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "Parallel ports", "DetailsElementType"); values << DetailsElementType_Parallel;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync#endif /* VBOX_WITH_PARALLEL_PORTS */
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "USB", "DetailsElementType"); values << DetailsElementType_USB;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "Shared folders", "DetailsElementType"); values << DetailsElementType_SF;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << QApplication::translate("VBoxGlobal", "Description", "DetailsElementType"); values << DetailsElementType_Description;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync /* Invalid type for unknown words: */
d8637276ce3161eb560f36b841225ded8de81e99vboxsync if (!keys.contains(strDetailsElementType, Qt::CaseInsensitive))
d8637276ce3161eb560f36b841225ded8de81e99vboxsync return DetailsElementType_Invalid;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync /* Corresponding type for known words: */
d8637276ce3161eb560f36b841225ded8de81e99vboxsync return values.at(keys.indexOf(QRegExp(strDetailsElementType, Qt::CaseInsensitive)));
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync}
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync/* QString <= DetailsElementType: */
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsynctemplate<> QString toInternalString(const DetailsElementType &detailsElementType)
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync{
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync QString strResult;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync switch (detailsElementType)
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync {
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_General: strResult = "general"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Preview: strResult = "preview"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_System: strResult = "system"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Display: strResult = "display"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Storage: strResult = "storage"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Audio: strResult = "audio"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Network: strResult = "network"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Serial: strResult = "serialPorts"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync#ifdef VBOX_WITH_PARALLEL_PORTS
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Parallel: strResult = "parallelPorts"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync#endif /* VBOX_WITH_PARALLEL_PORTS */
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_USB: strResult = "usb"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_SF: strResult = "sharedFolders"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync case DetailsElementType_Description: strResult = "description"; break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync default:
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync {
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync AssertMsgFailed(("No text for details element type=%d", detailsElementType));
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync break;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync }
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync }
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync return strResult;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync}
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync/* DetailsElementType <= QString: */
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsynctemplate<> DetailsElementType fromInternalString<DetailsElementType>(const QString &strDetailsElementType)
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync{
d8637276ce3161eb560f36b841225ded8de81e99vboxsync /* Here we have some fancy stuff allowing us
d8637276ce3161eb560f36b841225ded8de81e99vboxsync * to search through the keys using 'case-insensitive' rule: */
d8637276ce3161eb560f36b841225ded8de81e99vboxsync QStringList keys; QList<DetailsElementType> values;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "general"; values << DetailsElementType_General;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "preview"; values << DetailsElementType_Preview;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "system"; values << DetailsElementType_System;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "display"; values << DetailsElementType_Display;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "storage"; values << DetailsElementType_Storage;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "audio"; values << DetailsElementType_Audio;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "network"; values << DetailsElementType_Network;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "serialPorts"; values << DetailsElementType_Serial;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync#ifdef VBOX_WITH_PARALLEL_PORTS
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "parallelPorts"; values << DetailsElementType_Parallel;
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync#endif /* VBOX_WITH_PARALLEL_PORTS */
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "usb"; values << DetailsElementType_USB;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "sharedFolders"; values << DetailsElementType_SF;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync keys << "description"; values << DetailsElementType_Description;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync /* Invalid type for unknown words: */
d8637276ce3161eb560f36b841225ded8de81e99vboxsync if (!keys.contains(strDetailsElementType, Qt::CaseInsensitive))
d8637276ce3161eb560f36b841225ded8de81e99vboxsync return DetailsElementType_Invalid;
d8637276ce3161eb560f36b841225ded8de81e99vboxsync /* Corresponding type for known words: */
d8637276ce3161eb560f36b841225ded8de81e99vboxsync return values.at(keys.indexOf(QRegExp(strDetailsElementType, Qt::CaseInsensitive)));
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync}
cdaeb34871aa28b96c0d80b474f3c8f9805d0388vboxsync
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync/* QString <= PreviewUpdateIntervalType: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsynctemplate<> QString toInternalString(const PreviewUpdateIntervalType &previewUpdateIntervalType)
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync{
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync /* Return corresponding QString representation for passed enum value: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync switch (previewUpdateIntervalType)
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync {
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_Disabled: return "disabled";
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_500ms: return "500";
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_1000ms: return "1000";
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_2000ms: return "2000";
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_5000ms: return "5000";
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_10000ms: return "10000";
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync default: AssertMsgFailed(("No text for '%d'", previewUpdateIntervalType)); break;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync }
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync /* Return QString() by default: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync return QString();
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync}
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync/* PreviewUpdateIntervalType <= QString: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsynctemplate<> PreviewUpdateIntervalType fromInternalString<PreviewUpdateIntervalType>(const QString &strPreviewUpdateIntervalType)
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync{
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync /* Here we have some fancy stuff allowing us
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync * to search through the keys using 'case-insensitive' rule: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync QStringList keys; QList<PreviewUpdateIntervalType> values;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync keys << "disabled"; values << PreviewUpdateIntervalType_Disabled;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync keys << "500"; values << PreviewUpdateIntervalType_500ms;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync keys << "1000"; values << PreviewUpdateIntervalType_1000ms;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync keys << "2000"; values << PreviewUpdateIntervalType_2000ms;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync keys << "5000"; values << PreviewUpdateIntervalType_5000ms;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync keys << "10000"; values << PreviewUpdateIntervalType_10000ms;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync /* 1000ms type for unknown words: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync if (!keys.contains(strPreviewUpdateIntervalType, Qt::CaseInsensitive))
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync return PreviewUpdateIntervalType_1000ms;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync /* Corresponding type for known words: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync return values.at(keys.indexOf(QRegExp(strPreviewUpdateIntervalType, Qt::CaseInsensitive)));
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync}
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync/* int <= PreviewUpdateIntervalType: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsynctemplate<> int toInternalInteger(const PreviewUpdateIntervalType &previewUpdateIntervalType)
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync{
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync /* Return corresponding integer representation for passed enum value: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync switch (previewUpdateIntervalType)
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync {
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_Disabled: return 0;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_500ms: return 500;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_1000ms: return 1000;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_2000ms: return 2000;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_5000ms: return 5000;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync case PreviewUpdateIntervalType_10000ms: return 10000;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync default: AssertMsgFailed(("No value for '%d'", previewUpdateIntervalType)); break;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync }
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync /* Return 0 by default: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync return 0;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync}
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync/* PreviewUpdateIntervalType <= int: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsynctemplate<> PreviewUpdateIntervalType fromInternalInteger<PreviewUpdateIntervalType>(const int &iPreviewUpdateIntervalType)
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync{
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync /* Add all the enum values into the hash: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync QHash<int, PreviewUpdateIntervalType> hash;
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync hash.insert(0, PreviewUpdateIntervalType_Disabled);
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync hash.insert(500, PreviewUpdateIntervalType_500ms);
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync hash.insert(1000, PreviewUpdateIntervalType_1000ms);
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync hash.insert(2000, PreviewUpdateIntervalType_2000ms);
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync hash.insert(5000, PreviewUpdateIntervalType_5000ms);
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync hash.insert(10000, PreviewUpdateIntervalType_10000ms);
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync /* Make sure hash contains incoming integer representation: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync if (!hash.contains(iPreviewUpdateIntervalType))
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync AssertMsgFailed(("No value for '%d'", iPreviewUpdateIntervalType));
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync /* Return corresponding enum value for passed integer representation: */
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync return hash.value(iPreviewUpdateIntervalType);
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync}
227df2ed442d9cfdef906b1ba88d6c69bf739b0bvboxsync
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync/* QString <= GlobalSettingsPageType: */
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsynctemplate<> QString toInternalString(const GlobalSettingsPageType &globalSettingsPageType)
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync{
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync QString strResult;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync switch (globalSettingsPageType)
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync {
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync case GlobalSettingsPageType_General: strResult = "General"; break;
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync case GlobalSettingsPageType_Input: strResult = "Input"; break;
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#ifdef VBOX_GUI_WITH_NETWORK_MANAGER
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync case GlobalSettingsPageType_Update: strResult = "Update"; break;
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync case GlobalSettingsPageType_Language: strResult = "Language"; break;
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync case GlobalSettingsPageType_Display: strResult = "Display"; break;
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync case GlobalSettingsPageType_Network: strResult = "Network"; break;
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync case GlobalSettingsPageType_Extensions: strResult = "Extensions"; break;
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#ifdef VBOX_GUI_WITH_NETWORK_MANAGER
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync case GlobalSettingsPageType_Proxy: strResult = "Proxy"; break;
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync default:
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync {
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync AssertMsgFailed(("No text for settings page type=%d", globalSettingsPageType));
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync }
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync }
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync return strResult;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync}
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync/* GlobalSettingsPageType <= QString: */
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsynctemplate<> GlobalSettingsPageType fromInternalString<GlobalSettingsPageType>(const QString &strGlobalSettingsPageType)
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync{
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync /* Here we have some fancy stuff allowing us
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync * to search through the keys using 'case-insensitive' rule: */
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync QStringList keys; QList<GlobalSettingsPageType> values;
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync keys << "General"; values << GlobalSettingsPageType_General;
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync keys << "Input"; values << GlobalSettingsPageType_Input;
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#ifdef VBOX_GUI_WITH_NETWORK_MANAGER
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync keys << "Update"; values << GlobalSettingsPageType_Update;
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync keys << "Language"; values << GlobalSettingsPageType_Language;
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync keys << "Display"; values << GlobalSettingsPageType_Display;
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync keys << "Network"; values << GlobalSettingsPageType_Network;
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync keys << "Extensions"; values << GlobalSettingsPageType_Extensions;
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#ifdef VBOX_GUI_WITH_NETWORK_MANAGER
01cf171066ef2de68c8629d973d9c0dfa6d34cc3vboxsync keys << "Proxy"; values << GlobalSettingsPageType_Proxy;
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync /* Invalid type for unknown words: */
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync if (!keys.contains(strGlobalSettingsPageType, Qt::CaseInsensitive))
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync return GlobalSettingsPageType_Invalid;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync /* Corresponding type for known words: */
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync return values.at(keys.indexOf(QRegExp(strGlobalSettingsPageType, Qt::CaseInsensitive)));
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync}
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync/* QPixmap <= GlobalSettingsPageType: */
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsynctemplate<> QPixmap toWarningPixmap(const GlobalSettingsPageType &type)
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync{
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync switch (type)
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync {
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case GlobalSettingsPageType_General: return UIIconPool::pixmap(":/machine_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case GlobalSettingsPageType_Input: return UIIconPool::pixmap(":/hostkey_warning_16px.png");
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#ifdef VBOX_GUI_WITH_NETWORK_MANAGER
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case GlobalSettingsPageType_Update: return UIIconPool::pixmap(":/refresh_warning_16px.png");
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case GlobalSettingsPageType_Language: return UIIconPool::pixmap(":/site_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case GlobalSettingsPageType_Display: return UIIconPool::pixmap(":/vrdp_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case GlobalSettingsPageType_Network: return UIIconPool::pixmap(":/nw_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case GlobalSettingsPageType_Extensions: return UIIconPool::pixmap(":/extension_pack_warning_16px.png");
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#ifdef VBOX_GUI_WITH_NETWORK_MANAGER
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case GlobalSettingsPageType_Proxy: return UIIconPool::pixmap(":/proxy_warning_16px.png");
dca2831bb7bb894093fa34f4c5962f419e0a03cavboxsync#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync default: AssertMsgFailed(("No pixmap for %d", type)); break;
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync }
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync return QPixmap();
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync}
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync/* QString <= MachineSettingsPageType: */
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsynctemplate<> QString toInternalString(const MachineSettingsPageType &machineSettingsPageType)
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync{
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync QString strResult;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync switch (machineSettingsPageType)
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync {
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync case MachineSettingsPageType_General: strResult = "General"; break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync case MachineSettingsPageType_System: strResult = "System"; break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync case MachineSettingsPageType_Display: strResult = "Display"; break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync case MachineSettingsPageType_Storage: strResult = "Storage"; break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync case MachineSettingsPageType_Audio: strResult = "Audio"; break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync case MachineSettingsPageType_Network: strResult = "Network"; break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync case MachineSettingsPageType_Ports: strResult = "Ports"; break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync case MachineSettingsPageType_Serial: strResult = "Serial"; break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync case MachineSettingsPageType_Parallel: strResult = "Parallel"; break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync case MachineSettingsPageType_USB: strResult = "USB"; break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync case MachineSettingsPageType_SF: strResult = "SharedFolders"; break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync default:
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync {
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync AssertMsgFailed(("No text for settings page type=%d", machineSettingsPageType));
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync break;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync }
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync }
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync return strResult;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync}
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync/* MachineSettingsPageType <= QString: */
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsynctemplate<> MachineSettingsPageType fromInternalString<MachineSettingsPageType>(const QString &strMachineSettingsPageType)
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync{
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync /* Here we have some fancy stuff allowing us
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync * to search through the keys using 'case-insensitive' rule: */
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync QStringList keys; QList<MachineSettingsPageType> values;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync keys << "General"; values << MachineSettingsPageType_General;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync keys << "System"; values << MachineSettingsPageType_System;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync keys << "Display"; values << MachineSettingsPageType_Display;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync keys << "Storage"; values << MachineSettingsPageType_Storage;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync keys << "Audio"; values << MachineSettingsPageType_Audio;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync keys << "Network"; values << MachineSettingsPageType_Network;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync keys << "Ports"; values << MachineSettingsPageType_Ports;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync keys << "Serial"; values << MachineSettingsPageType_Serial;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync keys << "Parallel"; values << MachineSettingsPageType_Parallel;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync keys << "USB"; values << MachineSettingsPageType_USB;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync keys << "SharedFolders"; values << MachineSettingsPageType_SF;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync /* Invalid type for unknown words: */
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync if (!keys.contains(strMachineSettingsPageType, Qt::CaseInsensitive))
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync return MachineSettingsPageType_Invalid;
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync /* Corresponding type for known words: */
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync return values.at(keys.indexOf(QRegExp(strMachineSettingsPageType, Qt::CaseInsensitive)));
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync}
d3528480b4dc7bff388e35890c0e12129ae74ab8vboxsync
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync/* QPixmap <= MachineSettingsPageType: */
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsynctemplate<> QPixmap toWarningPixmap(const MachineSettingsPageType &type)
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync{
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync switch (type)
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync {
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case MachineSettingsPageType_General: return UIIconPool::pixmap(":/machine_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case MachineSettingsPageType_System: return UIIconPool::pixmap(":/chipset_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case MachineSettingsPageType_Display: return UIIconPool::pixmap(":/vrdp_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case MachineSettingsPageType_Storage: return UIIconPool::pixmap(":/hd_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case MachineSettingsPageType_Audio: return UIIconPool::pixmap(":/sound_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case MachineSettingsPageType_Network: return UIIconPool::pixmap(":/nw_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case MachineSettingsPageType_Ports: return UIIconPool::pixmap(":/serial_port_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case MachineSettingsPageType_Serial: return UIIconPool::pixmap(":/serial_port_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case MachineSettingsPageType_Parallel: return UIIconPool::pixmap(":/parallel_port_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case MachineSettingsPageType_USB: return UIIconPool::pixmap(":/usb_warning_16px.png");
0babcbf03b04bdc9b97a3e318a7bd512eef21fecvboxsync case MachineSettingsPageType_SF: return UIIconPool::pixmap(":/sf_warning_16px.png");
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync default: AssertMsgFailed(("No pixmap for %d", type)); break;
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync }
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync return QPixmap();
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync}
63b160c24e7bb0b9f49a64c29d1ee77a02284034vboxsync
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync/* QString <= WizardType: */
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsynctemplate<> QString toInternalString(const WizardType &wizardType)
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync{
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync QString strResult;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync switch (wizardType)
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync {
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync case WizardType_NewVM: strResult = "NewVM"; break;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync case WizardType_CloneVM: strResult = "CloneVM"; break;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync case WizardType_ExportAppliance: strResult = "ExportAppliance"; break;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync case WizardType_ImportAppliance: strResult = "ImportAppliance"; break;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync case WizardType_FirstRun: strResult = "FirstRun"; break;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync case WizardType_NewVD: strResult = "NewVD"; break;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync case WizardType_CloneVD: strResult = "CloneVD"; break;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync default:
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync {
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync AssertMsgFailed(("No text for wizard type=%d", wizardType));
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync break;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync }
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync }
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync return strResult;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync}
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync/* WizardType <= QString: */
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsynctemplate<> WizardType fromInternalString<WizardType>(const QString &strWizardType)
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync{
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync /* Here we have some fancy stuff allowing us
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync * to search through the keys using 'case-insensitive' rule: */
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync QStringList keys; QList<WizardType> values;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync keys << "NewVM"; values << WizardType_NewVM;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync keys << "CloneVM"; values << WizardType_CloneVM;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync keys << "ExportAppliance"; values << WizardType_ExportAppliance;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync keys << "ImportAppliance"; values << WizardType_ImportAppliance;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync keys << "FirstRun"; values << WizardType_FirstRun;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync keys << "NewVD"; values << WizardType_NewVD;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync keys << "CloneVD"; values << WizardType_CloneVD;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync /* Invalid type for unknown words: */
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync if (!keys.contains(strWizardType, Qt::CaseInsensitive))
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync return WizardType_Invalid;
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync /* Corresponding type for known words: */
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync return values.at(keys.indexOf(QRegExp(strWizardType, Qt::CaseInsensitive)));
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync}
c0943c2324862691f6ed6b998fd3c3ad717bdd60vboxsync
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync/* QString <= IndicatorType: */
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsynctemplate<> QString toInternalString(const IndicatorType &indicatorType)
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync{
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync QString strResult;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync switch (indicatorType)
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync {
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync case IndicatorType_HardDisks: strResult = "HardDisks"; break;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync case IndicatorType_OpticalDisks: strResult = "OpticalDisks"; break;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync case IndicatorType_FloppyDisks: strResult = "FloppyDisks"; break;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync case IndicatorType_Network: strResult = "Network"; break;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync case IndicatorType_USB: strResult = "USB"; break;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync case IndicatorType_SharedFolders: strResult = "SharedFolders"; break;
8c16794f5ce593e63ae3138a574a4bd1d3aed76avboxsync case IndicatorType_Display: strResult = "Display"; break;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync case IndicatorType_VideoCapture: strResult = "VideoCapture"; break;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync case IndicatorType_Features: strResult = "Features"; break;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync case IndicatorType_Mouse: strResult = "Mouse"; break;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync case IndicatorType_Keyboard: strResult = "Keyboard"; break;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync default:
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync {
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync AssertMsgFailed(("No text for indicator type=%d", indicatorType));
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync break;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync }
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync }
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync return strResult;
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync}
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync/* IndicatorType <= QString: */
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsynctemplate<> IndicatorType fromInternalString<IndicatorType>(const QString &strIndicatorType)
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync{
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync /* Here we have some fancy stuff allowing us
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync * to search through the keys using 'case-insensitive' rule: */
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync QStringList keys; QList<IndicatorType> values;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "HardDisks"; values << IndicatorType_HardDisks;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "OpticalDisks"; values << IndicatorType_OpticalDisks;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "FloppyDisks"; values << IndicatorType_FloppyDisks;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "Network"; values << IndicatorType_Network;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "USB"; values << IndicatorType_USB;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "SharedFolders"; values << IndicatorType_SharedFolders;
8c16794f5ce593e63ae3138a574a4bd1d3aed76avboxsync keys << "Display"; values << IndicatorType_Display;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "VideoCapture"; values << IndicatorType_VideoCapture;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "Features"; values << IndicatorType_Features;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "Mouse"; values << IndicatorType_Mouse;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "Keyboard"; values << IndicatorType_Keyboard;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync /* Invalid type for unknown words: */
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync if (!keys.contains(strIndicatorType, Qt::CaseInsensitive))
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync return IndicatorType_Invalid;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync /* Corresponding type for known words: */
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync return values.at(keys.indexOf(QRegExp(strIndicatorType, Qt::CaseInsensitive)));
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync}
c47fa4987358016899f59a10bfba217a1cc8ba47vboxsync
16dce9ba594a1158b342889d02593d6e2960be75vboxsync/* QIcon <= IndicatorType: */
16dce9ba594a1158b342889d02593d6e2960be75vboxsynctemplate<> QIcon toIcon(const IndicatorType &indicatorType)
16dce9ba594a1158b342889d02593d6e2960be75vboxsync{
16dce9ba594a1158b342889d02593d6e2960be75vboxsync switch (indicatorType)
16dce9ba594a1158b342889d02593d6e2960be75vboxsync {
16dce9ba594a1158b342889d02593d6e2960be75vboxsync case IndicatorType_HardDisks: return UIIconPool::iconSet(":/hd_16px.png");
16dce9ba594a1158b342889d02593d6e2960be75vboxsync case IndicatorType_OpticalDisks: return UIIconPool::iconSet(":/cd_16px.png");
16dce9ba594a1158b342889d02593d6e2960be75vboxsync case IndicatorType_FloppyDisks: return UIIconPool::iconSet(":/fd_16px.png");
16dce9ba594a1158b342889d02593d6e2960be75vboxsync case IndicatorType_Network: return UIIconPool::iconSet(":/nw_16px.png");
16dce9ba594a1158b342889d02593d6e2960be75vboxsync case IndicatorType_USB: return UIIconPool::iconSet(":/usb_16px.png");
16dce9ba594a1158b342889d02593d6e2960be75vboxsync case IndicatorType_SharedFolders: return UIIconPool::iconSet(":/sf_16px.png");
8c16794f5ce593e63ae3138a574a4bd1d3aed76avboxsync case IndicatorType_Display: return UIIconPool::iconSet(":/display_software_16px.png");
16dce9ba594a1158b342889d02593d6e2960be75vboxsync case IndicatorType_VideoCapture: return UIIconPool::iconSet(":/video_capture_16px.png");
16dce9ba594a1158b342889d02593d6e2960be75vboxsync case IndicatorType_Features: return UIIconPool::iconSet(":/vtx_amdv_16px.png");
16dce9ba594a1158b342889d02593d6e2960be75vboxsync case IndicatorType_Mouse: return UIIconPool::iconSet(":/mouse_16px.png");
16dce9ba594a1158b342889d02593d6e2960be75vboxsync case IndicatorType_Keyboard: return UIIconPool::iconSet(":/hostkey_16px.png");
16dce9ba594a1158b342889d02593d6e2960be75vboxsync default:
16dce9ba594a1158b342889d02593d6e2960be75vboxsync {
16dce9ba594a1158b342889d02593d6e2960be75vboxsync AssertMsgFailed(("No icon for indicator type=%d", indicatorType));
16dce9ba594a1158b342889d02593d6e2960be75vboxsync break;
16dce9ba594a1158b342889d02593d6e2960be75vboxsync }
16dce9ba594a1158b342889d02593d6e2960be75vboxsync }
16dce9ba594a1158b342889d02593d6e2960be75vboxsync return QIcon();
16dce9ba594a1158b342889d02593d6e2960be75vboxsync}
16dce9ba594a1158b342889d02593d6e2960be75vboxsync
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync/* QString <= MachineCloseAction: */
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsynctemplate<> QString toInternalString(const MachineCloseAction &machineCloseAction)
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync{
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync QString strResult;
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync switch (machineCloseAction)
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync {
7c518afb661809cdc80007f311e41b320de11b90vboxsync case MachineCloseAction_SaveState: strResult = "SaveState"; break;
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync case MachineCloseAction_Shutdown: strResult = "Shutdown"; break;
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync case MachineCloseAction_PowerOff: strResult = "PowerOff"; break;
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync case MachineCloseAction_PowerOff_RestoringSnapshot: strResult = "PowerOffRestoringSnapshot"; break;
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync default:
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync {
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync AssertMsgFailed(("No text for indicator type=%d", machineCloseAction));
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync break;
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync }
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync }
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync return strResult;
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync}
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync/* MachineCloseAction <= QString: */
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsynctemplate<> MachineCloseAction fromInternalString<MachineCloseAction>(const QString &strMachineCloseAction)
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync{
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync /* Here we have some fancy stuff allowing us
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync * to search through the keys using 'case-insensitive' rule: */
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync QStringList keys; QList<MachineCloseAction> values;
7c518afb661809cdc80007f311e41b320de11b90vboxsync keys << "SaveState"; values << MachineCloseAction_SaveState;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "Shutdown"; values << MachineCloseAction_Shutdown;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "PowerOff"; values << MachineCloseAction_PowerOff;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync keys << "PowerOffRestoringSnapshot"; values << MachineCloseAction_PowerOff_RestoringSnapshot;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync /* Invalid type for unknown words: */
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync if (!keys.contains(strMachineCloseAction, Qt::CaseInsensitive))
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync return MachineCloseAction_Invalid;
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync /* Corresponding type for known words: */
7c43aa13a6461be3454c73b2ba25adfd43f331c7vboxsync return values.at(keys.indexOf(QRegExp(strMachineCloseAction, Qt::CaseInsensitive)));
44466decabf6fa586dbe8f1fb56b88386e77f659vboxsync}
a2e7eb192429e7fbcc89511fdb4e9faa984c30d6vboxsync
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync/* QString <= MouseCapturePolicy: */
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsynctemplate<> QString toInternalString(const MouseCapturePolicy &mouseCapturePolicy)
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync{
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync /* Return corresponding QString representation for passed enum value: */
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync switch (mouseCapturePolicy)
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync {
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync case MouseCapturePolicy_Default: return "Default";
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync case MouseCapturePolicy_HostComboOnly: return "HostComboOnly";
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync case MouseCapturePolicy_Disabled: return "Disabled";
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync default: AssertMsgFailed(("No text for '%d'", mouseCapturePolicy)); break;
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync }
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync /* Return QString() by default: */
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync return QString();
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync}
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync/* MouseCapturePolicy <= QString: */
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsynctemplate<> MouseCapturePolicy fromInternalString<MouseCapturePolicy>(const QString &strMouseCapturePolicy)
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync{
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync /* Here we have some fancy stuff allowing us
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync * to search through the keys using 'case-insensitive' rule: */
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync QStringList keys; QList<MouseCapturePolicy> values;
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync keys << "Default"; values << MouseCapturePolicy_Default;
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync keys << "HostComboOnly"; values << MouseCapturePolicy_HostComboOnly;
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync keys << "Disabled"; values << MouseCapturePolicy_Disabled;
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync /* Default type for unknown words: */
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync if (!keys.contains(strMouseCapturePolicy, Qt::CaseInsensitive))
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync return MouseCapturePolicy_Default;
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync /* Corresponding type for known words: */
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync return values.at(keys.indexOf(QRegExp(strMouseCapturePolicy, Qt::CaseInsensitive)));
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync}
40e9bd77cc7cecff2e2766009b0a228ca3231c72vboxsync
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync/* QString <= GuruMeditationHandlerType: */
b429482aa9ee615942c70e9beedbe171471e48b3vboxsynctemplate<> QString toInternalString(const GuruMeditationHandlerType &guruMeditationHandlerType)
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync{
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync QString strResult;
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync switch (guruMeditationHandlerType)
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync {
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync case GuruMeditationHandlerType_Default: strResult = "Default"; break;
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync case GuruMeditationHandlerType_PowerOff: strResult = "PowerOff"; break;
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync case GuruMeditationHandlerType_Ignore: strResult = "Ignore"; break;
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync default:
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync {
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync AssertMsgFailed(("No text for indicator type=%d", guruMeditationHandlerType));
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync break;
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync }
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync }
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync return strResult;
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync}
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync/* GuruMeditationHandlerType <= QString: */
b429482aa9ee615942c70e9beedbe171471e48b3vboxsynctemplate<> GuruMeditationHandlerType fromInternalString<GuruMeditationHandlerType>(const QString &strGuruMeditationHandlerType)
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync{
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync /* Here we have some fancy stuff allowing us
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync * to search through the keys using 'case-insensitive' rule: */
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync QStringList keys; QList<GuruMeditationHandlerType> values;
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync keys << "Default"; values << GuruMeditationHandlerType_Default;
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync keys << "PowerOff"; values << GuruMeditationHandlerType_PowerOff;
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync keys << "Ignore"; values << GuruMeditationHandlerType_Ignore;
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync /* Default type for unknown words: */
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync if (!keys.contains(strGuruMeditationHandlerType, Qt::CaseInsensitive))
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync return GuruMeditationHandlerType_Default;
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync /* Corresponding type for known words: */
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync return values.at(keys.indexOf(QRegExp(strGuruMeditationHandlerType, Qt::CaseInsensitive)));
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync}
b429482aa9ee615942c70e9beedbe171471e48b3vboxsync
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync/* QString <= HiDPIOptimizationType: */
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsynctemplate<> QString toInternalString(const HiDPIOptimizationType &optimizationType)
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync{
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync QString strResult;
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync switch (optimizationType)
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync {
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync case HiDPIOptimizationType_None: strResult = "None"; break;
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync case HiDPIOptimizationType_Performance: strResult = "Performance"; break;
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync default:
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync {
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync AssertMsgFailed(("No text for type=%d", optimizationType));
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync break;
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync }
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync }
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync return strResult;
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync}
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync/* HiDPIOptimizationType <= QString: */
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsynctemplate<> HiDPIOptimizationType fromInternalString<HiDPIOptimizationType>(const QString &strOptimizationType)
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync{
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync /* Here we have some fancy stuff allowing us
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync * to search through the keys using 'case-insensitive' rule: */
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync QStringList keys; QList<HiDPIOptimizationType> values;
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync keys << "None"; values << HiDPIOptimizationType_None;
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync keys << "Performance"; values << HiDPIOptimizationType_Performance;
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync /* 'Performance' type for empty/unknown words (for trunk): */
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync if (!keys.contains(strOptimizationType, Qt::CaseInsensitive))
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync return HiDPIOptimizationType_Performance;
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync /* Corresponding type for known words: */
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync return values.at(keys.indexOf(QRegExp(strOptimizationType, Qt::CaseInsensitive)));
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync}
8784d2c9b1eb384e4aefb5e344cf9191513f5dfcvboxsync
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync/* QString <= MiniToolbarAlignment: */
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsynctemplate<> QString toInternalString(const MiniToolbarAlignment &miniToolbarAlignment)
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync{
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync /* Return corresponding QString representation for passed enum value: */
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync switch (miniToolbarAlignment)
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync {
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync case MiniToolbarAlignment_Bottom: return "Bottom";
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync case MiniToolbarAlignment_Top: return "Top";
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync default: AssertMsgFailed(("No text for '%d'", miniToolbarAlignment)); break;
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync }
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync /* Return QString() by default: */
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync return QString();
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync}
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync/* MiniToolbarAlignment <= QString: */
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsynctemplate<> MiniToolbarAlignment fromInternalString<MiniToolbarAlignment>(const QString &strMiniToolbarAlignment)
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync{
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync /* Here we have some fancy stuff allowing us
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync * to search through the keys using 'case-insensitive' rule: */
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync QStringList keys; QList<MiniToolbarAlignment> values;
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync keys << "Bottom"; values << MiniToolbarAlignment_Bottom;
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync keys << "Top"; values << MiniToolbarAlignment_Top;
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync /* Bottom type for unknown words: */
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync if (!keys.contains(strMiniToolbarAlignment, Qt::CaseInsensitive))
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync return MiniToolbarAlignment_Bottom;
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync /* Corresponding type for known words: */
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync return values.at(keys.indexOf(QRegExp(strMiniToolbarAlignment, Qt::CaseInsensitive)));
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync}
f28c61c1b2429e4a420249c1c8816afea3c60f75vboxsync