Skip to content

Commit 04f28ee

Browse files
Use select_after_open
1 parent 680a9e2 commit 04f28ee

File tree

3 files changed

+60
-18
lines changed

3 files changed

+60
-18
lines changed

desktop/src/app.rs

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -181,24 +181,34 @@ impl WinitApp {
181181
}
182182
DesktopFrontendMessage::PersistenceLoadCurrentDocument => {
183183
if let Some((id, document)) = self.persistent_data.current_document() {
184-
let message = DesktopWrapperMessage::LoadDocument { id, document, to_front: false };
185-
self.dispatch_desktop_wrapper_message(message);
186-
187-
let message = DesktopWrapperMessage::SelectDocument { id };
184+
let message = DesktopWrapperMessage::LoadDocument {
185+
id,
186+
document,
187+
to_front: false,
188+
select_after_open: true,
189+
};
188190
self.dispatch_desktop_wrapper_message(message);
189191
}
190192
}
191193
DesktopFrontendMessage::PersistenceLoadRemainingDocuments => {
192194
for (id, document) in self.persistent_data.documents_before_current().into_iter().rev() {
193-
let message = DesktopWrapperMessage::LoadDocument { id, document, to_front: true };
195+
let message = DesktopWrapperMessage::LoadDocument {
196+
id,
197+
document,
198+
to_front: true,
199+
select_after_open: false,
200+
};
194201
self.dispatch_desktop_wrapper_message(message);
195202
}
196-
197203
for (id, document) in self.persistent_data.documents_after_current() {
198-
let message = DesktopWrapperMessage::LoadDocument { id, document, to_front: false };
204+
let message = DesktopWrapperMessage::LoadDocument {
205+
id,
206+
document,
207+
to_front: false,
208+
select_after_open: false,
209+
};
199210
self.dispatch_desktop_wrapper_message(message);
200211
}
201-
202212
if let Some(id) = self.persistent_data.current_document_id() {
203213
let message = DesktopWrapperMessage::SelectDocument { id };
204214
self.dispatch_desktop_wrapper_message(message);

desktop/wrapper/src/handle_desktop_wrapper_message.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,12 @@ pub(super) fn handle_desktop_wrapper_message(dispatcher: &mut DesktopWrapperMess
118118
let message = AppWindowMessage::AppWindowUpdatePlatform { platform };
119119
dispatcher.queue_editor_message(message.into());
120120
}
121-
DesktopWrapperMessage::LoadDocument { id, document, to_front } => {
121+
DesktopWrapperMessage::LoadDocument {
122+
id,
123+
document,
124+
to_front,
125+
select_after_open,
126+
} => {
122127
let message = PortfolioMessage::OpenDocumentFileWithId {
123128
document_id: id,
124129
document_name: Some(document.name),
@@ -127,7 +132,7 @@ pub(super) fn handle_desktop_wrapper_message(dispatcher: &mut DesktopWrapperMess
127132
document_is_auto_saved: true,
128133
document_is_saved: document.is_saved,
129134
to_front,
130-
select_after_open: false,
135+
select_after_open,
131136
};
132137
dispatcher.queue_editor_message(message.into());
133138
}

desktop/wrapper/src/messages.rs

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,43 @@ pub enum DesktopFrontendMessage {
5353

5454
pub enum DesktopWrapperMessage {
5555
FromWeb(Box<EditorMessage>),
56-
OpenFileDialogResult { path: PathBuf, content: Vec<u8>, context: OpenFileDialogContext },
57-
SaveFileDialogResult { path: PathBuf, context: SaveFileDialogContext },
58-
OpenDocument { path: PathBuf, content: Vec<u8> },
59-
OpenFile { path: PathBuf, content: Vec<u8> },
60-
ImportFile { path: PathBuf, content: Vec<u8> },
61-
ImportSvg { path: PathBuf, content: Vec<u8> },
62-
ImportImage { path: PathBuf, content: Vec<u8> },
56+
OpenFileDialogResult {
57+
path: PathBuf,
58+
content: Vec<u8>,
59+
context: OpenFileDialogContext,
60+
},
61+
SaveFileDialogResult {
62+
path: PathBuf,
63+
context: SaveFileDialogContext,
64+
},
65+
OpenDocument {
66+
path: PathBuf,
67+
content: Vec<u8>,
68+
},
69+
OpenFile {
70+
path: PathBuf,
71+
content: Vec<u8>,
72+
},
73+
ImportFile {
74+
path: PathBuf,
75+
content: Vec<u8>,
76+
},
77+
ImportSvg {
78+
path: PathBuf,
79+
content: Vec<u8>,
80+
},
81+
ImportImage {
82+
path: PathBuf,
83+
content: Vec<u8>,
84+
},
6385
PollNodeGraphEvaluation,
6486
UpdatePlatform(Platform),
65-
LoadDocument { id: DocumentId, document: Document, to_front: bool },
87+
LoadDocument {
88+
id: DocumentId,
89+
document: Document,
90+
to_front: bool,
91+
select_after_open: bool,
92+
},
6693
SelectDocument { id: DocumentId },
6794
}
6895

0 commit comments

Comments
 (0)