diff --git a/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_file_preview.cpp b/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_file_preview.cpp index ca4807706..c8f297946 100644 --- a/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_file_preview.cpp +++ b/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_file_preview.cpp @@ -17,7 +17,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL namespace Ui { AbstractSingleFilePreview::AbstractSingleFilePreview(QWidget *parent) -: RpWidget(parent) +: AbstractSinglePreview(parent) , _editMedia(this, st::sendBoxAlbumGroupButtonFile) , _deleteMedia(this, st::sendBoxAlbumGroupButtonFile) { @@ -37,6 +37,10 @@ rpl::producer<> AbstractSingleFilePreview::deleteRequests() const { return _deleteMedia->clicks() | rpl::to_empty; } +rpl::producer<> AbstractSingleFilePreview::modifyRequests() const { + return rpl::never<>(); +} + void AbstractSingleFilePreview::prepareThumbFor( Data &data, const QImage &preview) { diff --git a/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_file_preview.h b/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_file_preview.h index bb3aa14cc..6a4443e66 100644 --- a/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_file_preview.h +++ b/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_file_preview.h @@ -7,20 +7,21 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once -#include "ui/rp_widget.h" +#include "ui/chat/attach/attach_abstract_single_preview.h" #include "base/object_ptr.h" namespace Ui { class IconButton; -class AbstractSingleFilePreview : public RpWidget { +class AbstractSingleFilePreview : public AbstractSinglePreview { public: AbstractSingleFilePreview(QWidget *parent); ~AbstractSingleFilePreview(); - [[nodiscard]] rpl::producer<> deleteRequests() const; - [[nodiscard]] rpl::producer<> editRequests() const; + [[nodiscard]] rpl::producer<> deleteRequests() const override; + [[nodiscard]] rpl::producer<> editRequests() const override; + [[nodiscard]] rpl::producer<> modifyRequests() const override; protected: struct Data { diff --git a/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_media_preview.cpp b/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_media_preview.cpp index 742f3c111..1661aa006 100644 --- a/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_media_preview.cpp +++ b/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_media_preview.cpp @@ -23,7 +23,7 @@ constexpr auto kMinPreviewWidth = 20; } // namespace AbstractSingleMediaPreview::AbstractSingleMediaPreview(QWidget *parent) -: RpWidget(parent) +: AbstractSinglePreview(parent) , _minThumbH(st::sendBoxAlbumGroupSize.height() + st::sendBoxAlbumGroupSkipTop * 2) , _photoEditorButton(base::make_unique_q(this)) diff --git a/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_media_preview.h b/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_media_preview.h index 688d169ac..e2f307e4a 100644 --- a/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_media_preview.h +++ b/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_media_preview.h @@ -7,21 +7,21 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once -#include "ui/rp_widget.h" +#include "ui/chat/attach/attach_abstract_single_preview.h" #include "ui/abstract_button.h" namespace Ui { class AttachControlsWidget; -class AbstractSingleMediaPreview : public RpWidget { +class AbstractSingleMediaPreview : public AbstractSinglePreview { public: AbstractSingleMediaPreview(QWidget *parent); ~AbstractSingleMediaPreview(); - [[nodiscard]] rpl::producer<> deleteRequests() const; - [[nodiscard]] rpl::producer<> editRequests() const; - [[nodiscard]] rpl::producer<> modifyRequests() const; + [[nodiscard]] rpl::producer<> deleteRequests() const override; + [[nodiscard]] rpl::producer<> editRequests() const override; + [[nodiscard]] rpl::producer<> modifyRequests() const override; [[nodiscard]] bool isPhoto() const; diff --git a/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_preview.h b/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_preview.h new file mode 100644 index 000000000..75442ccec --- /dev/null +++ b/Telegram/SourceFiles/ui/chat/attach/attach_abstract_single_preview.h @@ -0,0 +1,24 @@ +/* +This file is part of Telegram Desktop, +the official desktop application for the Telegram messaging service. + +For license and copyright information please follow this link: +https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL +*/ +#pragma once + +#include "ui/rp_widget.h" + +namespace Ui { + +class AbstractSinglePreview : public RpWidget { +public: + using RpWidget::RpWidget; + + [[nodiscard]] virtual rpl::producer<> deleteRequests() const = 0; + [[nodiscard]] virtual rpl::producer<> editRequests() const = 0; + [[nodiscard]] virtual rpl::producer<> modifyRequests() const = 0; + +}; + +} // namespace Ui diff --git a/Telegram/cmake/td_ui.cmake b/Telegram/cmake/td_ui.cmake index 60d21e872..c1fdafa87 100644 --- a/Telegram/cmake/td_ui.cmake +++ b/Telegram/cmake/td_ui.cmake @@ -110,6 +110,7 @@ PRIVATE ui/chat/attach/attach_abstract_single_file_preview.h ui/chat/attach/attach_abstract_single_media_preview.cpp ui/chat/attach/attach_abstract_single_media_preview.h + ui/chat/attach/attach_abstract_single_preview.h ui/chat/attach/attach_album_preview.cpp ui/chat/attach/attach_album_preview.h ui/chat/attach/attach_album_thumbnail.cpp