VirtualBox

Ignore:
Timestamp:
Jul 17, 2007 4:12:36 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
22956
Message:

Seamless Mode beta version committed:

  1. Menu item "Seamless Mode" is added into VM menu and linked to "GUI/Seamless" xml-config parameter.
  2. This menu item could be toggled on/off (the starting value is loading from config at startup) but disabled at startup until the guest additions notifies the host about this feature is supported.
  3. After that this mode is activated automatically (in case it was set "on" in config) and can be toggled on/off by the user with Host+S key-shortcut.

Due to any callback to guest additions are not supported yet (afaik) the Seamless Mode's starting screen could be correct (only one guest status-bar displayed) and incorrect sometimes (whole guest desktop). It becomes correct after any guest region update (for example, in case of any guest window is created, moved or resized).

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxConsoleView.h

    r2981 r3674  
    9595    void fixModifierState (LONG *codes, uint *count);
    9696
     97    bool isInSeamlessMode();
     98
    9799signals:
    98100
     
    100102    void mouseStateChanged (int state);
    101103    void machineStateChanged (CEnums::MachineState state);
    102     void additionsStateChanged (const QString &, bool);
     104    void additionsStateChanged (const QString &, bool, bool);
    103105
    104106protected:
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxConsoleWnd.h

    r3490 r3674  
    7373    bool isTrueFullscreen() const { return full_screen; }
    7474
     75    bool isTrueSeamless() const { return mIsInSeamlessMode; }
     76
    7577    void setMouseIntegrationLocked (bool);
    7678
     
    120122
    121123    void vmFullscreen (bool on);
     124    void vmSeamless (bool on);
    122125    void vmAutoresizeGuest (bool on);
    123126    void vmAdjustWindow();
     
    162165    void updateMouseState (int state);
    163166
    164     void updateAdditionsState (const QString&, bool);
     167    void updateAdditionsState (const QString&, bool, bool);
    165168
    166169    void tryClose();
     
    177180    // VM actions
    178181    QAction *vmFullscreenAction;
     182    QAction *vmSeamlessAction;
    179183    QAction *vmAutoresizeGuestAction;
    180184    QAction *vmAdjustWindowAction;
     
    279283    // variables for dealing with true fullscreen
    280284    bool full_screen : 1;
     285    bool mIsInSeamlessMode : 1;
    281286    int normal_wflags;
    282287    bool was_max : 1;
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxDefs.h

    r3483 r3674  
    125125        ResizeEventType = QEvent::User,
    126126        RepaintEventType,
     127        SetRegionEventType,
    127128        MouseCapabilityEventType,
    128129        MousePointerChangeEventType,
     
    143144#if defined (Q_WS_MAC)
    144145        ShowWindowEventType,
    145 #endif 
     146#endif
    146147    };
    147148};
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxFrameBuffer.h

    r3614 r3674  
    104104private:
    105105    int ex, ey, ew, eh;
     106};
     107
     108/**
     109 *  Frame buffer set region event.
     110 */
     111class VBoxSetRegionEvent : public QEvent
     112{
     113public:
     114    VBoxSetRegionEvent (const QRegion &aReg)
     115        : QEvent ((QEvent::Type) VBoxDefs::SetRegionEventType)
     116        , mReg (aReg) {}
     117    QRegion region() { return mReg; }
     118private:
     119    QRegion mReg;
    106120};
    107121
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