diff options
Diffstat (limited to 'include/widgets/direct_connect_dialog.h')
| -rw-r--r-- | include/widgets/direct_connect_dialog.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/include/widgets/direct_connect_dialog.h b/include/widgets/direct_connect_dialog.h new file mode 100644 index 00000000..93175249 --- /dev/null +++ b/include/widgets/direct_connect_dialog.h @@ -0,0 +1,46 @@ +#ifndef DIRECT_CONNECT_DIALOG_H +#define DIRECT_CONNECT_DIALOG_H + +#include <QDialog> +#include <QTimer> +#include <QRegularExpression> + +class QLabel; +class QSpinBox; +class QLineEdit; +class QPushButton; +class QComboBox; +class QLabel; +class NetworkManager; + +class DirectConnectDialog : public QDialog { + Q_OBJECT +public: + DirectConnectDialog(NetworkManager* p_net_manager); + ~DirectConnectDialog() = default; + +private slots: + void onConnectPressed(); + void onServerConnected(); + void onConnectTimeout(); + +private: + NetworkManager* net_manager; + + QLineEdit* ui_direct_hostname_edit; + + QLabel* ui_direct_connection_status_lbl; + QPushButton* ui_direct_connect_button; + QPushButton* ui_direct_cancel_button; + + QWidget* ui_widget; + QTimer connect_timeout; + + const int TCP_INDEX = 0; + const QRegularExpression SCHEME_PATTERN{"^\\w+://.+$"}; + const int CONNECT_TIMEOUT = 5 * 1000; + const QString DEFAULT_UI = "direct_connect_dialog.ui";; + +}; + +#endif // DIRECT_CONNECT_DIALOG_H |
