mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-10-04 00:08:11 +08:00
export persistence ideas
This commit is contained in:
@@ -17,6 +17,8 @@ pub struct DocumentDetails {
|
|||||||
pub is_saved: bool,
|
pub is_saved: bool,
|
||||||
#[serde(rename = "isAutoSaved")]
|
#[serde(rename = "isAutoSaved")]
|
||||||
pub is_auto_saved: bool,
|
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)]
|
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq, serde::Serialize, serde::Deserialize, specta::Type)]
|
||||||
|
|||||||
@@ -123,6 +123,9 @@ pub enum DocumentMessage {
|
|||||||
path: Option<PathBuf>,
|
path: Option<PathBuf>,
|
||||||
},
|
},
|
||||||
MarkAsSaved,
|
MarkAsSaved,
|
||||||
|
ExportedDocument {
|
||||||
|
path: Option<PathBuf>,
|
||||||
|
},
|
||||||
SelectParentLayer,
|
SelectParentLayer,
|
||||||
SelectAllLayers,
|
SelectAllLayers,
|
||||||
SelectedLayersLower,
|
SelectedLayersLower,
|
||||||
|
|||||||
@@ -118,6 +118,8 @@ pub struct DocumentMessageHandler {
|
|||||||
/// The path of the to the document file.
|
/// The path of the to the document file.
|
||||||
#[serde(skip)]
|
#[serde(skip)]
|
||||||
pub(crate) path: Option<PathBuf>,
|
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
|
/// 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)]
|
#[serde(skip)]
|
||||||
breadcrumb_network_path: Vec<NodeId>,
|
breadcrumb_network_path: Vec<NodeId>,
|
||||||
@@ -1068,6 +1070,10 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
|
|||||||
self.set_save_state(true);
|
self.set_save_state(true);
|
||||||
responses.add(PortfolioMessage::UpdateOpenDocumentsList);
|
responses.add(PortfolioMessage::UpdateOpenDocumentsList);
|
||||||
}
|
}
|
||||||
|
DocumentMessage::ExportedDocument { path } => {
|
||||||
|
self.export_path = path;
|
||||||
|
responses.add(PortfolioMessage::AutoSaveActiveDocument);
|
||||||
|
}
|
||||||
DocumentMessage::SelectParentLayer => {
|
DocumentMessage::SelectParentLayer => {
|
||||||
let selected_nodes = self.network_interface.selected_nodes();
|
let selected_nodes = self.network_interface.selected_nodes();
|
||||||
let selected_layers = selected_nodes.selected_layers(self.metadata());
|
let selected_layers = selected_nodes.selected_layers(self.metadata());
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ impl MessageHandler<PortfolioMessage, PortfolioMessageContext<'_>> for Portfolio
|
|||||||
path: document.path.clone(),
|
path: document.path.clone(),
|
||||||
is_saved: document.is_saved(),
|
is_saved: document.is_saved(),
|
||||||
is_auto_saved: document.is_auto_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(),
|
path: document.path.clone(),
|
||||||
is_saved: document.is_saved(),
|
is_saved: document.is_saved(),
|
||||||
is_auto_saved: document.is_auto_saved(),
|
is_auto_saved: document.is_auto_saved(),
|
||||||
|
export_path: None,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user