diff --git a/Telegram/SourceFiles/data/data_session.cpp b/Telegram/SourceFiles/data/data_session.cpp index ac360256cc349c..0f96a964395543 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 9203bf20719505..7cb980877cd882 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 9fbae0300c00b8..f2f86deb22c585 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 0189e81c485e0a..a9849c7bdff6b6 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 730198b6a7b2c5..3343a77058d9c2 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, [] {