diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/configuration/Appconfig.py | 3 | ||||
-rwxr-xr-x | src/frontEnd/Application.py | 2 | ||||
-rw-r--r-- | src/frontEnd/ProjectExplorer.py | 4 | ||||
-rw-r--r-- | src/ngspiceSimulation/NgspiceWidget.py | 1 | ||||
-rw-r--r-- | src/projManagement/Worker.py | 3 |
5 files changed, 10 insertions, 3 deletions
diff --git a/src/configuration/Appconfig.py b/src/configuration/Appconfig.py index 72510174..532091f7 100644 --- a/src/configuration/Appconfig.py +++ b/src/configuration/Appconfig.py @@ -38,6 +38,7 @@ class Appconfig(QtGui.QWidget): #Workspace detail workspace_text = '''eSim stores your project in a folder called a eSim-Workspace. You can choose a different workspace folder to use for this session.''' procThread_list = [] + proc_dict={} dictPath = os.path.join(os.path.expanduser("~"), ".projectExplorer.txt") noteArea = {} try: @@ -75,4 +76,4 @@ class Appconfig(QtGui.QWidget): -
\ No newline at end of file + diff --git a/src/frontEnd/Application.py b/src/frontEnd/Application.py index 24e541c3..37fc6942 100755 --- a/src/frontEnd/Application.py +++ b/src/frontEnd/Application.py @@ -187,6 +187,8 @@ class Application(QtGui.QMainWindow): if current_project==None: pass else: + for pid in self.obj_appconfig.proc_dict[self.obj_appconfig.current_project['ProjectName']]: + os.kill(pid, 9) self.obj_appconfig.current_project['ProjectName'] = None self.systemTrayIcon.showMessage('Close', 'Current project '+os.path.basename(current_project)+' is Closed.') diff --git a/src/frontEnd/ProjectExplorer.py b/src/frontEnd/ProjectExplorer.py index 6c96227a..e2091523 100644 --- a/src/frontEnd/ProjectExplorer.py +++ b/src/frontEnd/ProjectExplorer.py @@ -47,6 +47,7 @@ class ProjectExplorer(QtGui.QWidget): parentnode = QtGui.QTreeWidgetItem(self.treewidget, [pathlist[-1], parents]) for files in children: childnode = QtGui.QTreeWidgetItem(parentnode, [files, os.path.join(parents,files)]) + self.obj_appconfig.proc_dict[self.obj_appconfig.current_project['ProjectName']] = [] def openMenu(self, position): @@ -102,6 +103,7 @@ class ProjectExplorer(QtGui.QWidget): self.textwindow.show() else: self.obj_appconfig.current_project["ProjectName"]= str(self.filePath) + self.obj_appconfig.proc_dict[self.obj_appconfig.current_project['ProjectName']] = [] def enable_save(self): self.save.setEnabled(True) @@ -139,4 +141,4 @@ class ProjectExplorer(QtGui.QWidget): childnode= QtGui.QTreeWidgetItem(parentnode, [files, os.path.join(self.filePath,files)]) self.obj_appconfig.project_explorer[self.filePath]= filelistnew - json.dump(self.obj_appconfig.project_explorer, open(self.obj_appconfig.dictPath,'w'))
\ No newline at end of file + json.dump(self.obj_appconfig.project_explorer, open(self.obj_appconfig.dictPath,'w')) diff --git a/src/ngspiceSimulation/NgspiceWidget.py b/src/ngspiceSimulation/NgspiceWidget.py index ee4dafe7..310cbe3c 100644 --- a/src/ngspiceSimulation/NgspiceWidget.py +++ b/src/ngspiceSimulation/NgspiceWidget.py @@ -24,6 +24,7 @@ class NgspiceWidget(QtGui.QWidget): self.args = ['-hold','-e', self.command] self.process.start('xterm', self.args) self.obj_appconfig.process_obj.append(self.process) + self.obj_appconfig.proc_dict[self.obj_appconfig.current_project['ProjectName']].append(self.process.pid()) elif platform.system() == 'Windows': tempdir= os.getcwd() diff --git a/src/projManagement/Worker.py b/src/projManagement/Worker.py index 9721f4a7..6befca65 100644 --- a/src/projManagement/Worker.py +++ b/src/projManagement/Worker.py @@ -39,7 +39,8 @@ class WorkerThread(QtCore.QThread): procThread = Appconfig() proc = subprocess.Popen(command.split()) procThread.procThread_list.append(proc) + procThread.proc_dict[procThread.current_project['ProjectName']].append(proc.pid) -
\ No newline at end of file + |