diff --git a/Modules/XNAT/resources/file.png b/Modules/XNAT/resources/file.png new file mode 100644 index 0000000000..c1d3d55ed7 Binary files /dev/null and b/Modules/XNAT/resources/file.png differ diff --git a/Modules/XNAT/resources/project.ico b/Modules/XNAT/resources/folder.ico similarity index 100% rename from Modules/XNAT/resources/project.ico rename to Modules/XNAT/resources/folder.ico diff --git a/Modules/XNAT/resources/project.png b/Modules/XNAT/resources/project.png new file mode 100644 index 0000000000..a78643c1f9 Binary files /dev/null and b/Modules/XNAT/resources/project.png differ diff --git a/Modules/XNAT/resources/resource.png b/Modules/XNAT/resources/resource.png new file mode 100644 index 0000000000..dcd64df048 Binary files /dev/null and b/Modules/XNAT/resources/resource.png differ diff --git a/Modules/XNAT/resources/scan.png b/Modules/XNAT/resources/scan.png new file mode 100644 index 0000000000..1258871eec Binary files /dev/null and b/Modules/XNAT/resources/scan.png differ diff --git a/Modules/XNAT/resources/xnat.qrc b/Modules/XNAT/resources/xnat.qrc index 7d6e5f8ecf..0249b77262 100644 --- a/Modules/XNAT/resources/xnat.qrc +++ b/Modules/XNAT/resources/xnat.qrc @@ -1,8 +1,12 @@ - server.ico - project.ico - subject.ico experiment.ico + file.png + folder.ico + project.png + resource.png + scan.png + server.ico + subject.ico diff --git a/Modules/XNAT/src/QmitkXnatTreeModel.cpp b/Modules/XNAT/src/QmitkXnatTreeModel.cpp index 1c22560a11..bc1c04cd40 100644 --- a/Modules/XNAT/src/QmitkXnatTreeModel.cpp +++ b/Modules/XNAT/src/QmitkXnatTreeModel.cpp @@ -1,116 +1,140 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #include "QmitkXnatTreeModel.h" #include #include #include #include #include #include #include #include +#include +#include +#include +#include QmitkXnatTreeModel::QmitkXnatTreeModel () : ctkXnatTreeModel() { } QVariant QmitkXnatTreeModel::data(const QModelIndex& index, int role) const { if (!index.isValid()) { return QVariant(); } if (role == Qt::DecorationRole) { ctkXnatObject* xnatObject = this->xnatObject(index); QString path; if(dynamic_cast(xnatObject)) { path = ":/xnat/server.ico"; } else if(dynamic_cast(xnatObject)) { - path = ":/xnat/project.ico"; + path = ":/xnat/project.png"; } else if(dynamic_cast(xnatObject)) { path = ":/xnat/subject.ico"; } else if(dynamic_cast(xnatObject)) { path = ":/xnat/experiment.ico"; } + else if (dynamic_cast(xnatObject)) + { + path = ":/xnat/folder.ico"; + } + else if (dynamic_cast(xnatObject)) + { + path = ":/xnat/resource.png"; + } + else if (dynamic_cast(xnatObject)) + { + path = ":/xnat/folder.ico"; + } + else if (dynamic_cast(xnatObject)) + { + path = ":/xnat/scan.png"; + } + else if (dynamic_cast(xnatObject)) + { + path = ":/xnat/file.png"; + } return QIcon(path); } return ctkXnatTreeModel::data(index, role); } bool QmitkXnatTreeModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int /*row*/, int /*column*/, const QModelIndex &parent) { if (action == Qt::IgnoreAction) return true; // Return true if data can be handled bool returnVal (false); if (data->hasFormat(QmitkMimeTypes::DataNodePtrs)) { returnVal = true; QList droppedNodes = QmitkMimeTypes::ToDataNodePtrList(data); ctkXnatObject* parentXnatObj = this->xnatObject(parent); emit ResourceDropped(droppedNodes, parentXnatObj, parent); } return returnVal; } Qt::DropActions QmitkXnatTreeModel::supportedDropActions() { return Qt::CopyAction; } Qt::ItemFlags QmitkXnatTreeModel::flags(const QModelIndex &index) const { Qt::ItemFlags defaultFlags = ctkXnatTreeModel::flags(index); if (index.isValid()) { bool droppingAllowed = dynamic_cast(this->xnatObject(index)) != nullptr; droppingAllowed |= dynamic_cast(this->xnatObject(index)) != nullptr; droppingAllowed |= dynamic_cast(this->xnatObject(index)) != nullptr; droppingAllowed |= dynamic_cast(this->xnatObject(index)) != nullptr; // No dropping at project, session or data model level allowed if (droppingAllowed) { return Qt::ItemIsDropEnabled | defaultFlags; } else { return defaultFlags; } } else return defaultFlags; }