11using System ;
22using System . Drawing ;
33using System . Net ;
4+ using System . ComponentModel ;
45using System . Windows . Forms ;
56using MinecraftServerManager . Dialogs ;
67using MinecraftServerManager . Utils ;
@@ -11,164 +12,141 @@ namespace MinecraftServerManager.Controls
1112 public partial class ConnectRemoteServer : UserControl , IStyleableTab
1213 {
1314 private Tabs tabs ;
15+ private string error ;
16+ private Data . RemoteServer ftpData ;
17+ private Data . RemoteServerRcon rconData ;
1418
1519 public ConnectRemoteServer ( )
1620 {
1721 InitializeComponent ( ) ;
18- this . label5 . Text = Language . GetString ( "Name" ) ;
19- this . label4 . Text = Language . GetString ( "Engine" ) ;
20- this . label3 . Text = Language . GetString ( "Version" ) ;
21- this . label1 . Text = Language . GetString ( "IpAdress" ) ;
22- this . label2 . Text = Language . GetString ( "DataFtp" ) ;
23- this . label6 . Text = Language . GetString ( "Port" ) ;
24- this . label7 . Text = Language . GetString ( "User" ) ;
25- this . label8 . Text = Language . GetString ( "Password" ) ;
26- this . label11 . Text = Language . GetString ( "DataRcon" ) ;
27- this . label12 . Text = Language . GetString ( "Port" ) ;
28- this . label9 . Text = Language . GetString ( "Password" ) ;
29- this . readyButton . Text = Language . GetString ( "Ready" ) ;
30- this . versionSelect . Items . AddRange ( Main . EngineVersions ) ;
31- this . versionSelect . Items . Add ( Language . GetString ( "OtherFemale" ) ) ;
32- this . engineSelect . Items . Add ( Language . GetString ( "OtherMale" ) ) ;
22+ label5 . Text = Language . GetString ( "Name" ) ;
23+ label4 . Text = Language . GetString ( "Engine" ) ;
24+ label3 . Text = Language . GetString ( "Version" ) ;
25+ label1 . Text = Language . GetString ( "IpAdress" ) ;
26+ label2 . Text = Language . GetString ( "DataFtp" ) ;
27+ label6 . Text = Language . GetString ( "Port" ) ;
28+ label7 . Text = Language . GetString ( "User" ) ;
29+ label8 . Text = Language . GetString ( "Password" ) ;
30+ label11 . Text = Language . GetString ( "DataRcon" ) ;
31+ label12 . Text = Language . GetString ( "Port" ) ;
32+ label9 . Text = Language . GetString ( "Password" ) ;
33+ readyButton . Text = Language . GetString ( "Ready" ) ;
34+ versionSelect . Items . AddRange ( Main . EngineVersions ) ;
35+ versionSelect . Items . Add ( Language . GetString ( "OtherFemale" ) ) ;
36+ engineSelect . Items . Add ( Language . GetString ( "OtherMale" ) ) ;
3337 }
3438
3539 public new void Load ( Tabs _tabs )
3640 {
37- this . tabs = _tabs ;
41+ tabs = _tabs ;
3842 tabs . AddTab ( Language . GetString ( "ConnectRemoteServer" ) , this ) ;
3943 }
4044
4145 public void SetStyle ( Data . Style style )
4246 {
43- Utils . Colors . StyleButton ( this . readyButton , style ) ;
44- Utils . Colors . StyleTextBox ( this . serverName , style ) ;
45- Utils . Colors . StyleTextBox ( this . serverIP , style ) ;
46- Utils . Colors . StyleTextBox ( this . ftpPassword , style ) ;
47- Utils . Colors . StyleTextBox ( this . ftpPort , style ) ;
48- Utils . Colors . StyleTextBox ( this . ftpUser , style ) ;
49- Utils . Colors . StyleTextBox ( this . rconPassword , style ) ;
50- Utils . Colors . StyleTextBox ( this . rconPort , style ) ;
47+ Colors . StyleButton ( readyButton , style ) ;
48+ Colors . StyleTextBox ( serverName , style ) ;
49+ Colors . StyleTextBox ( serverIP , style ) ;
50+ Colors . StyleTextBox ( ftpPassword , style ) ;
51+ Colors . StyleTextBox ( ftpPort , style ) ;
52+ Colors . StyleTextBox ( ftpUser , style ) ;
53+ Colors . StyleTextBox ( rconPassword , style ) ;
54+ Colors . StyleTextBox ( rconPort , style ) ;
5155 }
5256
5357 private void readyButton_Click ( object sender , EventArgs e )
5458 {
55- #region validation
59+ int ftpPortNumber , rconPortNumber ;
5660 if ( serverName . Text == "" )
57- {
5861 Error . Show ( "ErrorNoServerName" ) ;
59- return ;
60- }
61- if ( engineSelect . SelectedItem == null )
62- {
62+ else if ( engineSelect . SelectedItem == null )
6363 Error . Show ( "ErrorNoEngine" ) ;
64- return ;
65- }
66- if ( this . versionSelect . SelectedItem == null )
67- {
64+ else if ( versionSelect . SelectedItem == null )
6865 Error . Show ( "ErrorNoVersion" ) ;
69- return ;
70- }
71- if ( serverIP . Text == "" )
72- {
73- Error . Show ( "ErrorNoServerIp" ) ;
74- return ;
75- }
76- if ( ftpUser . Text == "" || ftpPassword . Text == "" || ftpPort . Text == "" )
77- {
78- Error . Show ( "ErrorNoFtpData" ) ;
79- return ;
80- }
81- if ( rconPassword . Text == "" || rconPort . Text == "" )
82- {
83- Error . Show ( "ErrorNoRconData" ) ;
84- return ;
85- }
66+ else if ( serverIP . Text == "" )
67+ Error . Show ( "ErrorNoServerIp" ) ;
68+ else if ( ftpUser . Text == "" || ftpPassword . Text == "" || ftpPort . Text == "" )
69+ Error . Show ( "ErrorNoFtpData" ) ;
70+ else if ( rconPassword . Text == "" || rconPort . Text == "" )
71+ Error . Show ( "ErrorNoRconData" ) ;
72+ else if ( ! int . TryParse ( ftpPort . Text , out ftpPortNumber ) )
73+ Error . Show ( "ErrorNanPortFtp" ) ;
74+ else if ( ftpPortNumber < 0 || ftpPortNumber > 65535 )
75+ Error . Show ( "ErrorOorPortFtp" ) ;
76+ else if ( ! int . TryParse ( rconPort . Text , out rconPortNumber ) )
77+ Error . Show ( "ErrorNanPortRcon" ) ;
78+ else if ( rconPortNumber < 0 || rconPortNumber > 65535 )
79+ Error . Show ( "ErrorOorPortRcon" ) ;
80+ else {
81+ ftpData = new Data . RemoteServer ( ) ;
82+ ftpData . adress = "ftp://" + serverIP . Text + ":" + ftpPort . Text + "/" ;
83+ ftpData . login = ftpUser . Text ;
84+ ftpData . password = ftpPassword . Text ;
85+ ftpData . name = serverName . Text ;
86+ ftpData . engine = engineSelect . SelectedItem . ToString ( ) ;
87+ ftpData . version = versionSelect . SelectedItem . ToString ( ) ;
8688
87- int ftpPortNumber , rconPortNumber ;
88- if ( ! int . TryParse ( ftpPort . Text , out ftpPortNumber ) )
89- {
90- Error . Show ( "ErrorNanPortFtp" ) ;
91- return ;
92- }
93- else if ( ftpPortNumber < 0 || ftpPortNumber > 65535 )
94- {
95- Error . Show ( "ErrorOorPortFtp" ) ;
96- }
89+ rconData = new Data . RemoteServerRcon ( ) ;
90+ rconData . adress = serverIP . Text ;
91+ rconData . name = serverName . Text ;
92+ rconData . port = rconPortNumber ;
93+ rconData . password = rconPassword . Text ;
9794
98- if ( ! int . TryParse ( rconPort . Text , out rconPortNumber ) )
99- {
100- Error . Show ( "ErrorNanPortRcon" ) ;
101- return ;
102- }
103- else if ( rconPortNumber < 0 || rconPortNumber > 65535 )
104- {
105- Error . Show ( "ErrorOorPortRcon" ) ;
95+ Enabled = false ;
96+ worker . RunWorkerAsync ( ) ;
10697 }
107- #endregion
108-
109- string ip = serverIP . Text ;
110- int port = ftpPortNumber ;
111- string user = ftpUser . Text ;
112- string password = ftpPassword . Text ;
98+
99+ }
113100
114- Data . RemoteServer ftpData = new Data . RemoteServer ( ) ;
115- Data . RemoteServerRcon rconData = new Data . RemoteServerRcon ( ) ;
101+ private void ConnectRemoteServer_Resize ( object sender , EventArgs e )
102+ {
103+ serverIP . Size = new Size ( Width - 91 , 27 ) ;
104+ serverName . Size = new Size ( Width - 91 , 27 ) ;
105+ versionSelect . Size = new Size ( Width - 91 , 27 ) ;
106+ engineSelect . Size = new Size ( Width - 91 , 27 ) ;
107+ ftpPort . Size = new Size ( Width - 91 , 27 ) ;
108+ ftpPassword . Size = new Size ( Width - 91 , 27 ) ;
109+ ftpUser . Size = new Size ( Width - 91 , 27 ) ;
110+ rconPassword . Size = new Size ( Width - 91 , 27 ) ;
111+ rconPort . Size = new Size ( Width - 91 , 27 ) ;
112+ readyButton . Size = new Size ( Width , 30 ) ;
113+ }
116114
115+ private void worker_DoWork ( object sender , DoWorkEventArgs e )
116+ {
117+ error = "" ;
118+
117119 try
118120 {
119- ftpData . adress = "ftp://" + ip + ":" + port + "/" ;
120- ftpData . login = user ;
121- ftpData . password = password ;
122- ftpData . name = serverName . Text ;
123- ftpData . engine = engineSelect . SelectedItem . ToString ( ) ;
124- ftpData . version = versionSelect . SelectedItem . ToString ( ) ;
125-
126- Utils . Ftp . directoryListSimple ( ftpData , "" ) ;
127-
128- ftpData . Save ( ) ;
121+ Ftp . directoryListSimple ( ftpData , "" ) ;
129122 }
130123 catch ( WebException )
131124 {
132- Error . Show ( "ErrorFtp" ) ;
125+ error = "ErrorFtp" ;
133126 return ;
134127 }
135128
136129 RconClient rcon = RconClient . INSTANCE ;
137- rcon . setupStream ( serverIP . Text , rconPortNumber , rconPassword . Text ) ;
138- if ( rcon . isInit )
130+ rcon . setupStream ( rconData . adress , rconData . port , rconData . password ) ;
131+ if ( ! rcon . isInit )
139132 {
140- rconData . name = serverName . Text ;
141- rconData . adress = serverIP . Text ;
142- rconData . password = rconPassword . Text ;
143- rconData . port = rconPortNumber ;
144- rconData . Save ( ) ;
145- }
146- else
147- {
148- Error . Show ( "ErrorRcon" ) ;
133+ error = "ErrorRcon" ;
149134 return ;
150135 }
151136
152- rconData . Save ( ) ;
153137 ftpData . Save ( ) ;
154-
155- this . Enabled = false ;
156-
157- tabs . mainWindow . serversTree . FullRefresh ( ) ;
138+ rconData . Save ( ) ;
158139 }
159140
160- private void ConnectRemoteServer_Resize ( object sender , EventArgs e )
141+ private void worker_RunWorkerCompleted ( object sender , RunWorkerCompletedEventArgs e )
161142 {
162- this . serverIP . Size = new Size ( this . Width - 91 , 27 ) ;
163- this . serverName . Size = new Size ( this . Width - 91 , 27 ) ;
164- this . versionSelect . Size = new Size ( this . Width - 91 , 27 ) ;
165- this . engineSelect . Size = new Size ( this . Width - 91 , 27 ) ;
166- this . ftpPort . Size = new Size ( this . Width - 91 , 27 ) ;
167- this . ftpPassword . Size = new Size ( this . Width - 91 , 27 ) ;
168- this . ftpUser . Size = new Size ( this . Width - 91 , 27 ) ;
169- this . rconPassword . Size = new Size ( this . Width - 91 , 27 ) ;
170- this . rconPort . Size = new Size ( this . Width - 91 , 27 ) ;
171- this . readyButton . Size = new Size ( this . Width , 30 ) ;
143+ if ( error == "" )
144+ tabs . mainWindow . serversTree . FullRefresh ( ) ;
145+ else
146+ {
147+ Enabled = true ;
148+ Error . Show ( error ) ;
149+ }
172150 }
173151 }
174152}
0 commit comments