T4.1: Rename gui->ui, split lifecycle into run.go + mainwindow.go
Carve src/gui/app.go into the new src/ui package: - run.go: process lifecycle (single instance, app/window, tray, startup timing). - mainwindow.go: view assembly + the app.Service event listener. Route every widget update driven by Service events through fyne.Do so the run goroutine (executeRun) no longer mutates Fyne widgets directly. Also wrap serveSingleInstance's Show/RequestFocus, which runs on the Accept goroutine. (Resolves refactoring problem #4.) fyne.Do/DoAndWait only exist in Fyne v2.6+, so upgrade fyne.io/fyne/v2 v2.5.3 -> v2.6.3. Mark the tray Quit item IsQuit so Fyne's addMissingQuitForMenu reuses it instead of appending a second, localized Quit now that v2.6 ships Russian translations. go build / go vet / go test -race all clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -268,7 +268,7 @@ Track progress here. Mark tasks complete as they land and pass review.
|
||||
- [x] T3.6 — Add `src/app` unit tests (no Fyne)
|
||||
|
||||
### Phase 4 — Carve up the GUI
|
||||
- [ ] T4.1 — Rename `gui` → `ui`; split app.go into run.go + mainwindow.go
|
||||
- [x] T4.1 — Rename `gui` → `ui`; split app.go into run.go + mainwindow.go _(required Fyne v2.5.3→v2.6.3 upgrade for `fyne.Do`)_
|
||||
- [ ] T4.2 — Extract `jobs_view.go`
|
||||
- [ ] T4.3 — Extract `job_dialog.go`
|
||||
- [ ] T4.4 — Extract `history_view.go`
|
||||
|
||||
Reference in New Issue
Block a user