From 39035310a56d8c2ee0437e186751f09328ccacf2 Mon Sep 17 00:00:00 2001 From: IgorTimofeev Date: Thu, 29 Jun 2023 02:35:26 +0700 Subject: [PATCH] Added missed functionality for opening the rack disk drive window on RMB --- .../ocelot/desktop/node/nodes/DiskDriveNode.scala | 2 +- .../scala/ocelot/desktop/node/nodes/RackNode.scala | 10 ++++++---- .../scala/ocelot/desktop/util/DiskDriveAware.scala | 10 ++++++---- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/scala/ocelot/desktop/node/nodes/DiskDriveNode.scala b/src/main/scala/ocelot/desktop/node/nodes/DiskDriveNode.scala index df91d2b..9829c7e 100644 --- a/src/main/scala/ocelot/desktop/node/nodes/DiskDriveNode.scala +++ b/src/main/scala/ocelot/desktop/node/nodes/DiskDriveNode.scala @@ -21,7 +21,7 @@ class DiskDriveNode(entity: FloppyDiskDrive) override protected val canOpen = true override def setupContextMenu(menu: ContextMenu, event: ClickEvent): Unit = { - addDiskDriveMenuEntries(menu) + addEjectContextMenuEntry(menu) menu.addSeparator() diff --git a/src/main/scala/ocelot/desktop/node/nodes/RackNode.scala b/src/main/scala/ocelot/desktop/node/nodes/RackNode.scala index abbb60b..15c920c 100644 --- a/src/main/scala/ocelot/desktop/node/nodes/RackNode.scala +++ b/src/main/scala/ocelot/desktop/node/nodes/RackNode.scala @@ -189,11 +189,13 @@ object RackNode { menu.addSeparator() case Some(diskDriveMountableItem: DiskDriveMountableItem) => - if (diskDriveMountableItem.isFloppyItemPresent) { - diskDriveMountableItem.addDiskDriveMenuEntries(menu) + diskDriveMountableItem.addEjectContextMenuEntry(menu) - menu.addSeparator() - } + menu.addEntry(ContextMenuEntry("Set up", IconSource.Window) { + diskDriveMountableItem.window.get.open() + }) + + menu.addSeparator() case _ => } diff --git a/src/main/scala/ocelot/desktop/util/DiskDriveAware.scala b/src/main/scala/ocelot/desktop/util/DiskDriveAware.scala index a53dc86..dd1a096 100644 --- a/src/main/scala/ocelot/desktop/util/DiskDriveAware.scala +++ b/src/main/scala/ocelot/desktop/util/DiskDriveAware.scala @@ -57,10 +57,12 @@ trait DiskDriveAware SoundSource.MachineFloppyEject.play() } - def addDiskDriveMenuEntries(menu: ContextMenu): Unit = { - menu.addEntry(ContextMenuEntry("Eject", IconSource.Eject) { - eject() - }) + def addEjectContextMenuEntry(menu: ContextMenu): Unit = { + if (isFloppyItemPresent) { + menu.addEntry(ContextMenuEntry("Eject", IconSource.Eject) { + eject() + }) + } } override val window: Option[DiskDriveWindow] = Some(new DiskDriveWindow(this))