- Timestamp:
- Jun 15, 2022 1:30:01 PM (3 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox
- Files:
-
- 4 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
r95277 r95286 936 936 src/settings/editors/UIUSBFilterDetailsEditor.h \ 937 937 src/settings/editors/UIUSBFiltersEditor.h \ 938 src/settings/editors/UIUSBSettingsEditor.h \ 938 939 src/settings/editors/UIVideoMemoryEditor.h \ 939 940 src/settings/editors/UIVirtualCPUEditor.h \ … … 1515 1516 src/settings/editors/UIUSBFilterDetailsEditor.cpp \ 1516 1517 src/settings/editors/UIUSBFiltersEditor.cpp \ 1518 src/settings/editors/UIUSBSettingsEditor.cpp \ 1517 1519 src/settings/editors/UIVideoMemoryEditor.cpp \ 1518 1520 src/settings/editors/UIVirtualCPUEditor.cpp \ -
trunk/src/VBox/Frontends/VirtualBox/src/settings/editors/UIUSBSettingsEditor.cpp
r95282 r95286 1 1 /* $Id$ */ 2 2 /** @file 3 * VBox Qt GUI - UI AudioSettingsEditor class implementation.3 * VBox Qt GUI - UIUSBSettingsEditor class implementation. 4 4 */ 5 5 … … 22 22 23 23 /* GUI includes: */ 24 #include "UIAudioControllerEditor.h" 25 #include "UIAudioFeaturesEditor.h" 26 #include "UIAudioHostDriverEditor.h" 27 #include "UIAudioSettingsEditor.h" 24 #include "UIUSBControllerEditor.h" 25 #include "UIUSBSettingsEditor.h" 28 26 29 27 30 UI AudioSettingsEditor::UIAudioSettingsEditor(QWidget *pParent /* = 0 */)28 UIUSBSettingsEditor::UIUSBSettingsEditor(QWidget *pParent /* = 0 */) 31 29 : QIWithRetranslateUI<QWidget>(pParent) 32 30 , m_fFeatureEnabled(false) 33 31 , m_pCheckboxFeature(0) 34 32 , m_pWidgetSettings(0) 35 , m_pEditorAudioHostDriver(0) 36 , m_pEditorAudioController(0) 37 , m_pEditorAudioFeatures(0) 33 , m_pEditorController(0) 34 , m_pEditorFilters(0) 38 35 { 39 36 prepare(); 40 37 } 41 38 42 void UI AudioSettingsEditor::setFeatureEnabled(bool fEnabled)39 void UIUSBSettingsEditor::setFeatureEnabled(bool fEnabled) 43 40 { 44 41 if (m_fFeatureEnabled != fEnabled) … … 50 47 } 51 48 52 bool UI AudioSettingsEditor::isFeatureEnabled() const49 bool UIUSBSettingsEditor::isFeatureEnabled() const 53 50 { 54 51 return m_pCheckboxFeature ? m_pCheckboxFeature->isChecked() : m_fFeatureEnabled; 55 52 } 56 53 57 void UI AudioSettingsEditor::setFeatureAvailable(bool fAvailable)54 void UIUSBSettingsEditor::setFeatureAvailable(bool fAvailable) 58 55 { 59 56 if (m_pCheckboxFeature) … … 61 58 } 62 59 63 void UI AudioSettingsEditor::setHostDriverType(KAudioDriverType enmType)60 void UIUSBSettingsEditor::setUsbControllerType(KUSBControllerType enmType) 64 61 { 65 if (m_pEditor AudioHostDriver)66 m_pEditor AudioHostDriver->setValue(enmType);62 if (m_pEditorController) 63 m_pEditorController->setValue(enmType); 67 64 } 68 65 69 K AudioDriverType UIAudioSettingsEditor::hostDriverType() const66 KUSBControllerType UIUSBSettingsEditor::usbControllerType() const 70 67 { 71 return m_pEditor AudioHostDriver ? m_pEditorAudioHostDriver->value() : KAudioDriverType_Max;68 return m_pEditorController ? m_pEditorController->value() : KUSBControllerType_Max; 72 69 } 73 70 74 void UI AudioSettingsEditor::setHostDriverOptionAvailable(bool fAvailable)71 void UIUSBSettingsEditor::setUsbControllerOptionAvailable(bool fAvailable) 75 72 { 76 if (m_pEditor AudioHostDriver)77 m_pEditor AudioHostDriver->setEnabled(fAvailable);73 if (m_pEditorController) 74 m_pEditorController->setEnabled(fAvailable); 78 75 } 79 76 80 void UI AudioSettingsEditor::setControllerType(KAudioControllerType enmType)77 void UIUSBSettingsEditor::setUsbFilters(const QList<UIDataUSBFilter> &filters) 81 78 { 82 if (m_pEditor AudioController)83 m_pEditor AudioController->setValue(enmType);79 if (m_pEditorFilters) 80 m_pEditorFilters->setValue(filters); 84 81 } 85 82 86 KAudioControllerType UIAudioSettingsEditor::controllerType() const83 QList<UIDataUSBFilter> UIUSBSettingsEditor::usbFilters() const 87 84 { 88 return m_pEditor AudioController ? m_pEditorAudioController->value() : KAudioControllerType_Max;85 return m_pEditorFilters ? m_pEditorFilters->value() : QList<UIDataUSBFilter>(); 89 86 } 90 87 91 void UI AudioSettingsEditor::setControllerOptionAvailable(bool fAvailable)88 void UIUSBSettingsEditor::setUsbFiltersOptionAvailable(bool fAvailable) 92 89 { 93 if (m_pEditor AudioController)94 m_pEditor AudioController->setEnabled(fAvailable);90 if (m_pEditorFilters) 91 m_pEditorFilters->setEnabled(fAvailable); 95 92 } 96 93 97 void UIAudioSettingsEditor::setEnableOutput(bool fConnected) 98 { 99 if (m_pEditorAudioFeatures) 100 m_pEditorAudioFeatures->setEnableOutput(fConnected); 101 } 102 103 bool UIAudioSettingsEditor::outputEnabled() const 104 { 105 return m_pEditorAudioFeatures ? m_pEditorAudioFeatures->outputEnabled() : false; 106 } 107 108 void UIAudioSettingsEditor::setEnableInput(bool fConnected) 109 { 110 if (m_pEditorAudioFeatures) 111 m_pEditorAudioFeatures->setEnableInput(fConnected); 112 } 113 114 bool UIAudioSettingsEditor::inputEnabled() const 115 { 116 return m_pEditorAudioFeatures ? m_pEditorAudioFeatures->inputEnabled() : false; 117 } 118 119 void UIAudioSettingsEditor::setFeatureOptionsAvailable(bool fAvailable) 120 { 121 if (m_pEditorAudioFeatures) 122 m_pEditorAudioFeatures->setEnabled(fAvailable); 123 } 124 125 void UIAudioSettingsEditor::retranslateUi() 94 void UIUSBSettingsEditor::retranslateUi() 126 95 { 127 96 if (m_pCheckboxFeature) 128 97 { 129 m_pCheckboxFeature->setText(tr("Enable &Audio")); 130 m_pCheckboxFeature->setToolTip(tr("When checked, a virtual PCI audio card will be plugged into the virtual machine " 131 "and will communicate with the host audio system using the specified driver.")); 98 m_pCheckboxFeature->setText(tr("Enable &USB Controller")); 99 m_pCheckboxFeature->setToolTip(tr("When checked, enables the virtual USB controller of this machine.")); 132 100 } 133 134 /* These editors have own labels, but we want them to be properly layouted according to each other: */135 int iMinimumLayoutHint = 0;136 if (m_pEditorAudioHostDriver)137 iMinimumLayoutHint = qMax(iMinimumLayoutHint, m_pEditorAudioHostDriver->minimumLabelHorizontalHint());138 if (m_pEditorAudioController)139 iMinimumLayoutHint = qMax(iMinimumLayoutHint, m_pEditorAudioController->minimumLabelHorizontalHint());140 if (m_pEditorAudioFeatures)141 iMinimumLayoutHint = qMax(iMinimumLayoutHint, m_pEditorAudioFeatures->minimumLabelHorizontalHint());142 if (m_pEditorAudioHostDriver)143 m_pEditorAudioHostDriver->setMinimumLayoutIndent(iMinimumLayoutHint);144 if (m_pEditorAudioController)145 m_pEditorAudioController->setMinimumLayoutIndent(iMinimumLayoutHint);146 if (m_pEditorAudioFeatures)147 m_pEditorAudioFeatures->setMinimumLayoutIndent(iMinimumLayoutHint);148 101 } 149 102 150 void UI AudioSettingsEditor::sltHandleFeatureToggled()103 void UIUSBSettingsEditor::sltHandleFeatureToggled() 151 104 { 152 105 /* Update widget availability: */ … … 154 107 } 155 108 156 void UI AudioSettingsEditor::prepare()109 void UIUSBSettingsEditor::prepare() 157 110 { 158 111 /* Prepare stuff: */ … … 167 120 } 168 121 169 void UI AudioSettingsEditor::prepareWidgets()122 void UIUSBSettingsEditor::prepareWidgets() 170 123 { 171 124 /* Prepare main layout: */ … … 190 143 { 191 144 /* Prepare settings layout: */ 192 QVBoxLayout *pLayout AudioSettings = new QVBoxLayout(m_pWidgetSettings);193 if (pLayout AudioSettings)145 QVBoxLayout *pLayoutSettings = new QVBoxLayout(m_pWidgetSettings); 146 if (pLayoutSettings) 194 147 { 195 pLayout AudioSettings->setContentsMargins(0, 0, 0, 0);148 pLayoutSettings->setContentsMargins(0, 0, 0, 0); 196 149 197 /* Prepare host driver editor: */198 m_pEditor AudioHostDriver = new UIAudioHostDriverEditor(m_pWidgetSettings);199 if (m_pEditor AudioHostDriver)200 pLayout AudioSettings->addWidget(m_pEditorAudioHostDriver);150 /* Prepare USB controller editor: */ 151 m_pEditorController = new UIUSBControllerEditor(m_pWidgetSettings); 152 if (m_pEditorController) 153 pLayoutSettings->addWidget(m_pEditorController); 201 154 202 /* Prepare controller editor: */ 203 m_pEditorAudioController = new UIAudioControllerEditor(m_pWidgetSettings); 204 if (m_pEditorAudioController) 205 pLayoutAudioSettings->addWidget(m_pEditorAudioController); 206 207 /* Prepare features editor: */ 208 m_pEditorAudioFeatures = new UIAudioFeaturesEditor(m_pWidgetSettings); 209 if (m_pEditorAudioFeatures) 210 pLayoutAudioSettings->addWidget(m_pEditorAudioFeatures); 155 /* Prepare USB filters editor: */ 156 m_pEditorFilters = new UIUSBFiltersEditor(m_pWidgetSettings); 157 if (m_pEditorFilters) 158 pLayoutSettings->addWidget(m_pEditorFilters); 211 159 } 212 160 … … 216 164 } 217 165 218 void UI AudioSettingsEditor::prepareConnections()166 void UIUSBSettingsEditor::prepareConnections() 219 167 { 220 168 if (m_pCheckboxFeature) 169 { 221 170 connect(m_pCheckboxFeature, &QCheckBox::stateChanged, 222 this, &UIAudioSettingsEditor::sltHandleFeatureToggled); 171 this, &UIUSBSettingsEditor::sltHandleFeatureToggled); 172 connect(m_pCheckboxFeature, &QCheckBox::stateChanged, 173 this, &UIUSBSettingsEditor::sigValueChanged); 174 } 175 if (m_pEditorController) 176 connect(m_pEditorController, &UIUSBControllerEditor::sigValueChanged, 177 this, &UIUSBSettingsEditor::sigValueChanged); 178 if (m_pEditorFilters) 179 connect(m_pEditorFilters, &UIUSBFiltersEditor::sigValueChanged, 180 this, &UIUSBSettingsEditor::sigValueChanged); 223 181 } 224 182 225 void UI AudioSettingsEditor::updateFeatureAvailability()183 void UIUSBSettingsEditor::updateFeatureAvailability() 226 184 { 227 185 m_pWidgetSettings->setEnabled(m_pCheckboxFeature->isChecked()); -
trunk/src/VBox/Frontends/VirtualBox/src/settings/editors/UIUSBSettingsEditor.h
r95282 r95286 1 1 /* $Id$ */ 2 2 /** @file 3 * VBox Qt GUI - UI AudioSettingsEditor class declaration.3 * VBox Qt GUI - UIUSBSettingsEditor class declaration. 4 4 */ 5 5 … … 16 16 */ 17 17 18 #ifndef FEQT_INCLUDED_SRC_settings_editors_UI AudioSettingsEditor_h19 #define FEQT_INCLUDED_SRC_settings_editors_UI AudioSettingsEditor_h18 #ifndef FEQT_INCLUDED_SRC_settings_editors_UIUSBSettingsEditor_h 19 #define FEQT_INCLUDED_SRC_settings_editors_UIUSBSettingsEditor_h 20 20 #ifndef RT_WITHOUT_PRAGMA_ONCE 21 21 # pragma once … … 28 28 #include "QIWithRetranslateUI.h" 29 29 #include "UILibraryDefs.h" 30 #include "UI PortForwardingTable.h"30 #include "UIUSBFiltersEditor.h" 31 31 32 32 /* COM includes: */ … … 35 35 /* Forward declarations: */ 36 36 class QCheckBox; 37 class UIAudioControllerEditor; 38 class UIAudioFeaturesEditor; 39 class UIAudioHostDriverEditor; 37 class UIUSBControllerEditor; 40 38 41 /** QWidget subclass used as a audiosettings editor. */42 class SHARED_LIBRARY_STUFF UI AudioSettingsEditor : public QIWithRetranslateUI<QWidget>39 /** QWidget subclass used as a USB settings editor. */ 40 class SHARED_LIBRARY_STUFF UIUSBSettingsEditor : public QIWithRetranslateUI<QWidget> 43 41 { 44 42 Q_OBJECT; 43 44 signals: 45 46 /** Notifies listeners about value change. */ 47 void sigValueChanged(); 45 48 46 49 public: 47 50 48 51 /** Constructs editor passing @a pParent to the base-class. */ 49 UI AudioSettingsEditor(QWidget *pParent = 0);52 UIUSBSettingsEditor(QWidget *pParent = 0); 50 53 51 54 /** @name General stuff … … 60 63 /** @} */ 61 64 62 /** @name Host driver editor stuff65 /** @name USB controller editor stuff 63 66 * @{ */ 64 /** Defines host driver @a enmType. */65 void set HostDriverType(KAudioDriverType enmType);66 /** Returns host driver type. */67 K AudioDriverType hostDriverType() const;67 /** Defines USB controller @a enmType. */ 68 void setUsbControllerType(KUSBControllerType enmType); 69 /** Returns USB controller type. */ 70 KUSBControllerType usbControllerType() const; 68 71 69 /** Defines whether host driver option @a fAvailable. */70 void set HostDriverOptionAvailable(bool fAvailable);72 /** Defines whether USB controller option @a fAvailable. */ 73 void setUsbControllerOptionAvailable(bool fAvailable); 71 74 /** @} */ 72 75 73 /** @name Controllereditor stuff76 /** @name USB filters editor stuff 74 77 * @{ */ 75 /** Defines controller @a enmType. */76 void set ControllerType(KAudioControllerType enmValue);77 /** Returns controller type. */78 KAudioControllerType controllerType() const;78 /** Defines a list of USB @a filters. */ 79 void setUsbFilters(const QList<UIDataUSBFilter> &filters); 80 /** Returns a list of USB filters. */ 81 QList<UIDataUSBFilter> usbFilters() const; 79 82 80 /** Defines whether controller option @a fAvailable. */ 81 void setControllerOptionAvailable(bool fAvailable); 82 /** @} */ 83 84 /** @name Features editor stuff 85 * @{ */ 86 /** Defines whether 'enable output' feature in @a fOn. */ 87 void setEnableOutput(bool fOn); 88 /** Returns 'enable output' feature value. */ 89 bool outputEnabled() const; 90 91 /** Defines whether 'enable input' feature in @a fOn. */ 92 void setEnableInput(bool fOn); 93 /** Returns 'enable input' feature value. */ 94 bool inputEnabled() const; 95 96 /** Defines whether feature options @a fAvailable. */ 97 void setFeatureOptionsAvailable(bool fAvailable); 83 /** Defines whether USB filters option @a fAvailable. */ 84 void setUsbFiltersOptionAvailable(bool fAvailable); 98 85 /** @} */ 99 86 … … 129 116 * @{ */ 130 117 /** Holds the feature check-box instance. */ 131 QCheckBox 118 QCheckBox *m_pCheckboxFeature; 132 119 /** Holds the settings widget instance. */ 133 QWidget *m_pWidgetSettings; 134 /** Holds the host driver editor instance. */ 135 UIAudioHostDriverEditor *m_pEditorAudioHostDriver; 120 QWidget *m_pWidgetSettings; 136 121 /** Holds the controller editor instance. */ 137 UI AudioControllerEditor *m_pEditorAudioController;138 /** Holds the f eatures editor instance. */139 UI AudioFeaturesEditor *m_pEditorAudioFeatures;122 UIUSBControllerEditor *m_pEditorController; 123 /** Holds the filters editor instance. */ 124 UIUSBFiltersEditor *m_pEditorFilters; 140 125 /** @} */ 141 126 }; 142 127 143 #endif /* !FEQT_INCLUDED_SRC_settings_editors_UI AudioSettingsEditor_h */128 #endif /* !FEQT_INCLUDED_SRC_settings_editors_UIUSBSettingsEditor_h */ -
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSF.cpp
r95077 r95286 233 233 if (m_pEditorSharedFolders) 234 234 pLayout->addWidget(m_pEditorSharedFolders); 235 236 pLayout->addStretch();237 235 } 238 236 } -
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.cpp
r95277 r95286 38 38 #include "QIToolBar.h" 39 39 #include "UICommon.h" 40 #include "UIUSBControllerEditor.h"41 #include "UIUSBFilterDetailsEditor.h"42 40 #include "UIUSBFiltersEditor.h" 41 #include "UIUSBSettingsEditor.h" 43 42 44 43 /* COM includes: */ … … 106 105 UIMachineSettingsUSB::UIMachineSettingsUSB() 107 106 : m_pCache(0) 108 , m_pCheckBoxUSB(0) 109 , m_pWidgetUSBSettings(0) 110 , m_pEditorController(0) 111 , m_pEditorFilters(0) 107 , m_pEditorUsbSettings(0) 112 108 { 113 109 prepare(); … … 121 117 bool UIMachineSettingsUSB::isUSBEnabled() const 122 118 { 123 return m_p CheckBoxUSB->isChecked();119 return m_pEditorUsbSettings->isFeatureEnabled(); 124 120 } 125 121 … … 207 203 208 204 /* Load old USB data from cache: */ 209 if (m_pCheckBoxUSB) 210 m_pCheckBoxUSB->setChecked(oldUsbData.m_fUSBEnabled); 211 if (m_pEditorController) 212 m_pEditorController->setValue(oldUsbData.m_enmUSBControllerType); 213 if (m_pEditorFilters) 214 { 205 if (m_pEditorUsbSettings) 206 { 207 m_pEditorUsbSettings->setFeatureEnabled(oldUsbData.m_fUSBEnabled); 208 m_pEditorUsbSettings->setUsbControllerType(oldUsbData.m_enmUSBControllerType); 209 215 210 /* For each filter => load it from cache: */ 216 211 QList<UIDataUSBFilter> filters; … … 231 226 filters << filter; 232 227 } 233 m_pEditorFilters->setValue(filters); 234 } 235 236 /* Update widget availability: */ 237 if (m_pCheckBoxUSB) 238 sltHandleUsbAdapterToggle(m_pCheckBoxUSB->isChecked()); 228 m_pEditorUsbSettings->setUsbFilters(filters); 229 } 239 230 240 231 /* Polish page finally: */ … … 248 239 { 249 240 /* Sanity check: */ 250 if ( !m_pCache 251 || !m_pEditorFilters) 241 if (!m_pCache) 252 242 return; 253 243 … … 256 246 257 247 /* Gather new USB data: */ 258 if (m_p CheckBoxUSB)259 newUsbData.m_fUSBEnabled = m_pCheckBoxUSB->isChecked();260 if (m_pEditorController)261 newUsbData.m_enmUSBControllerType = newUsbData.m_fUSBEnabled ? m_pEditorController->value() : KUSBControllerType_Null;262 if (m_pEditorFilters)263 {248 if (m_pEditorUsbSettings) 249 { 250 newUsbData.m_fUSBEnabled = m_pEditorUsbSettings->isFeatureEnabled(); 251 newUsbData.m_enmUSBControllerType = newUsbData.m_fUSBEnabled 252 ? m_pEditorUsbSettings->usbControllerType() 253 : KUSBControllerType_Null; 264 254 /* For each filter => save it to cache: */ 265 const QList<UIDataUSBFilter> filters = m_pEditor Filters->value();255 const QList<UIDataUSBFilter> filters = m_pEditorUsbSettings->usbFilters(); 266 256 for (int iFilterIndex = 0; iFilterIndex < filters.size(); ++iFilterIndex) 267 257 { … … 306 296 307 297 /* USB 2.0/3.0 Extension Pack presence test: */ 308 if ( m_pCheckBoxUSB->isChecked() 309 && ( m_pEditorController->value() == KUSBControllerType_EHCI 310 || m_pEditorController->value() == KUSBControllerType_XHCI)) 298 if ( m_pEditorUsbSettings 299 && m_pEditorUsbSettings->isFeatureEnabled() 300 && ( m_pEditorUsbSettings->usbControllerType() == KUSBControllerType_EHCI 301 || m_pEditorUsbSettings->usbControllerType() == KUSBControllerType_XHCI)) 311 302 { 312 303 CExtPackManager extPackManager = uiCommon().virtualBox().GetExtensionPackManager(); … … 332 323 void UIMachineSettingsUSB::setOrderAfter(QWidget *pWidget) 333 324 { 334 setTabOrder(pWidget, m_pCheckBoxUSB); 335 setTabOrder(m_pCheckBoxUSB, m_pEditorController); 336 setTabOrder(m_pEditorController, m_pEditorFilters); 325 setTabOrder(pWidget, m_pEditorUsbSettings); 337 326 } 338 327 339 328 void UIMachineSettingsUSB::retranslateUi() 340 329 { 341 m_pCheckBoxUSB->setToolTip(tr("When checked, enables the virtual USB controller of this machine."));342 m_pCheckBoxUSB->setText(tr("Enable &USB Controller"));343 330 } 344 331 … … 346 333 { 347 334 /* Polish USB page availability: */ 348 m_pCheckBoxUSB->setEnabled(isMachineOffline()); 349 m_pWidgetUSBSettings->setEnabled(isMachineInValidMode() && m_pCheckBoxUSB->isChecked()); 350 m_pEditorController->setEnabled(isMachineOffline() && m_pCheckBoxUSB->isChecked()); 351 } 352 353 void UIMachineSettingsUSB::sltHandleUsbAdapterToggle(bool fEnabled) 354 { 355 /* Enable/disable USB children: */ 356 m_pWidgetUSBSettings->setEnabled(isMachineInValidMode() && fEnabled); 357 m_pEditorController->setEnabled(isMachineOffline() && fEnabled); 335 m_pEditorUsbSettings->setFeatureAvailable(isMachineOffline()); 336 m_pEditorUsbSettings->setUsbControllerOptionAvailable(isMachineOffline()); 337 m_pEditorUsbSettings->setUsbFiltersOptionAvailable(isMachineInValidMode()); 358 338 } 359 339 … … 375 355 { 376 356 /* Prepare main layout: */ 377 QGridLayout *pLayoutMain = new QGridLayout(this); 378 if (pLayoutMain) 379 { 380 pLayoutMain->setRowStretch(2, 1); 381 pLayoutMain->setColumnStretch(1, 1); 382 383 /* Prepare USB check-box: */ 384 m_pCheckBoxUSB = new QCheckBox; 385 if (m_pCheckBoxUSB) 386 pLayoutMain->addWidget(m_pCheckBoxUSB, 0, 0, 1, 2); 387 388 /* Prepare 20-px shifting spacer: */ 389 QSpacerItem *pSpacerItem = new QSpacerItem(20, 0, QSizePolicy::Fixed, QSizePolicy::Minimum); 390 if (pSpacerItem) 391 pLayoutMain->addItem(pSpacerItem, 1, 0); 392 393 /* Prepare USB settings widget: */ 394 m_pWidgetUSBSettings = new QWidget(this); 395 if (m_pWidgetUSBSettings) 396 { 397 /* Prepare USB settings widget layout: */ 398 QVBoxLayout *pLayoutUSBSettings = new QVBoxLayout(m_pWidgetUSBSettings); 399 if (pLayoutUSBSettings) 400 { 401 pLayoutUSBSettings->setContentsMargins(0, 0, 0, 0); 402 403 /* Prepare USB controller editor: */ 404 m_pEditorController = new UIUSBControllerEditor(m_pWidgetUSBSettings); 405 if (m_pEditorController) 406 pLayoutUSBSettings->addWidget(m_pEditorController); 407 408 /* Prepare USB filters editor: */ 409 m_pEditorFilters = new UIUSBFiltersEditor(m_pWidgetUSBSettings); 410 if (m_pEditorFilters) 411 pLayoutUSBSettings->addWidget(m_pEditorFilters); 412 } 413 414 pLayoutMain->addWidget(m_pWidgetUSBSettings, 1, 1, 1, 2); 415 } 357 QVBoxLayout *pLayout = new QVBoxLayout(this); 358 if (pLayout) 359 { 360 /* Prepare settings editor: */ 361 m_pEditorUsbSettings = new UIUSBSettingsEditor(this); 362 if (m_pEditorUsbSettings) 363 pLayout->addWidget(m_pEditorUsbSettings); 416 364 } 417 365 } … … 420 368 { 421 369 /* Configure validation connections: */ 422 connect(m_p CheckBoxUSB, &QCheckBox::stateChanged,370 connect(m_pEditorUsbSettings, &UIUSBSettingsEditor::sigValueChanged, 423 371 this, &UIMachineSettingsUSB::revalidate); 424 connect(m_pEditorController, &UIUSBControllerEditor::sigValueChanged,425 this, &UIMachineSettingsUSB::revalidate);426 connect(m_pEditorFilters, &UIUSBFiltersEditor::sigValueChanged,427 this, &UIMachineSettingsUSB::revalidate);428 429 /* Configure widget connections: */430 connect(m_pCheckBoxUSB, &QCheckBox::toggled,431 this, &UIMachineSettingsUSB::sltHandleUsbAdapterToggle);432 372 } 433 373 -
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.h
r95277 r95286 26 26 27 27 /* Forward declarations: */ 28 class QCheckBox; 29 class UIUSBControllerEditor; 30 class UIUSBFiltersEditor; 28 class UIUSBSettingsEditor; 31 29 struct UIDataSettingsMachineUSB; 32 30 struct UIDataSettingsMachineUSBFilter; … … 80 78 virtual void polishPage() RT_OVERRIDE; 81 79 82 private slots:83 84 /** Handles whether USB adapted is @a fEnabled. */85 void sltHandleUsbAdapterToggle(bool fEnabled);86 87 80 private: 88 81 … … 112 105 /** @name Widgets 113 106 * @{ */ 114 /** Holds the USB check-box instance. */ 115 QCheckBox *m_pCheckBoxUSB; 116 /** Holds the USB settings widget instance. */ 117 QWidget *m_pWidgetUSBSettings; 118 /** Holds the USB controller editor instance. */ 119 UIUSBControllerEditor *m_pEditorController; 120 /** Holds the USB filters editor instance. */ 121 UIUSBFiltersEditor *m_pEditorFilters; 107 /** Holds the USB settings editor instance. */ 108 UIUSBSettingsEditor *m_pEditorUsbSettings; 122 109 /** @} */ 123 110 };
Note:
See TracChangeset
for help on using the changeset viewer.