VirtualBox

Changeset 5814 in vbox


Ignore:
Timestamp:
Nov 22, 2007 1:40:12 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
26242
Message:

Fixing some issues in fullscreen/seamless modes switch:

  1. Restoring fullscreen vm -> exit fullscreen -> borderless window.
  2. Restoring seamless vm -> stricted area (host taskbar) is not repainted.
Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
2 edited

Legend:

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

    r5804 r5814  
    10481048                /* emit a signal about guest was resized */
    10491049                emit resizeHintDone();
     1050
     1051                /* update geometry after entering fullscreen | seamless */
     1052                if (mainwnd->isTrueFullscreen() || mainwnd->isTrueSeamless())
     1053                    updateGeometry();
    10501054
    10511055                return true;
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxConsoleWnd.cpp

    r5803 r5814  
    655655    CMachine cmachine = csession.GetMachine();
    656656
     657    show();
     658
    657659    /* restore the position of the window and some options */
    658660    {
     
    813815    updateAppearanceOf (AllStuff);
    814816
    815     show();
    816 
    817817    if (vboxGlobal().settings().autoCapture())
    818818        vboxProblem().remindAboutAutoCapture();
     
    10091009    vmSeamlessAction->setEnabled (mIsSeamless);
    10101010    vmFullscreenAction->setEnabled (mIsFullscreen);
    1011 
    1012     console->updateGeometry();
    10131011}
    10141012
     
    10781076            QResizeEvent *re = (QResizeEvent *) e;
    10791077
    1080             if ((windowState() & WindowMaximized) == 0)
     1078            if (!isMaximized() && !isTrueFullscreen() && !isTrueSeamless())
    10811079            {
    10821080                normal_size = re->size();
     
    10891087        case QEvent::Move:
    10901088        {
    1091             if ((windowState() & (WindowMaximized | WindowMinimized |
    1092                                   WindowFullScreen)) == 0)
     1089            if (!isMaximized() && !isTrueFullscreen() && !isTrueSeamless())
    10931090            {
    10941091                normal_pos = pos();
     
    19021899}
    19031900
    1904 /** 
     1901/**
    19051902 * @return @c true if successfully performed the requested operation and false
    19061903 * otherwise.
     
    19101907    if (aSeamless)
    19111908    {
    1912         /* Check if it is necessary to enter/leave seamless mode. We assert
    1913          * here because the corresponding actions must be properly disabled by
    1914          * the below code to give the user an adequate feedback and prevent
    1915          * from calling this method. */
    1916         AssertReturn (aOn && mIsSeamlessSupported && !mIsFullscreen ||
    1917                       !aOn && mIsSeamless,
    1918                       false);
    1919 
    19201909        /* Check if the Guest Video RAM enough for the seamless mode. */
    19211910        QRect screen = QApplication::desktop()->screenGeometry (this);
     
    20252014
    20262015#ifdef Q_WS_WIN32
    2027         mPrevRegion = scrGeo;
     2016        mPrevRegion = dtw->screenGeometry (this);
    20282017#endif
    20292018
     
    20552044        /* Going fullscreen */
    20562045        setWindowState (windowState() ^ WindowFullScreen);
     2046        setMask (dtw->screenGeometry (this));
    20572047
    20582048#ifdef Q_WS_MAC
     
    21402130void VBoxConsoleWnd::vmSeamless (bool aOn)
    21412131{
    2142     bool ok = toggleFullscreenMode (aOn, true /* aSeamless */);
    2143     if (!ok)
    2144     {
    2145         /* on failure, restore the previous button state */
    2146         vmSeamlessAction->blockSignals (true);
    2147         vmSeamlessAction->setOn (!aOn);
    2148         vmSeamlessAction->blockSignals (false);
     2132    /* check if it is possible to enter/leave seamless mode */
     2133    if (aOn && mIsSeamlessSupported && !mIsFullscreen ||
     2134        !aOn && mIsSeamless)
     2135    {
     2136        bool ok = toggleFullscreenMode (aOn, true /* aSeamless */);
     2137        if (!ok)
     2138        {
     2139            /* on failure, restore the previous button state */
     2140            vmSeamlessAction->blockSignals (true);
     2141            vmSeamlessAction->setOn (!aOn);
     2142            vmSeamlessAction->blockSignals (false);
     2143        }
    21492144    }
    21502145}
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