From 02edf2afddc35df1e51842ef77f0b20b0838fdb1 Mon Sep 17 00:00:00 2001 From: Shlomi Fish Date: Wed, 1 Aug 2018 19:50:31 +0300 Subject: [PATCH] Made the iters_output_step configurable. --- pysollib/hint.py | 3 ++- pysollib/options.py | 3 +++ pysollib/ui/tktile/solverdialog.py | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pysollib/hint.py b/pysollib/hint.py index 68a99911..c65ecb9e 100644 --- a/pysollib/hint.py +++ b/pysollib/hint.py @@ -740,6 +740,7 @@ class Base_Solver_Hint: self.dialog = dialog self.game_type = game_type self.options = { + 'iters_step': 100, 'max_iters': 10000, 'progress': False, 'preset': None, @@ -1024,7 +1025,7 @@ class FreeCellSolver_Hint(Base_Solver_Hint): fcs_iter_output_step = None if FCS_VERSION >= (4, 20, 0): # fcs_iter_output_step = 10000 - fcs_iter_output_step = 100 + fcs_iter_output_step = self.options['iters_step'] args += ['--iter-output-step', str(fcs_iter_output_step)] if DEBUG: args += ['-s'] diff --git a/pysollib/options.py b/pysollib/options.py index 2559edc2..fa15f49c 100644 --- a/pysollib/options.py +++ b/pysollib/options.py @@ -113,6 +113,7 @@ translate_game_names = boolean solver_presets = string_list solver_show_progress = boolean solver_max_iterations = integer +solver_iterations_output_step = integer display_win_message = boolean [sound_samples] @@ -249,6 +250,7 @@ class Options: ('solver_presets', 'list'), ('solver_show_progress', 'bool'), ('solver_max_iterations', 'int'), + ('solver_iterations_output_step', 'int'), # ('toolbar_vars', 'list'), # ('recent_gameid', 'list'), # ('favorite_gameid', 'list'), @@ -432,6 +434,7 @@ class Options: ] self.solver_show_progress = True self.solver_max_iterations = 100000 + self.solver_iterations_output_step = 100 def setDefaults(self, top=None): WIN_SYSTEM = pysollib.settings.WIN_SYSTEM diff --git a/pysollib/ui/tktile/solverdialog.py b/pysollib/ui/tktile/solverdialog.py index f7da1bb5..41b3e205 100644 --- a/pysollib/ui/tktile/solverdialog.py +++ b/pysollib/ui/tktile/solverdialog.py @@ -167,7 +167,9 @@ class BaseSolverDialog: preset = self.preset_var.get() max_iters = self._getMaxIters() progress = self.app.opt.solver_show_progress - solver.config(preset=preset, max_iters=max_iters, progress=progress) + iters_step = self.app.opt.solver_iterations_output_step + solver.config(preset=preset, max_iters=max_iters, progress=progress, + iters_step=iters_step) try: solver.computeHints() except RuntimeError: