// // Created by arjun-flowylabs on 1/10/2026. // #ifndef LLINK_MAINWINDOW_H #define LLINK_MAINWINDOW_H #include #include "data.h" #include "networkstreammodel.h" #include "particlelistmodel.h" QT_BEGIN_NAMESPACE class QSystemTrayIcon; class AuthManager; class QItemSelection; QT_END_NAMESPACE class AuthDialog; class SettingsDialog; namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void on_exitButton_clicked(); void on_settingsButton_clicked(); void onTreeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); private: void setupTrayIcon(); void setupModels(); QSystemTrayIcon *m_trayIcon; Ui::MainWindow *ui; AuthManager *m_authManager; AuthDialog *m_authDialog; SettingsDialog *m_settingsDialog; // Data and models Data *m_data; NetworkStreamModel *m_networkStreamModel; ParticleListModel *m_particleListModel; }; #endif //LLINK_MAINWINDOW_H