Changeset 17669 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Mar 11, 2009 9:56:29 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 44161
- Location:
- trunk/src/VBox/Frontends/VirtualBox
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/include/VBoxGlobal.h
r17475 r17669 409 409 } 410 410 411 QString toString (K IDEControllerType t) const412 { 413 AssertMsg (!m IDEControllerTypes.value (t).isNull(), ("No text for %d", t));414 return m IDEControllerTypes.value (t);415 } 416 417 K IDEControllerType toIDEControllerType (const QString &s) const418 { 419 QULongStringHash::const_iterator it = 420 qFind (m IDEControllerTypes.begin(), mIDEControllerTypes.end(), s);421 AssertMsg (it != m IDEControllerTypes.end(), ("No value for {%s}",422 s.toLatin1().constData()));423 return K IDEControllerType (it.key());411 QString toString (KStorageControllerType t) const 412 { 413 AssertMsg (!mStorageControllerTypes.value (t).isNull(), ("No text for %d", t)); 414 return mStorageControllerTypes.value (t); 415 } 416 417 KStorageControllerType toIDEControllerType (const QString &s) const 418 { 419 QULongStringHash::const_iterator it = 420 qFind (mStorageControllerTypes.begin(), mStorageControllerTypes.end(), s); 421 AssertMsg (it != mStorageControllerTypes.end(), ("No value for {%s}", 422 s.toLatin1().constData())); 423 return KStorageControllerType (it.key()); 424 424 } 425 425 … … 877 877 QULongStringHash mNetworkAttachmentTypes; 878 878 QULongStringHash mClipboardTypes; 879 QULongStringHash m IDEControllerTypes;879 QULongStringHash mStorageControllerTypes; 880 880 QULongStringHash mUSBDeviceStates; 881 881 -
trunk/src/VBox/Frontends/VirtualBox/include/VBoxVMInformationDlg.h
r12695 r17669 72 72 73 73 QString formatValue (const QString &aValueName, const QString &aValue, int aMaxSize); 74 QString formatHardDisk ( KStorageBus aBus, LONG aChannel, LONG aDevice, const QString &aBelongsTo);74 QString formatHardDisk (const QString &ctlName, LONG aChannel, LONG aDevice, const QString &aBelongsTo); 75 75 QString formatAdapter (ULONG aSlot, const QString &aBelongsTo); 76 76 -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxConsoleView.cpp
r17340 r17669 548 548 QApplication::postEvent (mView, 549 549 new NetworkAdapterChangeEvent (aNetworkAdapter)); 550 return S_OK; 551 } 552 553 STDMETHOD(OnStorageControllerChange) () 554 { 555 /* @todo */ 556 //QApplication::postEvent (mView, 557 // new StorageControllerChangeEvent ()); 550 558 return S_OK; 551 559 } -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxConsoleWnd.cpp
r17553 r17669 1907 1907 { 1908 1908 CHardDisk hd = hda->GetHardDisk(); 1909 const QString ctlName = hda->GetController(); 1910 CStorageController ctl = cmachine.GetStorageControllerByName(ctlName); 1911 1909 1912 data += QString ("<br><nobr><b>%1 %2</b>: %3</nobr>") 1910 .arg (vboxGlobal().toString ( hda->GetBus(), hda->GetChannel()))1911 .arg (vboxGlobal().toString ( hda->GetBus(), hda->GetChannel(),1913 .arg (vboxGlobal().toString (ctl.GetBus(), hda->GetPort())) 1914 .arg (vboxGlobal().toString (ctl.GetBus(), hda->GetPort(), 1912 1915 hda->GetDevice())) 1913 1916 .arg (QDir::convertSeparators (hd.GetLocation())); -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobal.cpp
r17553 r17669 1116 1116 break; 1117 1117 } 1118 case KStorageBus_SCSI: 1119 { 1120 channel = mStorageBusChannels [2].arg (aChannel); 1121 break; 1122 } 1118 1123 default: 1119 1124 AssertFailedBreak(); … … 1145 1150 } 1146 1151 case KStorageBus_SATA: 1152 case KStorageBus_SCSI: 1147 1153 { 1148 1154 /// @todo use regexp to properly extract the %1 text … … 1188 1194 } 1189 1195 case KStorageBus_SATA: 1196 case KStorageBus_SCSI: 1190 1197 { 1191 1198 AssertMsgBreak (aDevice == 0, ("Invalid device %d\n", aDevice)); … … 1227 1234 } 1228 1235 case KStorageBus_SATA: 1236 case KStorageBus_SCSI: 1229 1237 { 1230 1238 AssertMsgBreak(aDevice.isEmpty(), ("Invalid device {%s}\n", aDevice.toLatin1().constData())); … … 1260 1268 } 1261 1269 case KStorageBus_SATA: 1270 case KStorageBus_SCSI: 1262 1271 { 1263 1272 /* we only have one SATA device so far which is always zero */ … … 1653 1662 if (hda.isOk()) 1654 1663 { 1655 KStorageBus bus = hda.GetBus(); 1656 LONG channel = hda.GetChannel(); 1664 const QString controller = hda.GetController(); 1665 KStorageBus bus; 1666 1667 CStorageController ctrl = aMachine.GetStorageControllerByName(controller); 1668 bus = ctrl.GetBus(); 1669 1670 LONG port = hda.GetPort(); 1657 1671 LONG device = hda.GetDevice(); 1658 1672 hardDisks += QString (sSectionItemTpl2) 1659 .arg (toFullString (bus, channel, device))1673 .arg (toFullString (bus, port, device)) 1660 1674 .arg (details (hd, aIsNewVM)); 1661 1675 ++ rows; … … 2838 2852 mStorageBuses [KStorageBus_IDE] = tr ("IDE", "StorageBus"); 2839 2853 mStorageBuses [KStorageBus_SATA] = tr ("SATA", "StorageBus"); 2854 mStorageBuses [KStorageBus_SCSI] = tr ("SCSI", "StorageBus"); 2840 2855 2841 2856 mStorageBusChannels [0] = tr ("Primary", "StorageBusChannel"); … … 2915 2930 tr ("Bidirectional", "ClipboardType"); 2916 2931 2917 mIDEControllerTypes [KIDEControllerType_PIIX3] = 2918 tr ("PIIX3", "IDEControllerType"); 2919 mIDEControllerTypes [KIDEControllerType_PIIX4] = 2920 tr ("PIIX4", "IDEControllerType"); 2921 mIDEControllerTypes [KIDEControllerType_ICH6] = 2922 tr ("ICH6", "IDEControllerType"); 2932 mStorageControllerTypes [KStorageControllerType_PIIX3] = 2933 tr ("PIIX3", "StorageControllerType"); 2934 mStorageControllerTypes [KStorageControllerType_PIIX4] = 2935 tr ("PIIX4", "StorageControllerType"); 2936 mStorageControllerTypes [KStorageControllerType_ICH6] = 2937 tr ("ICH6", "StorageControllerType"); 2938 /* Leave them out for now because this is used for the IDE controller 2939 * setting in the general page and we do not want that the other controllers 2940 * show up there. 2941 */ 2942 #if 0 2943 mStorageControllerTypes [KStorageControllerType_IntelAhci] = 2944 tr ("AHCI", "StorageControllerType"); 2945 mStorageControllerTypes [KStorageControllerType_LsiLogic] = 2946 tr ("Lsilogic", "StorageControllerType"); 2947 mStorageControllerTypes [KStorageControllerType_BusLogic] = 2948 tr ("BusLogic", "StorageControllerType"); 2949 #endif 2923 2950 2924 2951 mUSBDeviceStates [KUSBDeviceState_NotSupported] = -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxImportApplianceWgt.cpp
r17160 r17669 443 443 { 444 444 QComboBox *e = new QComboBox (aParent); 445 e->addItem (vboxGlobal().toString (K IDEControllerType_PIIX3), "PIIX3");446 e->addItem (vboxGlobal().toString (K IDEControllerType_PIIX4), "PIIX4");447 e->addItem (vboxGlobal().toString (K IDEControllerType_ICH6), "ICH6");445 e->addItem (vboxGlobal().toString (KStorageControllerType_PIIX3), "PIIX3"); 446 e->addItem (vboxGlobal().toString (KStorageControllerType_PIIX4), "PIIX4"); 447 e->addItem (vboxGlobal().toString (KStorageControllerType_ICH6), "ICH6"); 448 448 editor = e; 449 449 break; -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxMediaManagerDlg.cpp
r16867 r17669 1238 1238 if (hda.GetHardDisk().GetId() == aMedium.id()) 1239 1239 { 1240 machine.DetachHardDisk(hda.Get Bus(),1241 hda.Get Channel(),1240 machine.DetachHardDisk(hda.GetController(), 1241 hda.GetPort(), 1242 1242 hda.GetDevice()); 1243 1243 if (!machine.isOk()) 1244 1244 { 1245 CStorageController ctl = machine.GetStorageControllerByName(hda.GetController()); 1246 1245 1247 vboxProblem().cannotDetachHardDisk ( 1246 this, machine, aMedium.location(), hda.GetBus(),1247 hda.Get Channel(), hda.GetDevice());1248 this, machine, aMedium.location(), ctl.GetBus(), 1249 hda.GetPort(), hda.GetDevice()); 1248 1250 success = false; 1249 1251 break; -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxNewVMWzd.cpp
r16867 r17669 352 352 { 353 353 CMachine m = session.GetMachine(); 354 m.AttachHardDisk(mHDCombo->id(), KStorageBus_IDE, 0, 0);354 m.AttachHardDisk(mHDCombo->id(), QString("IDE"), 0, 0); 355 355 if (m.isOk()) 356 356 { -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxSelectorWnd.cpp
r17450 r17669 901 901 { 902 902 CHardDiskAttachment hda = vec [i]; 903 machine.DetachHardDisk(hda.GetBus(), hda.GetChannel(), hda.GetDevice()); 903 const QString ctlName = hda.GetController(); 904 905 machine.DetachHardDisk(ctlName, hda.GetPort(), hda.GetDevice()); 904 906 if (!machine.isOk()) 907 { 908 CStorageController ctl = machine.GetStorageControllerByName(ctlName); 905 909 vboxProblem().cannotDetachHardDisk (this, machine, 906 910 vboxGlobal().getMedium (CMedium (hda.GetHardDisk())).location(), 907 hda.GetBus(), hda.GetChannel(), hda.GetDevice()); 911 ctl.GetBus(), hda.GetPort(), hda.GetDevice()); 912 } 908 913 } 909 914 /* Commit changes */ -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMInformationDlg.cpp
r16867 r17669 463 463 { 464 464 QString hdStat; 465 const QString ideCtl = QString("IDE"); 466 const QString sataCtl = QString("SATA"); 465 467 466 468 result += hdrRow.arg (":/hd_16px.png").arg (tr ("Hard Disk Statistics")); 467 469 468 470 /* IDE Hard Disk (Primary Master) */ 469 if (!m.GetHardDisk( KStorageBus_IDE, 0, 0).isNull())470 { 471 hdStat += formatHardDisk ( KStorageBus_IDE, 0, 0, "IDE00");471 if (!m.GetHardDisk(ideCtl, 0, 0).isNull()) 472 { 473 hdStat += formatHardDisk (ideCtl, 0, 0, "IDE00"); 472 474 hdStat += paragraph; 473 475 } 474 476 475 477 /* IDE Hard Disk (Primary Slave) */ 476 if (!m.GetHardDisk( KStorageBus_IDE, 0, 1).isNull())477 { 478 hdStat += formatHardDisk ( KStorageBus_IDE, 0, 1, "IDE01");478 if (!m.GetHardDisk(ideCtl, 0, 1).isNull()) 479 { 480 hdStat += formatHardDisk (ideCtl, 0, 1, "IDE01"); 479 481 hdStat += paragraph; 480 482 } 481 483 482 484 /* IDE Hard Disk (Secondary Slave) */ 483 if (!m.GetHardDisk( KStorageBus_IDE, 1, 1).isNull())484 { 485 hdStat += formatHardDisk ( KStorageBus_IDE, 1, 1, "IDE11");485 if (!m.GetHardDisk(ideCtl, 1, 1).isNull()) 486 { 487 hdStat += formatHardDisk (ideCtl, 1, 1, "IDE11"); 486 488 hdStat += paragraph; 487 489 } … … 490 492 for (int i = 0; i < 30; ++ i) 491 493 { 492 if (!m.GetHardDisk( KStorageBus_SATA, i, 0).isNull())494 if (!m.GetHardDisk(sataCtl, i, 0).isNull()) 493 495 { 494 hdStat += formatHardDisk ( KStorageBus_SATA, i, 0,496 hdStat += formatHardDisk (sataCtl, i, 0, 495 497 QString ("SATA%1").arg (i)); 496 498 hdStat += paragraph; … … 509 511 /* CD/DVD-ROM (Secondary Master) */ 510 512 result += hdrRow.arg (":/cd_16px.png").arg (tr ("CD/DVD-ROM Statistics")); 511 result += formatHardDisk ( KStorageBus_IDE, 1, 0, "IDE10");513 result += formatHardDisk (ideCtl, 1, 0, "IDE10"); 512 514 result += paragraph; 513 515 } … … 566 568 } 567 569 568 QString VBoxVMInformationDlg::formatHardDisk ( KStorageBus aBus,570 QString VBoxVMInformationDlg::formatHardDisk (const QString &ctlName, 569 571 LONG aChannel, 570 572 LONG aDevice, … … 574 576 return QString::null; 575 577 576 CHardDisk hd = mSession.GetMachine().GetHardDisk(aBus, aChannel, aDevice); 578 CStorageController ctl = mSession.GetMachine().GetStorageControllerByName(ctlName); 579 580 CHardDisk hd = mSession.GetMachine().GetHardDisk(ctlName, aChannel, aDevice); 577 581 QString header = "<tr><td></td><td colspan=2><nobr><u>%1</u></nobr></td></tr>"; 578 QString name = vboxGlobal().toFullString ( aBus, aChannel, aDevice);582 QString name = vboxGlobal().toFullString (ctl.GetBus(), aChannel, aDevice); 579 583 QString result = hd.isNull() ? QString::null : header.arg (name); 580 584 result += composeArticle (aBelongsTo); -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMSettingsGeneral.cpp
r17160 r17669 237 237 238 238 /* IDE controller type */ 239 const QString ideName = QString("IDE"); 240 CStorageController ideCtl = aMachine.GetStorageControllerByName(ideName); 239 241 mCbIDEController->setCurrentIndex (mCbIDEController-> 240 findText (vboxGlobal().toString ( biosSettings.GetIDEControllerType())));242 findText (vboxGlobal().toString (ideCtl.GetControllerType()))); 241 243 242 244 /* Other features */ … … 334 336 335 337 /* IDE controller type */ 336 biosSettings.SetIDEControllerType (vboxGlobal().toIDEControllerType (mCbIDEController->currentText())); 338 const QString ideName = QString("IDE"); 339 CStorageController ideCtl = mMachine.GetStorageControllerByName(ideName); 340 ideCtl.SetControllerType (vboxGlobal().toIDEControllerType (mCbIDEController->currentText())); 337 341 338 342 /* Other features */ … … 459 463 460 464 /* IDE Controller Type */ 461 mCbIDEController->setItemText (0, vboxGlobal().toString (K IDEControllerType_PIIX3));462 mCbIDEController->setItemText (1, vboxGlobal().toString (K IDEControllerType_PIIX4));463 mCbIDEController->setItemText (2, vboxGlobal().toString (K IDEControllerType_ICH6));465 mCbIDEController->setItemText (0, vboxGlobal().toString (KStorageControllerType_PIIX3)); 466 mCbIDEController->setItemText (1, vboxGlobal().toString (KStorageControllerType_PIIX4)); 467 mCbIDEController->setItemText (2, vboxGlobal().toString (KStorageControllerType_ICH6)); 464 468 465 469 /* Path selector */ -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMSettingsHD.cpp
r16867 r17669 651 651 HDSettings::instance()->setMachine (mMachine); 652 652 653 CSATAController ctl = mMachine.GetSATAController(); 654 /* Hide the SATA check box if the SATA controller is not available 655 * (i.e. in VirtualBox OSE) */ 656 if (ctl.isNull()) 657 mSATACheck->setHidden (true); 658 else 659 mSATACheck->setChecked (ctl.GetEnabled()); 653 const QString sataName = QString("SATA"); 654 CStorageController sataCtl = mMachine.GetStorageControllerByName(sataName); 655 656 mSATACheck->setChecked (!sataCtl.isNull()); 657 660 658 onSATACheckToggled (mSATACheck->checkState()); 661 659 onShowDiffsCheckToggled (mShowDiffsCheck->checkState()); … … 666 664 { 667 665 CHardDiskAttachment hda = vec [i]; 668 SlotValue slot (hda.GetBus(), hda.GetChannel(), hda.GetDevice()); 666 CStorageController ctl = mMachine.GetStorageControllerByName(hda.GetController()); 667 668 SlotValue slot (ctl.GetBus(), hda.GetPort(), hda.GetDevice()); 669 669 DiskValue disk (hda.GetHardDisk().GetId()); 670 670 mModel->addItem (slot, disk); … … 682 682 void VBoxVMSettingsHD::putBackTo() 683 683 { 684 CSATAController ctl = mMachine.GetSATAController(); 685 if (!ctl.isNull()) 686 ctl.SetEnabled (mSATACheck->isChecked()); 684 const QString sataName = QString("SATA"); 685 const QString ideName = QString("IDE"); 687 686 688 687 /* Detach all attached Hard Disks */ … … 691 690 { 692 691 CHardDiskAttachment hda = vec [i]; 693 mMachine.DetachHardDisk(hda.GetBus(), hda.GetChannel(), hda.GetDevice()); 692 693 mMachine.DetachHardDisk(hda.GetController(), hda.GetPort(), hda.GetDevice()); 694 694 695 695 /* [dsen] check this */ 696 696 if (!mMachine.isOk()) 697 { 698 CStorageController ctl = mMachine.GetStorageControllerByName(hda.GetController()); 697 699 vboxProblem().cannotDetachHardDisk (this, mMachine, 698 700 vboxGlobal().getMedium (CMedium (hda.GetHardDisk())).location(), 699 hda.GetBus(), hda.GetChannel(), hda.GetDevice()); 700 } 701 ctl.GetBus(), hda.GetPort(), hda.GetDevice()); 702 } 703 } 704 705 /* Check the SATA setting. */ 706 CStorageController sataCtl = mMachine.GetStorageControllerByName(sataName); 707 708 if (mSATACheck->isChecked() && sataCtl.isNull()) 709 { 710 /* The SATA controller is enabled and was disabled previously. */ 711 mMachine.AddStorageController(sataName, KStorageBus_SATA); 712 sataCtl = mMachine.GetStorageControllerByName(sataName); 713 sataCtl.SetControllerType(KStorageControllerType_IntelAhci); 714 } 715 else if (!mSATACheck->isChecked() && !sataCtl.isNull()) 716 { 717 /* The SATA controller is disabled now but was enabled previously. */ 718 sataCtl = NULL; 719 mMachine.RemoveStorageController(sataName); 720 } 721 722 /* Set to the maximum because we get errors if there are more hard disks 723 * than currently activated ports. */ 724 if (!sataCtl.isNull()) 725 sataCtl.SetPortCount (30); 701 726 702 727 /* Attach all listed Hard Disks */ … … 706 731 { 707 732 if (list [i].slot.bus == KStorageBus_SATA) 733 { 708 734 maxSATAPort = maxSATAPort < (list [i].slot.channel + 1) ? 709 735 (list [i].slot.channel + 1) : maxSATAPort; 710 mMachine.AttachHardDisk(list [i].disk.id, 711 list [i].slot.bus, list [i].slot.channel, list [i].slot.device); 736 737 mMachine.AttachHardDisk(list [i].disk.id, 738 sataName, list [i].slot.channel, list [i].slot.device); 739 } 740 else if (list [i].slot.bus == KStorageBus_IDE) 741 { 742 mMachine.AttachHardDisk(list [i].disk.id, 743 ideName, list [i].slot.channel, list [i].slot.device); 744 } 712 745 713 746 /* [dsen] check this */ … … 719 752 } 720 753 721 if (! ctl.isNull())722 ctl.SetPortCount (maxSATAPort);754 if (!sataCtl.isNull()) 755 sataCtl.SetPortCount (maxSATAPort); 723 756 } 724 757
Note:
See TracChangeset
for help on using the changeset viewer.