diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 3d0fccb78..b22d34c88 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -27,6 +27,7 @@ #include #include +#include #include #include #include @@ -189,16 +190,26 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail connect( msgBox, &QMessageBox::buttonClicked, [msgBox]( QAbstractButton* button ) { if ( msgBox->buttonRole( button ) == QMessageBox::ButtonRole::YesRole ) { - QString pasteUrlMsg = CalamaresUtils::Paste::doLogUpload( msgBox ); - - QString pasteUrlTitle = tr( "Install Log Paste URL" ); - if ( pasteUrlMsg.isEmpty() ) + QString pasteUrl = CalamaresUtils::Paste::doLogUpload( msgBox ); + QString pasteUrlMessage; + if ( pasteUrl.isEmpty() ) { - pasteUrlMsg = tr( "The upload was unsuccessful. No web-paste was done." ); + pasteUrlMessage = tr( "The upload was unsuccessful. No web-paste was done." ); + } + else + { + QClipboard* clipboard = QApplication::clipboard(); + clipboard->setText( pasteUrl, QClipboard::Clipboard ); + + if ( clipboard->supportsSelection() ) + { + clipboard->setText( pasteUrl, QClipboard::Selection ); + } + QString pasteUrlFmt = tr( "Install log posted to\n\n%1\n\nLink copied to clipboard" ); + pasteUrlMessage = pasteUrlFmt.arg( pasteUrl ); } - // TODO: make the URL clickable, or copy it to the clipboard automatically - QMessageBox::critical( nullptr, pasteUrlTitle, pasteUrlMsg ); + QMessageBox::critical( nullptr, tr( "Install Log Paste URL" ), pasteUrlMessage ); } QApplication::quit(); } ); diff --git a/src/libcalamaresui/utils/Paste.cpp b/src/libcalamaresui/utils/Paste.cpp index e6ac63f88..d723e182c 100644 --- a/src/libcalamaresui/utils/Paste.cpp +++ b/src/libcalamaresui/utils/Paste.cpp @@ -12,10 +12,7 @@ #include "Branding.h" #include "utils/Logger.h" -#include -#include #include -#include #include #include @@ -82,29 +79,16 @@ ficheLogUpload( const QUrl& serverUrl, QObject* parent ) socket->close(); QUrl pasteUrl = QUrl( QString( responseText ).trimmed(), QUrl::StrictMode ); - QString pasteUrlStr = pasteUrl.toString(); - - QString pasteUrlFmt = parent->tr( "Install log posted to\n\n%1\n\nLink copied to clipboard" ); - QString pasteUrlMsg = pasteUrlFmt.arg( pasteUrlStr ); - if ( pasteUrl.isValid() && pasteUrl.host() == serverUrl.host() ) { - QClipboard* clipboard = QApplication::clipboard(); - clipboard->setText( pasteUrlStr, QClipboard::Clipboard ); - - if ( clipboard->supportsSelection() ) - { - clipboard->setText( pasteUrlStr, QClipboard::Selection ); - } + cDebug() << Logger::SubEntry << "Paste server results:" << pasteUrl; + return pasteUrl.toString(); } else { cError() << "No data from paste server"; return QString(); } - - cDebug() << Logger::SubEntry << "Paste server results:" << pasteUrlMsg; - return pasteUrlMsg; } QString