@@ -85,10 +85,21 @@ def _build_ui(self) -> None:
8585 self ._lists_frame .grid (row = 4 , column = 0 , sticky = "nsew" , padx = 10 )
8686 left .rowconfigure (4 , weight = 1 )
8787
88+ list_btn_row = ctk .CTkFrame (left , fg_color = "transparent" )
89+ list_btn_row .grid (row = 5 , column = 0 , sticky = "ew" , padx = 10 , pady = (4 , 10 ))
90+ list_btn_row .columnconfigure (0 , weight = 1 )
91+ list_btn_row .columnconfigure (1 , weight = 1 )
92+
93+ rename_list_btn = ctk .CTkButton (
94+ list_btn_row , text = "Rename" , command = self ._rename_list
95+ )
96+ rename_list_btn .grid (row = 0 , column = 0 , sticky = "ew" , padx = (0 , 4 ))
97+ Tooltip (rename_list_btn , "Rename the selected list." )
98+
8899 del_list_btn = ctk .CTkButton (
89- left , text = "Delete Selected List " , command = self ._delete_list
100+ list_btn_row , text = "Delete" , command = self ._delete_list
90101 )
91- del_list_btn .grid (row = 5 , column = 0 , sticky = "ew" , padx = 10 , pady = ( 4 , 10 ) )
102+ del_list_btn .grid (row = 0 , column = 1 , sticky = "ew" )
92103 Tooltip (del_list_btn , "Permanently delete the selected list from the library." )
93104
94105 # ── Right panel (content viewer) ────────────────────────────
@@ -295,6 +306,15 @@ def _select_list(self, list_id: int) -> None:
295306 self ._lib_serve_url_entry .pack_forget ()
296307 self ._lib_serve_copy_btn .pack_forget ()
297308
309+ def _rename_list (self ) -> None :
310+ if self ._selected_list_id is None :
311+ messagebox .showinfo ("Select a list" , "Select a list to rename." )
312+ return
313+ new_name = simpledialog .askstring ("Rename List" , "New name:" , parent = self )
314+ if new_name and new_name .strip ():
315+ self ._db .rename_list (self ._selected_list_id , new_name .strip ())
316+ self ._refresh_lists ()
317+
298318 def _delete_list (self ) -> None :
299319 if self ._selected_list_id is None :
300320 messagebox .showinfo ("Select a list" , "Select a list to delete." )
0 commit comments