From f0eab58ebd6ab0891a6612f284f4a43e7f2b83f3 Mon Sep 17 00:00:00 2001 From: luiscuenca Date: Thu, 26 Oct 2017 09:41:24 -0700 Subject: [PATCH] Bug 6719 fixed --- .../dialogs/content/AttachmentsContent.qml | 18 +++++++++++++++--- interface/src/avatar/MyAvatar.cpp | 1 + interface/src/avatar/MyAvatar.h | 1 + 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/interface/resources/qml/hifi/dialogs/content/AttachmentsContent.qml b/interface/resources/qml/hifi/dialogs/content/AttachmentsContent.qml index 62cd581e3b..5c9d6822c8 100644 --- a/interface/resources/qml/hifi/dialogs/content/AttachmentsContent.qml +++ b/interface/resources/qml/hifi/dialogs/content/AttachmentsContent.qml @@ -14,13 +14,25 @@ Item { readonly property var originalAttachments: MyAvatar.getAttachmentsVariant(); property var attachments: []; - Component.onCompleted: { - for (var i = 0; i < originalAttachments.length; ++i) { - var attachment = originalAttachments[i]; + function reload(){ + content.attachments = []; + var currentAttachments = MyAvatar.getAttachmentsVariant(); + listView.model.clear(); + for (var i = 0; i < currentAttachments.length; ++i) { + var attachment = currentAttachments[i]; content.attachments.push(attachment); listView.model.append({}); } } + + Connections { + target: MyAvatar + onAttachmentsChanged: reload() + } + + Component.onCompleted: { + reload() + } Column { width: pane.width diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 3189ad3c77..0fceba82f0 100755 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -1452,6 +1452,7 @@ void MyAvatar::setAttachmentData(const QVector& attachmentData) return; } Avatar::setAttachmentData(attachmentData); + emit attachmentsChanged(); } glm::vec3 MyAvatar::getSkeletonPosition() const { diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h index 16ed9ea5b4..303a395a47 100644 --- a/interface/src/avatar/MyAvatar.h +++ b/interface/src/avatar/MyAvatar.h @@ -619,6 +619,7 @@ signals: void skeletonChanged(); void dominantHandChanged(const QString& hand); void sensorToWorldScaleChanged(float sensorToWorldScale); + void attachmentsChanged(); private: