summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-06-03 13:26:46 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-06-04 08:42:18 +0000
commit660b91b07788077cfee9ba309d45db6819c00781 (patch)
tree14c2ac49b139ac500b0d74d9c28cbbff09ba2ecd /svx
parentd2796282721dd2ed4d2c67e4e8982fb32263b55d (diff)
report the crash id back to the user
Change-Id: I5cc1e698294a5674d691529af8cc14e4cd87a711 Reviewed-on: https://gerrit.libreoffice.org/25865 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'svx')
-rw-r--r--svx/source/dialog/crashreportdlg.cxx29
-rw-r--r--svx/source/dialog/crashreportdlg.hxx5
-rw-r--r--svx/uiconfig/ui/crashreportdlg.ui35
3 files changed, 61 insertions, 8 deletions
diff --git a/svx/source/dialog/crashreportdlg.cxx b/svx/source/dialog/crashreportdlg.cxx
index 511199b4bf5f..00dcedd0f76e 100644
--- a/svx/source/dialog/crashreportdlg.cxx
+++ b/svx/source/dialog/crashreportdlg.cxx
@@ -23,9 +23,13 @@ CrashReportDialog::CrashReportDialog(vcl::Window* pParent):
{
get(mpBtnSend, "btn_send");
get(mpBtnCancel, "btn_cancel");
+ get(mpBtnClose, "btn_close");
+ get(mpEditPreUpload, "ed_pre");
+ get(mpEditPostUpload, "ed_post");
mpBtnSend->SetClickHdl(LINK(this, CrashReportDialog, BtnHdl));
mpBtnCancel->SetClickHdl(LINK(this, CrashReportDialog, BtnHdl));
+ mpBtnClose->SetClickHdl(LINK(this, CrashReportDialog, BtnHdl));
}
CrashReportDialog::~CrashReportDialog()
@@ -37,6 +41,9 @@ void CrashReportDialog::dispose()
{
mpBtnSend.clear();
mpBtnCancel.clear();
+ mpBtnClose.clear();
+ mpEditPreUpload.clear();
+ mpEditPostUpload.clear();
Dialog::dispose();
}
@@ -59,17 +66,29 @@ IMPL_LINK_TYPED(CrashReportDialog, BtnHdl, Button*, pBtn, void)
{
std::string ini_path = CrashReporter::getIniFileName();
- readConfig(ini_path);
- // TODO: moggi: return the id for the user to look it up
- Close();
+ std::string response;
+ bool bSuccess = readConfig(ini_path, response);
+
+ OUString aCrashID = OUString::createFromAscii(response.c_str());
+
+ if (bSuccess)
+ mpEditPostUpload->SetText(mpEditPostUpload->GetText() + " " + aCrashID);
+ else
+ mpEditPostUpload->SetText(mpEditPostUpload->GetText() + " Error!");
+
+ mpBtnClose->Show();
+ mpEditPreUpload->Hide();
+ mpEditPostUpload->Show();
+ mpBtnSend->Hide();
+ mpBtnCancel->Hide();
}
else if (pBtn == mpBtnCancel.get())
{
Close();
}
- else
+ else if (pBtn == mpBtnClose.get())
{
- assert(false);
+ Close();
}
}
diff --git a/svx/source/dialog/crashreportdlg.hxx b/svx/source/dialog/crashreportdlg.hxx
index d1304a1063e4..f090af1211a6 100644
--- a/svx/source/dialog/crashreportdlg.hxx
+++ b/svx/source/dialog/crashreportdlg.hxx
@@ -12,6 +12,8 @@
#include <vcl/dialog.hxx>
#include <vcl/button.hxx>
+#include <vcl/fixed.hxx>
+#include <vcl/edit.hxx>
class CrashReportDialog : public Dialog
{
@@ -27,6 +29,9 @@ private:
VclPtr<Button> mpBtnSend;
VclPtr<Button> mpBtnCancel;
+ VclPtr<Button> mpBtnClose;
+ VclPtr<FixedText> mpEditPreUpload;
+ VclPtr<FixedText> mpEditPostUpload;
DECL_LINK_TYPED(BtnHdl, Button*, void);
};
diff --git a/svx/uiconfig/ui/crashreportdlg.ui b/svx/uiconfig/ui/crashreportdlg.ui
index 1a32df49e297..d483d61ad39a 100644
--- a/svx/uiconfig/ui/crashreportdlg.ui
+++ b/svx/uiconfig/ui/crashreportdlg.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.19.0 -->
+<!-- Generated with glade 3.18.3 -->
<interface>
<requires lib="gtk+" version="3.12"/>
<object class="GtkDialog" id="CrashReportDialog">
@@ -46,15 +46,27 @@
<property name="position">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkButton" id="btn_close">
+ <property name="label" translatable="yes">Close</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">0</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="label1">
+ <object class="GtkLabel" id="ed_pre">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">We are sorry but it seems that LibreOffice crashed the last time.
@@ -65,10 +77,27 @@ You can help us fix this issue by sending the crash report to the LibreOffice cr
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="ed_post">
+ <property name="can_focus">False</property>
+ <property name="valign">center</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">The crash report was successfully uploaded.
+You can soon find the report on crashreport.libreoffice.org.
+The report can be found by</property>
+ <property name="wrap">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
+ <object class="GtkActionGroup" id="actiongroup1"/>
</interface>