diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp
index 5b693872..d848c88d 100644
--- a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp
+++ b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp
@@ -364,7 +364,19 @@ Status GRPCService::ReportBug(ServerContext *, ReportBugRequest const *request,
qtProxy_.reportBug(QString::fromStdString(request->ostype()), QString::fromStdString(request->osversion()),
QString::fromStdString(request->emailclient()), QString::fromStdString(request->address()), QString::fromStdString(request->description()),
request->includelogs());
- qtProxy_.sendDelayedEvent(tab.nextBugReportWillSucceed() ? newReportBugSuccessEvent() : newReportBugErrorEvent());
+ SPStreamEvent event;
+ switch (tab.nextBugReportResult()) {
+ case SettingsTab::BugReportResult::Success:
+ event = newReportBugSuccessEvent();
+ break;
+ case SettingsTab::BugReportResult::Error:
+ event = newReportBugErrorEvent();
+ break;
+ case SettingsTab::BugReportResult::DataSharingError:
+ event = newReportBugFallbackEvent();
+ break;
+ }
+ qtProxy_.sendDelayedEvent(event);
qtProxy_.sendDelayedEvent(newReportBugFinishedEvent());
return Status::OK;
diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.cpp b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.cpp
index aa4c744a..fe596bc6 100644
--- a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.cpp
+++ b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.cpp
@@ -323,8 +323,8 @@ void SettingsTab::exportTLSCertificates(QString const &folderPath) {
//****************************************************************************************************************************************************
/// \return The state of the check box.
//****************************************************************************************************************************************************
-bool SettingsTab::nextBugReportWillSucceed() const {
- return ui_.checkNextBugReportWillSucceed->isChecked();
+SettingsTab::BugReportResult SettingsTab::nextBugReportResult() const {
+ return BugReportResult(ui_.comboBugReportResult->currentIndex());
}
@@ -522,7 +522,7 @@ void SettingsTab::resetUI() {
ui_.editAddress->setText(QString());
ui_.editDescription->setPlainText(QString());
ui_.labelIncludeLogsValue->setText(QString());
- ui_.checkNextBugReportWillSucceed->setChecked(true);
+ ui_.comboBugReportResult->setCurrentIndex(0);
ui_.editHostname->setText("localhost");
ui_.spinPortIMAP->setValue(1143);
diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.h b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.h
index ce4fa1e8..edeb5ae8 100644
--- a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.h
+++ b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.h
@@ -35,6 +35,12 @@ public: // data types.
Failure = 2
}; ///< Enumeration for the result of a TLS certificate installation.
+ enum class BugReportResult {
+ Success = 0,
+ Error = 1,
+ DataSharingError = 2,
+ }; ///< Enumeration for the result of bug report sending
+
public: // member functions.
explicit SettingsTab(QWidget *parent = nullptr); ///< Default constructor.
SettingsTab(SettingsTab const &) = delete; ///< Disabled copy-constructor.
@@ -60,7 +66,7 @@ public: // member functions.
QString releaseNotesPageLink() const; ///< Get the content of the 'Release Notes Page Link' edit.
QString dependencyLicenseLink() const; ///< Get the content of the 'Dependency License Link' edit.
QString landingPageLink() const; ///< Get the content of the 'Landing Page Link' edit.
- bool nextBugReportWillSucceed() const; ///< Get the status of the 'Next Bug Report Will Fail' check box.
+ BugReportResult nextBugReportResult() const; ///< Get the value of the 'Next bug report result' combo box.
bool isTLSCertificateInstalled() const; ///< Get the status of the 'TLS Certificate is installed' check box.
TLSCertInstallResult nextTLSCertInstallResult() const; ///< Get the value of the 'Next TLS Certificate install result' combo box.
bool nextTLSCertExportWillSucceed() const; ///< Get the status of the 'Next TLS Cert export will succeed' check box.
diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.ui b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.ui
index f03000a6..f0034bd5 100644
--- a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.ui
+++ b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.ui
@@ -925,11 +925,47 @@
-
-
-
- Next Bug Report Will Succeed
-
-
+
+
-
+
+
+ Next bug report result
+
+
+
+ -
+
+
-
+
+ Success
+
+
+ -
+
+ Error
+
+
+ -
+
+ Data sharing error
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 1
+
+
+
+
+
-
@@ -1088,7 +1124,6 @@
editEmailClient
spinEventDelay
checkIsPortFree
- checkNextBugReportWillSucceed
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.cpp b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.cpp
index 6d2b2db8..9613f8b4 100644
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.cpp
+++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.cpp
@@ -202,6 +202,18 @@ SPStreamEvent newReportBugErrorEvent() {
}
+//****************************************************************************************************************************************************
+/// \return The event.
+//****************************************************************************************************************************************************
+SPStreamEvent newReportBugFallbackEvent() {
+ auto event = new grpc::ReportBugFallbackEvent;
+ auto appEvent = new grpc::AppEvent;
+ appEvent->set_allocated_reportbugfallback(event);
+ return wrapAppEvent(appEvent);
+}
+
+
+
//****************************************************************************************************************************************************
/// \return The event.
//****************************************************************************************************************************************************
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.h
index 0beef1dd..3a8651f3 100644
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.h
+++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.h
@@ -34,6 +34,7 @@ SPStreamEvent newResetFinishedEvent(); ///< Create a new ResetFinishedEvent even
SPStreamEvent newReportBugFinishedEvent(); ///< Create a new ReportBugFinishedEvent event.
SPStreamEvent newReportBugSuccessEvent(); ///< Create a new ReportBugSuccessEvent event.
SPStreamEvent newReportBugErrorEvent(); ///< Create a new ReportBugErrorEvent event.
+SPStreamEvent newReportBugFallbackEvent(); ///< Create a new ReportBugFallbackEvent event.
SPStreamEvent newCertificateInstallSuccessEvent(); ///< Create a new CertificateInstallSuccessEvent event.
SPStreamEvent newCertificateInstallCanceledEvent(); ///< Create a new CertificateInstallCanceledEvent event.
SPStreamEvent newCertificateInstallFailedEvent(); ///< Create anew CertificateInstallFailedEvent event.