VirtualBox

Ignore:
Timestamp:
Mar 16, 2018 3:11:13 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
121321
Message:

FE/Qt: bugref:9049: Detach VBoxGlobal from UISession stuff.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/globals
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIStarter.cpp

    r71360 r71369  
    2525#include "UIMessageCenter.h"
    2626#include "UISelectorWindow.h"
     27#include "UISession.h"
    2728#include "UIStarter.h"
    2829
     
    8586    connect(&vboxGlobal(), &VBoxGlobal::sigAskToOpenURLs,
    8687            this, &UIStarter::sltOpenURLs);
     88    connect(&vboxGlobal(), &VBoxGlobal::sigAskToCommitData,
     89            this, &UIStarter::sltHandleCommitDataRequest);
    8790}
    8891
     
    168171}
    169172
     173void UIStarter::sltHandleCommitDataRequest()
     174{
     175    /* Exit if VBoxGlobal is not valid: */
     176    if (!vboxGlobal().isValid())
     177        return;
     178
     179    /* For VM process: */
     180    if (vboxGlobal().isVMConsoleProcess())
     181    {
     182        /* Temporary override the default close action to 'SaveState' if necessary: */
     183        if (gpMachine->uisession()->defaultCloseAction() == MachineCloseAction_Invalid)
     184            gpMachine->uisession()->setDefaultCloseAction(MachineCloseAction_SaveState);
     185    }
     186}
     187
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIStarter.h

    r71360 r71369  
    2222#include <QObject>
    2323
    24 /** QObject subclass allowing to start GUI part
    25   * of VirtualBox application in async mode. */
     24/** QObject subclass allowing to control GUI part
     25  * of VirtualBox application in sync/async modes. */
    2626class UIStarter : public QObject
    2727{
     
    6565    void sltOpenURLs();
    6666
     67    /** Handles commit data request. */
     68    void sltHandleCommitDataRequest();
     69
    6770private:
    6871
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp

    r71368 r71369  
    6767# endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
    6868# include "UIMachine.h"
    69 # include "UISession.h"
    7069# include "UIConverter.h"
    7170# include "UIMediumEnumerator.h"
     
    41464145    LogRel(("GUI: VBoxGlobal::sltHandleCommitDataRequest: Emergency shutdown initiated\n"));
    41474146
    4148     /* For VM process: */
    4149     if (vboxGlobal().isVMConsoleProcess())
    4150     {
    4151         /* Temporary override the default close action to 'SaveState' if necessary: */
    4152         if (gpMachine->uisession()->defaultCloseAction() == MachineCloseAction_Invalid)
    4153             gpMachine->uisession()->setDefaultCloseAction(MachineCloseAction_SaveState);
    4154     }
     4147    /* Ask listener to commit data: */
     4148    emit sigAskToCommitData();
    41554149
    41564150    /* Ask session manager to postpone shutdown until we done: */
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h

    r71368 r71369  
    452452    /** Asks listener to recreate UI. */
    453453    void sigAskToRestartUI();
    454     /** Ask listener to open URLs. */
     454    /** Asks listener to open URLs. */
    455455    void sigAskToOpenURLs();
     456    /** Asks listener to commit data. */
     457    void sigAskToCommitData();
    456458
    457459    /** Notifies listeners about the VBoxSVC availability change. */
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette