Changeset 66475 in vbox
- Timestamp:
- Apr 7, 2017 2:38:57 PM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 114464
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
r66398 r66475 57 57 58 58 /* COM includes: */ 59 # include "CAudioAdapter.h" 59 60 # include "CConsole.h" 60 61 # include "CMachine.h" … … 1150 1151 QString() /* cancel button text */, 1151 1152 false /* ok button by default? */); 1153 } 1154 1155 void UIMessageCenter::cannotSaveAudioSettings(const CMachine &comMachine, QWidget *pParent /* = 0 */) 1156 { 1157 error(pParent, MessageType_Error, 1158 tr("Cannot save audio settings."), 1159 formatErrorInfo(comMachine)); 1160 } 1161 1162 void UIMessageCenter::cannotSaveAudioAdapterSettings(const CAudioAdapter &comAdapter, QWidget *pParent /* = 0 */) 1163 { 1164 error(pParent, MessageType_Error, 1165 tr("Cannot save audio adapter settings."), 1166 formatErrorInfo(comAdapter)); 1152 1167 } 1153 1168 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h
r66398 r66475 239 239 int confirmFloppyAttachmentCreation(const QString &strControllerName, QWidget *pParent = 0) const; 240 240 int confirmRemovingOfLastDVDDevice(QWidget *pParent = 0) const; 241 void cannotSaveAudioSettings(const CMachine &comMachine, QWidget *pParent = 0); 242 void cannotSaveAudioAdapterSettings(const CAudioAdapter &comAdapter, QWidget *pParent = 0); 241 243 void cannotAttachDevice(const CMachine &machine, UIMediumType type, const QString &strLocation, const StorageSlot &storageSlot, QWidget *pParent = 0); 242 244 bool warnAboutIncorrectPort(QWidget *pParent = 0) const; -
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsAudio.cpp
r66460 r66475 23 23 # include "UIConverter.h" 24 24 # include "UIMachineSettingsAudio.h" 25 # include "UIMessageCenter.h" 25 26 26 27 /* COM includes: */ … … 143 144 UISettingsPageMachine::fetchData(data); 144 145 145 /* Make sure machine is offline & audio data was changed: */ 146 if (isMachineOffline() && m_pCache->wasChanged()) 147 { 148 /* Check whether adapter still valid: */ 149 CAudioAdapter comAdapter = m_machine.GetAudioAdapter(); 150 if (!comAdapter.isNull()) 151 { 152 /* Get old audio data from the cache: */ 153 const UIDataSettingsMachineAudio &oldAudioData = m_pCache->base(); 154 /* Get new audio data from the cache: */ 155 const UIDataSettingsMachineAudio &newAudioData = m_pCache->data(); 156 157 /* Store whether audio is enabled: */ 158 if (newAudioData.m_fAudioEnabled != oldAudioData.m_fAudioEnabled) 159 comAdapter.SetEnabled(newAudioData.m_fAudioEnabled); 160 /* Store audio driver type: */ 161 if (newAudioData.m_audioDriverType != oldAudioData.m_audioDriverType) 162 comAdapter.SetAudioDriver(newAudioData.m_audioDriverType); 163 /* Store audio controller type: */ 164 if (newAudioData.m_audioControllerType != oldAudioData.m_audioControllerType) 165 comAdapter.SetAudioController(newAudioData.m_audioControllerType); 166 } 167 } 146 /* Update audio data and failing state: */ 147 setFailed(!saveAudioData()); 168 148 169 149 /* Upload machine to data: */ … … 275 255 } 276 256 257 bool UIMachineSettingsAudio::saveAudioData() 258 { 259 /* Prepare result: */ 260 bool fSuccess = true; 261 /* Save audio settings from the cache: */ 262 if (fSuccess && isMachineInValidMode() && m_pCache->wasChanged()) 263 { 264 /* Get old audio data from the cache: */ 265 const UIDataSettingsMachineAudio &oldAudioData = m_pCache->base(); 266 /* Get new audio data from the cache: */ 267 const UIDataSettingsMachineAudio &newAudioData = m_pCache->data(); 268 269 /* Get audio adapter for further activities: */ 270 CAudioAdapter comAdapter = m_machine.GetAudioAdapter(); 271 fSuccess = m_machine.isOk() && comAdapter.isNotNull(); 272 /* Show error message if necessary: */ 273 if (!fSuccess) 274 msgCenter().cannotSaveAudioSettings(m_machine, this); 275 276 /* Save whether audio is enabled: */ 277 if (fSuccess && isMachineOffline() && newAudioData.m_fAudioEnabled != oldAudioData.m_fAudioEnabled) 278 { 279 comAdapter.SetEnabled(newAudioData.m_fAudioEnabled); 280 fSuccess = comAdapter.isOk(); 281 } 282 /* Save audio driver type: */ 283 if (fSuccess && isMachineOffline() && newAudioData.m_audioDriverType != oldAudioData.m_audioDriverType) 284 { 285 comAdapter.SetAudioDriver(newAudioData.m_audioDriverType); 286 fSuccess = comAdapter.isOk(); 287 } 288 /* Save audio controller type: */ 289 if (fSuccess && isMachineOffline() && newAudioData.m_audioControllerType != oldAudioData.m_audioControllerType) 290 { 291 comAdapter.SetAudioController(newAudioData.m_audioControllerType); 292 fSuccess = comAdapter.isOk(); 293 } 294 /* Show error message if necessary: */ 295 if (!fSuccess) 296 msgCenter().cannotSaveAudioAdapterSettings(comAdapter, this); 297 } 298 /* Return result: */ 299 return fSuccess; 300 } 301 -
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsAudio.h
r66345 r66475 73 73 void cleanup(); 74 74 75 /** Saves existing audio data from the cache. */ 76 bool saveAudioData(); 77 75 78 /** Holds the page data cache instance. */ 76 79 UISettingsCacheMachineAudio *m_pCache;
Note:
See TracChangeset
for help on using the changeset viewer.