VBoxProblemReporter.h revision 8888913d7c3baf41f85db6c47e092274f179185d
/** @file
*
* VBox frontends: Qt GUI ("VirtualBox"):
* VBoxProblemReporter class declaration
*/
/*
* Copyright (C) 2006-2008 Sun Microsystems, Inc.
*
* 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.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
* Clara, CA 95054 USA or visit http://www.sun.com if you need
* additional information or have any questions.
*/
#ifndef __VBoxProblemReporter_h__
#define __VBoxProblemReporter_h__
#include "COMDefs.h"
#include "QIMessageBox.h"
/* Qt icludes */
#include <QObject>
// VBoxHelpActions class
////////////////////////////////////////////////////////////////////////////////
/**
* Help Menu action container.
*
* Contains actions for all help menu items and methods to insert them to a
* QMenu and to perform NLS string translation.
*
* Instances of this class are to be created as members of QWidget classes that
* need a Help menu. The containing class usually passes itself as an argument
* to the #setup() method and then calls #addTo() to add actions to its Help
* menu. The #retranslateUi() method is called when it is necessary to
* re-translate all action NLS according to the current language.
*/
struct VBoxHelpActions
{
{}
void retranslateUi();
};
// VBoxProblemReporter class
////////////////////////////////////////////////////////////////////////////////
/**
* situations that happen during application runtime and require the user's
* attention.
*
* error to the user and give him the opportunity to select an action (when
* appropriate).
*
* Every problem sutiation has its own (correspondingly named) method in this
* class that takes a list of arguments necessary to describe the situation and
* to provide the appropriate actions. The method then returns the choice to the
* caller.
*/
{
enum Type
{
Info = 1,
};
enum
{
AutoConfirmed = 0x8000
};
static VBoxProblemReporter &instance();
bool isValid() const;
// helpers
const char *aAutoConfirmId = 0,
const char *aAutoConfirmId,
{
}
const char *aAutoConfirmId = 0,
{
0,
}
const char *aAutoConfirmId,
{
}
const char *aAutoConfirmId = 0,
{
0,
}
const char *aAutoConfirmId,
{
}
QWidget *mainWindowShown() const;
// problem handlers
#ifdef Q_WS_X11
#endif
bool strict = true,
void cannotSendACPIToMachine();
bool warnAboutVirtNotEnabled();
const QString &aSnapshotName);
const QString &aSnapshotName);
#if defined Q_WS_WIN
const CHostNetworkInterface &iface,
const CHostNetworkInterface &iface,
#endif
const CVirtualBoxErrorInfo &error);
const CVirtualBoxErrorInfo &error);
void remindAboutAutoCapture();
void remindAboutMouseIntegration (bool aSupportsAbsolute);
bool remindAboutPausedVMInput();
bool aAfterRefresh);
bool remindAboutInaccessibleMedia();
const QString &aLogFolder);
void cannotRunInSelectorMode();
void cannotImportAppliance (const CProgress &aProgress, CAppliance *aAppliance, QWidget *aParent = NULL) const;
void cannotExportAppliance (const CProgress &aProgress, CAppliance *aAppliance, QWidget *aParent = NULL) const;
{
}
{
}
{
}
void showHelpWebDialog();
void showHelpAboutDialog();
void showHelpHelpDialog();
void resetSuppressedMessages();
};
/**
* Shortcut to the static VBoxProblemReporter::instance() method, for
* convenience.
*/
#endif // __VBoxProblemReporter_h__