diff --git a/src/media/textrecording.cpp b/src/media/textrecording.cpp index c4f04a39ae4271e86a8905bba5d998cf1465da25..da7317bdc5db72975d5e834983dadb00fdbaa8df 100644 --- a/src/media/textrecording.cpp +++ b/src/media/textrecording.cpp @@ -697,6 +697,8 @@ bool InstantMessagingModel::setData(const QModelIndex& idx, const QVariant &valu if (idx.column() || !idx.isValid()) return false; + bool changed = false; + ::TextMessageNode* n = m_pRecording->d_ptr->m_lNodes[idx.row()]; switch (role) { case (int)Media::TextRecording::Role::IsRead : @@ -707,6 +709,7 @@ bool InstantMessagingModel::setData(const QModelIndex& idx, const QVariant &valu emit n->m_pContactMethod->changed(); } emit dataChanged(idx,idx); + changed = true; } break; default: @@ -714,7 +717,8 @@ bool InstantMessagingModel::setData(const QModelIndex& idx, const QVariant &valu } //Save the conversation - m_pRecording->save(); + if (changed) + m_pRecording->save(); return true; }