bool AEDocument::SaveDocument() { QFile file(projectFilePath()); if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) return false; QXmlStreamWriter* xmlWriter = new QXmlStreamWriter(); xmlWriter->setDevice(&file); xmlWriter->writeStartDocument(); xmlWriter->writeStartElement("AnimaEditorProject"); SaveProjectData(xmlWriter); SaveModels(xmlWriter); xmlWriter->writeEndElement(); xmlWriter->writeEndDocument(); delete xmlWriter; _newDocument = false; return true; }
static void SaveProject() { ASSERT( AData().IsProjectSet() ); AStores& as = GetAStores(); RefPtr<MenuStore> mn_store = as.mnStore; SaveProjectData(mn_store, as.mdStore); // очистка после сохранения AData().SetOut(true); for( MenuStore::iterator itr = mn_store->children().begin(), end = mn_store->children().end(); itr != end; ++itr ) ClearMenuSavedData(GetMenu(mn_store, itr)); SetAppTitle(); }