refactor: group ui/ statusbar and window subdirs

Continue tidying the flat ui/ root:

- ui/statusbar/: statusbar.rs becomes statusbar/mod.rs (its
  crate::ui::statusbar::* paths are preserved) and absorbs
  statusbar_config.rs + statusbar_menu.rs.
- ui/window/: the standalone manager/dialog windows move here —
  about, layout_manager, page_setup, plugin_manager, shortcuts,
  layers, update_notice, open_progress. The crate::ui::LayerPanel
  re-export is repointed so callers are unchanged.

Call sites repointed to the new paths; no compat re-exports beyond the
existing LayerPanel one. ui/ root drops from 21 to 10 flat files with
five subdirs (ribbon, style, popup, statusbar, window).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hakan Seven 2026-06-26 23:52:26 +03:00
commit a502379048
17 changed files with 29 additions and 27 deletions

View file

@ -1083,7 +1083,7 @@ impl OpenCADStudio {
};
let statusbar_menu_layer: Element<'_, Message> = if self.statusbar_menu_open {
crate::ui::statusbar_menu::statusbar_menu_overlay(&self.statusbar_config)
crate::ui::statusbar::statusbar_menu::statusbar_menu_overlay(&self.statusbar_config)
} else {
iced::widget::Space::new().width(0).height(0).into()
};
@ -1141,7 +1141,7 @@ impl OpenCADStudio {
};
let open_progress_layer: Element<'_, Message> = if let Some(p) = &self.opening {
crate::ui::open_progress::view(p, iced::time::Instant::now())
crate::ui::window::open_progress::view(p, iced::time::Instant::now())
} else {
iced::widget::Space::new().width(0).height(0).into()
};

View file

@ -17,16 +17,16 @@ impl OpenCADStudio {
.into()
}
Some(match self.active_modal? {
super::super::ModalKind::About => crate::ui::about::view_window(),
super::super::ModalKind::About => crate::ui::window::about::view_window(),
super::super::ModalKind::Shortcuts => {
sized(crate::ui::shortcuts::view_window(&self.shortcut_overrides), 720, 520)
sized(crate::ui::window::shortcuts::view_window(&self.shortcut_overrides), 720, 520)
}
super::super::ModalKind::PluginManager => sized(
crate::ui::plugin_manager::view_window(
crate::ui::window::plugin_manager::view_window(
&self.disabled_plugins,
&self.external_plugins,
&self.loaded_plugin_ids,
crate::ui::plugin_manager::MarketView {
crate::ui::window::plugin_manager::MarketView {
registry: &self.plugin_registry,
input: &self.plugin_repo_input,
repos: &self.plugin_repos,
@ -41,14 +41,14 @@ impl OpenCADStudio {
super::super::ModalKind::UpdateNotice => {
let latest = self.update_notice_version.as_deref().unwrap_or("?");
let body = self.update_notice_body.as_deref().unwrap_or("");
sized(crate::ui::update_notice::view_window(latest, body), 560, 460)
sized(crate::ui::window::update_notice::view_window(latest, body), 560, 460)
}
super::super::ModalKind::Layers => {
let tab = &self.tabs[self.active_tab];
sized(tab.layers.view_window(), 900, 360)
}
super::super::ModalKind::PageSetup => sized(
crate::ui::page_setup::view_window(
crate::ui::window::page_setup::view_window(
&self.page_setup_w,
&self.page_setup_h,
&self.page_setup_plot_area,
@ -66,7 +66,7 @@ impl OpenCADStudio {
let layouts = self.tabs[i].scene.layout_names();
let current = self.tabs[i].scene.current_layout.clone();
sized(
crate::ui::layout_manager::view_window(
crate::ui::window::layout_manager::view_window(
layouts,
&self.layout_manager_selected,
&self.layout_manager_rename_buf,