mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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 <dirk@hohndel.org>
This commit is contained in:
parent
80f123ce2a
commit
4f0d437f1e
3 changed files with 44 additions and 17 deletions
|
@ -434,6 +434,27 @@ if you have network connectivity and want to sync your data to cloud storage."),
|
||||||
detailsWindow.endEditMode()
|
detailsWindow.endEditMode()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Kirigami.Action {
|
||||||
|
icon {
|
||||||
|
name: ":/icons/ic_help_outline.svg"
|
||||||
|
}
|
||||||
|
text: qsTr("Help")
|
||||||
|
onTriggered: {
|
||||||
|
Qt.openUrlExternally("https://subsurface-divelog.org/documentation/subsurface-mobile-v2-user-manual/")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Kirigami.Action {
|
||||||
|
icon {
|
||||||
|
name: ":/icons/ic_help_outline.svg"
|
||||||
|
}
|
||||||
|
text: qsTr("Ask for support")
|
||||||
|
onTriggered: {
|
||||||
|
if (!manager.createSupportEmail()) {
|
||||||
|
manager.copyAppLogToClipboard()
|
||||||
|
showPassiveNotification(qsTr("failed to open email client, please manually create support email to support@subsurface-divelog.org - the logs have been copied to the clipboard and can be pasted into that email."), 6000)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
Kirigami.Action {
|
Kirigami.Action {
|
||||||
icon {
|
icon {
|
||||||
name: ":/icons/ic_adb.svg"
|
name: ":/icons/ic_adb.svg"
|
||||||
|
@ -477,15 +498,6 @@ if you have network connectivity and want to sync your data to cloud storage."),
|
||||||
pageStack.push(themetest)
|
pageStack.push(themetest)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
Kirigami.Action {
|
|
||||||
icon {
|
|
||||||
name: ":/icons/ic_help_outline.svg"
|
|
||||||
}
|
|
||||||
text: qsTr("Help")
|
|
||||||
onTriggered: {
|
|
||||||
Qt.openUrlExternally("https://subsurface-divelog.org/documentation/subsurface-mobile-v2-user-manual/")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
] // end actions
|
] // end actions
|
||||||
Image {
|
Image {
|
||||||
|
|
|
@ -375,13 +375,28 @@ void QMLManager::mergeLocalRepo()
|
||||||
|
|
||||||
void QMLManager::copyAppLogToClipboard()
|
void QMLManager::copyAppLogToClipboard()
|
||||||
{
|
{
|
||||||
/*
|
// The About page offers a button to copy logs so they can be pasted elsewhere
|
||||||
* The user clicked the button, so copy the log file
|
QApplication::clipboard()->setText(getCombinedLogs(), QClipboard::Clipboard);
|
||||||
* to the clipboard for easy access
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
|
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
|
// Add heading and append subsurface.log
|
||||||
QString copyString = "---------- subsurface.log ----------\n";
|
QString copyString = "\n---------- subsurface.log ----------\n";
|
||||||
copyString += MessageHandlerModel::self()->logAsString();
|
copyString += MessageHandlerModel::self()->logAsString();
|
||||||
|
|
||||||
// Add heading and append libdivecomputer.log
|
// Add heading and append libdivecomputer.log
|
||||||
|
@ -408,9 +423,7 @@ void QMLManager::copyAppLogToClipboard()
|
||||||
copyString += "\n\n---------- truncated ----------\n";
|
copyString += "\n\n---------- truncated ----------\n";
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
return copyString;
|
||||||
// and copy to clipboard
|
|
||||||
QApplication::clipboard()->setText(copyString, QClipboard::Clipboard);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void QMLManager::finishSetup()
|
void QMLManager::finishSetup()
|
||||||
|
|
|
@ -185,7 +185,9 @@ public slots:
|
||||||
void populateGpsData();
|
void populateGpsData();
|
||||||
void cancelDownloadDC();
|
void cancelDownloadDC();
|
||||||
void clearGpsData();
|
void clearGpsData();
|
||||||
|
QString getCombinedLogs();
|
||||||
void copyAppLogToClipboard();
|
void copyAppLogToClipboard();
|
||||||
|
bool createSupportEmail();
|
||||||
void finishSetup();
|
void finishSetup();
|
||||||
void openLocalThenRemote(QString url);
|
void openLocalThenRemote(QString url);
|
||||||
void mergeLocalRepo();
|
void mergeLocalRepo();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue