use usbedit window to add/edit usb devices

the usb device button gets disabled when there are
already 5 usb devices

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2017-05-29 10:46:34 +02:00 committed by Wolfgang Bumiller
parent 7a995680a2
commit 31a2deb8b0

View File

@ -214,7 +214,8 @@ Ext.define('PVE.qemu.HardwareView', {
rows[confid] = { rows[confid] = {
group: 4, group: 4,
tdCls: 'pve-itype-icon-usb', tdCls: 'pve-itype-icon-usb',
never_delete: true, editor: caps.nodes['Sys.Console'] ? 'PVE.qemu.USBEdit' : undefined,
never_delete: caps.nodes['Sys.Console'] ? false : true,
header: gettext('USB Device') + ' (' + confid + ')' header: gettext('USB Device') + ' (' + confid + ')'
}; };
} }
@ -472,6 +473,14 @@ Ext.define('PVE.qemu.HardwareView', {
// disable is ok in this case, because you can instantly // disable is ok in this case, because you can instantly
// see that there is already one // see that there is already one
efidisk_menuitem.setDisabled(me.rstore.getData().map.efidisk0 !== undefined); efidisk_menuitem.setDisabled(me.rstore.getData().map.efidisk0 !== undefined);
// en/disable usb add button
var count = 0;
me.rstore.getData().items.forEach(function(item){
if (/^usb\d+/.test(item.id)) {
count++;
}
});
me.down('#addusb').setDisabled((count >= 5));
if (!rec) { if (!rec) {
remove_btn.disable(); remove_btn.disable();
@ -556,7 +565,21 @@ Ext.define('PVE.qemu.HardwareView', {
win.show(); win.show();
} }
}, },
efidisk_menuitem efidisk_menuitem,
{
text: gettext('USB Device'),
itemId: 'addusb',
iconCls: 'pve-itype-icon-usb',
disabled: !caps.nodes['Sys.Console'],
handler: function() {
var win = Ext.create('PVE.qemu.USBEdit', {
url: '/api2/extjs/' + baseurl,
pveSelNode: me.pveSelNode
});
win.on('destroy', reload);
win.show();
}
}
] ]
}) })
}, },