One frame for every window (frame.rs): command dialogs dock right and shrink to their content (260 to 380 px, 560 for table dialogs), floating windows are centred and capped (460 px, 760 for tables); header and footer rows right-align without stretching the dialog, long texts wrap; all windows migrated; tests: no egui::Window outside frame.rs, every command's dialog and the floating windows measured within limits

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
This commit is contained in:
bherbruckandClaude Opus 5.5 committed 2026-10-08 20:24:10 +00:00
1 parent 74c7259825
commit 3f44110b59
16 files changed
+684 -483

No files matched your search

+3 -5
View File
@@ -2,7 +2,7 @@
//! date, licences, attributions, fonts), the keyboard shortcuts (read only), and Report an Issue,
//! which copies diagnostic information to the clipboard.
use egui::{RichText, pos2, vec2};
use egui::{RichText, vec2};
use crate::SolveApp;
use crate::theme::Tokens;
@@ -91,12 +91,10 @@ fn about(app: &mut SolveApp, ctx: &egui::Context) {
}
let t = Tokens::get();
let mut open = true;
let screen = ctx.content_rect();
egui::Window::new("About SolveCraft")
crate::frame::window(ctx, "About SolveCraft", crate::frame::Width::Normal)
.id(egui::Id::new("sc_about"))
.open(&mut open)
.default_pos(pos2(screen.center().x - 260.0, screen.top() + 90.0))
.default_size(vec2(540.0, 560.0))
.default_size(vec2(440.0, 560.0))
.show(ctx, |ui| {
ui.label(RichText::new("SolveCraft").size(22.0).strong());
ui.label(format!("Version {VERSION} · commit {COMMIT} · built {BUILD_DATE}"));