diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp index 4dd8c3e2c0..2d1ad710eb 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp @@ -2285,11 +2285,13 @@ void Controller::saveUsernamesOrder() { _api.request(MTPchannels_DeactivateAllUsernames( channel->inputChannel() )).done([=] { - channel->setUsernames(channel->editableUsername().isEmpty() - ? Data::Usernames() - : Data::Usernames{ + if (channel->editableUsername().isEmpty()) { + channel->setUsernames({}); + } else { + channel->setUsernames({ { channel->editableUsername(), true, true } }); + } continueSave(); }).send(); } else { diff --git a/Telegram/SourceFiles/data/data_session.cpp b/Telegram/SourceFiles/data/data_session.cpp index 447d58e94f..5c43ae35f9 100644 --- a/Telegram/SourceFiles/data/data_session.cpp +++ b/Telegram/SourceFiles/data/data_session.cpp @@ -748,12 +748,14 @@ not_null Session::processUser(const MTPUser &data) { status = data.vstatus(); if (!minimal) { const auto newUsername = uname; - const auto newUsernames = data.vusernames() - ? Api::Usernames::FromTL(*data.vusernames()) - : !newUsername.isEmpty() - ? Data::Usernames{{ newUsername, true, true }} - : Data::Usernames(); - result->setUsernames(newUsernames); + if (data.vusernames()) { + result->setUsernames( + Api::Usernames::FromTL(*data.vusernames())); + } else if (!newUsername.isEmpty()) { + result->setUsernames({{ newUsername, true, true }}); + } else { + result->setUsernames({}); + } } } if (const auto &status = data.vemoji_status()) { @@ -957,15 +959,17 @@ not_null Session::processChat(const MTPChat &data) { { const auto newUsername = qs(data.vusername().value_or_empty()); - const auto newUsernames = data.vusernames() - ? Api::Usernames::FromTL(*data.vusernames()) - : !newUsername.isEmpty() - ? Data::Usernames{ Data::Username{ newUsername, true, true } } - : Data::Usernames(); channel->setName( qs(data.vtitle()), TextUtilities::SingleLine(newUsername)); - channel->setUsernames(newUsernames); + if (data.vusernames()) { + channel->setUsernames( + Api::Usernames::FromTL(*data.vusernames())); + } else if (!newUsername.isEmpty()) { + channel->setUsernames({ { newUsername, true, true } }); + } else { + channel->setUsernames({}); + } } const auto hasUsername = !channel->username().isEmpty(); diff --git a/Telegram/SourceFiles/iv/iv_prepare.cpp b/Telegram/SourceFiles/iv/iv_prepare.cpp index 6fc891a19c..d9dee06ffa 100644 --- a/Telegram/SourceFiles/iv/iv_prepare.cpp +++ b/Telegram/SourceFiles/iv/iv_prepare.cpp @@ -460,9 +460,13 @@ QByteArray Parser::block(const MTPDpageBlockList &data) { QByteArray Parser::block(const MTPDpageBlockBlockquote &data) { const auto caption = rich(data.vcaption()); - const auto cite = caption.isEmpty() - ? QByteArray() - : tag("cite", { { "dir", "auto" } }, caption); + const auto cite = [&] { + if (caption.isEmpty()) { + return QByteArray(); + } else { + return tag("cite", { { "dir", "auto" } }, caption); + } + }(); return tag("blockquote", { { "dir", "auto" } }, rich(data.vtext()) + cite); @@ -470,9 +474,13 @@ QByteArray Parser::block(const MTPDpageBlockBlockquote &data) { QByteArray Parser::block(const MTPDpageBlockPullquote &data) { const auto caption = rich(data.vcaption()); - const auto cite = caption.isEmpty() - ? QByteArray() - : tag("cite", { { "dir", "auto" } }, caption); + const auto cite = [&] { + if (caption.isEmpty()) { + return QByteArray(); + } else { + return tag("cite", { { "dir", "auto" } }, caption); + } + }(); return tag("div", { { "class", "pullquote" }, { "dir", "auto" }, @@ -1084,12 +1092,14 @@ QByteArray Parser::rich(const MTPRichText &text) { }, [&](const MTPDtextAnchor &data) { const auto inner = rich(data.vtext()); const auto name = utf(data.vname()); - return inner.isEmpty() - ? tag("a", { { "name", name } }) - : tag( + if (inner.isEmpty()) { + return tag("a", { { "name", name } }); + } else { + return tag( "span", { { "class", "reference" } }, tag("a", { { "name", name } }) + inner); + } }); }