fixed a bug with long filenames hiding options in the context menu

This commit is contained in:
SpookyDervish
2025-10-31 06:54:22 +11:00
parent 5e38909640
commit ff3137419a

View File

@@ -16,10 +16,7 @@ class CustomDirectoryTree(DirectoryTree):
def context_menu_chosen(self, result): def context_menu_chosen(self, result):
if result == "Open": if result == "Delete":
self.select_node(self.right_clicked_node)
self.right_clicked_node = None
elif result == "Delete":
def delete_confirm(will_delete: bool | None): def delete_confirm(will_delete: bool | None):
if will_delete == True: if will_delete == True:
shutil.rmtree(self.right_clicked_node.data.path) shutil.rmtree(self.right_clicked_node.data.path)
@@ -50,12 +47,14 @@ class CustomDirectoryTree(DirectoryTree):
options = None options = None
if self._safe_is_dir(self.right_clicked_node.data.path): if self._safe_is_dir(self.right_clicked_node.data.path):
options = ["New Folder", "New File", NoSelectStatic(f'[d]{"-" * 17}[/]'), "Delete", "Rename", "Open"] options = ["New Folder", "New File", NoSelectStatic(f'[d]{"-" * 17}[/]'), "Delete", "Rename"]
else: else:
options = ["Delete", "Rename", "Open"] options = ["Delete", "Rename"]
file_name = str(self.right_clicked_node.label) if len(self.right_clicked_node.label) <= 17 else self.right_clicked_node.label[:14] + "..."
self.app.push_screen(ContextMenu( self.app.push_screen(ContextMenu(
[NoSelectStatic(f"[b]{self.right_clicked_node.label}[/]"), NoSelectStatic(f'[d]{"-" * 17}[/]')] + options, [NoSelectStatic(f"[b]{file_name}[/]"), NoSelectStatic(f'[d]{"-" * 17}[/]')] + options,
event.screen_offset event.screen_offset
), self.context_menu_chosen) ), self.context_menu_chosen)