diff --git a/tab_batch_ng.py b/tab_batch_ng.py index dd685f8..b02fced 100644 --- a/tab_batch_ng.py +++ b/tab_batch_ng.py @@ -341,16 +341,14 @@ def _render_sequence_card(i, seq, batch_list, data, file_path, state, # --- Action row --- with ui.row().classes('w-full q-gutter-sm action-row'): # Rename - def rename(idx=i, s=seq, exp=expansion): - async def do_rename(): - result = await ui.run_javascript( - f'prompt("Rename sequence:", {json.dumps(s.get("name", ""))})', - timeout=30.0, - ) - if result is not None: - s['name'] = result - commit('Renamed!') - await do_rename() + async def rename(idx=i, s=seq, exp=expansion): + result = await ui.run_javascript( + f'prompt("Rename sequence:", {json.dumps(s.get("name", ""))})', + timeout=30.0, + ) + if result is not None: + s['name'] = result + commit('Renamed!') ui.button('Rename', icon='edit', on_click=rename).props('outline') # Copy from source diff --git a/tab_projects_ng.py b/tab_projects_ng.py index 8ad15dd..8652ed0 100644 --- a/tab_projects_ng.py +++ b/tab_projects_ng.py @@ -110,43 +110,39 @@ def render_projects_tab(state: AppState): ui.button('Deactivate', icon='cancel', on_click=deactivate).props('flat dense') - def rename_proj(name=proj['name']): - async def do_rename(): - new_name = await ui.run_javascript( - f'prompt("Rename project:", {json.dumps(name)})', - timeout=30.0, - ) - if new_name and new_name.strip() and new_name.strip() != name: - new_name = new_name.strip() - try: - state.db.rename_project(name, new_name) - if state.current_project == name: - state.current_project = new_name - state.config['current_project'] = new_name - save_config(state.current_dir, - state.config.get('favorites', []), - state.config) - ui.notify(f'Renamed to "{new_name}"', type='positive') - render_project_list.refresh() - except Exception as e: - ui.notify(f'Error: {e}', type='negative') - await do_rename() + async def rename_proj(name=proj['name']): + new_name = await ui.run_javascript( + f'prompt("Rename project:", {json.dumps(name)})', + timeout=30.0, + ) + if new_name and new_name.strip() and new_name.strip() != name: + new_name = new_name.strip() + try: + state.db.rename_project(name, new_name) + if state.current_project == name: + state.current_project = new_name + state.config['current_project'] = new_name + save_config(state.current_dir, + state.config.get('favorites', []), + state.config) + ui.notify(f'Renamed to "{new_name}"', type='positive') + render_project_list.refresh() + except Exception as e: + ui.notify(f'Error: {e}', type='negative') ui.button('Rename', icon='edit', on_click=rename_proj).props('flat dense') - def change_path(name=proj['name'], path=proj['folder_path']): - async def do_change(): - new_path = await ui.run_javascript( - f'prompt("New path for project:", {json.dumps(path)})', - timeout=30.0, - ) - if new_path and new_path.strip() and new_path.strip() != path: - new_path = new_path.strip() - state.db.update_project_path(name, new_path) - ui.notify(f'Path updated to "{new_path}"', type='positive') - render_project_list.refresh() - await do_change() + async def change_path(name=proj['name'], path=proj['folder_path']): + new_path = await ui.run_javascript( + f'prompt("New path for project:", {json.dumps(path)})', + timeout=30.0, + ) + if new_path and new_path.strip() and new_path.strip() != path: + new_path = new_path.strip() + state.db.update_project_path(name, new_path) + ui.notify(f'Path updated to "{new_path}"', type='positive') + render_project_list.refresh() ui.button('Path', icon='folder', on_click=change_path).props('flat dense')