diff options
Diffstat (limited to 'providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizard.java')
-rw-r--r-- | providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizard.java | 53 |
1 files changed, 34 insertions, 19 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizard.java b/providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizard.java index 21c08f45f..3c19c9678 100644 --- a/providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizard.java +++ b/providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizard.java @@ -11,6 +11,8 @@ *****************************************************************************/ package org.eclipse.ecf.internal.irc.ui.wizards; +import org.eclipse.ecf.core.ContainerCreateException; +import org.eclipse.ecf.core.ContainerFactory; import org.eclipse.ecf.core.IContainer; import org.eclipse.ecf.core.identity.ID; import org.eclipse.ecf.core.identity.IDCreateException; @@ -18,18 +20,21 @@ import org.eclipse.ecf.core.identity.IDFactory; import org.eclipse.ecf.core.security.ConnectContextFactory; import org.eclipse.ecf.core.security.IConnectContext; import org.eclipse.ecf.internal.irc.ui.IRCUI; +import org.eclipse.ecf.internal.irc.ui.Messages; import org.eclipse.ecf.presence.chatroom.IChatRoomManager; import org.eclipse.ecf.ui.IConnectWizard; import org.eclipse.ecf.ui.actions.AsynchContainerConnectAction; import org.eclipse.ecf.ui.dialogs.IDCreateErrorDialog; import org.eclipse.ecf.ui.util.PasswordCacheHelper; +import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.Wizard; +import org.eclipse.ui.INewWizard; import org.eclipse.ui.IWorkbench; -public final class IRCConnectWizard extends Wizard implements IConnectWizard { +public final class IRCConnectWizard extends Wizard implements IConnectWizard, INewWizard { public static final String DEFAULT_GUEST_USER = "guest"; - + private IRCConnectWizardPage page; private IContainer container; @@ -56,50 +61,60 @@ public final class IRCConnectWizard extends Wizard implements IConnectWizard { public void init(IWorkbench workbench, IContainer container) { this.container = container; + + setWindowTitle(Messages.IRCConnectWizard_WIZARD_TITLE); + } + + public void init(IWorkbench workbench, IStructuredSelection selection) { + this.container = null; + try { + this.container = ContainerFactory.getDefault().createContainer("ecf.irc.irclib"); + } catch (final ContainerCreateException e) { + // None + } + + setWindowTitle(Messages.IRCConnectWizard_WIZARD_TITLE); } public boolean performFinish() { - + final String connectID = page.getConnectID(); final String password = page.getPassword(); - - connectContext = ConnectContextFactory - .createPasswordConnectContext(password); + + connectContext = ConnectContextFactory.createPasswordConnectContext(password); page.saveComboText(); - + try { - targetID = IDFactory.getDefault().createID( - container.getConnectNamespace(), connectID); - } catch (IDCreateException e) { - new IDCreateErrorDialog(null,connectID,e).open(); + targetID = IDFactory.getDefault().createID(container.getConnectNamespace(), connectID); + } catch (final IDCreateException e) { + new IDCreateErrorDialog(null, connectID, e).open(); return false; } - IChatRoomManager manager = (IChatRoomManager) this.container - .getAdapter(IChatRoomManager.class); + final IChatRoomManager manager = (IChatRoomManager) this.container.getAdapter(IChatRoomManager.class); - IRCUI ui = new IRCUI(this.container, manager, null); + final IRCUI ui = new IRCUI(this.container, manager, null); ui.showForTarget(targetID); // If it's not already connected, then we connect this new container if (!ui.isContainerConnected()) { page.saveComboItems(); new AsynchContainerConnectAction(container, targetID, connectContext, null, new Runnable() { public void run() { - cachePassword(page.getPasswordKeyFromUserName(connectID),password); - }}).run(); + cachePassword(page.getPasswordKeyFromUserName(connectID), password); + } + }).run(); } - return true; } protected void cachePassword(final String connectID, String password) { if (password != null && !password.equals("")) { - PasswordCacheHelper pwStorage = new PasswordCacheHelper(connectID); + final PasswordCacheHelper pwStorage = new PasswordCacheHelper(connectID); pwStorage.savePassword(password); } } - + } |