mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-15 14:18:04 +08:00
export persistence ideas
This commit is contained in:
@@ -17,6 +17,8 @@ pub struct DocumentDetails {
|
||||
pub is_saved: bool,
|
||||
#[serde(rename = "isAutoSaved")]
|
||||
pub is_auto_saved: bool,
|
||||
#[serde(rename = "exportPath")]
|
||||
pub export_path: Option<PathBuf>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq, serde::Serialize, serde::Deserialize, specta::Type)]
|
||||
|
||||
@@ -123,6 +123,9 @@ pub enum DocumentMessage {
|
||||
path: Option<PathBuf>,
|
||||
},
|
||||
MarkAsSaved,
|
||||
ExportedDocument {
|
||||
path: Option<PathBuf>,
|
||||
},
|
||||
SelectParentLayer,
|
||||
SelectAllLayers,
|
||||
SelectedLayersLower,
|
||||
|
||||
@@ -118,6 +118,8 @@ pub struct DocumentMessageHandler {
|
||||
/// The path of the to the document file.
|
||||
#[serde(skip)]
|
||||
pub(crate) path: Option<PathBuf>,
|
||||
/// The path to which the document was most recently exported to.
|
||||
pub(crate) export_path: Option<PathBuf>,
|
||||
/// Path to network currently viewed in the node graph overlay. This will eventually be stored in each panel, so that multiple panels can refer to different networks
|
||||
#[serde(skip)]
|
||||
breadcrumb_network_path: Vec<NodeId>,
|
||||
@@ -1068,6 +1070,10 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
|
||||
self.set_save_state(true);
|
||||
responses.add(PortfolioMessage::UpdateOpenDocumentsList);
|
||||
}
|
||||
DocumentMessage::ExportedDocument { path } => {
|
||||
self.export_path = path;
|
||||
responses.add(PortfolioMessage::AutoSaveActiveDocument);
|
||||
}
|
||||
DocumentMessage::SelectParentLayer => {
|
||||
let selected_nodes = self.network_interface.selected_nodes();
|
||||
let selected_layers = selected_nodes.selected_layers(self.metadata());
|
||||
|
||||
@@ -197,6 +197,7 @@ impl MessageHandler<PortfolioMessage, PortfolioMessageContext<'_>> for Portfolio
|
||||
path: document.path.clone(),
|
||||
is_saved: document.is_saved(),
|
||||
is_auto_saved: document.is_auto_saved(),
|
||||
export_path: None,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -1057,6 +1058,7 @@ impl MessageHandler<PortfolioMessage, PortfolioMessageContext<'_>> for Portfolio
|
||||
path: document.path.clone(),
|
||||
is_saved: document.is_saved(),
|
||||
is_auto_saved: document.is_auto_saved(),
|
||||
export_path: None,
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user