- Timestamp:
- Oct 18, 2018 12:40:48 AM (6 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 5 edited
-
cloud/UICloudProfileDetailsWidget.cpp (modified) (3 diffs)
-
cloud/UICloudProfileDetailsWidget.h (modified) (2 diffs)
-
cloud/UICloudProfileManager.cpp (modified) (1 diff)
-
globals/UIMessageCenter.cpp (modified) (3 diffs)
-
globals/UIMessageCenter.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/cloud/UICloudProfileDetailsWidget.cpp
r74897 r74898 82 82 } 83 83 84 void UICloudProfileDetailsWidget::sltTableChanged() 85 { 86 /// @todo handle profile settings table change! 84 void UICloudProfileDetailsWidget::sltTableChanged(QTableWidgetItem *pItem) 85 { 86 /* Make sure item is valid: */ 87 AssertPtrReturnVoid(pItem); 88 const int iRow = pItem->row(); 89 AssertReturnVoid(iRow >= 0); 90 91 /* Skip if one of items isn't yet created. 92 * This can happen when 1st is already while 2nd isn't yet. */ 93 QTableWidgetItem *pItemK = m_pTableWidget->item(iRow, 0); 94 QTableWidgetItem *pItemV = m_pTableWidget->item(iRow, 1); 95 if (!pItemK || !pItemV) 96 return; 97 98 /* Push changes back: */ 99 const QString strKey = pItemK->text(); 100 const QString strValue = pItemV->text(); 101 m_newData.m_data[strKey] = qMakePair(strValue, m_newData.m_data.value(strKey).second); 102 103 /* Revalidate: */ 104 revalidate(m_pTableWidget); 105 /* Update button states: */ 106 updateButtonStates(); 87 107 } 88 108 … … 133 153 m_pTableWidget->verticalHeader()->setVisible(false); 134 154 m_pTableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); 155 connect(m_pTableWidget, &QTableWidget::itemChanged, this, &UICloudProfileDetailsWidget::sltTableChanged); 135 156 136 157 /* Add into layout: */ … … 263 284 void UICloudProfileDetailsWidget::updateButtonStates() 264 285 { 265 /// @todo update that printf as well!266 286 #if 0 267 287 if (m_oldData != m_newData) 268 printf("Interface: %s, %s, %s, %s; DHCP server: %d, %s, %s, %s, %s\n", 269 m_newData.m_interface.m_strAddress.toUtf8().constData(), 270 m_newData.m_interface.m_strMask.toUtf8().constData(), 271 m_newData.m_interface.m_strAddress6.toUtf8().constData(), 272 m_newData.m_interface.m_strPrefixLength6.toUtf8().constData(), 273 (int)m_newData.m_dhcpserver.m_fEnabled, 274 m_newData.m_dhcpserver.m_strAddress.toUtf8().constData(), 275 m_newData.m_dhcpserver.m_strMask.toUtf8().constData(), 276 m_newData.m_dhcpserver.m_strLowerAddress.toUtf8().constData(), 277 m_newData.m_dhcpserver.m_strUpperAddress.toUtf8().constData()); 288 { 289 printf("Old data:\n"); 290 foreach (const QString &strKey, m_oldData.m_data.keys()) 291 { 292 const QString strValue = m_oldData.m_data.value(strKey).first; 293 const QString strDecription = m_oldData.m_data.value(strKey).second; 294 printf(" %s: %s, %s\n", strKey.toUtf8().constData(), strValue.toUtf8().constData(), strDecription.toUtf8().constData()); 295 } 296 printf("New data:\n"); 297 foreach (const QString &strKey, m_newData.m_data.keys()) 298 { 299 const QString strValue = m_newData.m_data.value(strKey).first; 300 const QString strDecription = m_newData.m_data.value(strKey).second; 301 printf(" %s: %s, %s\n", strKey.toUtf8().constData(), strValue.toUtf8().constData(), strDecription.toUtf8().constData()); 302 } 303 printf("\n"); 304 } 278 305 #endif 279 306 -
trunk/src/VBox/Frontends/VirtualBox/src/cloud/UICloudProfileDetailsWidget.h
r74897 r74898 30 30 class QAbstractButton; 31 31 class QTableWidget; 32 class QTableWidgetItem; 32 33 class QIDialogButtonBox; 33 34 … … 127 128 * @{ */ 128 129 /** Handles table change. */ 129 void sltTableChanged( );130 void sltTableChanged(QTableWidgetItem *pItem); 130 131 131 132 /** Handles button-box button click. */ -
trunk/src/VBox/Frontends/VirtualBox/src/cloud/UICloudProfileManager.cpp
r74896 r74898 183 183 { 184 184 /* Get profile item: */ 185 UIItemCloudProfile *pItem = static_cast<UIItemCloudProfile*>(m_pTreeWidget->currentItem()); 186 AssertMsgReturnVoid(pItem, ("Current item must not be null!\n")); 187 188 /// @todo apply cloud profile details! 185 UIItemCloudProfile *pProfileItem = static_cast<UIItemCloudProfile*>(m_pTreeWidget->currentItem()); 186 AssertMsgReturnVoid(pProfileItem, ("Current item must not be null!\n")); 187 188 /* Get item data: */ 189 UIDataCloudProfile oldData = *pProfileItem; 190 UIDataCloudProfile newData = m_pDetailsWidget->data(); 191 192 /* Get VirtualBox for further activities: */ 193 const CVirtualBox comVBox = vboxGlobal().virtualBox(); 194 195 /* Get CloudProviderManager for further activities: */ 196 CCloudProviderManager comCloudProviderManager = comVBox.GetCloudProviderManager(); 197 /* Show error message if necessary: */ 198 if (!comVBox.isOk()) 199 msgCenter().cannotAcquireCloudProviderManager(comVBox, this); 200 else 201 { 202 /* Get provider item: */ 203 UIItemCloudProvider *pProviderItem = static_cast<UIItemCloudProvider*>(pProfileItem->parentItem()); 204 /* Acquire provider ID: */ 205 const QUuid uId = pProviderItem->data(Column_Name, Data_ProviderID).toUuid(); 206 207 /* Look for corresponding provider: */ 208 CCloudProvider comCloudProvider = comCloudProviderManager.GetProviderById(uId); 209 /* Show error message if necessary: */ 210 if (!comCloudProviderManager.isOk()) 211 msgCenter().cannotFindCloudProvider(comCloudProviderManager, uId, this); 212 else 213 { 214 /* Look for corresponding profile: */ 215 CCloudProfile comCloudProfile = comCloudProvider.GetProfileByName(oldData.m_strName); 216 /* Show error message if necessary: */ 217 if (!comCloudProvider.isOk()) 218 msgCenter().cannotFindCloudProfile(comCloudProvider, oldData.m_strName, this); 219 else 220 { 221 /* Iterate through old/new data: */ 222 foreach (const QString &strKey, oldData.m_data.keys()) 223 { 224 /* Get values: */ 225 const QString strOldValue = oldData.m_data.value(strKey).first; 226 const QString strNewValue = newData.m_data.value(strKey).first; 227 if (strNewValue != strOldValue) 228 { 229 /* Apply property: */ 230 comCloudProfile.SetProperty(strKey, strNewValue); 231 /* Show error message if necessary: */ 232 if (!comCloudProfile.isOk()) 233 { 234 msgCenter().cannotAssignCloudProfileParameter(comCloudProfile, this); 235 break; 236 } 237 } 238 } 239 240 /* If profile is Ok finally: */ 241 if (comCloudProfile.isOk()) 242 { 243 /* Update profile in the tree: */ 244 UIDataCloudProfile data; 245 loadCloudProfile(comCloudProfile, data); 246 updateItemForCloudProfile(data, true, pProfileItem); 247 248 /* Make sure current item fetched: */ 249 sltHandleCurrentItemChange(); 250 } 251 } 252 } 253 } 189 254 } 190 255 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
r74887 r74898 59 59 # include "CCloudProfile.h" 60 60 # include "CCloudProvider.h" 61 # include "CCloudProviderManager.h" 61 62 # include "CNATNetwork.h" 62 63 # include "CDHCPServer.h" … … 1619 1620 } 1620 1621 1622 void UIMessageCenter::cannotFindCloudProvider(const CCloudProviderManager &comManager, const QUuid &uId, QWidget *pParent /* = 0 */) const 1623 { 1624 error(pParent, MessageType_Error, 1625 tr("Failed to find cloud provider with following uuid: <b>%1</b>.").arg(uId.toString()), 1626 UIErrorString::formatErrorInfo(comManager)); 1627 } 1628 1621 1629 void UIMessageCenter::cannotAcquireCloudProviderParameter(const CCloudProvider &comProvider, QWidget *pParent /* = 0 */) const 1622 1630 { … … 1626 1634 } 1627 1635 1636 void UIMessageCenter::cannotFindCloudProfile(const CCloudProvider &comProvider, const QString &strName, QWidget *pParent /* = 0 */) const 1637 { 1638 error(pParent, MessageType_Error, 1639 tr("Failed to find cloud profile with following name: <b>%1</b>.").arg(strName), 1640 UIErrorString::formatErrorInfo(comProvider)); 1641 } 1642 1628 1643 void UIMessageCenter::cannotAcquireCloudProfileParameter(const CCloudProfile &comProfile, QWidget *pParent /* = 0 */) const 1629 1644 { 1630 1645 error(pParent, MessageType_Error, 1631 1646 tr("Failed to acquire cloud profile parameter."), 1647 UIErrorString::formatErrorInfo(comProfile)); 1648 } 1649 1650 void UIMessageCenter::cannotAssignCloudProfileParameter(const CCloudProfile &comProfile, QWidget *pParent /* = 0 */) const 1651 { 1652 error(pParent, MessageType_Error, 1653 tr("Failed to assign cloud profile parameter."), 1632 1654 UIErrorString::formatErrorInfo(comProfile)); 1633 1655 } -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h
r74887 r74898 362 362 /* API: Cloud Profile Manager warnings: */ 363 363 void cannotAcquireCloudProviderManager(const CVirtualBox &comVBox, QWidget *pParent = 0) const; 364 void cannotFindCloudProvider(const CCloudProviderManager &comManager, const QUuid &uId, QWidget *pParent = 0) const; 364 365 void cannotAcquireCloudProviderParameter(const CCloudProvider &comProvider, QWidget *pParent = 0) const; 366 void cannotFindCloudProfile(const CCloudProvider &comProvider, const QString &strName, QWidget *pParent = 0) const; 365 367 void cannotAcquireCloudProfileParameter(const CCloudProfile &comProfile, QWidget *pParent = 0) const; 368 void cannotAssignCloudProfileParameter(const CCloudProfile &comProfile, QWidget *pParent = 0) const; 366 369 367 370 /* API: Wizards warnings: */
Note:
See TracChangeset
for help on using the changeset viewer.

