49 self.setupUi(self) |
49 self.setupUi(self) |
50 |
50 |
51 self.__venvName = "" if metadata is None else metadata.name |
51 self.__venvName = "" if metadata is None else metadata.name |
52 self.__manager = manager |
52 self.__manager = manager |
53 self.__editMode = bool(self.__venvName) |
53 self.__editMode = bool(self.__venvName) |
54 self.__serverInterface = ericApp().getObject("EricServer") |
54 try: |
55 self.__fsInterface = self.__serverInterface.getServiceInterface("FileSystem") |
55 self.__serverInterface = ericApp().getObject("EricServer") |
|
56 self.__fsInterface = self.__serverInterface.getServiceInterface("FileSystem") |
|
57 except KeyError: |
|
58 self.__serverInterface = None |
|
59 self.__fsInterface = None |
56 |
60 |
57 if self.__editMode: |
61 if self.__editMode: |
58 self.setWindowTitle(self.tr("Edit Virtual Environment")) |
62 self.setWindowTitle(self.tr("Edit Virtual Environment")) |
59 else: |
63 else: |
60 self.setWindowTitle(self.tr("Add Virtual Environment")) |
64 self.setWindowTitle(self.tr("Add Virtual Environment")) |
61 |
65 |
62 self.__envBaseDir = baseDir |
66 self.__envBaseDir = baseDir |
63 if not self.__envBaseDir: |
67 if not self.__envBaseDir: |
64 self.__envBaseDir = OSUtilities.getHomeDir() |
68 self.__envBaseDir = OSUtilities.getHomeDir() |
65 |
69 |
66 self.serverRadioButton.setEnabled(self.__serverInterface.isServerConnected()) |
70 self.serverRadioButton.setEnabled( |
|
71 self.__serverInterface is not None |
|
72 and self.__serverInterface.isServerConnected() |
|
73 ) |
67 |
74 |
68 self.targetDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
75 self.targetDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
69 self.targetDirectoryPicker.setWindowTitle( |
76 self.targetDirectoryPicker.setWindowTitle( |
70 self.tr("Virtualenv Target Directory") |
77 self.tr("Virtualenv Target Directory") |
71 ) |
78 ) |
72 if self.__serverInterface.isServerConnected(): |
79 if ( |
|
80 self.__serverInterface is not None |
|
81 and self.__serverInterface.isServerConnected() |
|
82 ): |
73 self.targetDirectoryPicker.setRemote( |
83 self.targetDirectoryPicker.setRemote( |
74 metadata.is_eric_server if metadata else False |
84 metadata.is_eric_server if metadata else False |
75 ) |
85 ) |
76 if metadata is None or (not metadata.is_eric_server and not metadata.is_remote): |
86 if metadata is None or (not metadata.is_eric_server and not metadata.is_remote): |
77 self.targetDirectoryPicker.setDefaultDirectory(self.__envBaseDir) |
87 self.targetDirectoryPicker.setDefaultDirectory(self.__envBaseDir) |
78 |
88 |
79 self.pythonExecPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
89 self.pythonExecPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
80 self.pythonExecPicker.setWindowTitle(self.tr("Python Interpreter")) |
90 self.pythonExecPicker.setWindowTitle(self.tr("Python Interpreter")) |
81 if self.__serverInterface.isServerConnected(): |
91 if ( |
|
92 self.__serverInterface is not None |
|
93 and self.__serverInterface.isServerConnected() |
|
94 ): |
82 self.pythonExecPicker.setRemote( |
95 self.pythonExecPicker.setRemote( |
83 metadata.is_eric_server if metadata else False |
96 metadata.is_eric_server if metadata else False |
84 ) |
97 ) |
85 if metadata is None or (not metadata.is_eric_server and not metadata.is_remote): |
98 if metadata is None or (not metadata.is_eric_server and not metadata.is_remote): |
86 self.pythonExecPicker.setDefaultDirectory( |
99 self.pythonExecPicker.setDefaultDirectory( |
161 bool(self.targetDirectoryPicker.text()) |
174 bool(self.targetDirectoryPicker.text()) |
162 and self.targetDirectoryPicker.text() != self.__envBaseDir |
175 and self.targetDirectoryPicker.text() != self.__envBaseDir |
163 and ( |
176 and ( |
164 ( |
177 ( |
165 self.serverRadioButton.isChecked() |
178 self.serverRadioButton.isChecked() |
|
179 and self.__fsInterface is not None |
166 and self.__fsInterface.exists(self.targetDirectoryPicker.text()) |
180 and self.__fsInterface.exists(self.targetDirectoryPicker.text()) |
167 ) |
181 ) |
168 or ( |
182 or ( |
169 not self.serverRadioButton.isChecked() |
183 not self.serverRadioButton.isChecked() |
170 and os.path.exists(self.targetDirectoryPicker.text()) |
184 and os.path.exists(self.targetDirectoryPicker.text()) |
281 Private slot handling a change of the eric-ide server radio button state. |
296 Private slot handling a change of the eric-ide server radio button state. |
282 |
297 |
283 @param checked state of the radio button |
298 @param checked state of the radio button |
284 @type bool |
299 @type bool |
285 """ |
300 """ |
286 if self.__serverInterface.isServerConnected(): |
301 if ( |
|
302 self.__serverInterface is not None |
|
303 and self.__serverInterface.isServerConnected() |
|
304 ): |
287 self.targetDirectoryPicker.setRemote(checked) |
305 self.targetDirectoryPicker.setRemote(checked) |
288 self.pythonExecPicker.setRemote(checked) |
306 self.pythonExecPicker.setRemote(checked) |
289 self.serverLineEdit.setText( |
307 self.serverLineEdit.setText( |
290 self.__serverInterface.getHost() if checked else "" |
308 self.__serverInterface.getHost() if checked else "" |
291 ) |
309 ) |