culturered_client/PhotoDisplay/MainWindow.h

69 lines
1.2 KiB
C
Raw Normal View History

2024-09-07 03:34:44 +00:00
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QNetworkAccessManager>
#include "ZMQServer.h"
namespace Ui {
class MainWindow;
}
struct Widget {
int x{ 0 };
int y{ 0 };
int width{ 0 };
int height{ 0 };
QString bg;
int anim{ 0 }; // 0 左到右, 1 右到左 2 上到下 3 下到上
int duration{ 30 };
QString tag;
};
struct Setting {
int total{ 1 };
int start{ 0 };
int count{ 1 };
int port{ 9532 };
QVector<Widget> widgets;
};
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
static MainWindow& Get();
protected:
void OnDataRead();
void ShowPaper(const QString& filePath, const QString& url, const QString& info);
void closeEvent(QCloseEvent* event) override;
bool ParseSetting();
void OnHandleMessage(const QString& message);
void ScreenChange();
private:
Ui::MainWindow *ui;
//class NetClient* m_netClient;
ZMQServer zmqServer_;
QString m_serverIp;
QVector<class DisplayWidget*> m_widgets;
QNetworkAccessManager manager;
Setting m_setting;
class TokenRequest* m_tokenRequest{ nullptr };
};
#endif // MAINWINDOW_H