Add auto-save functionality for entry edits and movements; update status messages accordingly
This commit is contained in:
parent
0ee720c5ef
commit
02423fe4f2
2 changed files with 43 additions and 27 deletions
|
@ -62,6 +62,7 @@
|
||||||
- ✅ **Live testing**: Manual testing confirms all functionality works correctly
|
- ✅ **Live testing**: Manual testing confirms all functionality works correctly
|
||||||
- ✅ **Human-readable formatting**: Tab-based column alignment with proper spacing
|
- ✅ **Human-readable formatting**: Tab-based column alignment with proper spacing
|
||||||
- ✅ **Management header**: Automatic addition of management header to hosts files
|
- ✅ **Management header**: Automatic addition of management header to hosts files
|
||||||
|
- ✅ **Auto-save functionality**: Immediate saving of changes when entries are edited
|
||||||
|
|
||||||
### Phase 4: Advanced Edit Features
|
### Phase 4: Advanced Edit Features
|
||||||
- ❌ **Add new entries**: Create new host entries
|
- ❌ **Add new entries**: Create new host entries
|
||||||
|
|
|
@ -497,11 +497,16 @@ class HostsManagerApp(App):
|
||||||
|
|
||||||
success, message = self.manager.toggle_entry(self.hosts_file, self.selected_entry_index)
|
success, message = self.manager.toggle_entry(self.hosts_file, self.selected_entry_index)
|
||||||
if success:
|
if success:
|
||||||
|
# Auto-save the changes immediately
|
||||||
|
save_success, save_message = self.manager.save_hosts_file(self.hosts_file)
|
||||||
|
if save_success:
|
||||||
self.populate_entries_table()
|
self.populate_entries_table()
|
||||||
# Restore cursor position to the same entry
|
# Restore cursor position to the same entry
|
||||||
self.set_timer(0.1, lambda: self.restore_cursor_position(current_entry))
|
self.set_timer(0.1, lambda: self.restore_cursor_position(current_entry))
|
||||||
self.update_entry_details()
|
self.update_entry_details()
|
||||||
self.update_status(message)
|
self.update_status(f"{message} - Changes saved automatically")
|
||||||
|
else:
|
||||||
|
self.update_status(f"Entry toggled but save failed: {save_message}")
|
||||||
else:
|
else:
|
||||||
self.update_status(f"Error toggling entry: {message}")
|
self.update_status(f"Error toggling entry: {message}")
|
||||||
|
|
||||||
|
@ -517,6 +522,9 @@ class HostsManagerApp(App):
|
||||||
|
|
||||||
success, message = self.manager.move_entry_up(self.hosts_file, self.selected_entry_index)
|
success, message = self.manager.move_entry_up(self.hosts_file, self.selected_entry_index)
|
||||||
if success:
|
if success:
|
||||||
|
# Auto-save the changes immediately
|
||||||
|
save_success, save_message = self.manager.save_hosts_file(self.hosts_file)
|
||||||
|
if save_success:
|
||||||
# Update the selection index to follow the moved entry
|
# Update the selection index to follow the moved entry
|
||||||
if self.selected_entry_index > 0:
|
if self.selected_entry_index > 0:
|
||||||
self.selected_entry_index -= 1
|
self.selected_entry_index -= 1
|
||||||
|
@ -527,7 +535,9 @@ class HostsManagerApp(App):
|
||||||
if table.row_count > 0 and display_index < table.row_count:
|
if table.row_count > 0 and display_index < table.row_count:
|
||||||
table.move_cursor(row=display_index)
|
table.move_cursor(row=display_index)
|
||||||
self.update_entry_details()
|
self.update_entry_details()
|
||||||
self.update_status(message)
|
self.update_status(f"{message} - Changes saved automatically")
|
||||||
|
else:
|
||||||
|
self.update_status(f"Entry moved but save failed: {save_message}")
|
||||||
else:
|
else:
|
||||||
self.update_status(f"Error moving entry: {message}")
|
self.update_status(f"Error moving entry: {message}")
|
||||||
|
|
||||||
|
@ -543,6 +553,9 @@ class HostsManagerApp(App):
|
||||||
|
|
||||||
success, message = self.manager.move_entry_down(self.hosts_file, self.selected_entry_index)
|
success, message = self.manager.move_entry_down(self.hosts_file, self.selected_entry_index)
|
||||||
if success:
|
if success:
|
||||||
|
# Auto-save the changes immediately
|
||||||
|
save_success, save_message = self.manager.save_hosts_file(self.hosts_file)
|
||||||
|
if save_success:
|
||||||
# Update the selection index to follow the moved entry
|
# Update the selection index to follow the moved entry
|
||||||
if self.selected_entry_index < len(self.hosts_file.entries) - 1:
|
if self.selected_entry_index < len(self.hosts_file.entries) - 1:
|
||||||
self.selected_entry_index += 1
|
self.selected_entry_index += 1
|
||||||
|
@ -553,7 +566,9 @@ class HostsManagerApp(App):
|
||||||
if table.row_count > 0 and display_index < table.row_count:
|
if table.row_count > 0 and display_index < table.row_count:
|
||||||
table.move_cursor(row=display_index)
|
table.move_cursor(row=display_index)
|
||||||
self.update_entry_details()
|
self.update_entry_details()
|
||||||
self.update_status(message)
|
self.update_status(f"{message} - Changes saved automatically")
|
||||||
|
else:
|
||||||
|
self.update_status(f"Entry moved but save failed: {save_message}")
|
||||||
else:
|
else:
|
||||||
self.update_status(f"Error moving entry: {message}")
|
self.update_status(f"Error moving entry: {message}")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue