File indexing completed on 2024-04-28 09:21:07
0001 /******************************************************************* 0002 * drkonqidialog.h 0003 * SPDX-FileCopyrightText: 2009 Dario Andres Rodriguez <andresbajotierra@gmail.com> 0004 * SPDX-FileCopyrightText: 2022 Harald Sitter <sitter@kde.org> 0005 * 0006 * SPDX-License-Identifier: GPL-2.0-or-later 0007 * 0008 ******************************************************************/ 0009 0010 #ifndef DRKONQIDIALOG__H 0011 #define DRKONQIDIALOG__H 0012 0013 #include <QHash> 0014 #include <QPointer> 0015 0016 #include <QDialog> 0017 0018 #include "ui_maindialog.h" 0019 0020 class BacktraceWidget; 0021 class QTabWidget; 0022 class AbstractDebuggerLauncher; 0023 class QDialogButtonBox; 0024 class QMenu; 0025 0026 class DrKonqiDialog : public QDialog 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 explicit DrKonqiDialog(QWidget *parent = nullptr); 0032 ~DrKonqiDialog() override; 0033 0034 enum class GoTo { Main, Sentry }; 0035 void show(GoTo to); 0036 0037 private Q_SLOTS: 0038 void linkActivated(const QString &); 0039 0040 void applicationRestarted(bool success); 0041 0042 void addDebugger(AbstractDebuggerLauncher *launcher); 0043 void removeDebugger(AbstractDebuggerLauncher *launcher); 0044 void enableDebugMenu(bool); 0045 0046 // GUI 0047 void buildIntroWidget(); 0048 void buildDialogButtons(); 0049 0050 void tabIndexChanged(int); 0051 0052 private: 0053 QTabWidget *m_tabWidget = nullptr; 0054 0055 QWidget *m_introWidget = nullptr; 0056 Ui::MainWidget ui; 0057 0058 BacktraceWidget *m_backtraceWidget = nullptr; 0059 0060 QMenu *m_debugMenu = nullptr; 0061 QHash<AbstractDebuggerLauncher *, QAction *> m_debugMenuActions; 0062 QDialogButtonBox *m_buttonBox = nullptr; 0063 QPushButton *m_debugButton = nullptr; 0064 QPushButton *m_restartButton = nullptr; 0065 bool m_debugButtonInBox = false; 0066 }; 0067 0068 #endif