Plasma Engine  2.0
Loading...
Searching...
No Matches
FileserveWidget.moc.h
1#pragma once
2
3#include <EditorPluginFileserve/EditorPluginFileserveDLL.h>
4#include <EditorPluginFileserve/ui_FileserveWidget.h>
5#include <Foundation/Containers/HashTable.h>
6#include <Foundation/Time/Time.h>
7#include <QWidget>
8
12enum class plFileserveActivityType;
13
17class PL_EDITORPLUGINFILESERVE_DLL plQtFileserveWidget : public QWidget, public Ui_plQtFileserveWidget
18{
19 Q_OBJECT
20
21public:
22 plQtFileserveWidget(QWidget* pParent = nullptr);
23
24 void FindOwnIP(plStringBuilder& out_sDisplay, plHybridArray<plStringBuilder, 4>* out_pAllIPs = nullptr);
25
27
28Q_SIGNALS:
29 void ServerStarted(const QString& sIp, plUInt16 uiPort);
30 void ServerStopped();
31
32public Q_SLOTS:
33 void on_StartServerButton_clicked();
34 void on_ClearActivityButton_clicked();
35 void on_ClearAllFilesButton_clicked();
36 void on_ReloadResourcesButton_clicked();
37 void on_ConnectClient_clicked();
38
39private:
40 void FileserverEventHandler(const plFileserverEvent& e);
41 void LogActivity(const plFormatString& text, plFileserveActivityType type);
42 void UpdateSpecialDirectoryUI();
43
44 plQtFileserveActivityModel* m_pActivityModel;
45 plQtFileserveAllFilesModel* m_pAllFilesModel;
46 plTime m_LastProgressUpdate;
47
48 struct DataDirInfo
49 {
50 plString m_sName;
51 plString m_sPath;
52 plString m_sRedirectedPath;
53 };
54
55 struct ClientData
56 {
57 bool m_bConnected = false;
59 };
60
61 struct SpecialDir
62 {
63 plString m_sName;
64 plString m_sPath;
65 };
66
67 plHybridArray<SpecialDir, 4> m_SpecialDirectories;
68
70 void UpdateClientList();
71 void ConfigureSpecialDirectories();
72};
73
Implements formating of strings with placeholders and formatting options.
Definition FormatString.h:59
Definition HashTable.h:333
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Definition ActivityModel.moc.h:30
Definition AllFilesModel.moc.h:9
A GUI for the plFileServer.
Definition FileserveWidget.moc.h:18
plStringBuilder is a class that is meant for creating and modifying strings.
Definition StringBuilder.h:35
Definition Fileserver.h:13
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12