diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index cdec2116..cf7a23bc 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -89,35 +89,39 @@ void MainWindow::closeEvent(QCloseEvent * event) QMainWindow::closeEvent(event); } -void MainWindow::loadObjects(const QString & fileName) +bool MainWindow::loadObjects(const QString & fileName) { QFile file(fileName); - file.open(QIODevice::ReadOnly); - QDataStream in(&file); - while(!in.atEnd()) + if(file.open(QIODevice::ReadOnly)) { - ObjWidget * obj = new ObjWidget(); - obj->load(in); - bool alreadyLoaded = false; - for(int i=0; iid() == obj->id()) + ObjWidget * obj = new ObjWidget(); + obj->load(in); + bool alreadyLoaded = false; + for(int i=0; iid() == obj->id()) + { + alreadyLoaded = true; + break; + } + } + if(!alreadyLoaded) + { + objects_.append(obj); + showObject(obj); + } + else + { + delete obj; } } - if(!alreadyLoaded) - { - objects_.append(obj); - showObject(obj); - } - else - { - delete obj; - } + file.close(); + return true; } - file.close(); + return false; } void MainWindow::saveObjects(const QString & fileName) diff --git a/src/MainWindow.h b/src/MainWindow.h index 48592cd2..aa5aa0e2 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -26,7 +26,7 @@ public: MainWindow(Camera * camera = 0, QWidget * parent = 0); virtual ~MainWindow(); - void loadObjects(const QString & fileName); + bool loadObjects(const QString & fileName); void saveObjects(const QString & fileName); protected: