File indexing completed on 2024-05-05 05:40:26

0001 #include "data/rolisteammimedata.h"
0002 
0003 #include "media/mediatype.h"
0004 #include <QUrl>
0005 
0006 RolisteamMimeData::RolisteamMimeData() {}
0007 
0008 bool RolisteamMimeData::hasFormat(const QString& mimeType) const
0009 {
0010     if(mimeType == Core::mimedata::MIME_KEY_PERSON_DATA)
0011     {
0012         return m_person;
0013     }
0014     else if(mimeType == Core::mimedata::MIME_KEY_DICE_ALIAS_DATA)
0015     {
0016         return !m_alias.text().isEmpty();
0017     }
0018     else if(mimeType == Core::mimedata::MIME_KEY_MEDIA_UUID)
0019     {
0020         return !m_mediaUuid.isEmpty();
0021     }
0022     else if(mimeType == Core::mimedata::MIME_KEY_NPC_ID)
0023     {
0024         return !m_npcUuid.isEmpty();
0025     }
0026     return QMimeData::hasFormat(mimeType);
0027 }
0028 
0029 void RolisteamMimeData::setPerson(Person* data)
0030 {
0031     if(data == m_person)
0032         return;
0033     m_person= data;
0034     emit personChanged();
0035 
0036     if(!m_person)
0037         return;
0038 
0039     setText(data->name());
0040     QList<QUrl> urls;
0041     urls << QUrl(QString("image://avatar/%1").arg(data->uuid()));
0042     setUrls(urls);
0043     setColorData(data->getColor());
0044 }
0045 
0046 /*void RolisteamMimeData::setImageData(const QByteArray& data)
0047 {
0048     if(m_imageData == data)
0049         return;
0050     m_imageData= data;
0051     emit imageDataChanged();
0052 }*/
0053 
0054 void RolisteamMimeData::setNpcUuid(const QString& str)
0055 {
0056     if(m_npcUuid == str)
0057         return;
0058     m_npcUuid= str;
0059     emit npcUuidChanged();
0060 }
0061 
0062 void RolisteamMimeData::setMediaUuid(const QString& uuid)
0063 {
0064     if(m_mediaUuid == uuid)
0065         return;
0066     m_mediaUuid= uuid;
0067     emit mediaUuidChanged();
0068 }
0069 
0070 Person* RolisteamMimeData::person() const
0071 {
0072     return m_person;
0073 }
0074 DiceShortCut RolisteamMimeData::alias() const
0075 {
0076     return m_alias;
0077 }
0078 
0079 QString RolisteamMimeData::npcUuid() const
0080 {
0081     return m_npcUuid;
0082 }
0083 
0084 QString RolisteamMimeData::mediaUuid() const
0085 {
0086     return m_mediaUuid;
0087 }
0088 
0089 /*QByteArray RolisteamMimeData::imageData() const
0090 {
0091     return m_imageData;
0092 }*/
0093 void RolisteamMimeData::setAlias(QString key, QString command, bool usedAlias)
0094 {
0095     m_alias.setText(key);
0096     m_alias.setCommand(command);
0097     m_alias.setAlias(usedAlias);
0098     emit aliasChanged();
0099 }