feat: add silo-aware start panel #10

Merged
forbes merged 1 commits from feature/start-panel into main 2026-02-08 22:11:56 +00:00
Owner

Add a SiloStartPanel dock widget that integrates silo into the FreeCAD workspace, automatically shown when the Silo workbench is activated.

Sections

Connection status badge

  • Green dot + "Connected to {hostname}" when server is reachable
  • Gray dot + "Disconnected" when offline

My Checkouts

  • Scans ~/projects/cad/ for local .FCStd files (reuses existing search_local_files())
  • Shows part number, description, and modification date
  • Double-click opens the file

Recent Silo Activity

  • Fetches latest items from server via _client.list_items()
  • Checkmark badge on items already present locally
  • Double-click opens local copy or triggers checkout from server

Local Recent Files

  • Reads FreeCAD MRU (Most Recently Used) list from preferences
  • Double-click opens the file
  • Primary content when disconnected

Implementation

  • SiloStartPanel widget class with 60-second auto-refresh timer
  • Silo_StartPanel command registered in toolbar/menu
  • Auto-shown via FreeCADGui.runCommand("Silo_StartPanel", 0) in Activated()
  • Panel is reused (not duplicated) if already open

Files changed

  • freecad/silo_commands.py — added SiloStartPanel, Silo_StartPanel, command registration
  • freecad/InitGui.py — added to toolbar, auto-show on activation

Closes #5

Add a `SiloStartPanel` dock widget that integrates silo into the FreeCAD workspace, automatically shown when the Silo workbench is activated. ## Sections ### Connection status badge - Green dot + "Connected to {hostname}" when server is reachable - Gray dot + "Disconnected" when offline ### My Checkouts - Scans `~/projects/cad/` for local `.FCStd` files (reuses existing `search_local_files()`) - Shows part number, description, and modification date - Double-click opens the file ### Recent Silo Activity - Fetches latest items from server via `_client.list_items()` - Checkmark badge on items already present locally - Double-click opens local copy or triggers checkout from server ### Local Recent Files - Reads FreeCAD MRU (Most Recently Used) list from preferences - Double-click opens the file - Primary content when disconnected ## Implementation - `SiloStartPanel` widget class with 60-second auto-refresh timer - `Silo_StartPanel` command registered in toolbar/menu - Auto-shown via `FreeCADGui.runCommand("Silo_StartPanel", 0)` in `Activated()` - Panel is reused (not duplicated) if already open ## Files changed - `freecad/silo_commands.py` — added `SiloStartPanel`, `Silo_StartPanel`, command registration - `freecad/InitGui.py` — added to toolbar, auto-show on activation Closes #5
forbes added 1 commit 2026-02-08 22:09:26 +00:00
Add a SiloStartPanel dock widget that shows connection status, local
checkouts, recent silo activity, and local recent files. Automatically
shown when the Silo workbench is activated.

Sections:
- Connection status badge (green/gray dot with hostname)
- My Checkouts: scans local projects dir for .FCStd files, shows part
  number and description, double-click to open
- Recent Silo Activity: fetches from server, badges items present
  locally, double-click to open or checkout
- Local Recent Files: reads FreeCAD MRU list, double-click to open

Auto-refreshes every 60 seconds. Panel is reused if already open.

Closes #5
forbes force-pushed feature/start-panel from bf35289346 to 6fa60af5e0 2026-02-08 22:11:41 +00:00 Compare
forbes merged commit 516116ae9d into main 2026-02-08 22:11:56 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/silo-mod#10