package floobits.dialogs;
import com.intellij.openapi.project.Project;
import floobits.impl.ContextImpl;
import floobits.utilities.Flog;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
public class HandleNoWorkspaceJoin extends CustomButtonDialogWrapper {
protected JPanel container;
public HandleNoWorkspaceJoin(final ContextImpl context) {
super(true);
container = new JPanel();
JLabel infoLabel = new JLabel();
infoLabel.setText("This project doesn't seem to be associated with a Floobits workspace. Create one?");
container.add(infoLabel);
CustomButtonAction abortAction = new CustomButtonAction("Cancel", new Runnable() {
@Override
public void run() {
context.errorMessage("This project doesn't seem to be associated with a Floobits workspace.");
Flog.warn("User aborted joining workspace.");
}
});
CustomButtonAction sharePubliclyAction = new CustomButtonAction("Share project publicly", new Runnable() {
@Override
public void run() {
container.setVisible(false);
shareProject(false, context);
}
});
CustomButtonAction sharePrivatelyAction = new CustomButtonAction("Share project privately", new Runnable() {
@Override
public void run() {
container.setVisible(false);
shareProject(true, context);
}
});
actions = new Action[]{sharePubliclyAction, sharePrivatelyAction, abortAction};
init();
}
protected void shareProject(boolean sharePrivate, ContextImpl context) {
Project project = context.project;
if (project == null ) {
return;
}
final String project_path = project.getBasePath();
context.shareProject(sharePrivate, project_path);
}
@Nullable
@Override
public JComponent createCenterPanel() {
return container;
}
}