Properly propagate pack usage to UI

We can't have a pack that is neither sticker nor emoji. Which is why
none defaults to both on. That wasn't propagated to the UI, which made
the interaction very confusing. It also made some states unsettable,
since you can't turn anything off from the none state.

fixes #1152
pull/1215/head
Nicolas Werner 2 years ago
parent 30fde1f8ac
commit 4002b1ecf1
No known key found for this signature in database
GPG Key ID: C8D75E610773F2D9
  1. 6
      src/SingleImagePackModel.cpp

@ -248,6 +248,9 @@ SingleImagePackModel::setIsStickerPack(bool val)
using mtx::events::msc2545::PackUsage;
if (val != pack.pack->is_sticker()) {
pack.pack->usage.set(PackUsage::Sticker, val);
if (!val)
pack.pack->usage.set(PackUsage::Emoji, true);
emit isEmotePackChanged();
emit isStickerPackChanged();
}
}
@ -258,7 +261,10 @@ SingleImagePackModel::setIsEmotePack(bool val)
using mtx::events::msc2545::PackUsage;
if (val != pack.pack->is_emoji()) {
pack.pack->usage.set(PackUsage::Emoji, val);
if (!val)
pack.pack->usage.set(PackUsage::Sticker, true);
emit isEmotePackChanged();
emit isStickerPackChanged();
}
}

Loading…
Cancel
Save