diff --git a/www/manager/Makefile b/www/manager/Makefile index d14ee665..a4feb40f 100644 --- a/www/manager/Makefile +++ b/www/manager/Makefile @@ -94,6 +94,7 @@ JSSRC= \ qemu/NetworkEdit.js \ qemu/CDEdit.js \ qemu/HDEdit.js \ + qemu/HDResize.js \ qemu/DisplayEdit.js \ qemu/KeyboardEdit.js \ qemu/HardwareView.js \ diff --git a/www/manager/qemu/HardwareView.js b/www/manager/qemu/HardwareView.js index 7bb4a881..0f29f51d 100644 --- a/www/manager/qemu/HardwareView.js +++ b/www/manager/qemu/HardwareView.js @@ -203,6 +203,28 @@ Ext.define('PVE.qemu.HardwareView', { win.on('destroy', reload); }; + var run_resize = function() { + var rec = sm.getSelection()[0]; + if (!rec) { + return; + } + + var rowdef = rows[rec.data.key]; + if (!rowdef.editor) { + return; + } + + var win = Ext.create('PVE.window.HDResize', { + disk: rec.data.key, + nodename: nodename, + vmid: vmid + }); + + win.show(); + + win.on('destroy', reload); + }; + var edit_btn = new PVE.button.Button({ text: gettext('Edit'), selModel: sm, @@ -217,6 +239,20 @@ Ext.define('PVE.qemu.HardwareView', { handler: run_editor }); + var resize_btn = new PVE.button.Button({ + text: gettext('Resize disk'), + selModel: sm, + disabled: true, + enableFn: function(rec) { + if (!rec) { + return false; + } + var rowdef = rows[rec.data.key]; + return rowdef.tdCls == 'pve-itype-icon-storage' && !rec.data.value.match(/media=cdrom/) + }, + handler: run_resize + }); + var remove_btn = new PVE.button.Button({ text: gettext('Remove'), selModel: sm, @@ -309,7 +345,8 @@ Ext.define('PVE.qemu.HardwareView', { }) }, remove_btn, - edit_btn + edit_btn, + resize_btn ], rows: rows, sorterFn: sorterFn,