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;
}