@@ -128,6 +128,39 @@ public void widgetDisposed(DisposeEvent event) {
128
128
Label bannedInfo = new Label (window , SWT .NULL );
129
129
Messages .setLanguageText (bannedInfo ,"ConfigView.section.ipfilter.bannedinfo" );
130
130
131
+ // manual ban
132
+
133
+ Label lblBan = new Label (window ,SWT .NULL );
134
+ Messages .setLanguageText (lblBan ,"ConfigView.section.ipfilter.ban" );
135
+
136
+ Text textBan = new Text (window ,SWT .BORDER );
137
+
138
+ Button btnBan = new Button (window ,SWT .PUSH );
139
+ Messages .setLanguageText (btnBan ,"label.ban" );
140
+
141
+ btnBan .addListener (SWT .Selection , (ev )->{
142
+ IpFilter filter = core .getIpFilterManager ().getIPFilter ();
143
+ BadIps badIPs = core .getIpFilterManager ().getBadIps ();
144
+
145
+ String [] ips = textBan .getText ().replace (';' ,',' ).split ( "," );
146
+ for ( String ip : ips ){
147
+ ip = ip .trim ();
148
+ if ( !ip .isEmpty ()){
149
+ filter .ban (ip , MessageText .getString ( "manual.mode" ), true );
150
+ textBanned .append ( ip + " " + MessageText .getString ( "ConfigView.section.ipfilter.list.banned" ) + "\n " );
151
+ }
152
+ }
153
+ textBanned .setSelection (textBanned .getText ().length ());
154
+ });
155
+
156
+ textBan .addListener ( SWT .Modify , (ev )->{
157
+ btnBan .setEnabled ( !textBan .getText ().trim ().isEmpty ());
158
+ });
159
+
160
+ btnBan .setEnabled ( false );
161
+
162
+ // manual unban
163
+
131
164
Label lblUnban = new Label (window ,SWT .NULL );
132
165
Messages .setLanguageText (lblUnban ,"ConfigView.section.ipfilter.unban" );
133
166
@@ -211,10 +244,28 @@ public void widgetDisposed(DisposeEvent event) {
211
244
formData .left = new FormAttachment (0 ,0 );
212
245
formData .right = new FormAttachment (100 ,0 );
213
246
formData .top = new FormAttachment (btnClear );
214
- formData .bottom = new FormAttachment (btnUnban );
247
+ formData .bottom = new FormAttachment (btnBan );
215
248
216
249
textBanned .setLayoutData (formData );
217
250
251
+ // ban line
252
+
253
+ formData = new FormData ();
254
+ formData .left = new FormAttachment (0 ,0 );
255
+ formData .top = new FormAttachment (btnBan ,0 ,SWT .CENTER );
256
+ lblBan .setLayoutData (formData );
257
+
258
+ formData = new FormData ();
259
+ formData .left = new FormAttachment (lblBan ,100 );
260
+ formData .right = new FormAttachment (btnBan );
261
+ formData .top = new FormAttachment (btnBan ,0 ,SWT .CENTER );
262
+ textBan .setLayoutData (formData );
263
+
264
+ formData = new FormData ();
265
+ formData .right = new FormAttachment (btnOk );
266
+ formData .bottom = new FormAttachment (btnUnban );
267
+ btnBan .setLayoutData (formData );
268
+
218
269
// unban line
219
270
220
271
formData = new FormData ();
@@ -223,7 +274,7 @@ public void widgetDisposed(DisposeEvent event) {
223
274
lblUnban .setLayoutData (formData );
224
275
225
276
formData = new FormData ();
226
- formData .left = new FormAttachment (lblUnban );
277
+ formData .left = new FormAttachment (textBan , 0 , SWT . LEFT );
227
278
formData .right = new FormAttachment (btnUnban );
228
279
formData .top = new FormAttachment (btnUnban ,0 ,SWT .CENTER );
229
280
textUnban .setLayoutData (formData );
@@ -264,7 +315,7 @@ public void widgetDisposed(DisposeEvent event) {
264
315
textBlocked .setSelection (textBlocked .getText ().length ());
265
316
textBanned .setSelection (textBanned .getText ().length ());
266
317
267
- Utils .makeButtonsEqualWidth ( btnUnban , btnClear , btnReset , btnOk );
318
+ Utils .makeButtonsEqualWidth ( btnBan , btnUnban , btnClear , btnReset , btnOk );
268
319
269
320
window .setDefaultButton ( btnOk );
270
321
0 commit comments