@@ -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