file manager
git clone https://git.lucas.co/cce-files.git
chore: StatusBar/PreviewState -> Adapted<W> (cce-ui Phase 5t migration)
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_016MjP3pGQEDLkJbV5WEmYBe
src/main.rs | 4 ++--
src/pages/preview.rs | 28 ++++++++++++----------------
2 files changed, 14 insertions(+), 18 deletions(-)
diff --git a/src/main.rs b/src/main.rs
index e94ad88..59b137e 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -296,7 +296,7 @@ struct FilesystemApp {
current_page: Page,
browse: pages::browse::BrowseState,
network: pages::network::NetworkState,
- preview: pages::preview::PreviewState,
+ preview: cce_ui::widget::Adapted<pages::preview::PreviewState>,
// Command-line chooser options
select_mode: bool,
@@ -873,7 +873,7 @@ impl Application for FilesystemApp {
current_page: Page::Browse,
browse,
network: pages::network::NetworkState::default(),
- preview: pages::preview::PreviewState::default(),
+ preview: Default::default(),
select_mode,
select_directory,
save_mode,
diff --git a/src/pages/preview.rs b/src/pages/preview.rs
index 8298e1f..9d6d4b2 100644
--- a/src/pages/preview.rs
+++ b/src/pages/preview.rs
@@ -22,22 +22,18 @@ pub fn update(state: &mut PreviewState, msg: PreviewMessage) {
// Deprecated direct SetPath, as we now load previews via the FsService.
}
PreviewMessage::PreviewLoaded { path, data } => {
- let path_display = path.to_string_lossy().to_string();
- *state = PreviewState {
- path: Some(path),
- path_display,
- name: data.name,
- is_dir: data.is_dir,
- size: data.size,
- permissions: data.permissions,
- modified: data.modified,
- file_type: data.file_type,
- target: data.target,
- content_preview: data.content_preview,
- image_preview: data.image_preview,
- scroll_line: 0,
- ..PreviewState::default()
- };
+ state.path_display = path.to_string_lossy().to_string();
+ state.path = Some(path);
+ state.name = data.name;
+ state.is_dir = data.is_dir;
+ state.size = data.size;
+ state.permissions = data.permissions;
+ state.modified = data.modified;
+ state.file_type = data.file_type;
+ state.target = data.target;
+ state.content_preview = data.content_preview;
+ state.image_preview = data.image_preview;
+ state.scroll_line = 0;
}
}
}