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
|
||||
|
||||
trait LabeledEntityNode extends EntityNode with LabeledNode {
|
||||
override def label: Option[String] =
|
||||
super.label
|
||||
.orElse(
|
||||
Option(entity.node)
|
||||
.flatMap(node => Option(node.address))
|
||||
.orElse(Some("unknown"))
|
||||
.filter(_ => exposeAddress)
|
||||
)
|
||||
protected def fallbackLabelAddress: Option[String] = Some(entity.node.address)
|
||||
|
||||
override def label: Option[String] = {
|
||||
// How the fuck node/address can be unknown?
|
||||
// super.label
|
||||
// .orElse(
|
||||
// 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 ----------------------------
|
||||
|
||||
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.{Item, SyncedInventory}
|
||||
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.handlers.DiskActivityHandler
|
||||
import ocelot.desktop.ui.widget.contextmenu.ContextMenu
|
||||
@ -21,6 +21,7 @@ import scala.util.Random
|
||||
class RaidNode(val raid: Raid) extends
|
||||
EntityNode(raid)
|
||||
with SyncedInventory
|
||||
with LabeledEntityNode
|
||||
with DiskActivityHandler
|
||||
with DefaultSlotItemsFillable
|
||||
with WindowedNode[RaidWindow]
|
||||
@ -79,6 +80,10 @@ class RaidNode(val raid: Raid) extends
|
||||
super.setupContextMenu(menu, event)
|
||||
}
|
||||
|
||||
// -------------------------------- LabeledEntityNode --------------------------------
|
||||
|
||||
override def fallbackLabelAddress: Option[String] = raid.filesystem.map(_.node.address)
|
||||
|
||||
// -------------------------------- Inventory --------------------------------
|
||||
|
||||
override type I = Item with HddItem
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user