From 1852161fbf48b6f15143f19e91210af7bc6f67b5 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Fri, 3 Nov 2023 14:56:42 +0300 Subject: [PATCH] Moved out generating unique PeerListRowId from string to single place. --- .../SourceFiles/boxes/filters/edit_filter_links.cpp | 12 +----------- Telegram/SourceFiles/boxes/peer_list_box.cpp | 6 ++++++ Telegram/SourceFiles/boxes/peer_list_box.h | 2 ++ .../boxes/peers/edit_peer_invite_links.cpp | 11 +++-------- 4 files changed, 12 insertions(+), 19 deletions(-) diff --git a/Telegram/SourceFiles/boxes/filters/edit_filter_links.cpp b/Telegram/SourceFiles/boxes/filters/edit_filter_links.cpp index 557eefa9a..d731ead51 100644 --- a/Telegram/SourceFiles/boxes/filters/edit_filter_links.cpp +++ b/Telegram/SourceFiles/boxes/filters/edit_filter_links.cpp @@ -37,8 +37,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "styles/style_menu_icons.h" #include "styles/style_settings.h" -#include - namespace { constexpr auto kMaxLinkTitleLength = 32; @@ -223,14 +221,6 @@ private: }; -[[nodiscard]] uint64 ComputeRowId(const QString &link) { - return XXH64(link.data(), link.size() * sizeof(ushort), 0); -} - -[[nodiscard]] uint64 ComputeRowId(const InviteLinkData &data) { - return ComputeRowId(data.url); -} - [[nodiscard]] Color ComputeColor(const InviteLinkData &link) { return Color::Permanent; } @@ -242,7 +232,7 @@ private: LinkRow::LinkRow( not_null delegate, const InviteLinkData &data) -: PeerListRow(ComputeRowId(data)) +: PeerListRow(UniqueRowIdFromString(data.url)) , _delegate(delegate) , _data(data) , _color(ComputeColor(data)) { diff --git a/Telegram/SourceFiles/boxes/peer_list_box.cpp b/Telegram/SourceFiles/boxes/peer_list_box.cpp index 3395a5850..abd4f4b32 100644 --- a/Telegram/SourceFiles/boxes/peer_list_box.cpp +++ b/Telegram/SourceFiles/boxes/peer_list_box.cpp @@ -35,6 +35,12 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "styles/style_dialogs.h" #include "styles/style_widgets.h" +#include // XXH64. + +[[nodiscard]] PeerListRowId UniqueRowIdFromString(const QString &d) { + return XXH64(d.data(), d.size() * sizeof(ushort), 0); +} + PaintRoundImageCallback PaintUserpicCallback( not_null peer, bool respectSavedMessagesChat) { diff --git a/Telegram/SourceFiles/boxes/peer_list_box.h b/Telegram/SourceFiles/boxes/peer_list_box.h index 6dfce4630..0f557da68 100644 --- a/Telegram/SourceFiles/boxes/peer_list_box.h +++ b/Telegram/SourceFiles/boxes/peer_list_box.h @@ -54,6 +54,8 @@ using PaintRoundImageCallback = Fn - namespace { enum class Color { @@ -112,12 +110,8 @@ private: }; -[[nodiscard]] uint64 ComputeRowId(const QString &link) { - return XXH64(link.data(), link.size() * sizeof(ushort), 0); -} - [[nodiscard]] uint64 ComputeRowId(const InviteLinkData &data) { - return ComputeRowId(data.link); + return UniqueRowIdFromString(data.link); } [[nodiscard]] float64 ComputeProgress( @@ -628,7 +622,8 @@ void LinksController::updateRow(const InviteLinkData &data, TimeId now) { } bool LinksController::removeRow(const QString &link) { - if (const auto row = delegate()->peerListFindRow(ComputeRowId(link))) { + const auto id = UniqueRowIdFromString(link); + if (const auto row = delegate()->peerListFindRow(id)) { delegate()->peerListRemoveRow(row); return true; }