VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h

Last change on this file was 104251, checked in by vboxsync, 8 weeks ago

FE/Qt. bugref:10622. Using new UITranslationEventListener in the manager UI classes.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 22.8 KB
RevLine 
[55401]1/* $Id: UIVirtualBoxManager.h 104251 2024-04-09 12:36:47Z vboxsync $ */
[382]2/** @file
[73424]3 * VBox Qt GUI - UIVirtualBoxManager class declaration.
[382]4 */
5
6/*
[98103]7 * Copyright (C) 2006-2023 Oracle and/or its affiliates.
[382]8 *
[96407]9 * This file is part of VirtualBox base platform packages, as
10 * available from https://www.virtualbox.org.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation, in version 3 of the
15 * License.
16 *
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, see <https://www.gnu.org/licenses>.
24 *
25 * SPDX-License-Identifier: GPL-3.0-only
[382]26 */
27
[76581]28#ifndef FEQT_INCLUDED_SRC_manager_UIVirtualBoxManager_h
29#define FEQT_INCLUDED_SRC_manager_UIVirtualBoxManager_h
[76532]30#ifndef RT_WITHOUT_PRAGMA_ONCE
31# pragma once
32#endif
[382]33
[41587]34/* Qt includes: */
[81261]35#include <QMainWindow>
[34064]36#include <QUrl>
[99389]37#include <QUuid>
[382]38
[41587]39/* GUI includes: */
[81261]40#include "QIWithRestorableGeometry.h"
[102084]41#include "UIAdvancedSettingsDialog.h"
[97597]42#include "UICloudMachineSettingsDialog.h"
[103549]43#include "UIDefs.h"
[87476]44#include "UIExtraDataDefs.h"
[102139]45#include "UIAdvancedSettingsDialog.h"
[38977]46
47/* Forward declarations: */
[67021]48class QMenu;
49class QIManagerDialog;
[42526]50class UIAction;
[57829]51class UIActionPool;
[99195]52class UINativeWizard;
[84892]53struct UIUnattendedInstallData;
[73492]54class UIVirtualBoxManagerWidget;
[73424]55class UIVirtualMachineItem;
[90760]56class CCloudMachine;
[92106]57class CUnattended;
[382]58
[70029]59/* Type definitions: */
[81261]60typedef QIWithRestorableGeometry<QMainWindow> QMainWindowWithRestorableGeometry;
[68172]61
[81261]62/** Singleton QMainWindow extension used as VirtualBox Manager instance. */
[104251]63class UIVirtualBoxManager : public QMainWindowWithRestorableGeometry
[382]64{
[9729]65 Q_OBJECT;
[382]66
[84537]67 /** Pointer to menu update-handler for this class: */
68 typedef void (UIVirtualBoxManager::*MenuUpdateHandler)(QMenu *pMenu);
69
[72707]70signals:
71
[73434]72 /** Notifies listeners about this window remapped to another screen. */
[72707]73 void sigWindowRemapped();
74
[382]75public:
76
[73434]77 /** Singleton constructor. */
[57844]78 static void create();
[73434]79 /** Singleton destructor. */
[57844]80 static void destroy();
[73434]81 /** Singleton instance provider. */
82 static UIVirtualBoxManager *instance() { return s_pInstance; }
[57844]83
84 /** Returns the action-pool instance. */
[73434]85 UIActionPool *actionPool() const { return m_pActionPool; }
[57844]86
[75055]87 /** Opens Cloud Profile Manager. */
[87476]88 void openCloudProfileManager() { sltOpenManagerWindow(UIToolType_Cloud); }
[75055]89
[57844]90protected:
91
[73434]92 /** Constructs VirtualBox Manager. */
[73424]93 UIVirtualBoxManager();
[73434]94 /** Destructs VirtualBox Manager. */
[93990]95 virtual ~UIVirtualBoxManager() RT_OVERRIDE;
[382]96
[63291]97 /** Returns whether the window should be maximized when geometry being restored. */
[93990]98 virtual bool shouldBeMaximized() const RT_OVERRIDE;
[63291]99
[73451]100 /** @name Event handling stuff.
101 * @{ */
102#ifdef VBOX_WS_MAC
103 /** Mac OS X: Preprocesses any @a pEvent for passed @a pObject. */
[93990]104 virtual bool eventFilter(QObject *pObject, QEvent *pEvent) RT_OVERRIDE;
[73451]105#endif
106
107 /** Handles any Qt @a pEvent. */
[93990]108 virtual bool event(QEvent *pEvent) RT_OVERRIDE;
[73451]109 /** Handles show @a pEvent. */
[93990]110 virtual void showEvent(QShowEvent *pEvent) RT_OVERRIDE;
[73451]111 /** Handles first show @a pEvent. */
[93990]112 virtual void polishEvent(QShowEvent *pEvent);
[73451]113 /** Handles close @a pEvent. */
[93990]114 virtual void closeEvent(QCloseEvent *pEvent) RT_OVERRIDE;
[94762]115 /** Handles drag enter @a pEvent. */
116 virtual void dragEnterEvent(QDragEnterEvent *event) RT_OVERRIDE;
117 /** Handles drop @a pEvent. */
118 virtual void dropEvent(QDropEvent *event) RT_OVERRIDE;
[73451]119 /** @} */
120
[42526]121private slots:
[12695]122
[73434]123 /** @name Common stuff.
124 * @{ */
[100064]125#ifdef VBOX_WS_NIX
[73434]126 /** Handles host-screen available-area change. */
127 void sltHandleHostScreenAvailableAreaChange();
[91001]128#endif
[62929]129
[83854]130 /** Handles request to update actions. */
131 void sltHandleUpdateActionAppearanceRequest() { updateActionsAppearance(); }
132
[97388]133 /** Handles request to commit data. */
134 void sltHandleCommitData();
135
[78722]136 /** Handles signal about medium-enumeration finished. */
[73434]137 void sltHandleMediumEnumerationFinish();
[57837]138
[73434]139 /** Handles call to open a @a list of URLs. */
140 void sltHandleOpenUrlCall(QList<QUrl> list = QList<QUrl>());
[57837]141
[89851]142 /** Checks if USB device list can be enumerated and host produces any warning during enumeration. */
143 void sltCheckUSBAccesibility();
144
[98996]145 /** Handles signal about Chooser-pane index change. */
[73492]146 void sltHandleChooserPaneIndexChange();
[73434]147 /** Handles signal about group saving progress change. */
148 void sltHandleGroupSavingProgressChange();
[86655]149 /** Handles signal about cloud update progress change. */
150 void sltHandleCloudUpdateProgressChange();
[73673]151
[102098]152 /** Handles signal about Global Tool type change. */
153 void sltHandleGlobalToolTypeChange();
154 /** Handles signal about Machine Tool type change. */
155 void sltHandleMachineToolTypeChange();
[75093]156
[99390]157 /** Handles create medium request. */
158 void sltCreateMedium();
[99389]159 /** Handles copy medium request. */
160 void sltCopyMedium(const QUuid &uMediumId);
161
[75093]162 /** Handles current snapshot item change. */
163 void sltCurrentSnapshotItemChange();
[83064]164
[102723]165 /** Handles request to detach Log Viewer pane. */
[102787]166 void sltDetachToolPane(UIToolType enmToolType);
[102723]167
[83290]168 /** Handles state change for cloud machine with certain @a uId. */
169 void sltHandleCloudMachineStateChange(const QUuid &uId);
[104251]170
171 /** Handles translation event. */
172 void sltRetranslateUI();
[73434]173 /** @} */
[62206]174
[57830]175 /** @name CVirtualBox event handling stuff.
176 * @{ */
[74942]177 /** Handles CVirtualBox event about state change for machine with @a uID. */
178 void sltHandleStateChange(const QUuid &uID);
[57830]179 /** @} */
[42553]180
[84537]181 /** @name Action-pool stuff.
182 * @{ */
183 /** Handle menu prepare. */
184 void sltHandleMenuPrepare(int iIndex, QMenu *pMenu);
185 /** @} */
186
[57830]187 /** @name File menu stuff.
188 * @{ */
[87476]189 /** Handles call to open Manager window of certain @a enmType. */
190 void sltOpenManagerWindow(UIToolType enmType = UIToolType_Invalid);
191 /** Handles call to open Manager window by default. */
192 void sltOpenManagerWindowDefault() { sltOpenManagerWindow(); }
[102731]193 /** Handles call to embed Manager window of certain @a enmType. */
194 void sltEmbedManagerWindow(UIToolType enmType = UIToolType_Invalid);
[87476]195 /** Handles call to close Manager window of certain @a enmType. */
196 void sltCloseManagerWindow(UIToolType enmType = UIToolType_Invalid);
[102731]197 /** Handles call to embed Manager window by default. */
198 void sltEmbedManagerWindowDefault() { sltEmbedManagerWindow(); }
[87476]199 /** Handles call to close Manager window by default. */
200 void sltCloseManagerWindowDefault() { sltCloseManagerWindow(); }
[87354]201
[99201]202 /** Handles call to open Import Appliance wizard. */
203 void sltOpenImportApplianceWizard() { openImportApplianceWizard(); }
[57830]204 /** Handles call to open Export Appliance wizard. */
[57836]205 void sltOpenExportApplianceWizard();
[73434]206
[60599]207#ifdef VBOX_GUI_WITH_EXTRADATA_MANAGER_UI
[57836]208 /** Handles call to open Extra-data Manager window. */
[57830]209 void sltOpenExtraDataManagerWindow();
[73434]210#endif
211
[57830]212 /** Handles call to open Preferences dialog. */
[57836]213 void sltOpenPreferencesDialog();
[97390]214 /** Handles call to close Preferences dialog. */
215 void sltClosePreferencesDialog();
[73434]216
[102762]217 /** Handles call to switch to global tool corresponding to passed @a pAction. */
218 void sltPerformSwitchToGlobalTool(QAction *pAction);
[102760]219
[57830]220 /** Handles call to exit application. */
221 void sltPerformExit();
222 /** @} */
[382]223
[57830]224 /** @name Machine menu stuff.
225 * @{ */
[99195]226 /** Handles call to open wizard of specified @a enmType. */
227 void sltOpenWizard(WizardType enmType);
228 /** Handles call to close wizard of specified @a enmType. */
229 void sltCloseWizard(WizardType enmType);
230
[84463]231 /** Handles call to open new machine wizard. */
232 void sltOpenNewMachineWizard();
[83855]233 /** Handles call to open add machine dialog. */
234 void sltOpenAddMachineDialog();
[73434]235
[84439]236 /** Handles call to open group name editor. */
237 void sltOpenGroupNameEditor();
[84461]238 /** Handles call to disband group. */
239 void sltDisbandGroup();
[84439]240
[97382]241 /** Handles call to open Settings dialog.
[57830]242 * @param strCategory can bring the settings category to start from.
243 * @param strControl can bring the widget of the page to focus.
[74942]244 * @param uID can bring the ID of machine to manage. */
[97382]245 void sltOpenSettingsDialog(QString strCategory = QString(),
246 QString strControl = QString(),
247 const QUuid &uID = QUuid());
248 /** Handles call to open Settings dialog the default way. */
249 void sltOpenSettingsDialogDefault() { sltOpenSettingsDialog(); }
[97390]250 /** Handles call to close Settings dialog. */
251 void sltCloseSettingsDialog();
[73434]252
[57830]253 /** Handles call to open Clone Machine wizard. */
[57836]254 void sltOpenCloneMachineWizard();
[73434]255
[84512]256 /** Handles call to move machine. */
[73457]257 void sltPerformMachineMove();
[73434]258
[84517]259 /** Handles call to remove machine. */
260 void sltPerformMachineRemove();
261
[84513]262 /** Handles call to move machine to a new group. */
263 void sltPerformMachineMoveToNewGroup();
[84545]264 /** Handles call to move machine to a specific group. */
265 void sltPerformMachineMoveToSpecificGroup();
[84513]266
[57830]267 /** Handles call to start or show machine. */
[57836]268 void sltPerformStartOrShowMachine();
[57830]269 /** Handles call to start machine in normal mode. */
[57836]270 void sltPerformStartMachineNormal();
[57830]271 /** Handles call to start machine in headless mode. */
[57836]272 void sltPerformStartMachineHeadless();
[57830]273 /** Handles call to start machine in detachable mode. */
[57836]274 void sltPerformStartMachineDetachable();
[73434]275
[85191]276 /** Handles call to create console connection for group. */
277 void sltPerformCreateConsoleConnectionForGroup();
278 /** Handles call to create console connection for machine. */
279 void sltPerformCreateConsoleConnectionForMachine();
280 /** Handles call to delete console connection for group. */
281 void sltPerformDeleteConsoleConnectionForGroup();
282 /** Handles call to delete console connection for machine. */
283 void sltPerformDeleteConsoleConnectionForMachine();
[85151]284 /** Handles call to copy console connection key fingerprint. */
285 void sltCopyConsoleConnectionFingerprint();
[85445]286 /** Handles call to copy serial console command for Unix. */
287 void sltPerformCopyCommandSerialUnix();
288 /** Handles call to copy serial console command for Windows. */
289 void sltPerformCopyCommandSerialWindows();
290 /** Handles call to copy VNC console command for Unix. */
291 void sltPerformCopyCommandVNCUnix();
292 /** Handles call to copy VNC console command for Windows. */
293 void sltPerformCopyCommandVNCWindows();
[94089]294 /** Handles call to show console log. */
295 void sltPerformShowLog();
296 /** Handles call about console @a strLog for cloud VM with @a strName read. */
297 void sltHandleConsoleLogRead(const QString &strName, const QString &strLog);
[85393]298 /** Handles call to execute external application. */
299 void sltExecuteExternalApplication();
[85111]300
[57830]301 /** Handles call to discard machine state. */
[57836]302 void sltPerformDiscardMachineState();
[73434]303
[57830]304 /** Handles call to @a fPause or resume machine otherwise. */
[57836]305 void sltPerformPauseOrResumeMachine(bool fPause);
[73434]306
[57830]307 /** Handles call to reset machine. */
[57836]308 void sltPerformResetMachine();
[73434]309
[61101]310 /** Handles call to detach machine UI. */
311 void sltPerformDetachMachineUI();
[57830]312 /** Handles call to save machine state. */
[57836]313 void sltPerformSaveMachineState();
[86925]314 /** Handles call to terminate machine. */
315 void sltPerformTerminateMachine();
[57830]316 /** Handles call to ask machine for shutdown. */
[57836]317 void sltPerformShutdownMachine();
[57830]318 /** Handles call to power machine off. */
[57836]319 void sltPerformPowerOffMachine();
[97076]320 /** Handles signal about machine powered off.
321 * @param fSuccess Brings whether machine was powered off successfully.
322 * @param fIncludingDiscard Brings whether machine state should be discarded. */
323 void sltHandlePoweredOffMachine(bool fSuccess, bool fIncludingDiscard);
[73434]324
[102762]325 /** Handles call to switch to machine tool corresponding to passed @a pAction. */
326 void sltPerformSwitchToMachineTool(QAction *pAction);
[76757]327
[84516]328 /** Handles call to refresh machine. */
329 void sltPerformRefreshMachine();
330
[57830]331 /** Handles call to show machine in File Manager. */
332 void sltShowMachineInFileManager();
[73434]333
[57830]334 /** Handles call to create machine shortcut. */
[57836]335 void sltPerformCreateMachineShortcut();
[73434]336
[84456]337 /** Handles call to sort group. */
338 void sltPerformGroupSorting();
339
[84518]340 /** Handles call to toggle machine search widget visibility to be @a fVisible. */
341 void sltPerformMachineSearchWidgetVisibilityToggling(bool fVisible);
[87022]342
343 /** Handles call to show help viewer. */
344 void sltPerformShowHelpBrowser();
[100027]345
346 /** Handles signals that are emitted when an ext. pack un/installed. */
347 void sltExtensionPackInstalledUninstalled(const QString &strName);
[57830]348 /** @} */
[382]349
[57837]350private:
[57829]351
[57830]352 /** @name Prepare/Cleanup cascade.
353 * @{ */
[57842]354 /** Prepares window. */
355 void prepare();
[57830]356 /** Prepares icon. */
357 void prepareIcon();
358 /** Prepares menu-bar. */
359 void prepareMenuBar();
360 /** Prepares status-bar. */
361 void prepareStatusBar();
[68172]362 /** Prepares toolbar. */
363 void prepareToolbar();
[57830]364 /** Prepares widgets. */
365 void prepareWidgets();
366 /** Prepares connections. */
367 void prepareConnections();
368 /** Loads settings. */
369 void loadSettings();
[57829]370
[76815]371 /** Cleanups connections. */
372 void cleanupConnections();
[73492]373 /** Cleanups widgets. */
374 void cleanupWidgets();
[57830]375 /** Cleanups menu-bar. */
376 void cleanupMenuBar();
[57842]377 /** Cleanups window. */
378 void cleanup();
[57830]379 /** @} */
[38355]380
[73492]381 /** @name Common stuff.
382 * @{ */
383 /** Returns current-item. */
384 UIVirtualMachineItem *currentItem() const;
385 /** Returns a list of current-items. */
386 QList<UIVirtualMachineItem*> currentItems() const;
387
388 /** Returns whether group saving is in progress. */
389 bool isGroupSavingInProgress() const;
390 /** Returns whether all items of one group is selected. */
391 bool isAllItemsOfOneGroupSelected() const;
392 /** Returns whether single group is selected. */
393 bool isSingleGroupSelected() const;
[83674]394 /** Returns whether single local group is selected. */
395 bool isSingleLocalGroupSelected() const;
[89515]396 /** Returns whether single cloud provider group is selected. */
397 bool isSingleCloudProviderGroupSelected() const;
[83674]398 /** Returns whether single cloud profile group is selected. */
399 bool isSingleCloudProfileGroupSelected() const;
[86655]400
[86734]401 /** Returns whether at least one cloud profile currently being updated. */
402 bool isCloudProfileUpdateInProgress() const;
[92106]403
[92132]404 /** Checks if @a comUnattended has any errors.
405 * If so shows an error notification and returns false, else returns true. */
406 bool checkUnattendedInstallError(const CUnattended &comUnattended) const;
[73492]407 /** @} */
408
[85425]409 /** @name Various VM helpers.
[83855]410 * @{ */
411 /** Opens add machine dialog specifying initial name with @a strFileName. */
412 void openAddMachineDialog(const QString &strFileName = QString());
[94593]413 /** Opens new machine dialog specifying initial name with @a strFileName. */
414 void openNewMachineWizard(const QString &strISOFilePath = QString());
[99200]415
416 /** Opens Import Appliance wizard.
417 * @param strFileName can bring the name of file to import appliance from. */
418 void openImportApplianceWizard(const QString &strFileName = QString());
419
[90795]420 /** Launches certain @a comMachine in specified @a enmLaunchMode. */
[98335]421 static void launchMachine(CMachine &comMachine, UILaunchMode enmLaunchMode = UILaunchMode_Default);
[90760]422 /** Launches certain @a comMachine. */
[90795]423 static void launchMachine(CCloudMachine &comMachine);
[90760]424
[85425]425 /** Creates an unattended installer and uses it to install guest os to newly created vm. */
[99207]426 void startUnattendedInstall(const CUnattended &comUnattended, bool fStartHeadless, const QString &strMachineId);
[83855]427
[66397]428 /** Launches or shows virtual machines represented by passed @a items in corresponding @a enmLaunchMode (for launch). */
[98335]429 void performStartOrShowVirtualMachines(const QList<UIVirtualMachineItem*> &items, UILaunchMode enmLaunchMode);
[85425]430
431#ifndef VBOX_WS_WIN
432 /** Parses serialized @a strArguments string according to shell rules. */
433 QStringList parseShellArguments(const QString &strArguments);
434#endif
[66397]435 /** @} */
436
[57830]437 /** @name Action update stuff.
438 * @{ */
[85080]439 /** Updates 'Group' menu. */
440 void updateMenuGroup(QMenu *pMenu);
441 /** Updates 'Machine' menu. */
442 void updateMenuMachine(QMenu *pMenu);
[84558]443 /** Updates 'Group' : 'Move to Group' menu. */
444 void updateMenuGroupMoveToGroup(QMenu *pMenu);
[85151]445 /** Updates 'Group' : 'Console' menu. */
446 void updateMenuGroupConsole(QMenu *pMenu);
[84537]447 /** Updates 'Group' : 'Close' menu. */
448 void updateMenuGroupClose(QMenu *pMenu);
[84545]449 /** Updates 'Machine' : 'Move to Group' menu. */
450 void updateMenuMachineMoveToGroup(QMenu *pMenu);
[85151]451 /** Updates 'Machine' : 'Console' menu. */
452 void updateMenuMachineConsole(QMenu *pMenu);
[84537]453 /** Updates 'Machine' : 'Close' menu. */
454 void updateMenuMachineClose(QMenu *pMenu);
455
[68199]456 /** Performs update of actions visibility. */
457 void updateActionsVisibility();
[57830]458 /** Performs update of actions appearance. */
459 void updateActionsAppearance();
[42560]460
[57830]461 /** Returns whether the action with @a iActionIndex is enabled.
462 * @param items used to calculate verdict about should the action be enabled. */
[73424]463 bool isActionEnabled(int iActionIndex, const QList<UIVirtualMachineItem*> &items);
[57829]464
[83011]465 /** Returns whether all passed @a items are local. */
466 static bool isItemsLocal(const QList<UIVirtualMachineItem*> &items);
[86925]467 /** Returns whether all passed @a items are cloud. */
468 static bool isItemsCloud(const QList<UIVirtualMachineItem*> &items);
[57830]469 /** Returns whether all passed @a items are powered off. */
[73424]470 static bool isItemsPoweredOff(const QList<UIVirtualMachineItem*> &items);
[57830]471 /** Returns whether at least one of passed @a items is able to shutdown. */
[73424]472 static bool isAtLeastOneItemAbleToShutdown(const QList<UIVirtualMachineItem*> &items);
[57830]473 /** Returns whether at least one of passed @a items supports shortcut creation. */
[73424]474 static bool isAtLeastOneItemSupportsShortcuts(const QList<UIVirtualMachineItem*> &items);
[57830]475 /** Returns whether at least one of passed @a items is accessible. */
[73424]476 static bool isAtLeastOneItemAccessible(const QList<UIVirtualMachineItem*> &items);
[57830]477 /** Returns whether at least one of passed @a items is inaccessible. */
[73424]478 static bool isAtLeastOneItemInaccessible(const QList<UIVirtualMachineItem*> &items);
[57830]479 /** Returns whether at least one of passed @a items is removable. */
[73424]480 static bool isAtLeastOneItemRemovable(const QList<UIVirtualMachineItem*> &items);
[66398]481 /** Returns whether at least one of passed @a items can be started. */
[73424]482 static bool isAtLeastOneItemCanBeStarted(const QList<UIVirtualMachineItem*> &items);
[66398]483 /** Returns whether at least one of passed @a items can be shown. */
[73424]484 static bool isAtLeastOneItemCanBeShown(const QList<UIVirtualMachineItem*> &items);
[57830]485 /** Returns whether at least one of passed @a items can be started or shown. */
[73424]486 static bool isAtLeastOneItemCanBeStartedOrShown(const QList<UIVirtualMachineItem*> &items);
[57830]487 /** Returns whether at least one of passed @a items can be discarded. */
[73424]488 static bool isAtLeastOneItemDiscardable(const QList<UIVirtualMachineItem*> &items);
[57830]489 /** Returns whether at least one of passed @a items is started. */
[73424]490 static bool isAtLeastOneItemStarted(const QList<UIVirtualMachineItem*> &items);
[57830]491 /** Returns whether at least one of passed @a items is running. */
[73424]492 static bool isAtLeastOneItemRunning(const QList<UIVirtualMachineItem*> &items);
[97277]493 /** Returns whether at least one of passed @a items is detachable. */
494 static bool isAtLeastOneItemDetachable(const QList<UIVirtualMachineItem*> &items);
[85565]495
[100064]496#ifdef VBOX_WS_NIX
[85577]497 /** Tries to guess default X11 terminal emulator.
498 * @returns Data packed into Qt pair of QString(s),
499 * which is `name` and `--execute argument`. */
500 static QPair<QString, QString> defaultTerminalData();
[85565]501#endif
[57830]502 /** @} */
[42526]503
[57897]504 /** Holds the static instance. */
[73434]505 static UIVirtualBoxManager *s_pInstance;
[57844]506
[57829]507 /** Holds whether the dialog is polished. */
[73434]508 bool m_fPolished : 1;
[78722]509 /** Holds whether first medium-enumeration handled. */
[73434]510 bool m_fFirstMediumEnumerationHandled : 1;
[45290]511
[52202]512 /** Holds the action-pool instance. */
513 UIActionPool *m_pActionPool;
[84537]514 /** Holds the map of menu update-handlers. */
515 QMap<int, MenuUpdateHandler> m_menuUpdateHandlers;
[52202]516
[87476]517 /** Holds the map of various global managers. */
518 QMap<UIToolType, QIManagerDialog*> m_managers;
519
[97390]520 /** Holds the map of various settings dialogs. */
[102139]521 QMap<UIAdvancedSettingsDialog::DialogType, UIAdvancedSettingsDialog*> m_settings;
[102084]522
[97597]523 /** Holds the cloud settings dialog instance. */
[102084]524 UISafePointerCloudMachineSettingsDialog m_pCloudSettings;
[97390]525
[99195]526 /** Holds the map of various wizards. */
527 QMap<WizardType, UINativeWizard*> m_wizards;
528
[73492]529 /** Holds the central-widget instance. */
530 UIVirtualBoxManagerWidget *m_pWidget;
[88519]531
532 /** Holds the geometry save timer ID. */
[99202]533 int m_iGeometrySaveTimerId;
534
[99207]535 /** Holds the ISO file path used by new VM wizard. */
536 QString m_strISOFilePath;
537
[99218]538 /** Holds whether snapshot clone should be done by clone VM wizard. */
539 bool m_fSnapshotCloneByDefault;
540
[99200]541 /** Holds whether OCI importing should be started by default. */
542 bool m_fImportFromOCI;
543 /** Holds the file-name used by import wizard. */
544 QString m_strFileName;
[99202]545
546 /** Holds whether OCI exporting should be started by default. */
547 bool m_fExportToOCI;
548 /** Holds the list of VMs used by export wizard. */
549 QStringList m_names;
[99389]550
551 /** Holds the ID of medium used by clone VD wizard. */
552 QUuid m_uMediumId;
[382]553};
554
[73424]555#define gpManager UIVirtualBoxManager::instance()
[57844]556
[76581]557#endif /* !FEQT_INCLUDED_SRC_manager_UIVirtualBoxManager_h */
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use