File indexing completed on 2024-12-01 08:03:45
0001 /******************************************************************* 0002 * backtracewidget.h 0003 * SPDX-FileCopyrightText: 2009 Dario Andres Rodriguez <andresbajotierra@gmail.com> 0004 * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 * 0007 ******************************************************************/ 0008 0009 #ifndef BACKTRACEWIDGET__H 0010 #define BACKTRACEWIDGET__H 0011 0012 #include <QWidget> 0013 0014 #include "debugpackageinstaller.h" 0015 #include "ui_backtracewidget.h" 0016 0017 namespace KSyntaxHighlighting 0018 { 0019 class SyntaxHighlighter; 0020 } 0021 class BacktraceRatingWidget; 0022 class BacktraceGenerator; 0023 0024 class BacktraceWidget : public QWidget 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 explicit BacktraceWidget(BacktraceGenerator *generator, QWidget *parent = nullptr, bool showToggleBacktrace = false); 0030 0031 bool canInstallDebugPackages() const; 0032 0033 public Q_SLOTS: 0034 void generateBacktrace(); 0035 void highlightExtraDetailsLabel(bool highlight); 0036 void focusImproveBacktraceButton(); 0037 0038 void toggleBacktrace(bool show); 0039 void extraDetailsLinkActivated(QString link); 0040 0041 Q_SIGNALS: 0042 void stateChanged(); 0043 0044 private: 0045 BacktraceGenerator *m_btGenerator = nullptr; 0046 Ui::Form ui; 0047 BacktraceRatingWidget *m_backtraceRatingWidget = nullptr; 0048 KSyntaxHighlighting::SyntaxHighlighter *m_highlighter = nullptr; 0049 DebugPackageInstaller *m_debugPackageInstaller = nullptr; 0050 0051 void setAsLoading(); 0052 0053 private Q_SLOTS: 0054 void loadData(); 0055 void backtraceNewLine(const QString &); 0056 0057 void regenerateBacktrace(); 0058 0059 void saveClicked(); 0060 void copyClicked(); 0061 0062 void anotherDebuggerRunning(); 0063 0064 void installDebugPackages(); 0065 void debugPackageError(const QString &); 0066 void debugPackageCanceled(); 0067 }; 0068 0069 #endif