void VBoxDbgConsoleOutput::setColorScheme(VBoxDbgConsoleColor enmScheme, bool fSaveIt) { const char *pszSetting; QAction *pAction; switch (enmScheme) { case kGreenOnBlack: setStyleSheet("QTextEdit { background-color: black; color: rgb(0, 224, 0) }"); pszSetting = "GreenOnBlack"; pAction = m_pGreenOnBlackAction; break; case kBlackOnWhite: setStyleSheet("QTextEdit { background-color: white; color: black }"); pszSetting = "BlackOnWhite"; pAction = m_pBlackOnWhiteAction; break; default: AssertFailedReturnVoid(); } m_enmColorScheme = kGreenOnBlack; /* When going through a slot, the action is typically checked already by Qt. */ if (!pAction->isChecked()) pAction->setChecked(true); /* Make this setting persistent. */ if (m_pVirtualBox && fSaveIt) m_pVirtualBox->SetExtraData(com::Bstr("DbgConsole/ColorScheme").raw(), com::Bstr(pszSetting).raw()); }
void Guest::facilityUpdate(VBoxGuestFacilityType a_enmFacility, VBoxGuestFacilityStatus a_enmStatus, uint32_t a_fFlags, PCRTTIMESPEC a_pTimeSpecTS) { AssertReturnVoid( a_enmFacility < VBoxGuestFacilityType_All && a_enmFacility > VBoxGuestFacilityType_Unknown); FacilityMapIter it = mData.mFacilityMap.find((AdditionsFacilityType_T)a_enmFacility); if (it != mData.mFacilityMap.end()) { AdditionsFacility *pFac = it->second; pFac->update((AdditionsFacilityStatus_T)a_enmStatus, a_fFlags, a_pTimeSpecTS); } else { if (mData.mFacilityMap.size() > 64) { /* The easy way out for now. We could automatically destroy inactive facilities like VMMDev does if we like... */ AssertFailedReturnVoid(); } ComObjPtr<AdditionsFacility> ptrFac; ptrFac.createObject(); AssertReturnVoid(!ptrFac.isNull()); HRESULT hrc = ptrFac->init(this, (AdditionsFacilityType_T)a_enmFacility, (AdditionsFacilityStatus_T)a_enmStatus, a_fFlags, a_pTimeSpecTS); if (SUCCEEDED(hrc)) mData.mFacilityMap.insert(std::make_pair((AdditionsFacilityType_T)a_enmFacility, ptrFac)); } }
/* static */ void UIActionPool::createTemporary(UIActionPoolType type) { UIActionPool *pActionPool = 0; switch (type) { case UIActionPoolType_Selector: pActionPool = new UIActionPoolSelector(true); break; case UIActionPoolType_Runtime: pActionPool = new UIActionPoolRuntime(true); break; default: AssertFailedReturnVoid(); } AssertPtrReturnVoid(pActionPool); pActionPool->prepare(); pActionPool->cleanup(); delete pActionPool; }
void VBoxDbgConsoleOutput::setFontType(VBoxDbgConsoleFontType enmFontType, bool fSaveIt) { QFont Font = font(); QAction *pAction; const char *pszSetting; switch (enmFontType) { case kFontType_Courier: #ifdef Q_WS_MAC Font = QFont("Monaco", Font.pointSize(), QFont::Normal, FALSE); Font.setStyleStrategy(QFont::NoAntialias); #else Font.setStyleHint(QFont::TypeWriter); Font.setFamily("Courier [Monotype]"); #endif pszSetting = "Courier"; pAction = m_pCourierFontAction; break; case kFontType_Monospace: Font.setStyleHint(QFont::TypeWriter); Font.setStyleStrategy(QFont::PreferAntialias); Font.setFamily("Monospace [Monotype]"); pszSetting = "Monospace"; pAction = m_pMonospaceFontAction; break; default: AssertFailedReturnVoid(); } setFont(Font); /* When going through a slot, the action is typically checked already by Qt. */ if (!pAction->isChecked()) pAction->setChecked(true); /* Make this setting persistent. */ if (m_pVirtualBox && fSaveIt) m_pVirtualBox->SetExtraData(com::Bstr("DbgConsole/Font").raw(), com::Bstr(pszSetting).raw()); }
void UIChooserNodeGlobal::removeNode(UIChooserNode *pNode) { Q_UNUSED(pNode); AssertFailedReturnVoid(); }
void UIChooserNodeGlobal::addNode(UIChooserNode *pNode, int iPosition) { Q_UNUSED(pNode); Q_UNUSED(iPosition); AssertFailedReturnVoid(); }
void UIChooserNodeGlobal::sortNodes() { AssertFailedReturnVoid(); }
void UIToolPaneMachine::openTool(UIToolType enmType) { /* Search through the stacked widgets: */ int iActualIndex = -1; for (int iIndex = 0; iIndex < m_pLayout->count(); ++iIndex) if (m_pLayout->widget(iIndex)->property("ToolType").value<UIToolType>() == enmType) iActualIndex = iIndex; /* If widget with such type exists: */ if (iActualIndex != -1) { /* Activate corresponding index: */ m_pLayout->setCurrentIndex(iActualIndex); } /* Otherwise: */ else { /* Create, remember, append corresponding stacked widget: */ switch (enmType) { case UIToolType_Error: { /* Create Desktop pane: */ m_pPaneError = new UIErrorPane(m_pActionPool->action(UIActionIndexST_M_Group_S_Refresh)); if (m_pPaneError) { /* Configure pane: */ m_pPaneError->setProperty("ToolType", QVariant::fromValue(UIToolType_Error)); /* Add into layout: */ m_pLayout->addWidget(m_pPaneError); m_pLayout->setCurrentWidget(m_pPaneError); } break; } case UIToolType_Details: { /* Create Details pane: */ m_pPaneDetails = new UIDetails; AssertPtrReturnVoid(m_pPaneDetails); { /* Configure pane: */ m_pPaneDetails->setProperty("ToolType", QVariant::fromValue(UIToolType_Details)); connect(this, &UIToolPaneMachine::sigSlidingStarted, m_pPaneDetails, &UIDetails::sigSlidingStarted); connect(this, &UIToolPaneMachine::sigToggleStarted, m_pPaneDetails, &UIDetails::sigToggleStarted); connect(this, &UIToolPaneMachine::sigToggleFinished, m_pPaneDetails, &UIDetails::sigToggleFinished); connect(m_pPaneDetails, &UIDetails::sigLinkClicked, this, &UIToolPaneMachine::sigLinkClicked); m_pPaneDetails->setItems(m_items); /* Add into layout: */ m_pLayout->addWidget(m_pPaneDetails); m_pLayout->setCurrentWidget(m_pPaneDetails); } break; } case UIToolType_Snapshots: { /* Create Snapshots pane: */ m_pPaneSnapshots = new UISnapshotPane(m_pActionPool, false /* show toolbar? */); AssertPtrReturnVoid(m_pPaneSnapshots); { #ifndef VBOX_WS_MAC const int iMargin = qApp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin) / 4; m_pPaneSnapshots->setContentsMargins(iMargin, 0, iMargin, 0); #endif /* Configure pane: */ m_pPaneSnapshots->setProperty("ToolType", QVariant::fromValue(UIToolType_Snapshots)); connect(m_pPaneSnapshots, &UISnapshotPane::sigCurrentItemChange, this, &UIToolPaneMachine::sigCurrentSnapshotItemChange); m_pPaneSnapshots->setMachine(m_comMachine); /* Add into layout: */ m_pLayout->addWidget(m_pPaneSnapshots); m_pLayout->setCurrentWidget(m_pPaneSnapshots); } break; } case UIToolType_Logs: { /* Create the Logviewer pane: */ m_pPaneLogViewer = new UIVMLogViewerWidget(EmbedTo_Stack, m_pActionPool, false /* show toolbar */); AssertPtrReturnVoid(m_pPaneLogViewer); { #ifndef VBOX_WS_MAC const int iMargin = qApp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin) / 4; m_pPaneLogViewer->setContentsMargins(iMargin, 0, iMargin, 0); #endif /* Configure pane: */ m_pPaneLogViewer->setProperty("ToolType", QVariant::fromValue(UIToolType_Logs)); m_pPaneLogViewer->setMachine(m_comMachine); /* Add into layout: */ m_pLayout->addWidget(m_pPaneLogViewer); m_pLayout->setCurrentWidget(m_pPaneLogViewer); } break; } default: AssertFailedReturnVoid(); } } }
void UIToolPaneGlobal::openTool(UIToolType enmType) { /* Search through the stacked widgets: */ int iActualIndex = -1; for (int iIndex = 0; iIndex < m_pLayout->count(); ++iIndex) if (m_pLayout->widget(iIndex)->property("ToolType").value<UIToolType>() == enmType) iActualIndex = iIndex; /* If widget with such type exists: */ if (iActualIndex != -1) { /* Activate corresponding index: */ m_pLayout->setCurrentIndex(iActualIndex); } /* Otherwise: */ else { /* Create, remember, append corresponding stacked widget: */ switch (enmType) { case UIToolType_Welcome: { /* Create Desktop pane: */ m_pPaneWelcome = new UIWelcomePane; if (m_pPaneWelcome) { /* Configure pane: */ m_pPaneWelcome->setProperty("ToolType", QVariant::fromValue(UIToolType_Welcome)); /* Add into layout: */ m_pLayout->addWidget(m_pPaneWelcome); m_pLayout->setCurrentWidget(m_pPaneWelcome); } break; } case UIToolType_Media: { /* Create Virtual Media Manager: */ m_pPaneMedia = new UIMediumManagerWidget(EmbedTo_Stack, m_pActionPool, false /* show toolbar */); AssertPtrReturnVoid(m_pPaneMedia); { #ifndef VBOX_WS_MAC const int iMargin = qApp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin) / 4; m_pPaneMedia->setContentsMargins(iMargin, 0, iMargin, 0); #endif /* Configure pane: */ m_pPaneMedia->setProperty("ToolType", QVariant::fromValue(UIToolType_Media)); /* Add into layout: */ m_pLayout->addWidget(m_pPaneMedia); m_pLayout->setCurrentWidget(m_pPaneMedia); } break; } case UIToolType_Network: { /* Create Host Network Manager: */ m_pPaneNetwork = new UIHostNetworkManagerWidget(EmbedTo_Stack, m_pActionPool, false /* show toolbar */); AssertPtrReturnVoid(m_pPaneNetwork); { #ifndef VBOX_WS_MAC const int iMargin = qApp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin) / 4; m_pPaneNetwork->setContentsMargins(iMargin, 0, iMargin, 0); #endif /* Configure pane: */ m_pPaneNetwork->setProperty("ToolType", QVariant::fromValue(UIToolType_Network)); /* Add into layout: */ m_pLayout->addWidget(m_pPaneNetwork); m_pLayout->setCurrentWidget(m_pPaneNetwork); } break; } case UIToolType_Cloud: { /* Create Cloud Profile Manager: */ m_pPaneCloud = new UICloudProfileManagerWidget(EmbedTo_Stack, m_pActionPool, false /* show toolbar */); AssertPtrReturnVoid(m_pPaneCloud); { #ifndef VBOX_WS_MAC const int iMargin = qApp->style()->pixelMetric(QStyle::PM_LayoutLeftMargin) / 4; m_pPaneCloud->setContentsMargins(iMargin, 0, iMargin, 0); #endif /* Configure pane: */ m_pPaneCloud->setProperty("ToolType", QVariant::fromValue(UIToolType_Cloud)); connect(m_pPaneCloud, &UICloudProfileManagerWidget::sigChange, this, &UIToolPaneGlobal::sigCloudProfileManagerChange); /* Add into layout: */ m_pLayout->addWidget(m_pPaneCloud); m_pLayout->setCurrentWidget(m_pPaneCloud); } break; } default: AssertFailedReturnVoid(); } } }