Parcourir la source

Display formatted person name, to remove internal delimeters

Remove ^ characters and display as first, middle, last, suffix.

This uses the dcmtk standard function to do formatting.  If we want,
for example, last, first, middle, suffix we would need to write
our own method.
Steve Pieper il y a 12 ans
Parent
commit
45e42b277d
1 fichiers modifiés avec 11 ajouts et 0 suppressions
  1. 11 0
      Libs/DICOM/Core/ctkDICOMModel.cpp

+ 11 - 0
Libs/DICOM/Core/ctkDICOMModel.cpp

@@ -29,6 +29,9 @@
 #include <QTime>
 #include <QDebug>
 
+// dcmtk includes
+#include "dcvrpn.h"
+
 // ctkDICOMCore includes
 #include "ctkDICOMModel.h"
 #include "ctkLogger.h"
@@ -506,6 +509,14 @@ QVariant ctkDICOMModel::data ( const QModelIndex & dataIndex, int role ) const
       return QString("No description");
     }
   }
+
+  if (columnName.compare("Name")==0)
+  {
+    OFString formattedName;
+    DcmPersonName::getFormattedNameFromString(OFString(dataValue.toString().toStdString().c_str()), formattedName);
+    return QString(formattedName.c_str());
+  }
+
   return dataValue;
 }