mirror of
https://gitlab.com/cc-ru/ocelot/ocelot-desktop.git
synced 2025-12-20 02:59:19 +01:00
Added correct visualization of filesystem address for DiskDriveNode & RaidNode
This commit is contained in:
parent
4eabafbce2
commit
75e551ca3b
@ -1,12 +1,18 @@
|
|||||||
package ocelot.desktop.node
|
package ocelot.desktop.node
|
||||||
|
|
||||||
trait LabeledEntityNode extends EntityNode with LabeledNode {
|
trait LabeledEntityNode extends EntityNode with LabeledNode {
|
||||||
override def label: Option[String] =
|
protected def fallbackLabelAddress: Option[String] = Some(entity.node.address)
|
||||||
super.label
|
|
||||||
.orElse(
|
override def label: Option[String] = {
|
||||||
Option(entity.node)
|
// How the fuck node/address can be unknown?
|
||||||
.flatMap(node => Option(node.address))
|
// super.label
|
||||||
.orElse(Some("unknown"))
|
// .orElse(
|
||||||
.filter(_ => exposeAddress)
|
// Option(entity.node)
|
||||||
)
|
// .flatMap(node => Option(node.address))
|
||||||
|
// .orElse(Some("unknown"))
|
||||||
|
// .filter(_ => exposeAddress)
|
||||||
|
// )
|
||||||
|
|
||||||
|
super.label.orElse(if (exposeAddress) fallbackLabelAddress else None)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,6 +48,10 @@ class DiskDriveNode(entity: FloppyDiskDrive)
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------- LabeledEntityNode --------------------------------
|
||||||
|
|
||||||
|
override def fallbackLabelAddress: Option[String] = entity.filesystemNode.map(_.address)
|
||||||
|
|
||||||
// ---------------------------- DiskDriveAware ----------------------------
|
// ---------------------------- DiskDriveAware ----------------------------
|
||||||
|
|
||||||
override def floppyDiskDrive: FloppyDiskDrive = entity
|
override def floppyDiskDrive: FloppyDiskDrive = entity
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import ocelot.desktop.inventory.item.HddItem
|
|||||||
import ocelot.desktop.inventory.traits.DiskItem
|
import ocelot.desktop.inventory.traits.DiskItem
|
||||||
import ocelot.desktop.inventory.{Item, SyncedInventory}
|
import ocelot.desktop.inventory.{Item, SyncedInventory}
|
||||||
import ocelot.desktop.node.Node.{HighlightThickness, NoHighlightSize}
|
import ocelot.desktop.node.Node.{HighlightThickness, NoHighlightSize}
|
||||||
import ocelot.desktop.node.{EntityNode, WindowedNode}
|
import ocelot.desktop.node.{EntityNode, LabeledEntityNode, WindowedNode}
|
||||||
import ocelot.desktop.ui.event.ClickEvent
|
import ocelot.desktop.ui.event.ClickEvent
|
||||||
import ocelot.desktop.ui.event.handlers.DiskActivityHandler
|
import ocelot.desktop.ui.event.handlers.DiskActivityHandler
|
||||||
import ocelot.desktop.ui.widget.contextmenu.ContextMenu
|
import ocelot.desktop.ui.widget.contextmenu.ContextMenu
|
||||||
@ -21,6 +21,7 @@ import scala.util.Random
|
|||||||
class RaidNode(val raid: Raid) extends
|
class RaidNode(val raid: Raid) extends
|
||||||
EntityNode(raid)
|
EntityNode(raid)
|
||||||
with SyncedInventory
|
with SyncedInventory
|
||||||
|
with LabeledEntityNode
|
||||||
with DiskActivityHandler
|
with DiskActivityHandler
|
||||||
with DefaultSlotItemsFillable
|
with DefaultSlotItemsFillable
|
||||||
with WindowedNode[RaidWindow]
|
with WindowedNode[RaidWindow]
|
||||||
@ -79,6 +80,10 @@ class RaidNode(val raid: Raid) extends
|
|||||||
super.setupContextMenu(menu, event)
|
super.setupContextMenu(menu, event)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------- LabeledEntityNode --------------------------------
|
||||||
|
|
||||||
|
override def fallbackLabelAddress: Option[String] = raid.filesystem.map(_.node.address)
|
||||||
|
|
||||||
// -------------------------------- Inventory --------------------------------
|
// -------------------------------- Inventory --------------------------------
|
||||||
|
|
||||||
override type I = Item with HddItem
|
override type I = Item with HddItem
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user