From 09966fb29148e6b99fabca554157e1a094a1e342 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Tue, 9 Mar 2021 12:33:33 +0300 Subject: [PATCH] Removed Q_OBJECT from Storage::Uploader. --- Telegram/SourceFiles/storage/file_upload.cpp | 19 ++++++++----------- Telegram/SourceFiles/storage/file_upload.h | 8 ++------ 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/Telegram/SourceFiles/storage/file_upload.cpp b/Telegram/SourceFiles/storage/file_upload.cpp index d1afc70647..cf6b232ed9 100644 --- a/Telegram/SourceFiles/storage/file_upload.cpp +++ b/Telegram/SourceFiles/storage/file_upload.cpp @@ -153,12 +153,9 @@ const QString &Uploader::File::filename() const { } Uploader::Uploader(not_null api) -: _api(api) { - nextTimer.setSingleShot(true); - connect(&nextTimer, SIGNAL(timeout()), this, SLOT(sendNext())); - stopSessionsTimer.setSingleShot(true); - connect(&stopSessionsTimer, SIGNAL(timeout()), this, SLOT(stopSessions())); - +: _api(api) +, _nextTimer([=] { sendNext(); }) +, _stopSessionsTimer([=] { stopSessions(); }) { const auto session = &_api->session(); photoReady( ) | rpl::start_with_next([=](const UploadedPhoto &data) { @@ -423,16 +420,16 @@ void Uploader::sendNext() { return; } - bool stopping = stopSessionsTimer.isActive(); + const auto stopping = _stopSessionsTimer.isActive(); if (queue.empty()) { if (!stopping) { - stopSessionsTimer.start(kKillSessionTimeout); + _stopSessionsTimer.callOnce(kKillSessionTimeout); } return; } if (stopping) { - stopSessionsTimer.stop(); + _stopSessionsTimer.cancel(); } auto i = uploadingId.msg ? queue.find(uploadingId) : queue.begin(); if (!uploadingId.msg) { @@ -625,7 +622,7 @@ void Uploader::sendNext() { parts.erase(part); } - nextTimer.start(kUploadRequestInterval); + _nextTimer.callOnce(kUploadRequestInterval); } void Uploader::cancel(const FullMsgId &msgId) { @@ -666,7 +663,7 @@ void Uploader::clear() { _api->instance().stopSession(MTP::uploadDcId(i)); sentSizes[i] = 0; } - stopSessionsTimer.stop(); + _stopSessionsTimer.cancel(); } void Uploader::partLoaded(const MTPBool &result, mtpRequestId requestId) { diff --git a/Telegram/SourceFiles/storage/file_upload.h b/Telegram/SourceFiles/storage/file_upload.h index 9c319dcea1..462abe64ed 100644 --- a/Telegram/SourceFiles/storage/file_upload.h +++ b/Telegram/SourceFiles/storage/file_upload.h @@ -8,10 +8,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #pragma once #include "api/api_common.h" +#include "base/timer.h" #include "mtproto/facade.h" -#include - class ApiWrap; struct FileLoadResult; struct SendMediaReady; @@ -64,8 +63,6 @@ struct UploadSecureDone { }; class Uploader final : public QObject { - Q_OBJECT - public: explicit Uploader(not_null api); ~Uploader(); @@ -114,7 +111,6 @@ public: return _secureFailed.events(); } -public Q_SLOTS: void unpause(); void sendNext(); void stopSessions(); @@ -148,7 +144,7 @@ private: FullMsgId _pausedId; std::map queue; std::map uploaded; - QTimer nextTimer, stopSessionsTimer; + base::Timer _nextTimer, _stopSessionsTimer; rpl::event_stream _photoReady; rpl::event_stream _documentReady;