aboutsummaryrefslogtreecommitdiff
path: root/src/widgets/direct_connect_dialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/direct_connect_dialog.h')
-rw-r--r--src/widgets/direct_connect_dialog.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/widgets/direct_connect_dialog.h b/src/widgets/direct_connect_dialog.h
new file mode 100644
index 00000000..b2ac9be3
--- /dev/null
+++ b/src/widgets/direct_connect_dialog.h
@@ -0,0 +1,41 @@
+#pragma once
+
+#include <QComboBox>
+#include <QDialog>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QRegularExpression>
+#include <QSpinBox>
+#include <QTimer>
+
+class NetworkManager;
+
+class DirectConnectDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ DirectConnectDialog(NetworkManager *netManager, QWidget *parent = nullptr);
+
+private:
+ static const QString UI_FILE_PATH;
+ static const QRegularExpression SCHEME_PATTERN;
+ static const int CONNECT_TIMEOUT;
+
+ NetworkManager *net_manager;
+ QTimer m_connect_timeout;
+
+ QWidget *ui_widget;
+
+ QLineEdit *ui_direct_hostname_edit;
+
+ QLabel *ui_direct_connection_status_lbl;
+ QPushButton *ui_direct_connect_button;
+ QPushButton *ui_direct_cancel_button;
+
+private Q_SLOTS:
+ void onConnectPressed();
+ void onServerConnected();
+ void onConnectTimeout();
+};