eric7/PipInterface/PipPackagesWidget.py

branch
eric7
changeset 8999
723f61499a79
parent 8997
d8946c2a22b5
child 9000
bc0b38405b6a
equal deleted inserted replaced
8998:4644064d4454 8999:723f61499a79
246 venvManager = ericApp().getObject("VirtualEnvManager") 246 venvManager = ericApp().getObject("VirtualEnvManager")
247 venvManager.virtualEnvironmentAdded.connect( 247 venvManager.virtualEnvironmentAdded.connect(
248 self.on_refreshButton_clicked) 248 self.on_refreshButton_clicked)
249 venvManager.virtualEnvironmentRemoved.connect( 249 venvManager.virtualEnvironmentRemoved.connect(
250 self.on_refreshButton_clicked) 250 self.on_refreshButton_clicked)
251 self.__selectedEnvironment = None
251 252
252 project = ericApp().getObject("Project") 253 project = ericApp().getObject("Project")
253 project.projectOpened.connect( 254 project.projectOpened.connect(
254 self.on_refreshButton_clicked) 255 self.__projectOpened)
255 project.projectClosed.connect( 256 project.projectClosed.connect(
256 self.__projectClosed) 257 self.__projectClosed)
257 258
258 self.__initPipMenu() 259 self.__initPipMenu()
259 self.__populateEnvironments() 260 self.__populateEnvironments()
270 271
271 self.__packageDetailsDialog = None 272 self.__packageDetailsDialog = None
272 273
273 self.viewsStackWidget.setCurrentWidget(self.packagesPage) 274 self.viewsStackWidget.setCurrentWidget(self.packagesPage)
274 275
276 @pyqtSlot()
277 def __projectOpened(self):
278 """
279 Private slot to handle the projectOpened signal.
280 """
281 projectVenv = self.__pip.getProjectEnvironmentString()
282 if projectVenv:
283 self.environmentsComboBox.insertItem(1, projectVenv)
284
275 @pyqtSlot(bool) 285 @pyqtSlot(bool)
276 def __projectClosed(self, shutdown): 286 def __projectClosed(self, shutdown):
277 """ 287 """
278 Private slot to handle the projectClosed signal. 288 Private slot to handle the projectClosed signal.
279 289
280 @param shutdown flag indicating the IDE shutdown 290 @param shutdown flag indicating the IDE shutdown
281 @type bool 291 @type bool
282 """ 292 """
283 if not shutdown: 293 if not shutdown:
284 self.on_refreshButton_clicked() 294 # the project entry is always at index 1
295 self.environmentsComboBox.removeItem(1)
285 296
286 def __populateEnvironments(self): 297 def __populateEnvironments(self):
287 """ 298 """
288 Private method to get a list of environments and populate the selector. 299 Private method to get a list of environments and populate the selector.
289 """ 300 """
463 474
464 self.__updateActionButtons() 475 self.__updateActionButtons()
465 self.__updateSearchActionButtons() 476 self.__updateSearchActionButtons()
466 self.__updateSearchButton() 477 self.__updateSearchButton()
467 478
468 @pyqtSlot(int) 479 @pyqtSlot(str)
469 def on_environmentsComboBox_currentIndexChanged(self, index): 480 def on_environmentsComboBox_currentTextChanged(self, name):
470 """ 481 """
471 Private slot handling the selection of a Python environment. 482 Private slot handling the selection of a Python environment.
472 483
473 @param index index of the selected Python environment 484 @param name name of the selected Python environment
474 @type int 485 @type str
475 """ 486 """
476 if self.viewToggleButton.isChecked(): 487 if name != self.__selectedEnvironment:
477 self.__refreshDependencyTree() 488 if self.viewToggleButton.isChecked():
478 else: 489 self.__refreshDependencyTree()
479 self.__refreshPackagesList() 490 else:
491 self.__refreshPackagesList()
492 self.__selectedEnvironment = name
480 493
481 @pyqtSlot() 494 @pyqtSlot()
482 def on_localCheckBox_clicked(self): 495 def on_localCheckBox_clicked(self):
483 """ 496 """
484 Private slot handling the switching of the local mode. 497 Private slot handling the switching of the local mode.

eric ide

mercurial