void IPTCSubjects::applyMetadata(QByteArray& iptcData) { KPMetadata meta; meta.setIptc(iptcData); QStringList newSubjects = subjectsList(); if (m_subjectsCheck->isChecked()) meta.setIptcSubjects(meta.getIptcSubjects(), newSubjects); else meta.setIptcSubjects(meta.getIptcSubjects(), QStringList()); iptcData = meta.getIptc(); }
void XMPSubjects::applyMetadata(QByteArray& xmpData) { DMetadata meta; meta.setXmp(xmpData); QStringList newSubjects = subjectsList(); // We remove in first all existing subjects. meta.removeXmpTag("Xmp.iptc.SubjectCode"); // And add new list if necessary. if (m_subjectsCheck->isChecked()) meta.setXmpSubjects(newSubjects); xmpData = meta.getXmp(); }