1
1
package com .codedead .opal .controller ;
2
2
3
+ import com .codedead .opal .domain .InvalidHttpResponseCodeException ;
3
4
import com .codedead .opal .domain .OsCheck ;
4
5
import com .codedead .opal .domain .PlatformUpdate ;
5
6
import com .codedead .opal .domain .SoundPane ;
12
13
import javafx .scene .Parent ;
13
14
import javafx .scene .Scene ;
14
15
import javafx .scene .control .*;
15
- import javafx .scene .control .Menu ;
16
- import javafx .scene .control .MenuItem ;
17
16
import javafx .scene .image .Image ;
18
17
import javafx .scene .image .ImageView ;
19
18
import javafx .scene .input .DragEvent ;
34
33
35
34
public final class MainWindowController implements IAudioTimer {
36
35
36
+ @ FXML
37
+ private SoundPane snpGong ;
38
+ @ FXML
39
+ private SoundPane snpDrumTribal ;
40
+ @ FXML
41
+ private SoundPane snpSleepy ;
42
+ @ FXML
43
+ private SoundPane snpFootball ;
44
+ @ FXML
45
+ private SoundPane snpTribal ;
46
+ @ FXML
47
+ private SoundPane snpNetworkingEvent ;
37
48
@ FXML
38
49
private SoundPane snpZoo ;
39
50
@ FXML
@@ -207,11 +218,14 @@ private void checkForUpdates(final boolean showNoUpdates) {
207
218
} else {
208
219
logger .info ("No updates available" );
209
220
if (showNoUpdates ) {
210
- final Alert alert = new Alert (Alert .AlertType .INFORMATION , translationBundle .getString ("NoUpdateAvailable" ), ButtonType .OK );
211
- alert .showAndWait ();
221
+ FxUtils .showInformationAlert (translationBundle .getString ("NoUpdateAvailable" ), null );
212
222
}
213
223
}
214
- } catch (final Exception ex ) {
224
+ } catch (final InterruptedException ex ) {
225
+ logger .error ("Unable to check for updates" , ex );
226
+ FxUtils .showErrorAlert (translationBundle .getString ("UpdateError" ), ex .getMessage (), getClass ().getResourceAsStream (SharedVariables .ICON_URL ));
227
+ Thread .currentThread ().interrupt ();
228
+ } catch (final IOException | InvalidHttpResponseCodeException ex ) {
215
229
logger .error ("Unable to check for updates" , ex );
216
230
FxUtils .showErrorAlert (translationBundle .getString ("UpdateError" ), ex .getMessage (), getClass ().getResourceAsStream (SharedVariables .ICON_URL ));
217
231
}
@@ -300,6 +314,14 @@ private void initialize() {
300
314
snpZen .getSlider ().valueProperty ().addListener ((observableValue , oldValue , newValue ) -> audioController .setPlayerVolume ("zen" , newValue .doubleValue () / 100 ));
301
315
snpCoffee .getSlider ().valueProperty ().addListener ((observableValue , oldValue , newValue ) -> audioController .setPlayerVolume ("coffee" , newValue .doubleValue () / 100 ));
302
316
snpZoo .getSlider ().valueProperty ().addListener ((observableValue , oldValue , newValue ) -> audioController .setPlayerVolume ("zoo" , newValue .doubleValue () / 100 ));
317
+ snpSleepy .getSlider ().valueProperty ().addListener ((observableValue , oldValue , newValue ) -> audioController .setPlayerVolume ("sleepy" , newValue .doubleValue () / 100 ));
318
+ snpGong .getSlider ().valueProperty ().addListener ((observableValue , oldValue , newValue ) -> audioController .setPlayerVolume ("gong" , newValue .doubleValue () / 100 ));
319
+
320
+ // Audiences
321
+ snpNetworkingEvent .getSlider ().valueProperty ().addListener ((observableValue , oldValue , newValue ) -> audioController .setPlayerVolume ("networking" , newValue .doubleValue () / 100 ));
322
+ snpTribal .getSlider ().valueProperty ().addListener ((observableValue , oldValue , newValue ) -> audioController .setPlayerVolume ("tribal" , newValue .doubleValue () / 100 ));
323
+ snpDrumTribal .getSlider ().valueProperty ().addListener ((observableValue , oldValue , newValue ) -> audioController .setPlayerVolume ("drumtribal" , newValue .doubleValue () / 100 ));
324
+ snpFootball .getSlider ().valueProperty ().addListener ((observableValue , oldValue , newValue ) -> audioController .setPlayerVolume ("football" , newValue .doubleValue () / 100 ));
303
325
304
326
mniTimerEnabled .setOnAction (e ->
305
327
{
@@ -319,7 +341,7 @@ private void initialize() {
319
341
*/
320
342
@ FXML
321
343
private void openSoundPresetAction () {
322
- logger .info ("Attempting to open a sound preset" );
344
+ logger .info ("Opening a sound preset" );
323
345
final FileChooser chooser = new FileChooser ();
324
346
325
347
final FileChooser .ExtensionFilter extFilter = new FileChooser .ExtensionFilter ("JSON (*.json)" , "*.json" );
@@ -329,8 +351,6 @@ private void openSoundPresetAction() {
329
351
330
352
if (file != null && file .exists ()) {
331
353
openSoundPreset (file .getAbsolutePath ());
332
- } else {
333
- logger .info ("Cancelled opening a sound preset" );
334
354
}
335
355
}
336
356
@@ -363,6 +383,12 @@ private void openSoundPreset(final String filePath) {
363
383
case "zen" -> snpZen .getSlider ().setValue (entry .getValue () * 100 );
364
384
case "coffee" -> snpCoffee .getSlider ().setValue (entry .getValue () * 100 );
365
385
case "zoo" -> snpZoo .getSlider ().setValue (entry .getValue () * 100 );
386
+ case "networking" -> snpNetworkingEvent .getSlider ().setValue (entry .getValue () * 100 );
387
+ case "tribal" -> snpTribal .getSlider ().setValue (entry .getValue () * 100 );
388
+ case "football" -> snpFootball .getSlider ().setValue (entry .getValue () * 100 );
389
+ case "sleepy" -> snpSleepy .getSlider ().setValue (entry .getValue () * 100 );
390
+ case "drumtribal" -> snpDrumTribal .getSlider ().setValue (entry .getValue () * 100 );
391
+ case "gong" -> snpGong .getSlider ().setValue (entry .getValue () * 100 );
366
392
default -> logger .info ("Unknown key found: {}" , entry .getKey ());
367
393
}
368
394
}
@@ -427,6 +453,12 @@ private void resetAction() {
427
453
snpZen .getSlider ().setValue (0 );
428
454
snpCoffee .getSlider ().setValue (0 );
429
455
snpZoo .getSlider ().setValue (0 );
456
+ snpNetworkingEvent .getSlider ().setValue (0 );
457
+ snpTribal .getSlider ().setValue (0 );
458
+ snpFootball .getSlider ().setValue (0 );
459
+ snpSleepy .getSlider ().setValue (0 );
460
+ snpDrumTribal .getSlider ().setValue (0 );
461
+ snpGong .getSlider ().setValue (0 );
430
462
}
431
463
432
464
/**
@@ -660,7 +692,7 @@ private void onDragOver(final DragEvent dragEvent) {
660
692
* @param dragEvent The {@link DragEvent} object
661
693
*/
662
694
@ FXML
663
- public void onDragDropped (final DragEvent dragEvent ) {
695
+ private void onDragDropped (final DragEvent dragEvent ) {
664
696
final Dragboard db = dragEvent .getDragboard ();
665
697
boolean success = false ;
666
698
0 commit comments