void UIMachineViewFullscreen::sltAdditionsStateChanged() { /* Check if we should restrict minimum size: */ maybeRestrictMinimumSize(); /* Check if we should resize guest to fullscreen */ if ((int)frameBuffer()->width() != workingArea().size().width() || (int)frameBuffer()->height() != workingArea().size().height()) if (m_bIsGuestAutoresizeEnabled && uisession()->isGuestSupportsGraphics()) sltPerformGuestResize(workingArea().size()); }
void UIMachineViewFullscreen::setGuestAutoresizeEnabled(bool fEnabled) { if (m_bIsGuestAutoresizeEnabled != fEnabled) { m_bIsGuestAutoresizeEnabled = fEnabled; maybeRestrictMinimumSize(); sltPerformGuestResize(); } }
void UIMachineViewFullscreen::sltAdditionsStateChanged() { /* Check if we should restrict minimum size: */ maybeRestrictMinimumSize(); /* Check if we should resize guest to fullscreen, all the * required features will be tested in sltPerformGuestResize(...): */ if ((int)frameBuffer()->width() != workingArea().size().width() || (int)frameBuffer()->height() != workingArea().size().height()) sltPerformGuestResize(workingArea().size()); }
void UIMachineViewNormal::sltAdditionsStateChanged() { /* Check if we should restrict minimum size: */ maybeRestrictMinimumSize(); /* Resend the last resize hint if there was a fullscreen or * seamless transition previously. If we were not in graphical * mode initially after the transition this happens when we * switch. */ maybeResendResizeHint(); }
void UIMachineViewFullscreen::setGuestAutoresizeEnabled(bool fEnabled) { if (m_bIsGuestAutoresizeEnabled != fEnabled) { m_bIsGuestAutoresizeEnabled = fEnabled; maybeRestrictMinimumSize(); if (uisession()->isGuestSupportsGraphics()) sltPerformGuestResize(); } }
bool UIMachineViewFullscreen::event(QEvent *pEvent) { switch (pEvent->type()) { case VBoxDefs::ResizeEventType: { /* Some situations require framebuffer resize events to be ignored at all, * leaving machine-window, machine-view and framebuffer sizes preserved: */ if (uisession()->isGuestResizeIgnored()) return true; /* We are starting to perform machine-view resize, * we should temporary ignore other if they are trying to be: */ bool fWasMachineWindowResizeIgnored = isMachineWindowResizeIgnored(); setMachineWindowResizeIgnored(true); /* Get guest resize-event: */ UIResizeEvent *pResizeEvent = static_cast<UIResizeEvent*>(pEvent); /* Perform framebuffer resize: */ frameBuffer()->resizeEvent(pResizeEvent); /* Reapply maximum size restriction for machine-view: */ setMaximumSize(sizeHint()); /* Store the new size to prevent unwanted resize hints being sent back: */ storeConsoleSize(pResizeEvent->width(), pResizeEvent->height()); /* Perform machine-view resize: */ resize(pResizeEvent->width(), pResizeEvent->height()); /* May be we have to restrict minimum size? */ maybeRestrictMinimumSize(); /* Let our toplevel widget calculate its sizeHint properly: */ QCoreApplication::sendPostedEvents(0, QEvent::LayoutRequest); #ifdef Q_WS_MAC machineLogic()->updateDockIconSize(screenId(), pResizeEvent->width(), pResizeEvent->height()); #endif /* Q_WS_MAC */ /* Update machine-view sliders: */ updateSliders(); /* Report to the VM thread that we finished resizing: */ session().GetConsole().GetDisplay().ResizeCompleted(screenId()); /* We are finishing to perform machine-view resize: */ setMachineWindowResizeIgnored(fWasMachineWindowResizeIgnored); /* We also recalculate the desktop geometry if this is determined * automatically. In fact, we only need this on the first resize, * but it is done every time to keep the code simpler. */ calculateDesktopGeometry(); /* Emit a signal about guest was resized: */ emit resizeHintDone(); /* Unlock after processing guest resize event: */ if (m_pSyncBlocker && m_pSyncBlocker->isRunning()) m_pSyncBlocker->quit(); pEvent->accept(); return true; } default: break; } return UIMachineView::event(pEvent); }