X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvUtils.cxx;h=b787c9f2617276c587d945bb606b377aa1c3701d;hb=776f50aff3e47001b78e1c7dc4d51e789434f92a;hp=100aeb5cbac953b895a927491fccf7d4e509ca5c;hpb=1e034c70105f0926939acaaa27ddb46e904ae8bf;p=clitk.git diff --git a/vv/vvUtils.cxx b/vv/vvUtils.cxx index 100aeb5..b787c9f 100644 --- a/vv/vvUtils.cxx +++ b/vv/vvUtils.cxx @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,44 +14,166 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ -#include +===========================================================================**/ +#include #include #include - #include "clitkCommon.h" #include "vvUtils.h" const std::string vv_user_file=".vv_settings.txt"; +const std::string recentFileList="recentFiles"; typedef std::list FileListType; +QString getVVSettingsPath(){ + return QDir::homePath()+QString::fromStdString("/"+vv_user_file); +} + +QSettings::Format getSettingsOptionFormat(){ + return QSettings::IniFormat; +} + ///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; + QSettings settings(getVVSettingsPath(), getSettingsOptionFormat()); FileListType result; - in >> current_file; - while (in.good()) { - result.push_back(current_file); - in >> current_file; - } - in.close(); + settings.beginGroup(QString::fromStdString(recentFileList)); + QStringList keys = settings.childKeys(); + for(int i=0; i getDicomServer(QString nickname) +{ + std::map< std::string, std::string >results; + QSettings settings(getVVSettingsPath(), getSettingsOptionFormat()); + settings.beginGroup(QString::fromStdString("DICOMSERVER")); + settings.beginReadArray(nickname); + QStringList keys = settings.childKeys(); + for (int i = 0; i = 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(); + + settings.beginGroup(QString::fromStdString(recentFileList)); + int index=0; + for (FileListType::iterator j = file_list.begin() ; j != file_list.end() ; j++){ + QString s=QString(index++); + settings.setValue(s, QString::fromStdString ( *j )); + } + settings.endGroup(); } +