VirtualBox

Changeset 66476 in vbox


Ignore:
Timestamp:
Apr 7, 2017 2:55:24 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
114465
Message:

FE/Qt: Machine settings: Display page: Error handling (settings save).

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

Legend:

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

    r66475 r66476  
    11651165          tr("Cannot save audio adapter settings."),
    11661166          formatErrorInfo(comAdapter));
     1167}
     1168
     1169void UIMessageCenter::cannotSaveDisplaySettings(const CMachine &comMachine, QWidget *pParent /* = 0 */)
     1170{
     1171    error(pParent, MessageType_Error,
     1172          tr("Cannot save display settings."),
     1173          formatErrorInfo(comMachine));
     1174}
     1175
     1176void UIMessageCenter::cannotSaveRemoteDisplayServerSettings(const CVRDEServer &comServer, QWidget *pParent /* = 0 */)
     1177{
     1178    error(pParent, MessageType_Error,
     1179          tr("Cannot save remote display server settings."),
     1180          formatErrorInfo(comServer));
    11671181}
    11681182
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h

    r66475 r66476  
    241241    void cannotSaveAudioSettings(const CMachine &comMachine, QWidget *pParent = 0);
    242242    void cannotSaveAudioAdapterSettings(const CAudioAdapter &comAdapter, QWidget *pParent = 0);
     243    void cannotSaveDisplaySettings(const CMachine &comMachine, QWidget *pParent = 0);
     244    void cannotSaveRemoteDisplayServerSettings(const CVRDEServer &comServer, QWidget *pParent = 0);
    243245    void cannotAttachDevice(const CMachine &machine, UIMediumType type, const QString &strLocation, const StorageSlot &storageSlot, QWidget *pParent = 0);
    244246    bool warnAboutIncorrectPort(QWidget *pParent = 0) const;
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp

    r66460 r66476  
    2626# include "UIExtraDataManager.h"
    2727# include "UIMachineSettingsDisplay.h"
     28# include "UIMessageCenter.h"
    2829# include "VBoxGlobal.h"
    2930
     
    362363    UISettingsPageMachine::fetchData(data);
    363364
    364     /* Make sure machine is in valid mode & display data was changed: */
    365     if (isMachineInValidMode() && m_pCache->wasChanged())
    366     {
    367         /* Get old display data from the cache: */
    368         const UIDataSettingsMachineDisplay &oldDisplayData = m_pCache->base();
    369         /* Get new display data from the cache: */
    370         const UIDataSettingsMachineDisplay &newDisplayData = m_pCache->data();
    371 
    372         /* Store video RAM size: */
    373         if (isMachineOffline() && newDisplayData.m_iCurrentVRAM != oldDisplayData.m_iCurrentVRAM)
    374             m_machine.SetVRAMSize(newDisplayData.m_iCurrentVRAM);
    375         /* Store guest screen count: */
    376         if (isMachineOffline() && newDisplayData.m_cGuestScreenCount != oldDisplayData.m_cGuestScreenCount)
    377             m_machine.SetMonitorCount(newDisplayData.m_cGuestScreenCount);
    378         /* Store whether 3D acceleration is enabled: */
    379         if (isMachineOffline() && newDisplayData.m_f3dAccelerationEnabled != oldDisplayData.m_f3dAccelerationEnabled)
    380             m_machine.SetAccelerate3DEnabled(newDisplayData.m_f3dAccelerationEnabled);
    381 #ifdef VBOX_WITH_VIDEOHWACCEL
    382         /* Store whether 2D video acceleration is enabled: */
    383         if (isMachineOffline() && newDisplayData.m_f2dAccelerationEnabled != oldDisplayData.m_f2dAccelerationEnabled)
    384             m_machine.SetAccelerate2DVideoEnabled(newDisplayData.m_f2dAccelerationEnabled);
    385 #endif
    386         /* Store guest-screen scale-factor: */
    387         if (newDisplayData.m_dScaleFactor != oldDisplayData.m_dScaleFactor)
    388             gEDataManager->setScaleFactor(newDisplayData.m_dScaleFactor, m_machine.GetId());
    389 #ifdef VBOX_WS_MAC
    390         /* Store whether Unscaled HiDPI Output is enabled: : */
    391         if (newDisplayData.m_fUseUnscaledHiDPIOutput != oldDisplayData.m_fUseUnscaledHiDPIOutput)
    392             gEDataManager->setUseUnscaledHiDPIOutput(newDisplayData.m_fUseUnscaledHiDPIOutput, m_machine.GetId());
    393 #endif
    394 
    395         /* Check whether remote display server still valid: */
    396         CVRDEServer server = m_machine.GetVRDEServer();
    397         if (!server.isNull())
    398         {
    399             /* Store whether remote display server is enabled: */
    400             if (newDisplayData.m_fRemoteDisplayServerEnabled != oldDisplayData.m_fRemoteDisplayServerEnabled)
    401                 server.SetEnabled(newDisplayData.m_fRemoteDisplayServerEnabled);
    402             /* Store remote display server port: */
    403             if (newDisplayData.m_strRemoteDisplayPort != oldDisplayData.m_strRemoteDisplayPort)
    404                 server.SetVRDEProperty("TCP/Ports", newDisplayData.m_strRemoteDisplayPort);
    405             /* Store remote display server auth type: */
    406             if (newDisplayData.m_remoteDisplayAuthType != oldDisplayData.m_remoteDisplayAuthType)
    407                 server.SetAuthType(newDisplayData.m_remoteDisplayAuthType);
    408             /* Store remote display server timeout: */
    409             if (newDisplayData.m_uRemoteDisplayTimeout != oldDisplayData.m_uRemoteDisplayTimeout)
    410                 server.SetAuthTimeout(newDisplayData.m_uRemoteDisplayTimeout);
    411             /* Store whether remote display server allows multiple connections: */
    412             if (   (isMachineOffline() || isMachineSaved())
    413                 && (newDisplayData.m_fRemoteDisplayMultiConnAllowed != oldDisplayData.m_fRemoteDisplayMultiConnAllowed))
    414                 server.SetAllowMultiConnection(newDisplayData.m_fRemoteDisplayMultiConnAllowed);
    415         }
    416 
    417         /* Store new 'Video Capture' data for online case: */
    418         if (isMachineOnline())
    419         {
    420             /* If 'Video Capture' was *enabled*: */
    421             if (oldDisplayData.m_fVideoCaptureEnabled)
    422             {
    423                 // We can still save the *screens* option.
    424                 // And finally we should *disable* 'Video Capture' if necessary.
    425                 /* Store video capture recording screens: */
    426                 if (newDisplayData.m_screens != oldDisplayData.m_screens)
    427                     m_machine.SetVideoCaptureScreens(newDisplayData.m_screens);
    428                 /* Store whether video capture is enabled: */
    429                 if (newDisplayData.m_fVideoCaptureEnabled != oldDisplayData.m_fVideoCaptureEnabled)
    430                     m_machine.SetVideoCaptureEnabled(newDisplayData.m_fVideoCaptureEnabled);
    431             }
    432             /* If 'Video Capture' was *disabled*: */
    433             else
    434             {
    435                 // We should save all the options *before* 'Video Capture' activation.
    436                 // And finally we should *enable* Video Capture if necessary.
    437                 /* Store video capture file path: */
    438                 if (newDisplayData.m_strVideoCaptureFilePath != oldDisplayData.m_strVideoCaptureFilePath)
    439                     m_machine.SetVideoCaptureFile(newDisplayData.m_strVideoCaptureFilePath);
    440                 /* Store video capture frame width: */
    441                 if (newDisplayData.m_iVideoCaptureFrameWidth != oldDisplayData.m_iVideoCaptureFrameWidth)
    442                     m_machine.SetVideoCaptureWidth(newDisplayData.m_iVideoCaptureFrameWidth);
    443                 /* Store video capture frame height: */
    444                 if (newDisplayData.m_iVideoCaptureFrameHeight != oldDisplayData.m_iVideoCaptureFrameHeight)
    445                     m_machine.SetVideoCaptureHeight(newDisplayData.m_iVideoCaptureFrameHeight);
    446                 /* Store video capture frame rate: */
    447                 if (newDisplayData.m_iVideoCaptureFrameRate != oldDisplayData.m_iVideoCaptureFrameRate)
    448                     m_machine.SetVideoCaptureFPS(newDisplayData.m_iVideoCaptureFrameRate);
    449                 /* Store video capture frame bit rate: */
    450                 if (newDisplayData.m_iVideoCaptureBitRate != oldDisplayData.m_iVideoCaptureBitRate)
    451                     m_machine.SetVideoCaptureRate(newDisplayData.m_iVideoCaptureBitRate);
    452                 /* Store video capture recording screens: */
    453                 if (newDisplayData.m_screens != oldDisplayData.m_screens)
    454                     m_machine.SetVideoCaptureScreens(newDisplayData.m_screens);
    455                 /* Store whether video capture is enabled: */
    456                 if (newDisplayData.m_fVideoCaptureEnabled != oldDisplayData.m_fVideoCaptureEnabled)
    457                     m_machine.SetVideoCaptureEnabled(newDisplayData.m_fVideoCaptureEnabled);
    458             }
    459         }
    460         /* Store new 'Video Capture' data for offline case: */
    461         else
    462         {
    463             // For 'offline', 'powered off' and 'saved' states the order is irrelevant.
    464             /* Store whether video capture is enabled: */
    465             if (newDisplayData.m_fVideoCaptureEnabled != oldDisplayData.m_fVideoCaptureEnabled)
    466                 m_machine.SetVideoCaptureEnabled(newDisplayData.m_fVideoCaptureEnabled);
    467             /* Store video capture file path: */
    468             if (newDisplayData.m_strVideoCaptureFilePath != oldDisplayData.m_strVideoCaptureFilePath)
    469                 m_machine.SetVideoCaptureFile(newDisplayData.m_strVideoCaptureFilePath);
    470             /* Store video capture frame width: */
    471             if (newDisplayData.m_iVideoCaptureFrameWidth != oldDisplayData.m_iVideoCaptureFrameWidth)
    472                 m_machine.SetVideoCaptureWidth(newDisplayData.m_iVideoCaptureFrameWidth);
    473             /* Store video capture frame height: */
    474             if (newDisplayData.m_iVideoCaptureFrameHeight != oldDisplayData.m_iVideoCaptureFrameHeight)
    475                 m_machine.SetVideoCaptureHeight(newDisplayData.m_iVideoCaptureFrameHeight);
    476             /* Store video capture frame rate: */
    477             if (newDisplayData.m_iVideoCaptureFrameRate != oldDisplayData.m_iVideoCaptureFrameRate)
    478                 m_machine.SetVideoCaptureFPS(newDisplayData.m_iVideoCaptureFrameRate);
    479             /* Store video capture frame bit rate: */
    480             if (newDisplayData.m_iVideoCaptureBitRate != oldDisplayData.m_iVideoCaptureBitRate)
    481                 m_machine.SetVideoCaptureRate(newDisplayData.m_iVideoCaptureBitRate);
    482             /* Store video capture recording screens: */
    483             if (newDisplayData.m_screens != oldDisplayData.m_screens)
    484                 m_machine.SetVideoCaptureScreens(newDisplayData.m_screens);
    485         }
    486     }
     365    /* Update display data and failing state: */
     366    setFailed(!saveDisplayData());
    487367
    488368    /* Upload machine to data: */
     
    13251205}
    13261206
     1207bool UIMachineSettingsDisplay::saveDisplayData()
     1208{
     1209    /* Prepare result: */
     1210    bool fSuccess = true;
     1211    /* Save display settings from the cache: */
     1212    if (fSuccess && isMachineInValidMode() && m_pCache->wasChanged())
     1213    {
     1214        /* Save 'Screen' data from the cache: */
     1215        if (fSuccess)
     1216            fSuccess = saveScreenData();
     1217        /* Save 'Remote Display' data from the cache: */
     1218        if (fSuccess)
     1219            fSuccess = saveRemoteDisplayData();
     1220        /* Save 'Video Capture' data from the cache: */
     1221        if (fSuccess)
     1222            fSuccess = saveVideoCaptureData();
     1223    }
     1224    /* Return result: */
     1225    return fSuccess;
     1226}
     1227
     1228bool UIMachineSettingsDisplay::saveScreenData()
     1229{
     1230    /* Prepare result: */
     1231    bool fSuccess = true;
     1232    /* Save 'Screen' data from the cache: */
     1233    if (fSuccess)
     1234    {
     1235        /* Get old display data from the cache: */
     1236        const UIDataSettingsMachineDisplay &oldDisplayData = m_pCache->base();
     1237        /* Get new display data from the cache: */
     1238        const UIDataSettingsMachineDisplay &newDisplayData = m_pCache->data();
     1239
     1240        /* Save video RAM size: */
     1241        if (fSuccess && isMachineOffline() && newDisplayData.m_iCurrentVRAM != oldDisplayData.m_iCurrentVRAM)
     1242        {
     1243            m_machine.SetVRAMSize(newDisplayData.m_iCurrentVRAM);
     1244            fSuccess = m_machine.isOk();
     1245        }
     1246        /* Save guest screen count: */
     1247        if (fSuccess && isMachineOffline() && newDisplayData.m_cGuestScreenCount != oldDisplayData.m_cGuestScreenCount)
     1248        {
     1249            m_machine.SetMonitorCount(newDisplayData.m_cGuestScreenCount);
     1250            fSuccess = m_machine.isOk();
     1251        }
     1252        /* Save whether 3D acceleration is enabled: */
     1253        if (fSuccess && isMachineOffline() && newDisplayData.m_f3dAccelerationEnabled != oldDisplayData.m_f3dAccelerationEnabled)
     1254        {
     1255            m_machine.SetAccelerate3DEnabled(newDisplayData.m_f3dAccelerationEnabled);
     1256            fSuccess = m_machine.isOk();
     1257        }
     1258#ifdef VBOX_WITH_VIDEOHWACCEL
     1259        /* Save whether 2D video acceleration is enabled: */
     1260        if (fSuccess && isMachineOffline() && newDisplayData.m_f2dAccelerationEnabled != oldDisplayData.m_f2dAccelerationEnabled)
     1261        {
     1262            m_machine.SetAccelerate2DVideoEnabled(newDisplayData.m_f2dAccelerationEnabled);
     1263            fSuccess = m_machine.isOk();
     1264        }
     1265#endif
     1266        /* Get machine ID for further activities: */
     1267        QString strMachineId;
     1268        if (fSuccess)
     1269        {
     1270            strMachineId = m_machine.GetId();
     1271            fSuccess = m_machine.isOk();
     1272        }
     1273        /* Show error message if necessary: */
     1274        if (!fSuccess)
     1275            msgCenter().cannotSaveDisplaySettings(m_machine, this);
     1276
     1277        /* Save guest-screen scale-factor: */
     1278        if (fSuccess && newDisplayData.m_dScaleFactor != oldDisplayData.m_dScaleFactor)
     1279            /* fSuccess = */ gEDataManager->setScaleFactor(newDisplayData.m_dScaleFactor, strMachineId);
     1280#ifdef VBOX_WS_MAC
     1281        /* Save whether Unscaled HiDPI Output is enabled: : */
     1282        if (fSuccess && newDisplayData.m_fUseUnscaledHiDPIOutput != oldDisplayData.m_fUseUnscaledHiDPIOutput)
     1283            /* fSuccess = */ gEDataManager->setUseUnscaledHiDPIOutput(newDisplayData.m_fUseUnscaledHiDPIOutput, strMachineId);
     1284#endif
     1285    }
     1286    /* Return result: */
     1287    return fSuccess;
     1288}
     1289
     1290bool UIMachineSettingsDisplay::saveRemoteDisplayData()
     1291{
     1292    /* Prepare result: */
     1293    bool fSuccess = true;
     1294    /* Save 'Remote Display' data from the cache: */
     1295    if (fSuccess)
     1296    {
     1297        /* Get old display data from the cache: */
     1298        const UIDataSettingsMachineDisplay &oldDisplayData = m_pCache->base();
     1299        /* Get new display data from the cache: */
     1300        const UIDataSettingsMachineDisplay &newDisplayData = m_pCache->data();
     1301
     1302        /* Get remote display server for further activities: */
     1303        CVRDEServer comServer = m_machine.GetVRDEServer();
     1304        fSuccess = m_machine.isOk() && comServer.isNotNull();
     1305        /* Show error message if necessary: */
     1306        if (!fSuccess)
     1307            msgCenter().cannotSaveDisplaySettings(m_machine, this);
     1308
     1309        /* Save whether remote display server is enabled: */
     1310        if (fSuccess && newDisplayData.m_fRemoteDisplayServerEnabled != oldDisplayData.m_fRemoteDisplayServerEnabled)
     1311        {
     1312            comServer.SetEnabled(newDisplayData.m_fRemoteDisplayServerEnabled);
     1313            fSuccess = comServer.isOk();
     1314        }
     1315        /* Save remote display server port: */
     1316        if (fSuccess && newDisplayData.m_strRemoteDisplayPort != oldDisplayData.m_strRemoteDisplayPort)
     1317        {
     1318            comServer.SetVRDEProperty("TCP/Ports", newDisplayData.m_strRemoteDisplayPort);
     1319            fSuccess = comServer.isOk();
     1320        }
     1321        /* Save remote display server auth type: */
     1322        if (fSuccess && newDisplayData.m_remoteDisplayAuthType != oldDisplayData.m_remoteDisplayAuthType)
     1323        {
     1324            comServer.SetAuthType(newDisplayData.m_remoteDisplayAuthType);
     1325            fSuccess = comServer.isOk();
     1326        }
     1327        /* Save remote display server timeout: */
     1328        if (fSuccess && newDisplayData.m_uRemoteDisplayTimeout != oldDisplayData.m_uRemoteDisplayTimeout)
     1329        {
     1330            comServer.SetAuthTimeout(newDisplayData.m_uRemoteDisplayTimeout);
     1331            fSuccess = comServer.isOk();
     1332        }
     1333        /* Save whether remote display server allows multiple connections: */
     1334        if (   fSuccess
     1335            && (isMachineOffline() || isMachineSaved())
     1336            && (newDisplayData.m_fRemoteDisplayMultiConnAllowed != oldDisplayData.m_fRemoteDisplayMultiConnAllowed))
     1337        {
     1338            comServer.SetAllowMultiConnection(newDisplayData.m_fRemoteDisplayMultiConnAllowed);
     1339            fSuccess = comServer.isOk();
     1340        }
     1341        /* Show error message if necessary: */
     1342        if (!fSuccess)
     1343            msgCenter().cannotSaveRemoteDisplayServerSettings(comServer, this);
     1344    }
     1345    /* Return result: */
     1346    return fSuccess;
     1347}
     1348
     1349bool UIMachineSettingsDisplay::saveVideoCaptureData()
     1350{
     1351    /* Prepare result: */
     1352    bool fSuccess = true;
     1353    /* Save 'Video Capture' data from the cache: */
     1354    if (fSuccess)
     1355    {
     1356        /* Get old display data from the cache: */
     1357        const UIDataSettingsMachineDisplay &oldDisplayData = m_pCache->base();
     1358        /* Get new display data from the cache: */
     1359        const UIDataSettingsMachineDisplay &newDisplayData = m_pCache->data();
     1360
     1361        /* Save new 'Video Capture' data for online case: */
     1362        if (isMachineOnline())
     1363        {
     1364            /* If 'Video Capture' was *enabled*: */
     1365            if (oldDisplayData.m_fVideoCaptureEnabled)
     1366            {
     1367                // We can still save the *screens* option.
     1368                // And finally we should *disable* 'Video Capture' if necessary.
     1369                /* Save video capture screens: */
     1370                if (fSuccess && newDisplayData.m_screens != oldDisplayData.m_screens)
     1371                {
     1372                    m_machine.SetVideoCaptureScreens(newDisplayData.m_screens);
     1373                    fSuccess = m_machine.isOk();
     1374                }
     1375                /* Save whether video capture is enabled: */
     1376                if (fSuccess && newDisplayData.m_fVideoCaptureEnabled != oldDisplayData.m_fVideoCaptureEnabled)
     1377                {
     1378                    m_machine.SetVideoCaptureEnabled(newDisplayData.m_fVideoCaptureEnabled);
     1379                    fSuccess = m_machine.isOk();
     1380                }
     1381            }
     1382            /* If 'Video Capture' was *disabled*: */
     1383            else
     1384            {
     1385                // We should save all the options *before* 'Video Capture' activation.
     1386                // And finally we should *enable* Video Capture if necessary.
     1387                /* Save video capture file path: */
     1388                if (fSuccess && newDisplayData.m_strVideoCaptureFilePath != oldDisplayData.m_strVideoCaptureFilePath)
     1389                {
     1390                    m_machine.SetVideoCaptureFile(newDisplayData.m_strVideoCaptureFilePath);
     1391                    fSuccess = m_machine.isOk();
     1392                }
     1393                /* Save video capture frame width: */
     1394                if (fSuccess && newDisplayData.m_iVideoCaptureFrameWidth != oldDisplayData.m_iVideoCaptureFrameWidth)
     1395                {
     1396                    m_machine.SetVideoCaptureWidth(newDisplayData.m_iVideoCaptureFrameWidth);
     1397                    fSuccess = m_machine.isOk();
     1398                }
     1399                /* Save video capture frame height: */
     1400                if (fSuccess && newDisplayData.m_iVideoCaptureFrameHeight != oldDisplayData.m_iVideoCaptureFrameHeight)
     1401                {
     1402                    m_machine.SetVideoCaptureHeight(newDisplayData.m_iVideoCaptureFrameHeight);
     1403                    fSuccess = m_machine.isOk();
     1404                }
     1405                /* Save video capture frame rate: */
     1406                if (fSuccess && newDisplayData.m_iVideoCaptureFrameRate != oldDisplayData.m_iVideoCaptureFrameRate)
     1407                {
     1408                    m_machine.SetVideoCaptureFPS(newDisplayData.m_iVideoCaptureFrameRate);
     1409                    fSuccess = m_machine.isOk();
     1410                }
     1411                /* Save video capture frame bit rate: */
     1412                if (fSuccess && newDisplayData.m_iVideoCaptureBitRate != oldDisplayData.m_iVideoCaptureBitRate)
     1413                {
     1414                    m_machine.SetVideoCaptureRate(newDisplayData.m_iVideoCaptureBitRate);
     1415                    fSuccess = m_machine.isOk();
     1416                }
     1417                /* Save video capture screens: */
     1418                if (fSuccess && newDisplayData.m_screens != oldDisplayData.m_screens)
     1419                {
     1420                    m_machine.SetVideoCaptureScreens(newDisplayData.m_screens);
     1421                    fSuccess = m_machine.isOk();
     1422                }
     1423                /* Save whether video capture is enabled: */
     1424                if (fSuccess && newDisplayData.m_fVideoCaptureEnabled != oldDisplayData.m_fVideoCaptureEnabled)
     1425                {
     1426                    m_machine.SetVideoCaptureEnabled(newDisplayData.m_fVideoCaptureEnabled);
     1427                    fSuccess = m_machine.isOk();
     1428                }
     1429            }
     1430        }
     1431        /* Save new 'Video Capture' data for offline case: */
     1432        else
     1433        {
     1434            // For 'offline', 'powered off' and 'saved' states the order is irrelevant.
     1435            /* Save whether video capture is enabled: */
     1436            if (fSuccess && newDisplayData.m_fVideoCaptureEnabled != oldDisplayData.m_fVideoCaptureEnabled)
     1437            {
     1438                m_machine.SetVideoCaptureEnabled(newDisplayData.m_fVideoCaptureEnabled);
     1439                fSuccess = m_machine.isOk();
     1440            }
     1441            /* Save video capture file path: */
     1442            if (fSuccess && newDisplayData.m_strVideoCaptureFilePath != oldDisplayData.m_strVideoCaptureFilePath)
     1443            {
     1444                m_machine.SetVideoCaptureFile(newDisplayData.m_strVideoCaptureFilePath);
     1445                fSuccess = m_machine.isOk();
     1446            }
     1447            /* Save video capture frame width: */
     1448            if (fSuccess && newDisplayData.m_iVideoCaptureFrameWidth != oldDisplayData.m_iVideoCaptureFrameWidth)
     1449            {
     1450                m_machine.SetVideoCaptureWidth(newDisplayData.m_iVideoCaptureFrameWidth);
     1451                fSuccess = m_machine.isOk();
     1452            }
     1453            /* Save video capture frame height: */
     1454            if (fSuccess && newDisplayData.m_iVideoCaptureFrameHeight != oldDisplayData.m_iVideoCaptureFrameHeight)
     1455            {
     1456                m_machine.SetVideoCaptureHeight(newDisplayData.m_iVideoCaptureFrameHeight);
     1457                fSuccess = m_machine.isOk();
     1458            }
     1459            /* Save video capture frame rate: */
     1460            if (fSuccess && newDisplayData.m_iVideoCaptureFrameRate != oldDisplayData.m_iVideoCaptureFrameRate)
     1461            {
     1462                m_machine.SetVideoCaptureFPS(newDisplayData.m_iVideoCaptureFrameRate);
     1463                fSuccess = m_machine.isOk();
     1464            }
     1465            /* Save video capture frame bit rate: */
     1466            if (fSuccess && newDisplayData.m_iVideoCaptureBitRate != oldDisplayData.m_iVideoCaptureBitRate)
     1467            {
     1468                m_machine.SetVideoCaptureRate(newDisplayData.m_iVideoCaptureBitRate);
     1469                fSuccess = m_machine.isOk();
     1470            }
     1471            /* Save video capture screens: */
     1472            if (fSuccess && newDisplayData.m_screens != oldDisplayData.m_screens)
     1473            {
     1474                m_machine.SetVideoCaptureScreens(newDisplayData.m_screens);
     1475                fSuccess = m_machine.isOk();
     1476            }
     1477        }
     1478        /* Show error message if necessary: */
     1479        if (!fSuccess)
     1480            msgCenter().cannotSaveDisplaySettings(m_machine, this);
     1481    }
     1482    /* Return result: */
     1483    return fSuccess;
     1484}
     1485
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.h

    r66345 r66476  
    151151    static int calculateQuality(int iFrameWidth, int iFrameHeight, int iFrameRate, int iBitRate);
    152152
     153    /** Saves existing display data from the cache. */
     154    bool saveDisplayData();
     155    /** Saves existing 'Screen' data from the cache. */
     156    bool saveScreenData();
     157    /** Saves existing 'Remote Display' data from the cache. */
     158    bool saveRemoteDisplayData();
     159    /** Saves existing 'Video Capture' data from the cache. */
     160    bool saveVideoCaptureData();
     161
    153162    /** Holds the guest OS type ID. */
    154163    CGuestOSType  m_comGuestOSType;
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