From 4f0d437f1e5bde5f4e193eb81914a87d34c13eba Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sat, 9 Nov 2019 10:14:15 -0800 Subject: Mobile: add ability to directly open support email This is even easier and more obvious than copying the logs on the About page and then manually creating an email and pasting those logs. Signed-off-by: Dirk Hohndel --- mobile-widgets/qmlmanager.cpp | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'mobile-widgets/qmlmanager.cpp') diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp index c27e2ca23..015e72626 100644 --- a/mobile-widgets/qmlmanager.cpp +++ b/mobile-widgets/qmlmanager.cpp @@ -375,13 +375,28 @@ void QMLManager::mergeLocalRepo() void QMLManager::copyAppLogToClipboard() { - /* - * The user clicked the button, so copy the log file - * to the clipboard for easy access - */ + // The About page offers a button to copy logs so they can be pasted elsewhere + QApplication::clipboard()->setText(getCombinedLogs(), QClipboard::Clipboard); +} +bool QMLManager::createSupportEmail() +{ + QString mailToLink = "mailto:in-app-support@subsurface-divelog.org?subject=Subsurface-mobile support request"; + mailToLink += "&body=Please describe your issue here and keep the logs below:\n\n\n\n"; + mailToLink += getCombinedLogs(); + if (QDesktopServices::openUrl(QUrl(mailToLink))) { + appendTextToLog("OS accepted support email"); + return true; + } + appendTextToLog("failed to create support email"); + return false; +} + +// useful for support requests +QString QMLManager::getCombinedLogs() +{ // Add heading and append subsurface.log - QString copyString = "---------- subsurface.log ----------\n"; + QString copyString = "\n---------- subsurface.log ----------\n"; copyString += MessageHandlerModel::self()->logAsString(); // Add heading and append libdivecomputer.log @@ -408,9 +423,7 @@ void QMLManager::copyAppLogToClipboard() copyString += "\n\n---------- truncated ----------\n"; } #endif - - // and copy to clipboard - QApplication::clipboard()->setText(copyString, QClipboard::Clipboard); + return copyString; } void QMLManager::finishSetup() -- cgit v1.2.3-70-g09d2