From a2007718683ffa3934bc7a01e23372001e43eab9 Mon Sep 17 00:00:00 2001 From: John Preston Date: Sat, 23 Jun 2018 22:21:32 +0100 Subject: [PATCH] Don't suggest export if one is running. --- Telegram/SourceFiles/data/data_session.cpp | 9 ++++++--- Telegram/SourceFiles/export/export_controller.cpp | 8 +------- .../export/view/export_view_panel_controller.cpp | 11 +++++++---- .../export/view/export_view_panel_controller.h | 1 + Telegram/SourceFiles/settings/settings_widget.cpp | 3 +++ 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Telegram/SourceFiles/data/data_session.cpp b/Telegram/SourceFiles/data/data_session.cpp index ac360256cc..0f96a96439 100644 --- a/Telegram/SourceFiles/data/data_session.cpp +++ b/Telegram/SourceFiles/data/data_session.cpp @@ -92,17 +92,20 @@ void Session::suggestStartExport() { if (_exportAvailableAt <= 0) { return; } + const auto now = unixtime(); const auto left = (_exportAvailableAt <= now) ? 0 : (_exportAvailableAt - now); - if (!left) { - Export::View::SuggestStart(); - } else { + if (left) { App::CallDelayed( std::min(left + 5, 3600) * TimeMs(1000), _session, [=] { suggestStartExport(); }); + } else if (_export) { + Export::View::ClearSuggestStart(); + } else { + Export::View::SuggestStart(); } } diff --git a/Telegram/SourceFiles/export/export_controller.cpp b/Telegram/SourceFiles/export/export_controller.cpp index 9203bf2071..7cb980877c 100644 --- a/Telegram/SourceFiles/export/export_controller.cpp +++ b/Telegram/SourceFiles/export/export_controller.cpp @@ -613,17 +613,11 @@ void Controller::fillMessagesState( int addIndex, int addCount) const { const auto &dialog = info.list[index]; - auto count = 0; - for (const auto &dialog : info.list) { - if (dialog.name.isEmpty()) { - ++count; - } - } result.entityIndex = index + addIndex; result.entityCount = info.list.size() + addCount; result.entityName = dialog.name; result.itemIndex = _messagesWritten + progress.itemIndex; - result.itemCount = std::max(_messagesCount, result.entityIndex); + result.itemCount = std::max(_messagesCount, result.itemIndex); result.bytesType = ProcessingState::FileType::File; // TODO if (!progress.path.isEmpty()) { const auto last = progress.path.lastIndexOf('/'); diff --git a/Telegram/SourceFiles/export/view/export_view_panel_controller.cpp b/Telegram/SourceFiles/export/view/export_view_panel_controller.cpp index 9fbae0300c..f2f86deb22 100644 --- a/Telegram/SourceFiles/export/view/export_view_panel_controller.cpp +++ b/Telegram/SourceFiles/export/view/export_view_panel_controller.cpp @@ -51,10 +51,7 @@ void SuggestBox::prepare() { return; } _cleared = true; - - auto settings = Local::ReadExportSettings(); - settings.availableAt = 0; - Local::WriteExportSettings(settings); + ClearSuggestStart(); }; addButton(langFactory(lng_box_ok), [=] { @@ -92,6 +89,12 @@ void SuggestStart() { Ui::show(Box(), LayerOption::KeepOther); } +void ClearSuggestStart() { + auto settings = Local::ReadExportSettings(); + settings.availableAt = 0; + Local::WriteExportSettings(settings); +} + PanelController::PanelController(not_null process) : _process(process) , _settings(std::make_unique(Local::ReadExportSettings())) diff --git a/Telegram/SourceFiles/export/view/export_view_panel_controller.h b/Telegram/SourceFiles/export/view/export_view_panel_controller.h index 0189e81c48..a9849c7bdf 100644 --- a/Telegram/SourceFiles/export/view/export_view_panel_controller.h +++ b/Telegram/SourceFiles/export/view/export_view_panel_controller.h @@ -22,6 +22,7 @@ namespace Export { namespace View { void SuggestStart(); +void ClearSuggestStart(); class Panel; diff --git a/Telegram/SourceFiles/settings/settings_widget.cpp b/Telegram/SourceFiles/settings/settings_widget.cpp index 730198b6a7..3343a77058 100644 --- a/Telegram/SourceFiles/settings/settings_widget.cpp +++ b/Telegram/SourceFiles/settings/settings_widget.cpp @@ -50,6 +50,9 @@ void fillCodes() { Messenger::Instance().onSwitchDebugMode(); })); }); + Codes.insert(qsl("viewlogs"), [] { + File::ShowInFolder(cWorkingDir() + "log.txt"); + }); Codes.insert(qsl("testmode"), [] { auto text = cTestMode() ? qsl("Do you want to disable TEST mode?") : qsl("Do you want to enable TEST mode?\n\nYou will be switched to test cloud."); Ui::show(Box(text, [] {