diff --git a/pysollib/options.py b/pysollib/options.py index 290abb50..5d1ad4fd 100644 --- a/pysollib/options.py +++ b/pysollib/options.py @@ -105,6 +105,7 @@ recent_gameid = int_list favorite_gameid = int_list visible_buttons = string_list translate_game_names = boolean +solver_presets = string_list [sound_samples] move = boolean @@ -237,6 +238,7 @@ class Options: ('sound_sample_buffer_size', 'int'), ('tabletile_name', 'str'), ('translate_game_names', 'bool'), + ('solver_presets', 'list'), #('toolbar_vars', 'list'), #('recent_gameid', 'list'), #('favorite_gameid', 'list'), @@ -382,6 +384,22 @@ class Options: self.scale_y = 1.0 self.auto_scale = False self.preserve_aspect_ratio = True + # solver + self.solver_presets = [ + 'none', + 'abra-kadabra', + 'cool-jives', + 'crooked-nose', + 'fools-gold', + 'good-intentions', + 'hello-world', + 'john-galt-line', + 'rin-tin-tin', + 'yellow-brick-road', + 'the-last-mohican', + 'blue-yonder', + 'slick-rock', + ] def setDefaults(self, top=None): WIN_SYSTEM = settings.WIN_SYSTEM @@ -467,6 +485,7 @@ class Options: visible_buttons = [b for b in self.toolbar_vars if self.toolbar_vars[b]] config['general']['visible_buttons'] = visible_buttons + config['general']['solver_presets'].remove('none') # sound_samples config['sound_samples'] = self.sound_samples @@ -603,6 +622,13 @@ class Options: for key in TOOLBAR_BUTTONS: self.toolbar_vars[key] = (key in visible_buttons) + # solver + solver_presets = self._getOption('general', 'solver_presets', 'list') + if solver_presets is not None: + if 'none' not in solver_presets: + solver_presets.insert(0, 'none') + self.solver_presets = solver_presets + # sound_samples for key in self.sound_samples: val = self._getOption('sound_samples', key, 'bool') diff --git a/pysollib/tile/solverdialog.py b/pysollib/tile/solverdialog.py index f41de7e8..0ec917a2 100644 --- a/pysollib/tile/solverdialog.py +++ b/pysollib/tile/solverdialog.py @@ -111,18 +111,7 @@ class SolverDialog(MfxDialog): row += 1 ttk.Label(frame, text=_('Preset:'), anchor='w' ).grid(row=row, column=0, sticky='ew', padx=2, pady=2) - presets = [ - 'none', - 'abra-kadabra', - 'cool-jives', - 'crooked-nose', - 'fools-gold', - 'good-intentions', - 'hello-world', - 'john-galt-line', - 'rin-tin-tin', - 'yellow-brick-road', - ] + presets = app.opt.solver_presets self.presets = presets cb = PysolCombo(frame, values=tuple(presets), state='readonly') cb.grid(row=row, column=1, sticky='ew', padx=2, pady=2) diff --git a/pysollib/tk/solverdialog.py b/pysollib/tk/solverdialog.py index 8bfabbb5..24ef810f 100644 --- a/pysollib/tk/solverdialog.py +++ b/pysollib/tk/solverdialog.py @@ -114,18 +114,7 @@ class SolverDialog(MfxDialog): row += 1 Tkinter.Label(frame, text=_('Preset:'), anchor='w' ).grid(row=row, column=0, sticky='ew', padx=2, pady=2) - presets = [ - 'none', - 'abra-kadabra', - 'cool-jives', - 'crooked-nose', - 'fools-gold', - 'good-intentions', - 'hello-world', - 'john-galt-line', - 'rin-tin-tin', - 'yellow-brick-road', - ] + presets = app.opt.solver_presets self.presets = presets self.preset_var = var = Tkinter.StringVar() var.set('none')