forked from 1b-agent/opencadstudio-upstream
feat(start): recent files as a list, icons or large previews
Three toggles beside the Recent Documents title switch the panel between the existing list, a grid of thumbnail tiles and one large preview per file. The choice is kept in the recent section of the app config. Refs #1494 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
58b2f22c09
commit
adbcac8a02
29 files changed
+244
-2
No files matched your search
@@ -1326,6 +1326,7 @@ impl OpenCADStudio {
|
||||
.map(|p| p.to_string_lossy().into_owned())
|
||||
.collect(),
|
||||
limit: self.recent_limit,
|
||||
view: self.recent_view,
|
||||
},
|
||||
start: crate::app::config::StartConfig {
|
||||
section: self.start_section,
|
||||
@@ -1397,6 +1398,7 @@ impl OpenCADStudio {
|
||||
);
|
||||
self.recent_files.truncate(self.recent_limit);
|
||||
self.recent_limit_input = self.recent_limit.to_string();
|
||||
self.recent_view = cfg.recent.view;
|
||||
// Thumbnails are decoded by a background task queued at boot
|
||||
// (`refresh_recent_thumbs`) — never here on the boot path.
|
||||
self.start_section = cfg.start.section;
|
||||
|
||||
@@ -1153,6 +1153,12 @@ impl OpenCADStudio {
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::SetRecentView(view) => {
|
||||
self.recent_view = view;
|
||||
self.save_config();
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::RecentLimitInput(s) => {
|
||||
// Keep only digits while typing; applied on Enter (SetRecentLimit).
|
||||
self.recent_limit_input = s.chars().filter(|c| c.is_ascii_digit()).collect();
|
||||
|
||||
Reference in new issue
Block a user