Commit 4715b7e4 authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

Solver: Fix for windows version.

Showing with 34 additions and 11 deletions
+34 -11
......@@ -2,7 +2,12 @@
import os
from signal import SIGTERM, SIGSTOP, SIGCONT
try:
from signal import SIGTERM, SIGSTOP, SIGCONT
_signal = True
except:
_signal = False
from enum import Enum
from Model.Except import NotImplementedMethodeError
......@@ -206,21 +211,26 @@ class AbstractSolver(object):
if process is not None:
self._process = process
if self._status == STATUS.PAUSED:
os.kill(self._process.pid(), SIGCONT)
self._status = STATUS.RUNNING
if _signal:
if self._status == STATUS.PAUSED:
os.kill(self._process.pid(), SIGCONT)
self._status = STATUS.RUNNING
else:
self.run_solver()
else:
self.run_solver()
return True
def pause(self):
if self._process is None:
return False
if _signal:
if self._process is None:
return False
os.kill(self._process.pid(), SIGSTOP)
self._status = STATUS.PAUSED
return True
os.kill(self._process.pid(), SIGSTOP)
self._status = STATUS.PAUSED
return True
return False
def stop(self):
if self._process is None:
......
......@@ -29,6 +29,12 @@ from PyQt5.QtWidgets import (
from View.RunSolver.Log.Window import SolverLogFileWindow
try:
from signal import SIGTERM, SIGSTOP, SIGCONT
_signal = True
except:
_signal = False
_translate = QCoreApplication.translate
class SelectSolverWindow(ASubWindow, ListedSubWindow):
......@@ -126,7 +132,11 @@ class SolverLogWindow(ASubMainWindow, ListedSubWindow):
def setup_action(self):
self.find(QAction, "action_start").setEnabled(False)
self.find(QAction, "action_pause").setEnabled(True)
if _signal:
self.find(QAction, "action_pause").setEnabled(True)
else:
self.find(QAction, "action_pause").setEnabled(False)
self.find(QAction, "action_stop").setEnabled(True)
self.find(QAction, "action_log_file").setEnabled(False)
......@@ -176,7 +186,10 @@ class SolverLogWindow(ASubMainWindow, ListedSubWindow):
self._solver.start(self._process)
self.find(QAction, "action_start").setEnabled(False)
self.find(QAction, "action_pause").setEnabled(True)
if _signal:
self.find(QAction, "action_pause").setEnabled(True)
else:
self.find(QAction, "action_pause").setEnabled(False)
self.find(QAction, "action_stop").setEnabled(True)
self.find(QAction, "action_log_file").setEnabled(False)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment