From a2007718683ffa3934bc7a01e23372001e43eab9 Mon Sep 17 00:00:00 2001
From: John Preston <johnprestonmail@gmail.com>
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 ac360256c..0f96a9643 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 9203bf207..7cb980877 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 9fbae0300..f2f86deb2 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<SuggestBox>(), LayerOption::KeepOther);
 }
 
+void ClearSuggestStart() {
+	auto settings = Local::ReadExportSettings();
+	settings.availableAt = 0;
+	Local::WriteExportSettings(settings);
+}
+
 PanelController::PanelController(not_null<ControllerWrap*> process)
 : _process(process)
 , _settings(std::make_unique<Settings>(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 0189e81c4..a9849c7bd 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 730198b6a..3343a7705 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<ConfirmBox>(text, [] {