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 }