[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/core Project.cpp
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src/core Project.cpp |
Date: |
Wed, 25 Apr 2007 19:49:30 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/04/25 19:49:30
Modified files:
src/core : Project.cpp
Log message:
* automatically try to load the backup project file if the project file
could not
be opened, or the xml parser failed to parse the file
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Project.cpp?cvsroot=traverso&r1=1.30&r2=1.31
Patches:
Index: Project.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Project.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- Project.cpp 23 Apr 2007 11:52:24 -0000 1.30
+++ Project.cpp 25 Apr 2007 19:49:30 -0000 1.31
@@ -128,28 +128,58 @@
QDomDocument doc("Project");
QFile file;
+ QString filename;
if (projectfile.isEmpty()) {
- file.setFileName(rootDir + "/project.tpf");
+ filename = rootDir + "/project.tpf";
+ file.setFileName(filename);
} else {
- file.setFileName(projectfile);
+ filename = projectfile;
+ file.setFileName(filename);
}
if (!file.open(QIODevice::ReadOnly))
{
file.close();
- info().critical(tr("Project %1: Cannot open project properties
file! (%2)")
+ info().critical(tr("Project %1: Cannot open project.tpf file!
(%2)")
.arg(title).arg(file.errorString()));
+
+ QFile backup(filename + "~");
+ backup.copy(filename);
+ if (QFile::exists(filename.append("~"))) {
+ return load(filename);
+ } else {
+ info().information(tr("No backup project file
available, unable to restore project"));
return -1;
}
+ }
QString errorMsg;
if (!doc.setContent(&file, &errorMsg))
{
- file.close();
info().critical(tr("Project %1: Failed to parse project.tpf
file! (%2)")
.arg(title).arg(errorMsg));
+
+ file.remove();
+ file.close();
+ if (! filename.contains("~")) {
+ // Trying to load backup!
+ QFile backup(filename + "~");
+ backup.copy(filename);
+ if (QFile::exists(filename.append("~"))) {
+ return load(filename);
+ } else {
+ info().information(tr("No backup project file
available, unable to restore project"));
return -1;
}
+ } else {
+ return -1;
+ }
+ }
+
+ if (filename.contains("~")) {
+ info().information(tr("Project file restored from older version
(%1)")
+
.arg(QFileInfo(filename).lastModified().toString()));
+ }
file.close();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src/core Project.cpp,
Remon Sijrier <=