Moved out swipe handler from history view to ui controls.

This commit is contained in:
23rd 2025-02-19 00:12:58 +03:00 committed by John Preston
parent acb0b029b9
commit 5cdfaab2db
11 changed files with 57 additions and 49 deletions

View file

@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "chat_helpers/stickers_list_widget.h" #include "chat_helpers/stickers_list_widget.h"
#include "chat_helpers/gifs_list_widget.h" #include "chat_helpers/gifs_list_widget.h"
#include "menu/menu_send.h" #include "menu/menu_send.h"
#include "ui/controls/swipe_handler.h"
#include "ui/controls/tabbed_search.h" #include "ui/controls/tabbed_search.h"
#include "ui/text/text_utilities.h" #include "ui/text/text_utilities.h"
#include "ui/widgets/buttons.h" #include "ui/widgets/buttons.h"
@ -35,7 +36,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "data/stickers/data_stickers.h" #include "data/stickers/data_stickers.h"
#include "data/stickers/data_custom_emoji.h" // AllowEmojiWithoutPremium. #include "data/stickers/data_custom_emoji.h" // AllowEmojiWithoutPremium.
#include "boxes/premium_preview_box.h" #include "boxes/premium_preview_box.h"
#include "history/history_view_swipe.h"
#include "lang/lang_keys.h" #include "lang/lang_keys.h"
#include "mainwindow.h" #include "mainwindow.h"
#include "apiwrap.h" #include "apiwrap.h"
@ -533,11 +533,11 @@ TabbedSelector::TabbedSelector(
TabbedSelector::~TabbedSelector() = default; TabbedSelector::~TabbedSelector() = default;
void TabbedSelector::setupSwipe() { void TabbedSelector::setupSwipe() {
HistoryView::SetupSwipeHandler(this, _scroll.data(), [=]( Ui::Controls::SetupSwipeHandler(this, _scroll.data(), [=](
HistoryView::ChatPaintGestureHorizontalData data) { HistoryView::ChatPaintGestureHorizontalData data) {
if (data.translation != 0) { if (data.translation != 0) {
if (!_swipeBackData.callback) { if (!_swipeBackData.callback) {
_swipeBackData = HistoryView::SetupSwipeBack( _swipeBackData = Ui::Controls::SetupSwipeBack(
this, this,
[=]() -> std::pair<QColor, QColor> { [=]() -> std::pair<QColor, QColor> {
return { return {
@ -554,13 +554,13 @@ void TabbedSelector::setupSwipe() {
} }
}, [=](int, Qt::LayoutDirection direction) { }, [=](int, Qt::LayoutDirection direction) {
if (!_tabsSlider) { if (!_tabsSlider) {
return HistoryView::SwipeHandlerFinishData(); return Ui::Controls::SwipeHandlerFinishData();
} }
const auto activeSection = _tabsSlider->activeSection(); const auto activeSection = _tabsSlider->activeSection();
const auto isToLeft = direction == Qt::RightToLeft; const auto isToLeft = direction == Qt::RightToLeft;
if ((isToLeft && activeSection > 0) if ((isToLeft && activeSection > 0)
|| (!isToLeft && activeSection < _tabs.size() - 1)) { || (!isToLeft && activeSection < _tabs.size() - 1)) {
return HistoryView::DefaultSwipeBackHandlerFinishData([=] { return Ui::Controls::DefaultSwipeBackHandlerFinishData([=] {
if (_tabsSlider if (_tabsSlider
&& _tabsSlider->activeSection() == activeSection) { && _tabsSlider->activeSection() == activeSection) {
_swipeBackData = {}; _swipeBackData = {};
@ -570,7 +570,7 @@ void TabbedSelector::setupSwipe() {
} }
}); });
} }
return HistoryView::SwipeHandlerFinishData(); return Ui::Controls::SwipeHandlerFinishData();
}, nullptr); }, nullptr);
} }

View file

@ -18,7 +18,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "dialogs/dialogs_key.h" #include "dialogs/dialogs_key.h"
#include "history/history.h" #include "history/history.h"
#include "history/history_item.h" #include "history/history_item.h"
#include "history/history_view_swipe.h"
#include "history/view/history_view_top_bar_widget.h" #include "history/view/history_view_top_bar_widget.h"
#include "history/view/history_view_contact_status.h" #include "history/view/history_view_contact_status.h"
#include "history/view/history_view_requests_bar.h" #include "history/view/history_view_requests_bar.h"
@ -36,6 +35,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "ui/chat/more_chats_bar.h" #include "ui/chat/more_chats_bar.h"
#include "ui/controls/download_bar.h" #include "ui/controls/download_bar.h"
#include "ui/controls/jump_down_button.h" #include "ui/controls/jump_down_button.h"
#include "ui/controls/swipe_handler.h"
#include "ui/painter.h" #include "ui/painter.h"
#include "ui/rect.h" #include "ui/rect.h"
#include "ui/ui_utility.h" #include "ui/ui_utility.h"
@ -677,11 +677,11 @@ Widget::Widget(
} }
void Widget::setupSwipeBack() { void Widget::setupSwipeBack() {
HistoryView::SetupSwipeHandler(_scroll.data(), _scroll.data(), [=]( Ui::Controls::SetupSwipeHandler(_scroll.data(), _scroll.data(), [=](
HistoryView::ChatPaintGestureHorizontalData data) { HistoryView::ChatPaintGestureHorizontalData data) {
if (data.translation > 0) { if (data.translation > 0) {
if (!_swipeBackData.callback) { if (!_swipeBackData.callback) {
_swipeBackData = HistoryView::SetupSwipeBack( _swipeBackData = Ui::Controls::SetupSwipeBack(
this, this,
[]() -> std::pair<QColor, QColor> { []() -> std::pair<QColor, QColor> {
return { return {
@ -703,9 +703,9 @@ void Widget::setupSwipeBack() {
|| (!controller()->isPrimary() && (_layout != Layout::Child)) || (!controller()->isPrimary() && (_layout != Layout::Child))
|| (!controller()->shownForum().current() || (!controller()->shownForum().current()
&& !controller()->openedFolder().current())) { && !controller()->openedFolder().current())) {
return HistoryView::SwipeHandlerFinishData(); return Ui::Controls::SwipeHandlerFinishData();
} }
return HistoryView::DefaultSwipeBackHandlerFinishData([=] { return Ui::Controls::DefaultSwipeBackHandlerFinishData([=] {
_swipeBackData = {}; _swipeBackData = {};
if (const auto forum = controller()->shownForum().current()) { if (const auto forum = controller()->shownForum().current()) {
const auto id = controller()->windowId(); const auto id = controller()->windowId();

View file

@ -9,10 +9,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/admin_log/history_admin_log_inner.h" #include "history/admin_log/history_admin_log_inner.h"
#include "history/admin_log/history_admin_log_filter.h" #include "history/admin_log/history_admin_log_filter.h"
#include "history/history_view_swipe.h"
#include "profile/profile_back_button.h" #include "profile/profile_back_button.h"
#include "core/shortcuts.h" #include "core/shortcuts.h"
#include "ui/chat/chat_style.h" #include "ui/chat/chat_style.h"
#include "ui/controls/swipe_handler.h"
#include "ui/effects/animations.h" #include "ui/effects/animations.h"
#include "ui/widgets/scroll_area.h" #include "ui/widgets/scroll_area.h"
#include "ui/widgets/shadow.h" #include "ui/widgets/shadow.h"
@ -420,11 +420,11 @@ void Widget::setupShortcuts() {
} }
void Widget::setupSwipeReply() { void Widget::setupSwipeReply() {
HistoryView::SetupSwipeHandler(this, _scroll.data(), [=]( Ui::Controls::SetupSwipeHandler(this, _scroll.data(), [=](
HistoryView::ChatPaintGestureHorizontalData data) { HistoryView::ChatPaintGestureHorizontalData data) {
if (data.translation > 0) { if (data.translation > 0) {
if (!_swipeBackData.callback) { if (!_swipeBackData.callback) {
_swipeBackData = HistoryView::SetupSwipeBack( _swipeBackData = Ui::Controls::SetupSwipeBack(
this, this,
[=]() -> std::pair<QColor, QColor> { [=]() -> std::pair<QColor, QColor> {
auto context = _inner->preparePaintContext({}); auto context = _inner->preparePaintContext({});
@ -441,11 +441,11 @@ void Widget::setupSwipeReply() {
} }
}, [=](int, Qt::LayoutDirection direction) { }, [=](int, Qt::LayoutDirection direction) {
if (direction == Qt::RightToLeft) { if (direction == Qt::RightToLeft) {
return HistoryView::DefaultSwipeBackHandlerFinishData([=] { return Ui::Controls::DefaultSwipeBackHandlerFinishData([=] {
controller()->showBackFromStack(); controller()->showBackFromStack();
}); });
} }
return HistoryView::SwipeHandlerFinishData(); return Ui::Controls::SwipeHandlerFinishData();
}, nullptr); }, nullptr);
} }

View file

@ -29,7 +29,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/view/history_view_emoji_interactions.h" #include "history/view/history_view_emoji_interactions.h"
#include "history/history_item_components.h" #include "history/history_item_components.h"
#include "history/history_item_text.h" #include "history/history_item_text.h"
#include "history/history_view_swipe.h"
#include "payments/payments_reaction_process.h" #include "payments/payments_reaction_process.h"
#include "ui/widgets/menu/menu_add_action_callback_factory.h" #include "ui/widgets/menu/menu_add_action_callback_factory.h"
#include "ui/widgets/menu/menu_multiline_action.h" #include "ui/widgets/menu/menu_multiline_action.h"
@ -42,6 +41,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "ui/boxes/edit_factcheck_box.h" #include "ui/boxes/edit_factcheck_box.h"
#include "ui/boxes/report_box_graphics.h" #include "ui/boxes/report_box_graphics.h"
#include "ui/controls/delete_message_context_action.h" #include "ui/controls/delete_message_context_action.h"
#include "ui/controls/swipe_handler.h"
#include "ui/inactive_press.h" #include "ui/inactive_press.h"
#include "ui/painter.h" #include "ui/painter.h"
#include "ui/rect.h" #include "ui/rect.h"
@ -528,11 +528,11 @@ void HistoryInner::setupSwipeReplyAndBack() {
return; return;
} }
const auto peer = _peer; const auto peer = _peer;
HistoryView::SetupSwipeHandler(this, _scroll, [=, history = _history]( Ui::Controls::SetupSwipeHandler(this, _scroll, [=, history = _history](
HistoryView::ChatPaintGestureHorizontalData data) { HistoryView::ChatPaintGestureHorizontalData data) {
if (data.translation > 0) { if (data.translation > 0) {
if (!_swipeBackData.callback) { if (!_swipeBackData.callback) {
_swipeBackData = HistoryView::SetupSwipeBack( _swipeBackData = Ui::Controls::SetupSwipeBack(
_widget, _widget,
[=]() -> std::pair<QColor, QColor> { [=]() -> std::pair<QColor, QColor> {
auto context = preparePaintContext({}); auto context = preparePaintContext({});
@ -563,11 +563,11 @@ void HistoryInner::setupSwipeReplyAndBack() {
int cursorTop, int cursorTop,
Qt::LayoutDirection direction) { Qt::LayoutDirection direction) {
if (direction == Qt::RightToLeft) { if (direction == Qt::RightToLeft) {
return HistoryView::DefaultSwipeBackHandlerFinishData([=] { return Ui::Controls::DefaultSwipeBackHandlerFinishData([=] {
_controller->showBackFromStack(); _controller->showBackFromStack();
}); });
} }
auto result = HistoryView::SwipeHandlerFinishData(); auto result = Ui::Controls::SwipeHandlerFinishData();
if (inSelectionMode().inSelectionMode if (inSelectionMode().inSelectionMode
|| (peer->isChannel() && !peer->isMegagroup())) { || (peer->isChannel() && !peer->isMegagroup())) {
return result; return result;

View file

@ -8,9 +8,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/history_view_swipe_back_session.h" #include "history/history_view_swipe_back_session.h"
#include "history/history_view_swipe_data.h" #include "history/history_view_swipe_data.h"
#include "history/history_view_swipe.h"
#include "history/view/history_view_list_widget.h" #include "history/view/history_view_list_widget.h"
#include "ui/chat/chat_style.h" #include "ui/chat/chat_style.h"
#include "ui/controls/swipe_handler.h"
#include "window/window_session_controller.h" #include "window/window_session_controller.h"
namespace Window { namespace Window {
@ -21,7 +21,7 @@ void SetupSwipeBackSection(
not_null<HistoryView::ListWidget*> list) { not_null<HistoryView::ListWidget*> list) {
const auto swipeBackData const auto swipeBackData
= list->lifetime().make_state<HistoryView::SwipeBackResult>(); = list->lifetime().make_state<HistoryView::SwipeBackResult>();
HistoryView::SetupSwipeHandler(parent, scroll, [=]( Ui::Controls::SetupSwipeHandler(parent, scroll, [=](
HistoryView::ChatPaintGestureHorizontalData data) { HistoryView::ChatPaintGestureHorizontalData data) {
if (data.translation > 0) { if (data.translation > 0) {
if (!swipeBackData->callback) { if (!swipeBackData->callback) {
@ -34,7 +34,9 @@ void SetupSwipeBackSection(
c.st->msgServiceFg()->c, c.st->msgServiceFg()->c,
}; };
}; };
(*swipeBackData) = HistoryView::SetupSwipeBack(parent, color); (*swipeBackData) = Ui::Controls::SetupSwipeBack(
parent,
color);
} }
swipeBackData->callback(data); swipeBackData->callback(data);
return; return;
@ -43,9 +45,9 @@ void SetupSwipeBackSection(
} }
}, [=](int, Qt::LayoutDirection direction) { }, [=](int, Qt::LayoutDirection direction) {
if (direction != Qt::RightToLeft) { if (direction != Qt::RightToLeft) {
return HistoryView::SwipeHandlerFinishData(); return Ui::Controls::SwipeHandlerFinishData();
} }
return HistoryView::DefaultSwipeBackHandlerFinishData([=] { return Ui::Controls::DefaultSwipeBackHandlerFinishData([=] {
list->controller()->showBackFromStack(); list->controller()->showBackFromStack();
}); });
}, list->touchMaybeSelectingValue()); }, list->touchMaybeSelectingValue());

View file

@ -52,13 +52,13 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "ui/controls/send_button.h" #include "ui/controls/send_button.h"
#include "ui/controls/send_as_button.h" #include "ui/controls/send_as_button.h"
#include "ui/controls/silent_toggle.h" #include "ui/controls/silent_toggle.h"
#include "ui/controls/swipe_handler.h"
#include "ui/ui_utility.h" #include "ui/ui_utility.h"
#include "inline_bots/inline_bot_result.h" #include "inline_bots/inline_bot_result.h"
#include "base/event_filter.h" #include "base/event_filter.h"
#include "base/qt_signal_producer.h" #include "base/qt_signal_producer.h"
#include "base/qt/qt_key_modifiers.h" #include "base/qt/qt_key_modifiers.h"
#include "base/unixtime.h" #include "base/unixtime.h"
#include "history/history_view_swipe.h"
#include "history/history_view_swipe_data.h" #include "history/history_view_swipe_data.h"
#include "base/call_delayed.h" #include "base/call_delayed.h"
#include "data/business/data_shortcut_messages.h" #include "data/business/data_shortcut_messages.h"

View file

@ -25,9 +25,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/history_drag_area.h" #include "history/history_drag_area.h"
#include "history/history_item_components.h" #include "history/history_item_components.h"
#include "history/history_item_helpers.h" // GetErrorForSending. #include "history/history_item_helpers.h" // GetErrorForSending.
#include "history/history_view_swipe.h"
#include "ui/chat/pinned_bar.h" #include "ui/chat/pinned_bar.h"
#include "ui/chat/chat_style.h" #include "ui/chat/chat_style.h"
#include "ui/controls/swipe_handler.h"
#include "ui/widgets/menu/menu_add_action_callback_factory.h" #include "ui/widgets/menu/menu_add_action_callback_factory.h"
#include "ui/widgets/buttons.h" #include "ui/widgets/buttons.h"
#include "ui/widgets/scroll_area.h" #include "ui/widgets/scroll_area.h"
@ -890,11 +890,11 @@ void RepliesWidget::setupSwipeReplyAndBack() {
} }
return false; return false;
}; };
HistoryView::SetupSwipeHandler(_inner, _scroll.get(), [=]( Ui::Controls::SetupSwipeHandler(_inner, _scroll.get(), [=](
HistoryView::ChatPaintGestureHorizontalData data) { HistoryView::ChatPaintGestureHorizontalData data) {
if (data.translation > 0) { if (data.translation > 0) {
if (!_swipeBackData.callback) { if (!_swipeBackData.callback) {
_swipeBackData = HistoryView::SetupSwipeBack( _swipeBackData = Ui::Controls::SetupSwipeBack(
this, this,
[=]() -> std::pair<QColor, QColor> { [=]() -> std::pair<QColor, QColor> {
const auto context = listPreparePaintContext({ const auto context = listPreparePaintContext({
@ -927,11 +927,11 @@ void RepliesWidget::setupSwipeReplyAndBack() {
int cursorTop, int cursorTop,
Qt::LayoutDirection direction) { Qt::LayoutDirection direction) {
if (direction == Qt::RightToLeft) { if (direction == Qt::RightToLeft) {
return HistoryView::DefaultSwipeBackHandlerFinishData([=] { return Ui::Controls::DefaultSwipeBackHandlerFinishData([=] {
controller()->showBackFromStack(); controller()->showBackFromStack();
}); });
} }
auto result = HistoryView::SwipeHandlerFinishData(); auto result = Ui::Controls::SwipeHandlerFinishData();
if (_inner->elementInSelectionMode(nullptr).inSelectionMode) { if (_inner->elementInSelectionMode(nullptr).inSelectionMode) {
return result; return result;
} }

View file

@ -18,11 +18,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "info/media/info_media_widget.h" #include "info/media/info_media_widget.h"
#include "info/common_groups/info_common_groups_widget.h" #include "info/common_groups/info_common_groups_widget.h"
#include "info/info_layer_widget.h" #include "info/info_layer_widget.h"
#include "history/history_view_swipe.h"
#include "info/info_section_widget.h" #include "info/info_section_widget.h"
#include "info/info_controller.h" #include "info/info_controller.h"
#include "lang/lang_keys.h" #include "lang/lang_keys.h"
#include "main/main_session.h" #include "main/main_session.h"
#include "ui/controls/swipe_handler.h"
#include "ui/widgets/scroll_area.h" #include "ui/widgets/scroll_area.h"
#include "ui/widgets/fields/input_field.h" #include "ui/widgets/fields/input_field.h"
#include "ui/wrap/padding_wrap.h" #include "ui/wrap/padding_wrap.h"
@ -385,11 +385,11 @@ not_null<Ui::ScrollArea*> ContentWidget::scroll() const {
} }
void ContentWidget::setupSwipeReply() { void ContentWidget::setupSwipeReply() {
HistoryView::SetupSwipeHandler(this, _scroll.data(), [=]( Ui::Controls::SetupSwipeHandler(this, _scroll.data(), [=](
HistoryView::ChatPaintGestureHorizontalData data) { HistoryView::ChatPaintGestureHorizontalData data) {
if (data.translation > 0) { if (data.translation > 0) {
if (!_swipeBackData.callback) { if (!_swipeBackData.callback) {
_swipeBackData = HistoryView::SetupSwipeBack( _swipeBackData = Ui::Controls::SetupSwipeBack(
this, this,
[]() -> std::pair<QColor, QColor> { []() -> std::pair<QColor, QColor> {
return { return {
@ -418,8 +418,8 @@ void ContentWidget::setupSwipeReply() {
}(); }();
return !can return !can
? HistoryView::SwipeHandlerFinishData() ? Ui::Controls::SwipeHandlerFinishData()
: HistoryView::DefaultSwipeBackHandlerFinishData([=] { : Ui::Controls::DefaultSwipeBackHandlerFinishData([=] {
_controller->showBackFromStack(); _controller->showBackFromStack();
}); });
}, nullptr); }, nullptr);

View file

@ -5,7 +5,7 @@ the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link: For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/ */
#include "history/history_view_swipe.h" #include "ui/controls/swipe_handler.h"
#include "base/platform/base_platform_haptic.h" #include "base/platform/base_platform_haptic.h"
#include "base/platform/base_platform_info.h" #include "base/platform/base_platform_info.h"
@ -22,7 +22,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include <QtWidgets/QApplication> #include <QtWidgets/QApplication>
namespace HistoryView { namespace Ui::Controls {
namespace { namespace {
constexpr auto kSwipeSlow = 0.2; constexpr auto kSwipeSlow = 0.2;
@ -30,6 +30,10 @@ constexpr auto kSwipeSlow = 0.2;
constexpr auto kMsgBareIdSwipeBack = std::numeric_limits<int64>::max() - 77; constexpr auto kMsgBareIdSwipeBack = std::numeric_limits<int64>::max() - 77;
constexpr auto kSwipedBackSpeedRatio = 0.35; constexpr auto kSwipedBackSpeedRatio = 0.35;
using ChatPaintGestureHorizontalData
= HistoryView::ChatPaintGestureHorizontalData;
using SwipeBackResult = HistoryView::SwipeBackResult;
} // namespace } // namespace
void SetupSwipeHandler( void SetupSwipeHandler(
@ -438,4 +442,4 @@ SwipeHandlerFinishData DefaultSwipeBackHandlerFinishData(
}; };
} }
} // namespace HistoryView } // namespace Ui::Controls

View file

@ -7,16 +7,18 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/ */
#pragma once #pragma once
namespace HistoryView {
struct ChatPaintGestureHorizontalData;
struct SwipeBackResult;
} // namespace HistoryView
namespace Ui { namespace Ui {
class ElasticScroll; class ElasticScroll;
class RpWidget; class RpWidget;
class ScrollArea; class ScrollArea;
} // namespace Ui } // namespace Ui
namespace HistoryView { namespace Ui::Controls {
struct ChatPaintGestureHorizontalData;
struct SwipeBackResult;
struct SwipeHandlerFinishData { struct SwipeHandlerFinishData {
Fn<void(void)> callback; Fn<void(void)> callback;
@ -32,11 +34,11 @@ using Scroll = std::variant<
void SetupSwipeHandler( void SetupSwipeHandler(
not_null<Ui::RpWidget*> widget, not_null<Ui::RpWidget*> widget,
Scroll scroll, Scroll scroll,
Fn<void(ChatPaintGestureHorizontalData)> update, Fn<void(HistoryView::ChatPaintGestureHorizontalData)> update,
Fn<SwipeHandlerFinishData(int, Qt::LayoutDirection)> generateFinishByTop, Fn<SwipeHandlerFinishData(int, Qt::LayoutDirection)> generateFinishByTop,
rpl::producer<bool> dontStart = nullptr); rpl::producer<bool> dontStart = nullptr);
[[nodiscard]] SwipeBackResult SetupSwipeBack( [[nodiscard]] HistoryView::SwipeBackResult SetupSwipeBack(
not_null<Ui::RpWidget*> widget, not_null<Ui::RpWidget*> widget,
Fn<std::pair<QColor, QColor>()> colors, Fn<std::pair<QColor, QColor>()> colors,
bool mirrored = false); bool mirrored = false);
@ -44,4 +46,4 @@ void SetupSwipeHandler(
[[nodiscard]] SwipeHandlerFinishData DefaultSwipeBackHandlerFinishData( [[nodiscard]] SwipeHandlerFinishData DefaultSwipeBackHandlerFinishData(
Fn<void(void)> callback); Fn<void(void)> callback);
} // namespace HistoryView } // namespace Ui::Controls

View file

@ -129,8 +129,6 @@ PRIVATE
history/admin_log/history_admin_log_filter_value.h history/admin_log/history_admin_log_filter_value.h
history/history_view_top_toast.cpp history/history_view_top_toast.cpp
history/history_view_top_toast.h history/history_view_top_toast.h
history/history_view_swipe.cpp
history/history_view_swipe.h
history/history_view_swipe_data.h history/history_view_swipe_data.h
history/view/controls/history_view_characters_limit.cpp history/view/controls/history_view_characters_limit.cpp
history/view/controls/history_view_characters_limit.h history/view/controls/history_view_characters_limit.h
@ -382,6 +380,8 @@ PRIVATE
ui/controls/send_as_button.h ui/controls/send_as_button.h
ui/controls/send_button.cpp ui/controls/send_button.cpp
ui/controls/send_button.h ui/controls/send_button.h
ui/controls/swipe_handler.cpp
ui/controls/swipe_handler.h
ui/controls/tabbed_search.cpp ui/controls/tabbed_search.cpp
ui/controls/tabbed_search.h ui/controls/tabbed_search.h
ui/controls/who_reacted_context_action.cpp ui/controls/who_reacted_context_action.cpp