public void update()

in src/com/intellij/vssSupport/actions/VssAction.java [27:58]


  public void update( AnActionEvent e )
  {
    Presentation presentation = e.getPresentation();

    //  Do not show anything if no project is set.
    Project project = e.getData( CommonDataKeys.PROJECT );
    if( project == null )
    {
      presentation.setVisible( false );
      presentation.setEnabled( false );
      return;
    }
    
    //  Add additional condition for VSS actions visibility like that
    //  presented in the VssGroup/StandardVcsGroup.
    ProjectLevelVcsManager pm = ProjectLevelVcsManager.getInstance( project );
    boolean state = pm.checkVcsIsActive( VssVcs.getInstance( project ) );
    presentation.setVisible( state );

    if( state )
    {
      state = false;
      VssConfiguration config = VssConfiguration.getInstance( project );
      if( config != null )
      {
        VssVcs  host = VssVcs.getInstance( project );
        pm = ProjectLevelVcsManager.getInstance( project );
        state = pm.checkAllFilesAreUnder( host, VcsUtil.getVirtualFiles( e ) );
      }
      presentation.setEnabled( state );
    }
  }