X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvUtils.cxx;h=0c95873a87b96e52dd032011ff08e7a7cd9e64cd;hb=7d4e77191e55f668f316ba3ddf0fddb63e59bd25;hp=2dc0a96e07ec54166cf1c7ab83be7c282f24e465;hpb=809c25ce37d81796cb7363afd3f8d042bcbb92a9;p=clitk.git diff --git a/vv/vvUtils.cxx b/vv/vvUtils.cxx index 2dc0a96..0c95873 100644 --- a/vv/vvUtils.cxx +++ b/vv/vvUtils.cxx @@ -48,7 +48,77 @@ FileListType GetRecentlyOpenedImages() return result; } -/// Add new Dicom Server +// Set parameters for VV (AETITLE, port-scu) to allow c-move. +void setDicomClient() +{ + QSettings settings(getVVSettingsPath(), getSettingsOptionFormat()); + if (! settings.childGroups().contains("DICOMCLIENT")) + { + settings.beginGroup(QString::fromStdString("DICOMCLIENT")); + settings.setValue("AETITLE",QString::fromStdString("VVDICOMSCU")); + settings.setValue("port",QString::number(1234)); + settings.setValue("directory",QDir::homePath() +QString::fromStdString("/.move")); + settings.endGroup(); + } +} + +// get VV-AETITLE for c-move. parameters +std::string getDicomClientAETitle() +{ + std::string result =""; + QSettings settings(getVVSettingsPath(), getSettingsOptionFormat()); + settings.beginGroup(QString::fromStdString("DICOMCLIENT")); + result = settings.value("AETITLE").toString().toStdString(); + settings.endGroup(); + return result; +} + +// get the directory where the dicom files will be stored during c-move action. +std::string getCMoveDirectory() +{ + std::string result =""; + QSettings settings(getVVSettingsPath(), getSettingsOptionFormat()); + settings.beginGroup(QString::fromStdString("DICOMCLIENT")); + result = settings.value("directory").toString().toStdString(); + settings.endGroup(); + return result; +} + +// get VV-PORT-SCU for c-move. parameters +int getDicomClientPort() +{ + int result; + QSettings settings(getVVSettingsPath(), getSettingsOptionFormat()); + settings.beginGroup(QString::fromStdString("DICOMCLIENT")); + result = settings.value("port").toString().toInt(); + settings.endGroup(); + return result; +} + +// get interpolation option for vv +int getInterpolationFavoriteStatus() +{ + int result; + QSettings settings(getVVSettingsPath(), getSettingsOptionFormat()); + settings.beginGroup(QString::fromStdString("VVSETTINGS")); + result = settings.value("interpolation").toString().toInt(); + settings.endGroup(); + return result; +} + +// set VV-settings at first use +void setVVSettings() +{ + QSettings settings(getVVSettingsPath(), getSettingsOptionFormat()); + if (! settings.childGroups().contains("VVSETTINGS")) + { + settings.beginGroup(QString::fromStdString("VVSETTINGS")); + settings.setValue("interpolation",QString::number(1)); + settings.endGroup(); + } +} + +/// Add a new Dicom Server void AddDicomServer(std::string nickname, std::string aetitle, std::string adress, std::string port) { QSettings settings(getVVSettingsPath(), getSettingsOptionFormat()); @@ -61,8 +131,23 @@ void AddDicomServer(std::string nickname, std::string aetitle, std::string adres settings.endGroup(); } +/// Remove a Dicom Server +void removeDicomServer(std::string nickname) +{ + QSettings settings(getVVSettingsPath(), getSettingsOptionFormat()); + settings.beginGroup(QString::fromStdString("DICOMSERVER")); + std::string temp = nickname + "//"; + settings.remove(QString::fromStdString(temp + "nickname")); + settings.remove(QString::fromStdString(temp + "AETITLE")); + settings.remove(QString::fromStdString(temp + "ADRESS")); + settings.remove(QString::fromStdString(temp + "PORT")); + settings.endGroup(); +} + + + -//std::map > getDicomServers() +/// get the list of a Dicom Server QStringList getDicomServers() { @@ -79,6 +164,7 @@ QStringList getDicomServers() return list; } +/// get needed Infos for a Dicom Server std::map getDicomServer(QString nickname) { std::map< std::string, std::string >results;