- Timestamp:
- Oct 18, 2018 12:06:17 PM (6 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 7 edited
-
extradata/UIExtraDataManager.cpp (modified) (1 diff)
-
extradata/UIExtraDataManager.h (modified) (1 diff)
-
globals/UIActionPool.cpp (modified) (1 diff)
-
globals/UIActionPoolRuntime.cpp (modified) (10 diffs)
-
globals/UIActionPoolRuntime.h (modified) (2 diffs)
-
runtime/UIMachineLogic.cpp (modified) (1 diff)
-
widgets/UIMenuBarEditorWindow.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
r74885 r74914 4043 4043 4044 4044 data[uScreenIndex] = QString::number(dScaleFactor); 4045 4046 4045 setExtraDataStringList(GUI_ScaleFactor, data, aID); 4047 4046 } -
trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
r74885 r74914 608 608 double scaleFactor(const QUuid &aID, const int uScreenIndex); 609 609 QList<double> scaleFactors(const QUuid &aID); 610 /** Defines the @a dScaleFactor. */ 610 /** Saves the @a dScaleFactor for the monitor with @a uScreenIndex. If the existing scale factor 611 * list (from extra data) does not have scale factors for the screens with ids in [0, uScreenIndex) 612 * the this function appends a default scale factor for said screens.*/ 611 613 void setScaleFactor(double dScaleFactor, const QUuid &aID, const int uScreenIndex); 614 /** Replaces the scale factor list of the machine with @a aID with @a scaleFactors. */ 612 615 void setScaleFactors(const QList<double> &scaleFactors, const QUuid &aID); 613 616 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp
r74805 r74914 2051 2051 2052 2052 #include "UIActionPool.moc" 2053 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolRuntime.cpp
r74885 r74914 1382 1382 }; 1383 1383 1384 /** Menu action extension, used as 'Scale Factor' menu class. */1385 class UIActionMenuRuntimeScaleFactor : public UIActionMenu1386 {1387 Q_OBJECT;1388 1389 public:1390 1391 /** Constructs action passing @a pParent to the base-class. */1392 UIActionMenuRuntimeScaleFactor(UIActionPool *pParent)1393 : UIActionMenu(pParent, ":/scale_factor_16px.png", ":/scale_factor_disabled_16px.png")1394 {}1395 1396 protected:1397 1398 /** Returns action extra-data ID. */1399 virtual int extraDataID() const /* override */1400 {1401 return UIExtraDataMetaDefs::RuntimeMenuViewActionType_ScaleFactor;1402 }1403 /** Returns action extra-data key. */1404 virtual QString extraDataKey() const /* override */1405 {1406 return gpConverter->toInternalString(UIExtraDataMetaDefs::RuntimeMenuViewActionType_ScaleFactor);1407 }1408 /** Returns whether action is allowed. */1409 virtual bool isAllowed() const /* override */1410 {1411 return actionPool()->toRuntime()->isAllowedInMenuView(UIExtraDataMetaDefs::RuntimeMenuViewActionType_ScaleFactor);1412 }1413 1414 /** Handles translation event. */1415 virtual void retranslateUi() /* override */1416 {1417 setName(QApplication::translate("UIActionPool", "S&cale Factor"));1418 }1419 };1420 1421 1422 1384 /** Menu action extension, used as 'Input' menu class. */ 1423 1385 class UIActionMenuRuntimeInput : public UIActionMenu … … 3157 3119 /* Change scale-factor directly: */ 3158 3120 const double dScaleFactor = pAction->property("Requested Scale Factor").toDouble(); 3159 gEDataManager->setScaleFactor(dScaleFactor, vboxGlobal().managedVMUuid(), 0); 3121 const int iGuestScreenIndex = pAction->property("Guest Screen Index").toInt(); 3122 gEDataManager->setScaleFactor(dScaleFactor, vboxGlobal().managedVMUuid(), iGuestScreenIndex); 3160 3123 } 3161 3124 … … 3252 3215 m_pool[UIActionIndexRT_M_View_M_StatusBar_S_Settings] = new UIActionSimpleRuntimeShowStatusBarSettings(this); 3253 3216 m_pool[UIActionIndexRT_M_View_M_StatusBar_T_Visibility] = new UIActionToggleRuntimeStatusBar(this); 3254 m_pool[UIActionIndexRT_M_View_M_ScaleFactor] = new UIActionMenuRuntimeScaleFactor(this);3255 3217 3256 3218 /* 'Input' actions: */ … … 3315 3277 m_menuUpdateHandlers[UIActionIndexRT_M_View_M_MenuBar].ptfr = &UIActionPoolRuntime::updateMenuViewMenuBar; 3316 3278 m_menuUpdateHandlers[UIActionIndexRT_M_View_M_StatusBar].ptfr = &UIActionPoolRuntime::updateMenuViewStatusBar; 3317 m_menuUpdateHandlers[UIActionIndexRT_M_View_M_ScaleFactor].ptfr = &UIActionPoolRuntime::updateMenuViewScaleFactor;3318 3279 m_menuUpdateHandlers[UIActionIndexRT_M_Input].ptfr = &UIActionPoolRuntime::updateMenuInput; 3319 3280 m_menuUpdateHandlers[UIActionIndexRT_M_Input_M_Keyboard].ptfr = &UIActionPoolRuntime::updateMenuInputKeyboard; … … 3617 3578 } 3618 3579 3619 /* 'Scale Factor' submenu: */3620 fSeparator = addAction(pMenu, action(UIActionIndexRT_M_View_M_ScaleFactor)) || fSeparator;3621 updateMenuViewScaleFactor();3622 3623 3580 /* Do we have to show resize or multiscreen menu? */ 3624 3581 const bool fAllowToShowActionResize = isAllowedInMenuView(UIExtraDataMetaDefs::RuntimeMenuViewActionType_Resize); … … 3680 3637 } 3681 3638 3682 /* 'Scale Factor' submenu: */3683 fSeparator = addAction(pMenu, action(UIActionIndexRT_M_View_M_ScaleFactor)) || fSeparator;3684 updateMenuViewScaleFactor();3685 3686 3639 /* Do we have to show resize menu? */ 3687 3640 const bool fAllowToShowActionResize = isAllowedInMenuView(UIExtraDataMetaDefs::RuntimeMenuViewActionType_Resize); … … 3767 3720 } 3768 3721 3769 void UIActionPoolRuntime::updateMenuViewScaleFactor() 3770 { 3771 /* Get corresponding menu: */ 3772 UIMenu *pMenu = action(UIActionIndexRT_M_View_M_ScaleFactor)->menu(); 3722 void UIActionPoolRuntime::updateMenuViewScaleFactor(QMenu *pMenu) 3723 { 3773 3724 AssertPtrReturnVoid(pMenu); 3774 /* Clear contents: */3775 pMenu->clear();3776 3725 3777 3726 /* Create exclusive 'scale-factor' action-group: */ … … 3783 3732 3784 3733 /* Get current scale-factor: */ 3785 const double dCurrentScaleFactor = gEDataManager->scaleFactor(vboxGlobal().managedVMUuid(), 0); 3734 const int iGuestScreenIndex = pMenu->property("Guest Screen Index").toInt(); 3735 const double dCurrentScaleFactor = gEDataManager->scaleFactor(vboxGlobal().managedVMUuid(), iGuestScreenIndex); 3786 3736 3787 3737 /* Get device-pixel-ratio: */ … … 3803 3753 AssertPtrReturnVoid(pAction); 3804 3754 { 3755 pAction->setProperty("Guest Screen Index", iGuestScreenIndex); 3805 3756 /* For the 'unscaled' action: */ 3806 3757 if (dScaleFactor == 1.0) … … 3924 3875 this, SLOT(sltHandleActionTriggerViewScreenResize(QAction*))); 3925 3876 } 3877 updateMenuViewScaleFactor(pMenu); 3926 3878 } 3927 3879 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolRuntime.h
r74878 r74914 77 77 UIActionIndexRT_M_View_M_StatusBar_S_Settings, 78 78 UIActionIndexRT_M_View_M_StatusBar_T_Visibility, 79 UIActionIndexRT_M_View_M_ScaleFactor,80 79 81 80 /* 'Input' menu actions: */ … … 251 250 void updateMenuViewStatusBar(); 252 251 /** Updates 'View' : 'Scale Factor' menu. */ 253 void updateMenuViewScaleFactor( );252 void updateMenuViewScaleFactor(QMenu *pMenu); 254 253 /** Updates 'View' : 'Virtual Screen #' @a pMenu (Normal, Scale). */ 255 254 void updateMenuViewScreen(QMenu *pMenu); -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp
r74878 r74914 1063 1063 m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_View_M_StatusBar_S_Settings)); 1064 1064 m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_View_M_StatusBar_T_Visibility)); 1065 m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_View_M_ScaleFactor));1066 1065 m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_Input_M_Keyboard)); 1067 1066 m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_Input_M_Keyboard_S_Settings)); -
trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIMenuBarEditorWindow.cpp
r74878 r74914 1310 1310 prepareCopiedAction(pMenu, actionPool()->action(UIActionIndexRT_M_View_M_StatusBar)); 1311 1311 pMenu->addSeparator(); 1312 prepareCopiedAction(pMenu, actionPool()->action(UIActionIndexRT_M_View_M_ScaleFactor));1313 1312 prepareNamedAction(pMenu, tr("Virtual Screen Resize"), 1314 1313 UIExtraDataMetaDefs::RuntimeMenuViewActionType_Resize,
Note:
See TracChangeset
for help on using the changeset viewer.

