[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - 2 commits - desktop/source include/desktop svx/source svx/uiconfig

Markus Mohrhard markus.mohrhard at googlemail.com
Mon Jun 6 08:10:03 UTC 2016


 desktop/source/minidump/minidump.cxx        |    9 +++----
 desktop/source/minidump/minidump_upload.cxx |    4 ++-
 include/desktop/minidump.hxx                |    2 -
 svx/source/dialog/crashreportdlg.cxx        |   29 +++++++++++++++++++----
 svx/source/dialog/crashreportdlg.hxx        |    5 ++++
 svx/uiconfig/ui/crashreportdlg.ui           |   35 +++++++++++++++++++++++++---
 6 files changed, 69 insertions(+), 15 deletions(-)

New commits:
commit 7d351e021aadbf2c75be35a9b1db5185b7f2a7c6
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Fri Jun 3 13:26:46 2016 +0200

    report the crash id back to the user
    
    Change-Id: I5cc1e698294a5674d691529af8cc14e4cd87a711
    Reviewed-on: https://gerrit.libreoffice.org/25865
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    (cherry picked from commit 660b91b07788077cfee9ba309d45db6819c00781)
    Reviewed-on: https://gerrit.libreoffice.org/25933

diff --git a/desktop/source/minidump/minidump.cxx b/desktop/source/minidump/minidump.cxx
index c0d68c2..0075ca9 100644
--- a/desktop/source/minidump/minidump.cxx
+++ b/desktop/source/minidump/minidump.cxx
@@ -82,7 +82,7 @@ std::string generate_json(const std::map<std::string, std::string>& parameters)
     return stream.str();
 }
 
-bool uploadContent(std::map<std::string, std::string>& parameters)
+bool uploadContent(std::map<std::string, std::string>& parameters, std::string& response)
 {
     CURL* curl = curl_easy_init();
     if (!curl)
@@ -175,6 +175,7 @@ bool uploadContent(std::map<std::string, std::string>& parameters)
 
     std::cerr << response_body << " " << error_description << std::endl;
 
+    response = response_body;
 
     if( CURLE_OK != cc )
         return false;
@@ -182,7 +183,7 @@ bool uploadContent(std::map<std::string, std::string>& parameters)
     return true;
 }
 
-bool readConfig(const std::string& iniPath)
+bool readConfig(const std::string& iniPath, std::string& response)
 {
     std::ifstream file(iniPath);
     std::map<std::string, std::string> parameters = readStrings(file);
@@ -200,7 +201,7 @@ bool readConfig(const std::string& iniPath)
         return false;
     }
 
-    return uploadContent(parameters);
+    return uploadContent(parameters, response);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/desktop/source/minidump/minidump_upload.cxx b/desktop/source/minidump/minidump_upload.cxx
index 6a581db..934f1ad 100644
--- a/desktop/source/minidump/minidump_upload.cxx
+++ b/desktop/source/minidump/minidump_upload.cxx
@@ -20,9 +20,11 @@ int main(int argc, char** argv)
     }
 
     std::string iniPath(argv[1]);
-    if (!readConfig(iniPath))
+    std::string response;
+    if (!readConfig(iniPath, response))
         return EXIT_FAILURE;
 
+    std::cout << "Response: " << response << std::endl;
     return EXIT_SUCCESS;
 }
 
diff --git a/include/desktop/minidump.hxx b/include/desktop/minidump.hxx
index 21d52e8..bdd91b2 100644
--- a/include/desktop/minidump.hxx
+++ b/include/desktop/minidump.hxx
@@ -12,7 +12,7 @@
 
 #include <string>
 
-bool readConfig(const std::string& iniPath);
+bool readConfig(const std::string& iniPath, std::string& response);
 
 #endif
 
diff --git a/svx/source/dialog/crashreportdlg.cxx b/svx/source/dialog/crashreportdlg.cxx
index 511199b..00dcedd 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 d1304a1..f090af1 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 1a32df4..d483d61 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>
commit 6f640a0a572bd016f796c30b486b6175f66bc5c9
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Fri Jun 3 12:38:14 2016 +0200

    don't just silently ignore the return value
    
    Change-Id: Ia65c29b61e78de4b908b11cd803d93da4b7e3a2d
    Reviewed-on: https://gerrit.libreoffice.org/25864
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    (cherry picked from commit d2796282721dd2ed4d2c67e4e8982fb32263b55d)
    Reviewed-on: https://gerrit.libreoffice.org/25932

diff --git a/desktop/source/minidump/minidump.cxx b/desktop/source/minidump/minidump.cxx
index 64303d4..c0d68c2 100644
--- a/desktop/source/minidump/minidump.cxx
+++ b/desktop/source/minidump/minidump.cxx
@@ -200,9 +200,7 @@ bool readConfig(const std::string& iniPath)
         return false;
     }
 
-    uploadContent(parameters);
-
-    return true;
+    return uploadContent(parameters);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list