File indexing completed on 2024-05-19 05:44:25
0001 /* 0002 SPDX-FileCopyrightText: 2015-2017 Milian Wolff <mail@milianw.de> 0003 0004 SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #ifndef MAINWINDOW_H 0008 #define MAINWINDOW_H 0009 0010 #include <QMainWindow> 0011 0012 #include <KSharedConfig> 0013 0014 #include <analyze/filterparameters.h> 0015 0016 namespace Ui { 0017 class MainWindow; 0018 } 0019 0020 class TreeModel; 0021 class ChartModel; 0022 class Parser; 0023 class ResultData; 0024 0025 class MainWindow : public QMainWindow 0026 { 0027 Q_OBJECT 0028 public: 0029 MainWindow(QWidget* parent = nullptr); 0030 virtual ~MainWindow(); 0031 0032 public slots: 0033 void loadFile(const QString& path, const QString& diffBase = {}); 0034 void reparse(int64_t minTime, int64_t maxTime); 0035 void openNewFile(); 0036 void closeFile(); 0037 0038 void setCodeNavigationIDE(QAction* action); 0039 void navigateToCode(const QString& url, int lineNumber, int columnNumber = -1); 0040 0041 void setDisableEmbeddedSuppressions(bool disable); 0042 void setDisableBuiltinSuppressions(bool disable); 0043 void setSuppressions(std::vector<std::string> suppressions); 0044 0045 signals: 0046 void clearData(); 0047 0048 private: 0049 void showError(const QString& message); 0050 void setupStacks(); 0051 void setupCodeNavigationMenu(); 0052 0053 QScopedPointer<Ui::MainWindow> m_ui; 0054 Parser* m_parser; 0055 KSharedConfig::Ptr m_config; 0056 bool m_diffMode = false; 0057 0058 QAction* m_openAction = nullptr; 0059 QAction* m_openNewAction = nullptr; 0060 QAction* m_closeAction = nullptr; 0061 QAction* m_quitAction = nullptr; 0062 QAction* m_disableEmbeddedSuppressions = nullptr; 0063 QAction* m_disableBuiltinSuppressions = nullptr; 0064 FilterParameters m_lastFilterParameters; 0065 }; 0066 0067 #endif // MAINWINDOW_H