1
0

channels list: group icons to save space

This commit is contained in:
ThomasV
2021-03-24 06:11:53 +01:00
parent 57320c0304
commit ca6cfbc6b0

View File

@@ -35,9 +35,9 @@ class ChannelsList(MyTreeView):
gossip_db_loaded = QtCore.pyqtSignal()
class Columns(IntEnum):
SHORT_CHANID = 0
NODE_ALIAS = 1
FEATURES = 2
FEATURES = 0
SHORT_CHANID = 1
NODE_ALIAS = 2
CAPACITY = 3
LOCAL_BALANCE = 4
REMOTE_BALANCE = 5
@@ -46,7 +46,7 @@ class ChannelsList(MyTreeView):
headers = {
Columns.SHORT_CHANID: _('Short Channel ID'),
Columns.NODE_ALIAS: _('Node alias'),
Columns.FEATURES: _('Features'),
Columns.FEATURES: _(''),
Columns.CAPACITY: _('Capacity'),
Columns.LOCAL_BALANCE: _('Can send'),
Columns.REMOTE_BALANCE: _('Can receive'),
@@ -303,10 +303,6 @@ class ChannelsList(MyTreeView):
items[self.Columns.REMOTE_BALANCE].setFont(QFont(MONOSPACE_FONT))
items[self.Columns.FEATURES].setData(ChannelFeatureIcons.from_channel(chan), self.ROLE_CUSTOM_PAINT)
items[self.Columns.CAPACITY].setFont(QFont(MONOSPACE_FONT))
icon = "lightning" if not chan.is_backup() else "lightning_disconnected"
items[self.Columns.SHORT_CHANID].setIcon(read_QIcon(icon))
tooltip = _("Channel") if not chan.is_backup() else _("Channel backup")
items[self.Columns.SHORT_CHANID].setToolTip(tooltip)
self._update_chan_frozen_bg(chan=chan, items=items)
self.model().insertRow(0, items)
@@ -507,6 +503,20 @@ class ChannelFeature(ABC):
pass
class ChanFeatChannel(ChannelFeature):
def tooltip(self) -> str:
return _("This is a complete channel")
def icon(self) -> QIcon:
return read_QIcon("lightning")
class ChanFeatBackup(ChannelFeature):
def tooltip(self) -> str:
return _("This is a static channel backup")
def icon(self) -> QIcon:
return read_QIcon("lightning_disconnected")
class ChanFeatTrampoline(ChannelFeature):
def tooltip(self) -> str:
return _("The channel peer can route Trampoline payments.")
@@ -532,6 +542,10 @@ class ChannelFeatureIcons:
if not isinstance(chan, Channel):
return ChannelFeatureIcons([])
feats = []
if chan.is_backup():
feats.append(ChanFeatBackup())
else:
feats.append(ChanFeatChannel())
if chan.lnworker.is_trampoline_peer(chan.node_id):
feats.append(ChanFeatTrampoline())
if not chan.lnworker.has_recoverable_channels():