package gsingh.learnkirtan.ui.menu.controller; import gsingh.learnkirtan.keys.LabelManager; import gsingh.learnkirtan.note.NoteList; import gsingh.learnkirtan.settings.SettingsManager; import gsingh.learnkirtan.utility.DialogUtility; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSpinner; import javax.swing.SpinnerModel; import javax.swing.SpinnerNumberModel; public class OptionsMenuController { private SettingsManager settingsManager = SettingsManager.getInstance(); private LabelManager labelManager; private NoteList notes; public OptionsMenuController(NoteList notes, LabelManager labelManager) { this.notes = notes; this.labelManager = labelManager; } public void changeSa() { SpinnerModel saModel = new SpinnerNumberModel( settingsManager.getSaKey() + 1, 1, 22, 1); JSpinner saSpinner = new JSpinner(saModel); JPanel panel = new JPanel(); panel.add(new JLabel("Choose the key number for sa:")); panel.add(saSpinner); int result = DialogUtility.showChangeSaDialog(panel); if (DialogUtility.isOK(result)) { int value = (Integer) saSpinner.getValue() - 1; settingsManager.setSaKey(value); notes.shiftLabels(value); if (settingsManager.getShowSargamLabels()) labelManager.labelSargamNotes(); if (settingsManager.getShowKeyboardLabels()) labelManager.labelKeyboardNotes(); } } public void showSargamLabels(boolean bool) { if (bool) { labelManager.labelSargamNotes(); } else { labelManager.clearSargamNotes(); } settingsManager.setShowSargamLabels(bool); } public void showKeyboardLabels(boolean bool) { if (bool) { labelManager.labelKeyboardNotes(); } else { labelManager.clearKeyboardNotes(); } settingsManager.setShowKeyboardLabels(bool); } }