Skip to content

Commit bffbae2

Browse files
Fix pyQode/pyQode#25 and add a menu to select intepreter in pynotepad example
Intepreter settings was ignored.
1 parent 908740a commit bffbae2

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

examples/pynotepad/pynotepad/main_window.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,25 @@ def __init__(self):
2828
self.setup_actions()
2929
self.setup_status_bar_widgets()
3030
self.on_current_tab_changed()
31+
self.intepreter_group = QtWidgets.QActionGroup(self.menuPython_interpreter)
32+
for interpreter in get_interpreters():
33+
a = self.menuPython_interpreter.addAction(interpreter)
34+
a.setCheckable(True)
35+
a.setChecked(interpreter in Settings().interpreter)
36+
self.intepreter_group.addAction(a)
37+
38+
self.intepreter_group.triggered.connect(self.on_interpreter_toggled)
3139
self.interactiveConsole.open_file_requested.connect(self.open_file)
3240
self.styles_group = None
3341

42+
def on_interpreter_toggled(self, action):
43+
interpreter = action.text()
44+
for editor in self.tabWidget.widgets(include_clones=True):
45+
editor.backend.stop()
46+
editor.backend.start(editor.backend.server_script,
47+
interpreter=interpreter, args=editor.backend.args)
48+
Settings().interpreter = interpreter
49+
3450
def setup_status_bar_widgets(self):
3551
self.lbl_interpreter = QtWidgets.QLabel()
3652
self.lbl_filename = QtWidgets.QLabel()
@@ -105,7 +121,8 @@ def open_file(self, path, line=None):
105121
"""
106122
editor = None
107123
if path:
108-
editor = self.tabWidget.open_document(path)
124+
editor = self.tabWidget.open_document(
125+
path, interpreter=Settings().interpreter)
109126
if editor:
110127
self.setup_editor(editor)
111128
self.recent_files_manager.open_file(path)
@@ -119,7 +136,8 @@ def on_new(self):
119136
"""
120137
Add a new empty code editor to the tab widget
121138
"""
122-
self.setup_editor(self.tabWidget.create_new_document(extension='.py'))
139+
self.setup_editor(self.tabWidget.create_new_document(
140+
extension='.py', interpreter=Settings().interpreter))
123141
self.actionRun.setDisabled(True)
124142
self.actionConfigure_run.setDisabled(True)
125143

0 commit comments

Comments
 (0)