package floobits.dialogs; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import floobits.FloobitsPlugin; import floobits.common.interfaces.IContext; import floobits.impl.ContextImpl; import floobits.utilities.Flog; import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.event.ActionEvent; public class CreateAccount extends CustomButtonDialogWrapper { private JPanel jPanel; public CreateAccount(final Project project) { super(project, true); jPanel = new JPanel(); this.setTitle("No Floobits Account Detected"); JLabel label = new JLabel("You need a Floobits account! If you don't have one we will create one for you."); jPanel.add(label); CustomButtonAction cancelAction = new CustomButtonAction("Cancel", new Runnable() { @Override public void run() { doCancelAction(); } }); CustomButtonAction linkAccountAction = new CustomButtonAction("I already have an account", new Runnable() { @Override public void run() { Flog.info("Linking account from button press"); IContext context; if (project == null) { context = new ContextImpl(null); } else { context = FloobitsPlugin.getInstance(project).context; } context.linkEditor(); } }); CustomButtonAction createAccountAction = new CustomButtonAction("Create a Floobits account", new Runnable() { @Override public void run() { Flog.info("Creating account from button press"); IContext context; if (project == null) { context = new ContextImpl(null); } else { context = FloobitsPlugin.getInstance(project).context; } context.createAccount(); } }); actions = new Action[]{cancelAction, linkAccountAction, createAccountAction}; init(); } @Nullable @Override public JComponent createCenterPanel() { return jPanel; } @Override public void doCancelAction() { super.doCancelAction(); } @Override protected void doOKAction() { super.doOKAction(); } }