39808986 | 2014-03-29 04:12:02 | Timothy Pearson |
Add preliminary support for uploading crash reports to a central server without requiring Bugzilla |
||
A drkonqi/bugdescription.cpp A drkonqi/bugdescription.h A drkonqi/bugdescriptiondialog.cpp A drkonqi/bugdescriptiondialog.h A drkonqi/sha1.cc A drkonqi/sha1.h M drkonqi/CMakeLists.txt M drkonqi/toplevel.cpp M drkonqi/toplevel.h |
||
diff --git a/drkonqi/CMakeLists.txt b/drkonqi/CMakeLists.txt index 47866c4..6296ae3 100644 --- a/drkonqi/CMakeLists.txt +++ b/drkonqi/CMakeLists.txt @@ -31,7 +31,9 @@ tde_add_executable( drkonqi AUTOMOC SOURCES krashdcopinterface.skel main.cpp debugger.cpp - krashconf.cpp drbugreport.cpp backtrace.cpp toplevel.cpp + bugdescription.cpp bugdescriptiondialog.cpp + sha1.cc krashconf.cpp drbugreport.cpp + backtrace.cpp toplevel.cpp LINK tdeio-shared DESTINATION ${BIN_INSTALL_DIR} ) diff --git a/drkonqi/bugdescription.cpp b/drkonqi/bugdescription.cpp new file mode 100644 index 0000000..620ae95 --- /dev/null +++ b/drkonqi/bugdescription.cpp @@ -0,0 +1,75 @@ +/* This file is part of the TDE project + Copyright (C) 2014 Timothy Pearson <kb9vqf@...> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include <tqmultilineedit.h> +#include <tqlineedit.h> +#include <tqlabel.h> + +#include <tdemessagebox.h> +#include <tdelocale.h> + +#include "bugdescription.moc" +#include "bugdescription.h" + +BugDescription::BugDescription(TQWidget *parent, bool modal, + const TDEAboutData *aboutData) + : BugDescriptionDialog(parent, modal, aboutData) +{ +} + +void BugDescription::setText(const TQString &str) +{ + m_lineedit->setText(str); + m_startstring = str.simplifyWhiteSpace(); +} + +TQString BugDescription::emailAddress() +{ + return m_email->text(); +} + +TQString BugDescription::crashDescription() +{ + return m_lineedit->text(); +} + +void BugDescription::fullReportViewMode( bool enabled ) { + if (enabled) { + m_email->hide(); + m_emailLabel->hide(); + m_descriptionLabel->hide(); + m_lineedit->setReadOnly(true); + showButtonCancel(false); + setCaption(i18n("Crash Report")); + } + else { + m_email->show(); + m_emailLabel->show(); + m_descriptionLabel->show(); + m_lineedit->setReadOnly(false); + showButtonCancel(true); + setCaption(i18n("Bug Description")); + } +} + +void BugDescription::slotOk() +{ + BugDescriptionDialog::slotOk(); +} + diff --git a/drkonqi/bugdescription.h b/drkonqi/bugdescription.h new file mode 100644 index 0000000..04d31d3 --- /dev/null +++ b/drkonqi/bugdescription.h @@ -0,0 +1,58 @@ +/* This file is part of the TDE project + Copyright (C) 2014 Timothy Pearson <kb9vqf@...> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef BUGDESCRIPTION_H +#define BUGDESCRIPTION_H + +class TDEAboutData; + +#include "bugdescriptiondialog.h" + +class BugDescription : public BugDescriptionDialog +{ + TQ_OBJECT + + public: + /** + * Constructor. + */ + BugDescription(TQWidget *parent = 0, bool modal = true, const TDEAboutData *aboutData = 0); + + public: + /** + * Allows the debugger to set the default text in the editor. + */ + void setText(const TQString &str); + + TQString emailAddress(); + TQString crashDescription(); + + void fullReportViewMode( bool enabled ); + + protected slots: + /** + * OK has been clicked + */ + virtual void slotOk( void ); + + private: + TQString m_startstring; +}; + +#endif diff --git a/drkonqi/bugdescriptiondialog.cpp b/drkonqi/bugdescriptiondialog.cpp new file mode 100644 index 0000000..6d6b2d7 --- /dev/null +++ b/drkonqi/bugdescriptiondialog.cpp @@ -0,0 +1,121 @@ +/* This file is part of the TDE project + Copyright (C) 2014 Timothy Pearson <kb9vqf@...> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include <tqhbuttongroup.h> +#include <tqpushbutton.h> +#include <tqlabel.h> +#include <tqlayout.h> +#include <tqmultilineedit.h> +#include <tqradiobutton.h> +#include <tqregexp.h> + +#include <tdeapplication.h> +#include <tdeconfig.h> +#include <kdebug.h> +#include <klineedit.h> +#include <tdelocale.h> +#include <tdemessagebox.h> +#include <kprocess.h> +#include <kstandarddirs.h> +#include <kstdguiitem.h> +#include <kurl.h> +#include <kurllabel.h> + +#include "bugdescriptiondialog.h" + +#include <stdio.h> +#include <pwd.h> +#include <unistd.h> + +#include <sys/utsname.h> + +#include <kcombobox.h> +#include <config.h> +#include <tdetempfile.h> +#include <tqtextstream.h> +#include <tqfile.h> + +class BugDescriptionDialogPrivate { + public: +}; + +BugDescriptionDialog::BugDescriptionDialog( TQWidget * parentw, bool modal, const TDEAboutData *aboutData ) + : KDialogBase( Plain, + i18n("Bug Description"), + Ok | Cancel, + Ok, + parentw, + "BugDescriptionDialog", + modal, // modal + true // separator + ) +{ + d = new BugDescriptionDialogPrivate; + + TQWidget * parent = plainPage(); + + TQVBoxLayout * lay = new TQVBoxLayout( parent, 0, spacingHint() ); + + TQGridLayout *glay = new TQGridLayout( lay, 4, 3 ); + glay->setColStretch( 1, 10 ); + glay->setColStretch( 2, 10 ); + + showButtonOK( true ); + + // Email + TQHBoxLayout * hlay = new TQHBoxLayout( lay ); + m_emailLabel = new TQLabel( i18n("Contact Email: "), parent ); + hlay->addWidget( m_emailLabel ); ** Diff limit reached (max: 250 lines) ** |