chat_search_empty.h 885 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. This file is part of Telegram Desktop,
  3. the official desktop application for the Telegram messaging service.
  4. For license and copyright information please follow this link:
  5. https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
  6. */
  7. #pragma once
  8. #include "ui/rp_widget.h"
  9. namespace Dialogs {
  10. enum class SearchEmptyIcon {
  11. Search,
  12. NoResults,
  13. };
  14. class SearchEmpty final : public Ui::RpWidget {
  15. public:
  16. using Icon = SearchEmptyIcon;
  17. SearchEmpty(
  18. QWidget *parent,
  19. Icon icon,
  20. rpl::producer<TextWithEntities> text);
  21. void setMinimalHeight(int minimalHeight);
  22. void animate();
  23. [[nodiscard]] rpl::producer<ClickHandlerPtr> handlerActivated() const {
  24. return _handlerActivated.events();
  25. }
  26. private:
  27. void setup(Icon icon, rpl::producer<TextWithEntities> text);
  28. Fn<void()> _animate;
  29. rpl::event_stream<ClickHandlerPtr> _handlerActivated;
  30. };
  31. } // namespace Dialogs