diff options
Diffstat (limited to 'js/phpvirtualbox.js')
-rw-r--r-- | js/phpvirtualbox.js | 69 |
1 files changed, 54 insertions, 15 deletions
diff --git a/js/phpvirtualbox.js b/js/phpvirtualbox.js index 07d0521..fb1edec 100644 --- a/js/phpvirtualbox.js +++ b/js/phpvirtualbox.js @@ -2435,7 +2435,7 @@ var vboxMedia = { }, /** - * Return true if a medium format supports + * Return true if a medium format supports Split2G */ formatSupportsSplit: function(format) { @@ -2450,6 +2450,23 @@ var vboxMedia = { } return false; }, + + /** + * Return true if a medium format supports Discard + */ + formatSupportsDiscard: function(format) { + + var format = format.toLowerCase(); + + var mfs = $('#vboxPane').data('vboxSystemProperties').mediumFormats; + + for(var i = 0; i < mfs.length; i++) { + if(mfs[i].id.toLowerCase() == format) { + return (jQuery.inArray('Discard',mfs[i].capabilities) > -1); + } + } + return false; + }, /** * Return printable virtual hard disk variant @@ -4752,7 +4769,13 @@ var vboxStorage = { attrib: 'ignoreFlush', runningEnabled: true, }); - } + }; + if($('#vboxPane').data('vboxConfig').enableAdvancedConfig&&vboxMedia.formatSupportsDiscard(ma.medium.format)) { + opts[opts.length]={ + label: 'Support Discard (TRIM)', + attrib: 'discard', + }; + }; return opts; case 'DVD': // Host drive @@ -4843,7 +4866,7 @@ var vboxStorage = { }, SCSI: { - maxPortCount: 16, + maxPortCount: 15, maxDevicesPerPortCount: 1, driveTypes: ['dvd','disk'], types: ['LsiLogic','BusLogic'], @@ -4886,18 +4909,34 @@ var vboxStorage = { }, USB: { - maxPortCount: 8, - maxDevicesPerPortCount: 1, - types: ['USB'], - driveTypes: ['dvd','disk'], - slotName: function(p,d) { return trans('USB Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',p); }, - slots: function() { - var s = {}; - for(var i = 0; i < 8; i++) { - s[i+'-0'] = trans('USB Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',i); - } - return s; - } + maxPortCount: 8, + maxDevicesPerPortCount: 1, + types: ['USB'], + driveTypes: ['dvd','disk'], + slotName: function(p,d) { return trans('USB Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',p); }, + slots: function() { + var s = {}; + for(var i = 0; i < 8; i++) { + s[i+'-0'] = trans('USB Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',i); + } + return s; + } + }, + + PCIe: { + maxPortCount: 255, + maxDevicesPerPortCount: 1, + types: ['NVMe'], + driveTypes: ['disk'], + slotName: function(p,d) { return trans('NVMe Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',p); }, + slots: function() { + var s = {}; + for(var i = 0; i < 8; i++) { + s[i+'-0'] = trans('NVMe Port %1','VBoxGlobal', null, 'StorageSlot').replace('%1',i); + } + return s; + }, + displayInherit: 'IDE' } }; |