All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.intellij.cvsSupport2.cvsoperations.cvsAdd.ui.AbstractAddOptionsDialog Maven / Gradle / Ivy

Go to download

A packaging of the IntelliJ Community Edition cvs-plugin library. This is release number 1 of trunk branch 142.

The newest version!
/*
 * Copyright 2000-2011 JetBrains s.r.o.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.intellij.cvsSupport2.cvsoperations.cvsAdd.ui;

import com.intellij.CvsBundle;
import com.intellij.cvsSupport2.cvsoperations.cvsAdd.AddedFileInfo;
import com.intellij.cvsSupport2.ui.Options;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.util.ui.OptionsDialog;
import com.intellij.util.ui.UIUtil;

import java.util.Collection;

/**
 * author: lesya
 */
public abstract class AbstractAddOptionsDialog extends OptionsDialog {
  protected final Options myOptions;

  private static final Logger LOG = Logger.getInstance("#com.intellij.cvsSupport2.cvsoperations.cvsAdd.ui.AbstractAddOptionsDialog");

  public static AbstractAddOptionsDialog createDialog(Project project,
                                                      Collection files,
                                                      Options options){
    LOG.assertTrue(files.size() > 0);
    if ((files.size() > 1) || firstElementContainsChildren(files))
      return new AddMultipleFilesOptionsDialog(project, files, options);
    else
      return new AddOneFileOptionsDialog(project, options, files.iterator().next());
  }

  private static boolean firstElementContainsChildren(Collection files) {
    return files.iterator().next().getChildCount() > 0;
  }

  public AbstractAddOptionsDialog(Project project, Options options) {
    super(project);
    myOptions = options;
    UIUtil.setActionNameAndMnemonic(CvsBundle.message("button.text.add.to.cvs"), getOKAction());
  }

  protected boolean isToBeShown() {
    return myOptions.isToBeShown(myProject);
  }

  protected void setToBeShown(boolean value, boolean onOk) {
    myOptions.setToBeShown(value, myProject, onOk);
  }

  protected boolean shouldSaveOptionsOnCancel() {
    return true;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy