Example usage for com.intellij.openapi.ui.popup.util PopupUtil getActiveComponent

List of usage examples for com.intellij.openapi.ui.popup.util PopupUtil getActiveComponent

Introduction

In this page you can find the example usage for com.intellij.openapi.ui.popup.util PopupUtil getActiveComponent.

Prototype

public static Component getActiveComponent() 

Source Link

Usage

From source file:com.intellij.util.net.HttpConfigurable.java

License:Apache License

public PasswordAuthentication getGenericPromptedAuthentication(final String prefix, final String host,
        final String prompt, final int port, final boolean remember) {
    if (ApplicationManager.getApplication().isUnitTestMode()) {
        return myTestGenericAuthRunnable.get();
    }//from   w ww . j  ava  2s .  c  o m

    final Ref<PasswordAuthentication> value = Ref.create();
    runAboveAll(new Runnable() {
        @Override
        public void run() {
            if (isGenericPasswordCanceled(host, port)) {
                return;
            }

            PasswordAuthentication password = getGenericPassword(host, port);
            if (password != null) {
                value.set(password);
                return;
            }

            AuthenticationDialog dialog = new AuthenticationDialog(PopupUtil.getActiveComponent(),
                    prefix + host, "Please enter credentials for: " + prompt, "", "", remember);
            dialog.show();
            if (dialog.getExitCode() == DialogWrapper.OK_EXIT_CODE) {
                AuthenticationPanel panel = dialog.getPanel();
                PasswordAuthentication passwordAuthentication = new PasswordAuthentication(panel.getLogin(),
                        panel.getPassword());
                putGenericPassword(host, port, passwordAuthentication, remember && panel.isRememberPassword());
                value.set(passwordAuthentication);
            } else {
                setGenericPasswordCanceled(host, port);
            }
        }
    });
    return value.get();
}

From source file:com.intellij.util.net.HttpConfigurable.java

License:Apache License

public PasswordAuthentication getPromptedAuthentication(final String host, final String prompt) {
    if (AUTHENTICATION_CANCELLED) {
        return null;
    }/*from ww  w  .  j a v  a2 s  .  c  o m*/
    final String password = getPlainProxyPassword();
    if (PROXY_AUTHENTICATION && !StringUtil.isEmptyOrSpaces(PROXY_LOGIN)
            && !StringUtil.isEmptyOrSpaces(password)) {
        return new PasswordAuthentication(PROXY_LOGIN, password.toCharArray());
    }

    // do not try to show any dialogs if application is exiting
    if (ApplicationManager.getApplication() == null || ApplicationManager.getApplication().isDisposeInProgress()
            || ApplicationManager.getApplication().isDisposed())
        return null;

    if (ApplicationManager.getApplication().isUnitTestMode()) {
        return myTestGenericAuthRunnable.get();
    }
    final PasswordAuthentication[] value = new PasswordAuthentication[1];
    runAboveAll(new Runnable() {
        @Override
        public void run() {
            if (AUTHENTICATION_CANCELLED) {
                return;
            }

            // password might have changed, and the check below is for that
            String password = getPlainProxyPassword();
            if (PROXY_AUTHENTICATION && !StringUtil.isEmptyOrSpaces(PROXY_LOGIN)
                    && !StringUtil.isEmptyOrSpaces(password)) {
                value[0] = new PasswordAuthentication(PROXY_LOGIN, password.toCharArray());
                return;
            }
            AuthenticationDialog dialog = new AuthenticationDialog(PopupUtil.getActiveComponent(),
                    "Proxy authentication: " + host, "Please enter credentials for: " + prompt, PROXY_LOGIN, "",
                    KEEP_PROXY_PASSWORD);
            dialog.show();
            if (dialog.getExitCode() == DialogWrapper.OK_EXIT_CODE) {
                PROXY_AUTHENTICATION = true;
                AuthenticationPanel panel = dialog.getPanel();
                KEEP_PROXY_PASSWORD = panel.isRememberPassword();
                PROXY_LOGIN = StringUtil.nullize(panel.getLogin());
                setPlainProxyPassword(String.valueOf(panel.getPassword()));
                value[0] = new PasswordAuthentication(panel.getLogin(), panel.getPassword());
            } else {
                AUTHENTICATION_CANCELLED = true;
            }
        }
    });
    return value[0];
}