/** Construit un projet a partir du chemin d'un fichier. @param path Chemin du fichier @param parent QObject parent */ QETProject::QETProject(const QString &path, QObject *parent) : QObject(parent), collection_(0), project_qet_version_(-1), modified_(false), read_only_(false), titleblocks_(this) { // ouvre le fichier QFile project_file(path); if (!project_file.open(QIODevice::ReadOnly | QIODevice::Text)) { state_ = FileOpenFailed; return; } setFilePath(path); // en extrait le contenu XML bool xml_parsing = document_root_.setContent(&project_file); if (!xml_parsing) { state_ = XmlParsingFailed; return; } // et construit le projet readProjectXml(); setupTitleBlockTemplatesCollection(); // passe le projet en lecture seule si le fichier l'est QFileInfo project_file_info(path); if (!project_file_info.isWritable()) { setReadOnly(true); } }
/** Construit un projet a partir du chemin d'un fichier. @param path Chemin du fichier @param parent QObject parent */ QETProject::QETProject(const QString &path, QObject *parent) : QObject (parent), collection_ (0 ), project_qet_version_ (-1 ), modified_ (false ), read_only_ (false ), titleblocks_ (this ), folioSheetsQuantity (0 ), m_auto_conductor (true ) { // ouvre le fichier QFile project_file(path); if (!project_file.open(QIODevice::ReadOnly | QIODevice::Text)) { state_ = FileOpenFailed; return; } setFilePath(path); // en extrait le contenu XML bool xml_parsing = document_root_.setContent(&project_file); if (!xml_parsing) { state_ = XmlParsingFailed; return; } // et construit le projet readProjectXml(); setupTitleBlockTemplatesCollection(); // passe le projet en lecture seule si le fichier l'est QFileInfo project_file_info(path); if (!project_file_info.isWritable()) { setReadOnly(true); } undo_stack_ = new QUndoStack(); connect(undo_stack_, SIGNAL(cleanChanged(bool)), this, SLOT(undoStackChanged(bool))); }