undo_controller.cpp 960 B

123456789101112131415161718192021222324252627282930313233343536373839
  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. #include "editor/controllers/undo_controller.h"
  8. namespace Editor {
  9. namespace {
  10. using EnableRequest = UndoController::EnableRequest;
  11. } // namespace
  12. UndoController::UndoController() {
  13. }
  14. void UndoController::setCanPerformChanges(
  15. rpl::producer<EnableRequest> &&command) {
  16. std::move(
  17. command
  18. ) | rpl::start_to_stream(_enable, _lifetime);
  19. }
  20. void UndoController::setPerformRequestChanges(rpl::producer<Undo> &&command) {
  21. std::move(
  22. command
  23. ) | rpl::start_to_stream(_perform, _lifetime);
  24. }
  25. rpl::producer<EnableRequest> UndoController::canPerformChanges() const {
  26. return _enable.events();
  27. }
  28. rpl::producer<Undo> UndoController::performRequestChanges() const {
  29. return _perform.events();
  30. }
  31. } // namespace Editor