diff --git a/src/libcalamaresui/Branding.cpp b/src/libcalamaresui/Branding.cpp index 8145ad57c..320dccc93 100644 --- a/src/libcalamaresui/Branding.cpp +++ b/src/libcalamaresui/Branding.cpp @@ -86,6 +86,7 @@ const QStringList Branding::s_styleEntryStrings = "sidebarTextSelect", "sidebarTextHighlight" }; + // clang-format on // *INDENT-ON* @@ -510,6 +511,11 @@ Branding::initSimpleSettings( const YAML::Node& doc ) { m_windowHeight = WindowDimension( CalamaresUtils::windowPreferredHeight, WindowDimensionUnit::Pixies ); } + + m_logUploadEnable = doc[ "logUpload.enable" ].as< bool >( false ); + m_logUploadURL = getString( doc, "logUpload.url") ; + m_logUploadPort = doc[ "logUpload.port" ].as< int >(); + m_logUploadStyle= getString(doc, "logUpload.style" ); } void diff --git a/src/libcalamaresui/Branding.h b/src/libcalamaresui/Branding.h index b03df3acd..f5c8fb78e 100644 --- a/src/libcalamaresui/Branding.h +++ b/src/libcalamaresui/Branding.h @@ -42,6 +42,7 @@ public: * e.g. *Branding::ProductName to get the string value for * the product name. */ + enum StringEntry { ProductName, @@ -214,6 +215,13 @@ public: */ void setGlobals( GlobalStorage* globalStorage ) const; + + //Paste functionality related + bool logUploadEnable() { return m_logUploadEnable; }; + QString logUploadURL() { return m_logUploadURL; }; + int logUploadPort() { return m_logUploadPort; }; + QString logUploadStyle() { return m_logUploadStyle; }; + public slots: QString string( StringEntry stringEntry ) const; QString versionedName() const { return string( VersionedName ); } @@ -261,6 +269,11 @@ private: bool m_welcomeStyleCalamares; bool m_welcomeExpandingLogo; + bool m_logUploadEnable; + QString m_logUploadURL; + int m_logUploadPort; + QString m_logUploadStyle; + WindowExpansion m_windowExpansion; WindowDimension m_windowHeight, m_windowWidth; WindowPlacement m_windowPlacement; diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index f43152209..770d79d89 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -140,7 +140,7 @@ ViewManager::insertViewStep( int before, ViewStep* step ) void ViewManager::onInstallationFailed( const QString& message, const QString& details ) { - bool shouldOfferWebPaste = false; // TODO: config var + bool shouldOfferWebPaste = Calamares::Branding::instance()->logUploadEnable(); // TODO: config var cError() << "Installation failed:"; cDebug() << "- message:" << message; @@ -183,8 +183,9 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail connect( msgBox, &QMessageBox::buttonClicked, [msgBox]( QAbstractButton* button ) { if ( msgBox->buttonRole( button ) == QMessageBox::ButtonRole::YesRole ) { - // TODO: host and port should be configurable - QString pasteUrlMsg = CalamaresUtils::sendLogToPastebin( msgBox, QStringLiteral( "termbin.com" ), 9999 ); + QString pasteURLHost = Calamares::Branding::instance()->logUploadURL(); + int pasteURLPort = Calamares::Branding::instance()->logUploadPort(); + QString pasteUrlMsg = CalamaresUtils::sendLogToPastebin( msgBox, pasteURLHost, pasteURLPort ); QString pasteUrlTitle = tr( "Install Log Paste URL" ); if ( pasteUrlMsg.isEmpty() )