Add 'Active' column to DataTable with visual indicators for entry status
This commit is contained in:
parent
e83db8ce67
commit
a399b04c99
1 changed files with 9 additions and 6 deletions
|
@ -162,6 +162,7 @@ class HostsManagerApp(App):
|
|||
table.show_header = True
|
||||
|
||||
# Create column labels with sort indicators
|
||||
active_label = "Active"
|
||||
ip_label = "IP Address"
|
||||
hostname_label = "Canonical Hostname"
|
||||
|
||||
|
@ -173,8 +174,8 @@ class HostsManagerApp(App):
|
|||
arrow = "↑" if self.sort_ascending else "↓"
|
||||
hostname_label = f"{arrow} Canonical Hostname"
|
||||
|
||||
# Add columns with proper labels
|
||||
table.add_columns(ip_label, hostname_label)
|
||||
# Add columns with proper labels (Active column first)
|
||||
table.add_columns(active_label, ip_label, hostname_label)
|
||||
|
||||
# Add rows
|
||||
for entry in self.hosts_file.entries:
|
||||
|
@ -183,15 +184,17 @@ class HostsManagerApp(App):
|
|||
|
||||
# Add row with styling based on active status
|
||||
if entry.is_active:
|
||||
# Active entries in green
|
||||
# Active entries in green with checkmark
|
||||
active_text = Text("✓", style="bold green")
|
||||
ip_text = Text(entry.ip_address, style="bold green")
|
||||
hostname_text = Text(canonical_hostname, style="bold green")
|
||||
table.add_row(ip_text, hostname_text)
|
||||
table.add_row(active_text, ip_text, hostname_text)
|
||||
else:
|
||||
# Inactive entries in dim yellow with italic (no # prefix in IP column)
|
||||
# Inactive entries in dim yellow with italic (no checkmark)
|
||||
active_text = Text("", style="dim yellow italic")
|
||||
ip_text = Text(entry.ip_address, style="dim yellow italic")
|
||||
hostname_text = Text(canonical_hostname, style="dim yellow italic")
|
||||
table.add_row(ip_text, hostname_text)
|
||||
table.add_row(active_text, ip_text, hostname_text)
|
||||
|
||||
def restore_cursor_position(self, previous_entry) -> None:
|
||||
"""Restore cursor position after reload, maintaining selection if possible."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue