void ProjectController::save()
{
    if (!m_project->hasFileName())
        throw NoFileNameException();
    ProjectSerializer serializer;
    serializer.save(m_project->fileName(), m_project.data());
    m_isModified = false;
    emit changed();
}
void ProjectController::save()
{
    if (!_project->hasFileName()) {
        throw NoFileNameException();
    }
    ProjectSerializer serializer;
    serializer.save(_project->getFileName(), _project.data());
    _is_modified = false;
    emit changed();
}
void ProjectController::load()
{
    if (isModified()) {
        throw ProjectIsModifiedException();
    }
    if (!m_project->hasFileName()) {
        throw NoFileNameException();
    }
    ProjectSerializer serializer;
    serializer.load(m_project->fileName(), m_project.data());
    m_isModified = false;
    emit changed();
}