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))