X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=vv%2FvvUtils.cxx;h=100aeb5cbac953b895a927491fccf7d4e509ca5c;hb=b29eb65e42740eaea460a8c503f3df05bb554ffe;hp=d4d8b2c5ddc9ae114c1f68a4abec37834b1ab404;hpb=931a42358442f4ee4f314613c991c838d4b4e3b7;p=clitk.git diff --git a/vv/vvUtils.cxx b/vv/vvUtils.cxx index d4d8b2c..100aeb5 100644 --- a/vv/vvUtils.cxx +++ b/vv/vvUtils.cxx @@ -1,27 +1,20 @@ /*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Program: vv - Language: C++ - Author : Joel Schaerer (joel.schaerer@insa-lyon.fr) + Authors belong to: + - University of LYON http://www.universite-lyon.fr/ + - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr -Copyright (C) 2008 -Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr -CREATIS-LRMN http://www.creatis.insa-lyon.fr + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the copyright notices for more information. -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 3 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -=========================================================================*/ + It is distributed under dual licence + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +======================================================================-====*/ #include #include #include @@ -35,31 +28,30 @@ typedef std::list FileListType; ///Returns the last images opened by the user FileListType GetRecentlyOpenedImages() { - std::ifstream in((QDir::homePath().toStdString() + "/" + vv_user_file).c_str()); - std::string current_file; - FileListType result; + std::ifstream in((QDir::homePath().toStdString() + "/" + vv_user_file).c_str()); + std::string current_file; + FileListType result; + in >> current_file; + while (in.good()) { + result.push_back(current_file); in >> current_file; - while (in.good()) - { - result.push_back(current_file); - in >> current_file; - } - in.close(); - return result; + } + in.close(); + return result; } ///Adds an image to the list of recently opened images void AddToRecentlyOpenedImages(std::string filename) { - FileListType file_list = GetRecentlyOpenedImages(); - FileListType::iterator i = std::find(file_list.begin(),file_list.end(),filename); - if (i != file_list.end()) // avoid dupes - file_list.erase(i); - while (file_list.size() >= 6) //keep list to a reasonable size - file_list.pop_back(); - file_list.push_front(filename); - std::ofstream out((QDir::homePath().toStdString() + "/" + vv_user_file).c_str(),std::ios_base::out | std::ios_base::trunc); - for (FileListType::iterator j = file_list.begin() ; j != file_list.end() ; j++) - out << (*j) << std::endl; - out.close(); + FileListType file_list = GetRecentlyOpenedImages(); + FileListType::iterator i = std::find(file_list.begin(),file_list.end(),filename); + if (i != file_list.end()) // avoid dupes + file_list.erase(i); + while (file_list.size() >= 6) //keep list to a reasonable size + file_list.pop_back(); + file_list.push_front(filename); + std::ofstream out((QDir::homePath().toStdString() + "/" + vv_user_file).c_str(),std::ios_base::out | std::ios_base::trunc); + for (FileListType::iterator j = file_list.begin() ; j != file_list.end() ; j++) + out << (*j) << std::endl; + out.close(); }