diff --git a/src/app/components/project-map/node-editors/configurator/configurator.component.scss b/src/app/components/project-map/node-editors/configurator/configurator.component.scss index f4fceb63..e4e49d62 100644 --- a/src/app/components/project-map/node-editors/configurator/configurator.component.scss +++ b/src/app/components/project-map/node-editors/configurator/configurator.component.scss @@ -17,6 +17,19 @@ scrollbar-width: thin; } +.file-button { + width: 18%; +} + +.file-name-form-field { + padding-left: 2%; + width: 80%; +} + +.nonvisible { + display: none; +} + ::-webkit-scrollbar { width: 0.5em; } diff --git a/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.html b/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.html index a4c3cb3a..89236308 100644 --- a/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.html +++ b/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.html @@ -10,10 +10,10 @@ - - + + @@ -124,11 +124,25 @@ - +
+ + + + + +
-
- Allow GNS3 to use any configured VirtualBox adapter +
+ Use the legacy networking mode
- + + + + Linux boot specific settings + + +
+ + + + + +
+
+ + + + + +
+ + + +
+
+ + + + Bios + + +
+ + + + + +
+
+
+ + + + Optimization + + + + Activate CPU throttling + + + + + + + + {{priority}} + + + + + + + + + Additional settings + + + + + + +
diff --git a/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.ts b/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.ts index c5926aef..8367c196 100644 --- a/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.ts +++ b/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.ts @@ -58,10 +58,28 @@ export class ConfiguratorDialogQemuComponent implements OnInit { }); } + uploadCdromImageFile(event){ + this.node.properties.cdrom_image = event.target.files[0].name; + } + + uploadInitrdFile(event){ + this.node.properties.initrd = event.target.files[0].name; + } + + uploadKernelImageFile(event){ + this.node.properties.kernel_image = event.target.files[0].name; + } + + uploadBiosFile(event){ + this.node.properties.bios_image = event.target.files[0].name; + } + getConfiguration() { this.consoleTypes = this.qemuConfigurationService.getConsoleTypes(); this.onCloseOptions = this.qemuConfigurationService.getOnCloseOptions(); - this.networkTypes = this.qemuConfigurationService.getNetworkTypes(); + this.qemuConfigurationService.getNetworkTypes().forEach(n => { + this.networkTypes.push(n[0]); + }); this.bootPriorities = this.qemuConfigurationService.getBootPriorities(); this.diskInterfaces = this.qemuConfigurationService.getDiskInterfaces(); } @@ -78,7 +96,7 @@ export class ConfiguratorDialogQemuComponent implements OnInit { this.node.properties.adapters = this.node.custom_adapters.length; - this.nodeService.updateNodeWithCustomAdapters(this.server, this.node).subscribe(() => { + this.nodeService. updateNodeWithCustomAdapters(this.server, this.node).subscribe(() => { this.toasterService.success(`Node ${this.node.name} updated.`); this.onCancelClick(); }); diff --git a/src/app/services/node.service.ts b/src/app/services/node.service.ts index d07c19d6..bd6bed53 100644 --- a/src/app/services/node.service.ts +++ b/src/app/services/node.service.ts @@ -104,6 +104,16 @@ export class NodeService { }); } + updateQemuNode(server: Server, node: Node): Observable { + return this.httpServer.put(server, `/projects/${node.project_id}/nodes/${node.node_id}`, { + console_type: node.console_type, + console_auto_start: node.console_auto_start, + custom_adapters: node.custom_adapters, + name: node.name, + properties: node.properties + }); + } + delete(server: Server, node: Node) { return this.httpServer.delete(server, `/projects/${node.project_id}/nodes/${node.node_id}`); }