Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java53
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);
}
}
-
+
}

Back to the top