You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
3.8 KiB
130 lines
3.8 KiB
/******************************************************************* |
|
* reportinterface.h |
|
* Copyright 2009, 2011 Dario Andres Rodriguez <andresbajotierra@gmail.com> |
|
* Copyright 2009 George Kiagiadakis <gkiagia@users.sourceforge.net> |
|
* |
|
* This program is free software; you can redistribute it and/or |
|
* modify it under the terms of the GNU General Public License as |
|
* published by the Free Software Foundation; either version 2 of |
|
* the License, or (at your option) any later version. |
|
* |
|
* This program 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 General Public License for more details. |
|
* |
|
* You should have received a copy of the GNU General Public License |
|
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
* |
|
******************************************************************/ |
|
|
|
#ifndef REPORTINTERFACE__H |
|
#define REPORTINTERFACE__H |
|
|
|
#include <QtCore/QObject> |
|
#include <QtCore/QStringList> |
|
|
|
class BugReport; |
|
|
|
class BugzillaManager; |
|
class ProductMapping; |
|
class ApplicationDetailsExamples; |
|
|
|
class ReportInterface : public QObject |
|
{ |
|
Q_OBJECT |
|
public: |
|
enum Reproducible { ReproducibleUnsure, ReproducibleNever, |
|
ReproducibleSometimes, ReproducibleEverytime }; |
|
|
|
explicit ReportInterface(QObject *parent = 0); |
|
|
|
void setBugAwarenessPageData(bool, Reproducible, bool, bool, bool); |
|
bool isBugAwarenessPageDataUseful() const; |
|
|
|
int selectedOptionsRating() const; |
|
|
|
QStringList firstBacktraceFunctions() const; |
|
void setFirstBacktraceFunctions(const QStringList & functions); |
|
|
|
QString backtrace() const; |
|
void setBacktrace(const QString & backtrace); |
|
|
|
QString title() const; |
|
void setTitle(const QString & text); |
|
|
|
void setDetailText(const QString & text); |
|
void setPossibleDuplicates(const QStringList & duplicatesList); |
|
|
|
QString generateReportFullText(bool drKonqiStamp) const; |
|
|
|
BugReport newBugReportTemplate() const; |
|
void sendBugReport() const; |
|
|
|
QStringList relatedBugzillaProducts() const; |
|
|
|
bool isWorthReporting() const; |
|
|
|
//Zero means creating a new bug report |
|
void setAttachToBugNumber(uint); |
|
uint attachToBugNumber() const; |
|
|
|
//Zero means there is no duplicate |
|
void setDuplicateId(uint); |
|
uint duplicateId() const; |
|
|
|
void setPossibleDuplicatesByQuery(const QStringList &); |
|
|
|
BugzillaManager * bugzillaManager() const; |
|
ApplicationDetailsExamples * appDetailsExamples() const; |
|
|
|
bool userCanProvideActionsAppDesktop() const { |
|
return m_provideActionsApplicationDesktop; |
|
} |
|
|
|
bool userCanProvideUnusualBehavior() const { |
|
return m_provideUnusualBehavior; |
|
} |
|
|
|
bool userCanProvideApplicationConfigDetails() const { |
|
return m_provideApplicationConfigurationDetails; |
|
} |
|
|
|
private Q_SLOTS: |
|
void sendUsingDefaultProduct() const; |
|
void addedToCC(); |
|
void attachSent(int); |
|
|
|
Q_SIGNALS: |
|
void reportSent(int); |
|
void sendReportError(const QString &, const QString &); |
|
|
|
private: |
|
QString generateAttachmentComment() const; |
|
|
|
//Information the user can provide |
|
bool m_userRememberCrashSituation; |
|
Reproducible m_reproducible; |
|
bool m_provideActionsApplicationDesktop; |
|
bool m_provideUnusualBehavior; |
|
bool m_provideApplicationConfigurationDetails; |
|
|
|
|
|
QString m_backtrace; |
|
QStringList m_firstBacktraceFunctions; |
|
|
|
QString m_reportTitle; |
|
QString m_reportDetailText; |
|
QStringList m_possibleDuplicates; |
|
|
|
QStringList m_allPossibleDuplicatesByQuery; |
|
|
|
uint m_attachToBugNumber; |
|
uint m_duplicate; |
|
|
|
ProductMapping * m_productMapping; |
|
BugzillaManager * m_bugzillaManager; |
|
ApplicationDetailsExamples * m_appDetailsExamples; |
|
}; |
|
|
|
#endif
|
|
|