61 lines
1.1 KiB
C++
61 lines
1.1 KiB
C++
//
|
|
// Created by arjun-flowylabs on 1/10/2026.
|
|
//
|
|
|
|
#ifndef LLINK_MAINWINDOW_H
|
|
#define LLINK_MAINWINDOW_H
|
|
|
|
#include <QMainWindow>
|
|
#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
|