UIMessageCenter.h revision dfb707ebae9a5fbe40ddb781ae54fb396a79dd76
/** @file
*
* VBox frontends: Qt GUI ("VirtualBox"):
* UIMessageCenter class declaration
*/
/*
* Copyright (C) 2006-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#ifndef __UIMessageCenter_h__
#define __UIMessageCenter_h__
/* Qt includes: */
#include <QObject>
/* GUI includes: */
#include "QIMessageBox.h"
#include "UIMediumDefs.h"
/* COM includes: */
#include "COMEnums.h"
#include "CProgress.h"
/* Forward declarations: */
struct StorageSlot;
#ifdef VBOX_WITH_DRAG_AND_DROP
#endif /* VBOX_WITH_DRAG_AND_DROP */
/* Possible message types: */
enum MessageType
{
MessageType_Info = 1,
};
/* Global message-center object: */
{
/* Notifier: Interthreading stuff: */
const QString &strAutoConfirmId) const;
static void create();
static void destroy();
/* API: Warning registration stuff: */
/* API: Main message function, used directly only in exceptional cases: */
const QString &strMessage,
const QString &strDetails,
const char *pcszAutoConfirmId = 0,
/* API: Wrapper to 'message' function.
* Provides single OK button: */
const QString &strMessage,
const QString &strDetails,
const char *pcszAutoConfirmId = 0) const;
/* API: Wrapper to 'message' function,
* Error with question providing two buttons (OK and Cancel by default): */
const QString &strMessage,
const QString &strDetails,
const char *pcszAutoConfirmId = 0,
/* API: Wrapper to 'error' function.
* Omits details: */
const QString &strMessage,
const char *pcszAutoConfirmId = 0) const;
/* API: Wrapper to 'message' function.
* Omits details, provides two or three buttons: */
const QString &strMessage,
const char *pcszAutoConfirmId = 0,
/* API: Wrapper to 'question' function,
* Question providing two buttons (OK and Cancel by default): */
const QString &strMessage,
const char *pcszAutoConfirmId = 0,
/* API: Wrapper to 'question' function,
* Question providing three buttons (Yes, No and Cancel by default): */
const QString &strMessage,
const char *pcszAutoConfirmId = 0,
/* API: One more main function: */
const QString &strMessage,
const QString &strOptionText,
bool fDefaultOptionValue = true,
/* API: Progress-dialog stuff: */
int cMinDuration = 2000);
/* API: Main (startup) warnings: */
#ifdef RT_OS_LINUX
void warnAboutWrongUSBMounted() const;
#endif /* RT_OS_LINUX */
void cannotStartSelector() const;
void showBetaBuildWarning() const;
void showExperimentalBuildWarning() const;
/* API: COM startup warnings: */
/* API: Global warnings: */
/* API: Selector warnings: */
void cannotReregisterExistingMachine(const QString &strMachinePath, const QString &strMachineName) const;
void cannotResolveCollisionAutomatically(const QString &strCollisionName, const QString &strGroupName) const;
bool warnAboutInaccessibleMedia() const;
/* API: Snapshot warnings: */
bool warnAboutSnapshotRemovalFreeSpace(const QString &strSnapshotName, const QString &strTargetImageName,
void cannotTakeSnapshot(const CConsole &console, const QString &strMachineName, QWidget *pParent = 0) const;
void cannotTakeSnapshot(const CProgress &progress, const QString &strMachineName, QWidget *pParent = 0) const;
bool cannotRestoreSnapshot(const CConsole &console, const QString &strSnapshotName, const QString &strMachineName) const;
bool cannotRestoreSnapshot(const CProgress &progress, const QString &strSnapshotName, const QString &strMachineName) const;
void cannotRemoveSnapshot(const CConsole &console, const QString &strSnapshotName, const QString &strMachineName) const;
void cannotRemoveSnapshot(const CProgress &progress, const QString &strSnapshotName, const QString &strMachineName) const;
/* API: Global settings warnings: */
void cannotRemoveNATNetwork(const CVirtualBox &vbox, const QString &strNetworkName, QWidget *pParent = 0);
void cannotRemoveDHCPServer(const CVirtualBox &vbox, const QString &strInterfaceName, QWidget *pParent = 0);
void cannotRemoveHostInterface(const CHost &host, const QString &strInterfaceName, QWidget *pParent = 0);
void cannotRemoveHostInterface(const CProgress &progress, const QString &strInterfaceName, QWidget *pParent = 0);
/* API: Machine settings warnings: */
int confirmHardDiskAttachmentCreation(const QString &strControllerName, QWidget *pParent = 0) const;
void cannotAttachDevice(const CMachine &machine, UIMediumType type, const QString &strLocation, const StorageSlot &storageSlot, QWidget *pParent = 0);
void cannotCreateSharedFolder(const CMachine &machine, const QString &strName, const QString &strPath, QWidget *pParent = 0);
void cannotCreateSharedFolder(const CConsole &console, const QString &strName, const QString &strPath, QWidget *pParent = 0);
void cannotRemoveSharedFolder(const CMachine &machine, const QString &strName, const QString &strPath, QWidget *pParent = 0);
void cannotRemoveSharedFolder(const CConsole &console, const QString &strName, const QString &strPath, QWidget *pParent = 0);
/* API: Virtual Medium Manager warnings: */
void cannotChangeMediumType(const CMedium &medium, KMediumType oldMediumType, KMediumType newMediumType, QWidget *pParent = 0) const;
void cannotDeleteHardDiskStorage(const CMedium &medium, const QString &strLocation, QWidget *pParent = 0) const;
void cannotDeleteHardDiskStorage(const CProgress &progress, const QString &strLocation, QWidget *pParent = 0) const;
void cannotDetachDevice(const CMachine &machine, UIMediumType type, const QString &strLocation, const StorageSlot &storageSlot, QWidget *pParent = 0) const;
bool cannotRemountMedium(const CMachine &machine, const UIMedium &medium, bool fMount, bool fRetry, QWidget *pParent = 0) const;
void cannotOpenMedium(const CVirtualBox &vbox, UIMediumType type, const QString &strLocation, QWidget *pParent = 0) const;
/* API: Wizards warnings: */
void cannotRegisterMachine(const CVirtualBox &vbox, const QString &strMachineName, QWidget *pParent = 0) const;
void cannotCreateClone(const CProgress &progress, const QString &strMachineName, QWidget *pParent = 0) const;
void cannotCreateHardDiskStorage(const CVirtualBox &vbox, const QString &strLocation,QWidget *pParent = 0) const;
void cannotCreateHardDiskStorage(const CMedium &medium, const QString &strLocation, QWidget *pParent = 0) const;
void cannotCreateHardDiskStorage(const CProgress &progress, const QString &strLocation, QWidget *pParent = 0) const;
void cannotImportAppliance(const CProgress &progress, const QString &strPath, QWidget *pParent = 0) const;
void cannotExportAppliance(const CMachine &machine, const QString &strPath, QWidget *pParent = 0) const;
void cannotExportAppliance(const CProgress &progress, const QString &strPath, QWidget *pParent = 0) const;
void cannotFindSnapshotByName(const CMachine &machine, const QString &strMachine, QWidget *pParent = 0) const;
/* API: Runtime UI warnings: */
void showRuntimeError(const CConsole &console, bool fFatal, const QString &strErrorId, const QString &strErrorMsg) const;
bool warnAboutVirtNotEnabled64BitsGuest(bool fHWVirtExSupported) const;
bool warnAboutVirtNotEnabledGuestRequired(bool fHWVirtExSupported) const;
bool confirmInputCapture(bool &fAutoConfirmed) const;
void cannotAttachUSBDevice(const CVirtualBoxErrorInfo &errorInfo, const QString &strDevice, const QString &strMachineName) const;
void cannotDetachUSBDevice(const CVirtualBoxErrorInfo &errorInfo, const QString &strDevice, const QString &strMachineName) const;
void cannotAttachWebCam(const CEmulatedUSB &dispatcher, const QString &strWebCamName, const QString &strMachineName) const;
void cannotDetachWebCam(const CEmulatedUSB &dispatcher, const QString &strWebCamName, const QString &strMachineName) const;
void cannotToggleVRDEServer(const CVRDEServer &server, const QString &strMachineName, bool fEnable);
void remindAboutGuestAdditionsAreNotActive() const;
/* API: Network management warnings: */
bool confirmCancelingAllNetworkRequests() const;
void showUpdateNotFound() const;
void askUserToDownloadExtensionPack(const QString &strExtPackName, const QString &strExtPackVersion, const QString &strVBoxVersion) const;
/* API: Downloading warnings: */
bool cannotFindGuestAdditions() const;
bool warAboutOutdatedExtensionPack(const QString &strExtPackName, const QString &strExtPackVersion) const;
bool confirmDownloadExtensionPack(const QString &strExtPackName, const QString &strURL, qulonglong uSize) const;
void cannotSaveExtensionPack(const QString &strExtPackName, const QString &strFrom, const QString &strTo) const;
bool proposeInstallExtentionPack(const QString &strExtPackName, const QString &strFrom, const QString &strTo) const;
#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
/* API: Extension-pack warnings: */
bool confirmInstallExtensionPack(const QString &strPackName, const QString &strPackVersion, const QString &strPackDescription, QWidget *pParent = 0) const;
bool confirmReplaceExtensionPack(const QString &strPackName, const QString &strPackVersionNew, const QString &strPackVersionOld,
void cannotOpenExtPack(const QString &strFilename, const CExtPackManager &extPackManager, QWidget *pParent = 0) const;
void warnAboutBadExtPackFile(const QString &strFilename, const CExtPackFile &extPackFile, QWidget *pParent = 0) const;
void cannotInstallExtPack(const CExtPackFile &extPackFile, const QString &strFilename, QWidget *pParent = 0) const;
void cannotInstallExtPack(const CProgress &progress, const QString &strFilename, QWidget *pParent = 0) const;
void cannotUninstallExtPack(const CExtPackManager &extPackManager, const QString &strPackName, QWidget *pParent = 0) const;
void cannotUninstallExtPack(const CProgress &progress, const QString &strPackName, QWidget *pParent = 0) const;
#ifdef VBOX_WITH_DRAG_AND_DROP
/* API: Drag&drop warnings: */
#endif /* VBOX_WITH_DRAG_AND_DROP */
/* API: License-viewer warnings: */
/* API: File-dialog warnings: */
/* API: Static helpers: */
/* Handlers: Help menu stuff: */
void sltShowHelpWebDialog();
void sltShowHelpAboutDialog();
void sltShowHelpHelpDialog();
void sltResetSuppressedMessages();
/* Handler: Interthreading stuff: */
const QString &strAutoConfirmId) const;
/* Constructor/destructor: */
~UIMessageCenter();
void prepare();
void cleanup();
/* Helper: */
/* Helper: Message-box stuff: */
const QString &strAutoConfirmId) const;
/* Variables: */
/* API: Instance stuff: */
static UIMessageCenter* m_spInstance;
static UIMessageCenter* instance();
};
/* Shortcut to the static UIMessageCenter::instance() method: */
#endif // __UIMessageCenter_h__