VirtualBox

Changeset 27446 in vbox


Ignore:
Timestamp:
Mar 17, 2010 1:24:11 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
58928
Message:

FE/Qt4: Mini-toolbar coordinate fix; seamless mini-toolbar fix for new running VM core.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineWindowSeamless.cpp

    r27436 r27446  
    365365#endif
    366366
    367     /* Including mini tool-bar area: */
     367    /* Mini tool-bar: */
    368368    if (m_pMiniToolBar)
    369369    {
     370        /* Get mini-toolbar mask: */
    370371        QRegion toolBarRegion(m_pMiniToolBar->mask());
     372
     373        /* Shift mask according global position: */
    371374        toolBarRegion.translate(m_pMiniToolBar->mapToGlobal(toolBarRegion.boundingRect().topLeft()) - QPoint(1, 0));
     375
     376        /* Shift mask according available geometry: */
     377        int iScreen = static_cast<UIMachineLogicSeamless*>(machineLogic())->hostScreenForGuestScreen(m_uScreenId);
     378        QRect screenArea = QApplication::desktop()->screenGeometry(iScreen);
     379        QRect workingArea = vboxGlobal().availableGeometry(iScreen);
     380        QPoint workingAreaOffset(screenArea.topLeft() - workingArea.topLeft());
     381        toolBarRegion.translate(workingAreaOffset);
     382
     383        /* Including mini tool-bar mask: */
    372384        region += toolBarRegion;
    373385    }
  • trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxMiniToolBar.cpp

    r27435 r27446  
    225225            case AlignTop:
    226226            {
    227                 if (((mPositionY == screen.y()) && mSlideToScreen) ||
    228                     ((mPositionY == screen.y() - height() + 1) && !mSlideToScreen))
     227                if (((mPositionY == 0) && mSlideToScreen) ||
     228                    ((mPositionY == - height() + 1) && !mSlideToScreen))
    229229                {
    230230                    mScrollTimer.stop();
     
    241241            case AlignBottom:
    242242            {
    243                 if (((mPositionY == screen.y() + screen.height() - height()) && mSlideToScreen) ||
    244                     ((mPositionY == screen.y() + screen.height() - 1) && !mSlideToScreen))
     243                if (((mPositionY == screen.height() - height()) && mSlideToScreen) ||
     244                    ((mPositionY == screen.height() - 1) && !mSlideToScreen))
    245245                {
    246246                    mScrollTimer.stop();
     
    392392        case AlignTop:
    393393        {
    394             mPositionY = screen.y() - height() + 1;
     394            mPositionY = - height() + 1;
    395395            break;
    396396        }
    397397        case AlignBottom:
    398398        {
    399             mPositionY = screen.y() + screen.height() - 1;
     399            mPositionY = screen.height() - 1;
    400400            break;
    401401        }
Note: See TracChangeset for help on using the changeset viewer.

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