38
38
public class SettingsController implements Initializable {
39
39
@ FXML
40
40
private CheckBox nspFilesFilterForGLCB ,
41
- validateNSHostNameCb ,
42
- expertModeCb ,
43
- autoDetectIpCb ,
44
- randPortCb ,
45
- dontServeCb ,
46
- autoCheckUpdCb ,
47
- tfXciSpprtCb ;
48
-
49
- @ FXML
50
- private TextField pcIpTextField ,
51
- pcPortTextField ,
52
- pcExtraTextField ;
53
-
54
- @ FXML
55
- private VBox expertSettingsVBox ;
41
+ autoCheckUpdCb ;
56
42
57
43
@ FXML
58
44
private Hyperlink newVersionLink ;
@@ -67,6 +53,9 @@ public class SettingsController implements Initializable {
67
53
@ FXML
68
54
private ChoiceBox <String > glVersionChoiceBox ;
69
55
56
+ @ FXML
57
+ private SettingsBlockTinfoilController settingsBlockTinfoilController ;
58
+
70
59
private HostServices hostServices ;
71
60
72
61
public static final String [] glSupportedVersions = {"v0.5" , "v0.7.x" , "v0.8" };
@@ -79,95 +68,8 @@ public void initialize(URL url, ResourceBundle resourceBundle) {
79
68
final AppPreferences preferences = AppPreferences .getInstance ();
80
69
81
70
nspFilesFilterForGLCB .setSelected (preferences .getNspFileFilterGL ());
82
- validateNSHostNameCb .setSelected (preferences .getNsIpValidationNeeded ());
83
- expertSettingsVBox .setDisable (! preferences .getExpertMode ());
84
- expertModeCb .setSelected (preferences .getExpertMode ());
85
- expertModeCb .setOnAction (e -> expertSettingsVBox .setDisable (! expertModeCb .isSelected ()));
86
-
87
- autoDetectIpCb .setSelected (preferences .getAutoDetectIp ());
88
- pcIpTextField .setDisable (preferences .getAutoDetectIp ());
89
- autoDetectIpCb .setOnAction (e ->{
90
- pcIpTextField .setDisable (autoDetectIpCb .isSelected ());
91
- if (! autoDetectIpCb .isSelected ())
92
- pcIpTextField .requestFocus ();
93
- });
94
-
95
- randPortCb .setSelected (preferences .getRandPort ());
96
- pcPortTextField .setDisable (preferences .getRandPort ());
97
- randPortCb .setOnAction (e ->{
98
- pcPortTextField .setDisable (randPortCb .isSelected ());
99
- if (! randPortCb .isSelected ())
100
- pcPortTextField .requestFocus ();
101
- });
102
-
103
- if (preferences .getNotServeRequests ()){
104
- dontServeCb .setSelected (true );
105
-
106
- autoDetectIpCb .setSelected (false );
107
- autoDetectIpCb .setDisable (true );
108
- pcIpTextField .setDisable (false );
109
-
110
- randPortCb .setSelected (false );
111
- randPortCb .setDisable (true );
112
- pcPortTextField .setDisable (false );
113
- }
114
- pcExtraTextField .setDisable (! preferences .getNotServeRequests ());
115
71
116
- dontServeCb .setOnAction (e ->{
117
- if (dontServeCb .isSelected ()){
118
- autoDetectIpCb .setSelected (false );
119
- autoDetectIpCb .setDisable (true );
120
- pcIpTextField .setDisable (false );
121
72
122
- randPortCb .setSelected (false );
123
- randPortCb .setDisable (true );
124
- pcPortTextField .setDisable (false );
125
-
126
- pcExtraTextField .setDisable (false );
127
- pcIpTextField .requestFocus ();
128
- }
129
- else {
130
- autoDetectIpCb .setDisable (false );
131
- autoDetectIpCb .setSelected (true );
132
- pcIpTextField .setDisable (true );
133
-
134
- randPortCb .setDisable (false );
135
- randPortCb .setSelected (true );
136
- pcPortTextField .setDisable (true );
137
-
138
- pcExtraTextField .setDisable (true );
139
- }
140
- });
141
-
142
- pcIpTextField .setText (preferences .getHostIp ());
143
- pcPortTextField .setText (preferences .getHostPort ());
144
- pcExtraTextField .setText (preferences .getHostExtra ());
145
-
146
- pcIpTextField .setTextFormatter (new TextFormatter <>(change -> {
147
- if (change .getControlNewText ().contains (" " ) | change .getControlNewText ().contains ("\t " ))
148
- return null ;
149
- else
150
- return change ;
151
- }));
152
- pcPortTextField .setTextFormatter (new TextFormatter <>(change -> {
153
- if (change .getControlNewText ().matches ("^[0-9]{0,5}$" )) {
154
- if (!change .getControlNewText ().isEmpty ()
155
- && ((Integer .parseInt (change .getControlNewText ()) > 65535 ) || (Integer .parseInt (change .getControlNewText ()) == 0 ))
156
- ) {
157
- ServiceWindow .getErrorNotification (resourceBundle .getString ("windowTitleErrorPort" ), resourceBundle .getString ("windowBodyErrorPort" ));
158
- return null ;
159
- }
160
- return change ;
161
- }
162
- else
163
- return null ;
164
- }));
165
- pcExtraTextField .setTextFormatter (new TextFormatter <>(change -> {
166
- if (change .getControlNewText ().contains (" " ) | change .getControlNewText ().contains ("\t " ))
167
- return null ;
168
- else
169
- return change ;
170
- }));
171
73
172
74
newVersionLink .setVisible (false );
173
75
newVersionLink .setOnAction (e -> hostServices .showDocument (newVersionLink .getText ()));
@@ -182,8 +84,6 @@ public void initialize(URL url, ResourceBundle resourceBundle) {
182
84
183
85
setDriversInstallFeature ();
184
86
185
- tfXciSpprtCb .setSelected (preferences .getTfXCI ());
186
-
187
87
SettingsLanguagesSetup settingsLanguagesSetup = new SettingsLanguagesSetup ();
188
88
langCB .setItems (settingsLanguagesSetup .getLanguages ());
189
89
langCB .getSelectionModel ().select (settingsLanguagesSetup .getRecentLanguage ());
@@ -247,18 +147,8 @@ private void languageButtonAction(){
247
147
}
248
148
249
149
public boolean getNSPFileFilterForGL (){return nspFilesFilterForGLCB .isSelected (); }
250
- public boolean getExpertModeSelected (){ return expertModeCb .isSelected (); }
251
- public boolean getAutoIpSelected (){ return autoDetectIpCb .isSelected (); }
252
- public boolean getRandPortSelected (){ return randPortCb .isSelected (); }
253
- public boolean getNotServeSelected (){ return dontServeCb .isSelected (); }
254
-
255
- public boolean isNsIpValidate (){ return validateNSHostNameCb .isSelected (); }
256
150
257
- public String getHostIp (){ return pcIpTextField .getText (); }
258
- public String getHostPort (){ return pcPortTextField .getText (); }
259
- public String getHostExtra (){ return pcExtraTextField .getText (); }
260
151
public boolean getAutoCheckForUpdates (){ return autoCheckUpdCb .isSelected (); }
261
- public boolean getTfXciNszXczSupport (){ return tfXciSpprtCb .isSelected (); } // Used also for NSZ/XCZ
262
152
263
153
public void registerHostServices (HostServices hostServices ){this .hostServices = hostServices ;}
264
154
@@ -270,21 +160,16 @@ public void setNewVersionLink(String newVer){
270
160
public String getGlVer () {
271
161
return glVersionChoiceBox .getValue ();
272
162
}
273
-
163
+
164
+ public SettingsBlockTinfoilController getTinfoilSettings (){ return settingsBlockTinfoilController ; }
165
+
274
166
public void updatePreferencesOnExit (){
275
167
AppPreferences preferences = AppPreferences .getInstance ();
276
168
277
- preferences .setNsIpValidationNeeded (isNsIpValidate ());
278
- preferences .setExpertMode (getExpertModeSelected ());
279
- preferences .setAutoDetectIp (getAutoIpSelected ());
280
- preferences .setRandPort (getRandPortSelected ());
281
- preferences .setNotServeRequests (getNotServeSelected ());
282
- preferences .setHostIp (getHostIp ());
283
- preferences .setHostPort (getHostPort ());
284
- preferences .setHostExtra (getHostExtra ());
285
169
preferences .setAutoCheckUpdates (getAutoCheckForUpdates ());
286
- preferences .setTfXCI (getTfXciNszXczSupport ());
287
170
preferences .setNspFileFilterGL (getNSPFileFilterForGL ());
288
171
preferences .setGlVersion (getGlVer ());
172
+
173
+ settingsBlockTinfoilController .updatePreferencesOnExit ();
289
174
}
290
175
}
0 commit comments