Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2007-06-11 18:26:36 +0000
committerslewis2007-06-11 18:26:36 +0000
commit31f5cb2891f599d3e1d69633d162fdbb6cd18fdc (patch)
treedadca782e5fa61b9c4f7c35fb8c789397839dd9f /framework/bundles/org.eclipse.ecf.presence.collab.ui
parentc6667ce352e9a41623571376d0d73c8834183c5f (diff)
downloadorg.eclipse.ecf-31f5cb2891f599d3e1d69633d162fdbb6cd18fdc.tar.gz
org.eclipse.ecf-31f5cb2891f599d3e1d69633d162fdbb6cd18fdc.tar.xz
org.eclipse.ecf-31f5cb2891f599d3e1d69633d162fdbb6cd18fdc.zip
Fixed string externalizationv20070611-2100
Diffstat (limited to 'framework/bundles/org.eclipse.ecf.presence.collab.ui')
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/plugin.xml18
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Activator.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Messages.java11
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/RosterViewerDropTargetText.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/messages.properties19
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/view/ShowViewDialogLabelProvider.java (renamed from framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ShowViewDialogLabelProvider.java)2
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/view/ShowViewDialogTreeContentProvider.java (renamed from framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ShowViewDialogTreeContentProvider.java)2
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/view/ShowViewDialogViewerFilter.java (renamed from framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ShowViewDialogViewerFilter.java)4
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShare.java29
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShareRosterContributionItem.java101
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShareRosterEntryContributionItem.java60
11 files changed, 227 insertions, 23 deletions
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/plugin.xml b/framework/bundles/org.eclipse.ecf.presence.collab.ui/plugin.xml
index 0e23d6f42..fd6cd2aca 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/plugin.xml
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/plugin.xml
@@ -18,6 +18,24 @@
</dynamic>
</menuContribution>
</extension>
+
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:org.eclipse.ecf.presence.ui.MultiRosterView?before=additions">
+ <dynamic
+ class="org.eclipse.ecf.presence.collab.ui.view.ViewShareRosterEntryContributionItem"
+ id="org.eclipse.ecf.presence.collab.ui.dynamic4">
+ </dynamic>
+ </menuContribution>
+ <menuContribution
+ locationURI="popup:org.eclipse.ecf.presence.ui.MultiRosterView?before=additions">
+ <dynamic
+ class="org.eclipse.ecf.presence.collab.ui.view.ViewShareRosterContributionItem"
+ id="org.eclipse.ecf.presence.collab.ui.dynamic5">
+ </dynamic>
+ </menuContribution>
+ </extension>
<!--
<extension
point="org.eclipse.ecf.presence.ui.rosterViewerDropTarget">
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Activator.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Activator.java
index 3620189d6..538f53826 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Activator.java
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Activator.java
@@ -9,7 +9,7 @@ import org.osgi.framework.BundleContext;
public class Activator extends AbstractUIPlugin {
// The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.ecf.presence.collab.ui";
+ public static final String PLUGIN_ID = "org.eclipse.ecf.presence.collab.ui"; //$NON-NLS-1$
// The shared instance
private static Activator plugin;
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Messages.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Messages.java
index b9f169a91..be39a7bec 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Messages.java
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Messages.java
@@ -36,6 +36,17 @@ public class Messages extends NLS {
public static String URLShareRosterContributionItem_BROWSER_ICON;
public static String URLShareRosterContributionItem_REMOVE_URL_SHARE_MENU_TEXT;
public static String URLShareRosterEntryContributionItem_SEND_URL_MENU_TEXT;
+ public static String ViewShare_EXCEPTION_WORKBENCHPAGE_NULL;
+ public static String ViewShare_VIEWSHARE_ERROR_DIALOG_MESSAGE;
+ public static String ViewShare_VIEWSHARE_ERROR_DIALOG_TITLE;
+ public static String ViewShare_VIEWSHARE_ERROR_LOG_MESSAGE;
+ public static String ViewShare_VIEWSHARE_RECEIVED_REQUEST_MESSAGE;
+ public static String ViewShare_VIEWSHARE_RECEIVED_REQUEST_TITLE;
+ public static String ViewShare_VIEWSHARE_VIEW_REQUEST_DIALOG_MESSAGE;
+ public static String ViewShare_VIEWSHARE_VIEW_REQUEST_DIALOG_TITLE;
+ public static String ViewShareRosterContributionItem_VIEWSHARE_LISTENER_MENU_ADD_TEXT;
+ public static String ViewShareRosterContributionItem_VIEWSHARE_LISTENER_MENU_REMOVE_TEXT;
+ public static String ViewShareRosterEntryContributionItem_VIEWSHARE_MENU_TEXT;
static {
// initialize resource bundle
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/RosterViewerDropTargetText.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/RosterViewerDropTargetText.java
index ffdeb5bb6..9b75d61f7 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/RosterViewerDropTargetText.java
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/RosterViewerDropTargetText.java
@@ -15,7 +15,7 @@ public class RosterViewerDropTargetText implements IRosterViewerDropTarget {
public boolean validateDrop(IRosterItem rosterItem, int operation,
TransferData transferType) {
// TODO Auto-generated method stub
- System.out.println("RosterViewerDropTargetText.validateDrop("+rosterItem+","+operation+","+transferType+")");
+ System.out.println("RosterViewerDropTargetText.validateDrop("+rosterItem+","+operation+","+transferType+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
if (rosterItem != null && rosterItem instanceof IRosterEntry) return true;
return false;
}
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/messages.properties b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/messages.properties
index 25cf9402e..5b5415073 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/messages.properties
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/messages.properties
@@ -1,13 +1,12 @@
-URLShareRosterContributionItem_ADD_URL_SHARE_MENU_TEXT=Add URL Listener
+URLShareRosterContributionItem_ADD_URL_SHARE_MENU_TEXT=Add URL Share Listener
URLShareRosterContributionItem_BROWSER_ICON=icons/internal_browser.gif
URLShareRosterEntryContributionItem_SEND_URL_MENU_TEXT=Send URL
-URLShareRosterContributionItem_REMOVE_URL_SHARE_MENU_TEXT=Remove URL Listener
+URLShareRosterContributionItem_REMOVE_URL_SHARE_MENU_TEXT=Remove URL Share Listener
URLShare_INPUT_URL_DIALOG_TITLE=Enter URL to Send
URLShare_ENTER_URL_DIALOG_TEXT=URL
URLShare_ENTER_URL_DEFAULT_URL=http://www.eclipse.org/ecf
-URLShare_ERROR_BROWSER_MESSAGE=Error opening browser:
+URLShare_ERROR_BROWSER_MESSAGE=Error opening browser
URLShare_EXCEPTION_LOG_BROWSER=Exception in createBrowser
-URLShare_EXCEPTION_LOG_MESSAGE=Exception in URLShare.handleMessage
URLShare_RECEIVED_URL_TITLE=Received URL
Share_ERROR_SEND_TITLE=Error sending message
URLShare_RECEIVED_URL_MESSAGE=Received URL from {0}\n\nDo you want to display?
@@ -15,5 +14,17 @@ URLShare_ERROR_BROWSER_TITLE=Error opening browser
Share_ERROR_RECEIVE_TITLE=Error receiving message
Share_ERROR_RECEIVE_MESSAGE=Error receiving message
Share_EXCEPTION_LOG_SEND=Exception in send message
+Share_EXCEPTION_LOG_MESSAGE=Exception in URLShare.handleMessage
Share_ERROR_SEND_MESSAGE=Error sending message: {0}
Share_ERROR_SEND_TITLE=Error sending message
+ViewShareRosterEntryContributionItem_VIEWSHARE_MENU_TEXT=Send Open View Request...
+ViewShareRosterContributionItem_VIEWSHARE_LISTENER_MENU_ADD_TEXT=Add View Open Listener
+ViewShareRosterContributionItem_VIEWSHARE_LISTENER_MENU_REMOVE_TEXT=Remove View Open Listener
+ViewShare_VIEWSHARE_RECEIVED_REQUEST_TITLE=Received Open View Request
+ViewShare_VIEWSHARE_RECEIVED_REQUEST_MESSAGE=Received open view request from {0}. Allow view to open?
+ViewShare_EXCEPTION_WORKBENCHPAGE_NULL=workbench page is null
+ViewShare_VIEWSHARE_ERROR_DIALOG_TITLE=Error opening view
+ViewShare_VIEWSHARE_ERROR_DIALOG_MESSAGE=Error opening view {0}
+ViewShare_VIEWSHARE_ERROR_LOG_MESSAGE=Exception in openView
+ViewShare_VIEWSHARE_VIEW_REQUEST_DIALOG_TITLE=Send Show View Request
+ViewShare_VIEWSHARE_VIEW_REQUEST_DIALOG_MESSAGE=Select View to Open Remotely
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ShowViewDialogLabelProvider.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/view/ShowViewDialogLabelProvider.java
index 10df41a69..fb7a78904 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ShowViewDialogLabelProvider.java
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/view/ShowViewDialogLabelProvider.java
@@ -1,4 +1,4 @@
-package org.eclipse.ecf.presence.collab.ui.view;
+package org.eclipse.ecf.internal.presence.collab.ui.view;
import java.util.HashMap;
import java.util.Iterator;
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ShowViewDialogTreeContentProvider.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/view/ShowViewDialogTreeContentProvider.java
index 224679902..7eb833671 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ShowViewDialogTreeContentProvider.java
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/view/ShowViewDialogTreeContentProvider.java
@@ -1,4 +1,4 @@
-package org.eclipse.ecf.presence.collab.ui.view;
+package org.eclipse.ecf.internal.presence.collab.ui.view;
import java.util.HashMap;
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ShowViewDialogViewerFilter.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/view/ShowViewDialogViewerFilter.java
index 1a3bd9f4b..10c933d8d 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ShowViewDialogViewerFilter.java
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/view/ShowViewDialogViewerFilter.java
@@ -1,4 +1,4 @@
-package org.eclipse.ecf.presence.collab.ui.view;
+package org.eclipse.ecf.internal.presence.collab.ui.view;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
@@ -11,7 +11,7 @@ public class ShowViewDialogViewerFilter extends ViewerFilter {
public boolean select(Viewer viewer, Object parentElement,
Object element) {
if (element instanceof IViewDescriptor
- && "org.eclipse.ui.internal.introview"
+ && "org.eclipse.ui.internal.introview" //$NON-NLS-1$
.equals(((IViewDescriptor) element)
.getId()))
return false;
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShare.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShare.java
index 3bd0cfdda..aeed630bd 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShare.java
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShare.java
@@ -25,6 +25,9 @@ import org.eclipse.ecf.datashare.AbstractShare;
import org.eclipse.ecf.datashare.IChannelContainerAdapter;
import org.eclipse.ecf.internal.presence.collab.ui.Activator;
import org.eclipse.ecf.internal.presence.collab.ui.Messages;
+import org.eclipse.ecf.internal.presence.collab.ui.view.ShowViewDialogLabelProvider;
+import org.eclipse.ecf.internal.presence.collab.ui.view.ShowViewDialogTreeContentProvider;
+import org.eclipse.ecf.internal.presence.collab.ui.view.ShowViewDialogViewerFilter;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.jface.window.Window;
@@ -72,7 +75,7 @@ public class ViewShare extends AbstractShare {
MessageDialog.openError(null, title, message);
}
- private void showView(final String user, final String viewID,
+ private void handleOpenViewRequest(final String user, final String viewID,
final String secondaryID, final int mode) {
Display.getDefault().asyncExec(new Runnable() {
public void run() {
@@ -80,10 +83,10 @@ public class ViewShare extends AbstractShare {
if (MessageDialog
.openQuestion(
null,
- "Received Open View Request",
+ Messages.ViewShare_VIEWSHARE_RECEIVED_REQUEST_TITLE,
NLS
.bind(
- "Received open view request from {0}. Allow view to open?",
+ Messages.ViewShare_VIEWSHARE_RECEIVED_REQUEST_MESSAGE,
user))) {
try {
IWorkbenchWindow ww = PlatformUI.getWorkbench()
@@ -91,22 +94,22 @@ public class ViewShare extends AbstractShare {
IWorkbenchPage wp = ww.getActivePage();
if (wp == null)
throw new PartInitException(
- "workbench page is null");
+ Messages.ViewShare_EXCEPTION_WORKBENCHPAGE_NULL);
// Actually show view requested
wp.showView(viewID, secondaryID, mode);
} catch (Exception e) {
- showErrorToUser("Error opening view", NLS.bind(
- "Error opening view {0}", e
+ showErrorToUser(Messages.ViewShare_VIEWSHARE_ERROR_DIALOG_TITLE, NLS.bind(
+ Messages.ViewShare_VIEWSHARE_ERROR_DIALOG_MESSAGE, e
.getLocalizedMessage()));
- logError("Exception in openView", e);
+ logError(Messages.ViewShare_VIEWSHARE_ERROR_LOG_MESSAGE, e);
}
}
}
});
}
- public void sendOpenViewRequestMessage(final String senderuser, final ID toID) {
+ public void sendOpenViewRequest(final String senderuser, final ID toID) {
Display.getDefault().asyncExec(new Runnable() {
public void run() {
IWorkbenchWindow ww = PlatformUI.getWorkbench()
@@ -117,8 +120,8 @@ public class ViewShare extends AbstractShare {
ElementTreeSelectionDialog dlg = new ElementTreeSelectionDialog(
null, new ShowViewDialogLabelProvider(),
new ShowViewDialogTreeContentProvider());
- dlg.setTitle("Send Show View Request");
- dlg.setMessage("Select View to Open Remotely");
+ dlg.setTitle(Messages.ViewShare_VIEWSHARE_VIEW_REQUEST_DIALOG_TITLE);
+ dlg.setMessage(Messages.ViewShare_VIEWSHARE_VIEW_REQUEST_DIALOG_MESSAGE);
dlg.addFilter(new ShowViewDialogViewerFilter());
dlg.setComparator(new ViewerComparator());
dlg.setValidator(new ISelectionStatusValidator() {
@@ -126,10 +129,10 @@ public class ViewShare extends AbstractShare {
for (int i = 0; i < selection.length; ++i)
if (!(selection[i] instanceof IViewDescriptor))
return new Status(Status.ERROR,
- Activator.PLUGIN_ID, 0, "", null);
+ Activator.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
return new Status(Status.OK, Activator.getDefault()
- .getBundle().getSymbolicName(), 0, "", null);
+ .getBundle().getSymbolicName(), 0, "", null); //$NON-NLS-1$
}
});
IViewRegistry reg = PlatformUI.getWorkbench().getViewRegistry();
@@ -175,7 +178,7 @@ public class ViewShare extends AbstractShare {
protected void handleMessage(ID fromContainerID, byte[] data) {
try {
Object[] msg = (Object[]) deserialize(data);
- showView((String) msg[0], (String) msg[1], null,
+ handleOpenViewRequest((String) msg[0], (String) msg[1], null,
IWorkbenchPage.VIEW_ACTIVATE);
} catch (Exception e) {
showErrorToUser(Messages.Share_ERROR_RECEIVE_TITLE, NLS.bind(
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShareRosterContributionItem.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShareRosterContributionItem.java
new file mode 100644
index 000000000..f786b2bde
--- /dev/null
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShareRosterContributionItem.java
@@ -0,0 +1,101 @@
+/****************************************************************************
+ * Copyright (c) 2007 Composent, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Composent, Inc. - initial API and implementation
+ *****************************************************************************/
+package org.eclipse.ecf.presence.collab.ui.view;
+
+import java.util.Hashtable;
+
+import org.eclipse.ecf.core.IContainer;
+import org.eclipse.ecf.core.identity.ID;
+import org.eclipse.ecf.core.util.ECFException;
+import org.eclipse.ecf.datashare.IChannelContainerAdapter;
+import org.eclipse.ecf.internal.presence.collab.ui.Messages;
+import org.eclipse.ecf.presence.roster.IRoster;
+import org.eclipse.ecf.presence.ui.roster.AbstractRosterContributionItem;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+
+public class ViewShareRosterContributionItem extends
+ AbstractRosterContributionItem {
+
+ private static Hashtable viewSharechannels = new Hashtable();
+
+ public ViewShareRosterContributionItem() {
+ }
+
+ public ViewShareRosterContributionItem(String id) {
+ super(id);
+ }
+
+ protected static ViewShare getViewShare(ID containerID) {
+ return (ViewShare) viewSharechannels.get(containerID);
+ }
+
+ protected static ViewShare addViewShare(ID containerID, ViewShare ViewShare) {
+ return (ViewShare) viewSharechannels.put(containerID, ViewShare);
+ }
+
+ protected static ViewShare removeViewShare(ID containerID) {
+ return (ViewShare) viewSharechannels.remove(containerID);
+ }
+
+ private IAction[] createActionAdd(final ID containerID,
+ final IChannelContainerAdapter channelAdapter) {
+ IAction action = new Action() {
+ public void run() {
+ try {
+ addViewShare(containerID, new ViewShare(containerID, channelAdapter));
+ } catch (ECFException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ };
+ action
+ .setText(Messages.ViewShareRosterContributionItem_VIEWSHARE_LISTENER_MENU_ADD_TEXT);
+ return new IAction[] { action };
+ }
+
+ private IAction[] createActionRemove(final ID containerID,
+ final ViewShare ViewShare) {
+ IAction action = new Action() {
+ public void run() {
+ ViewShare.dispose();
+ removeViewShare(containerID);
+ }
+ };
+ action
+ .setText(Messages.ViewShareRosterContributionItem_VIEWSHARE_LISTENER_MENU_REMOVE_TEXT);
+ return new IAction[] { action };
+ }
+
+ protected IAction[] makeActions() {
+ final IRoster roster = getSelectedRoster();
+ if (roster != null) {
+ // Roster is selected
+ IContainer c = getContainerForRoster(roster);
+ if (c != null) {
+ // Get existing ViewShare for this container (if it exists)
+ ViewShare ViewShare = getViewShare(c.getID());
+ // If it does exist already, then create action to remove
+ if (ViewShare != null)
+ return createActionRemove(c.getID(), ViewShare);
+ else {
+ IChannelContainerAdapter channelAdapter = (IChannelContainerAdapter) c
+ .getAdapter(IChannelContainerAdapter.class);
+ return (channelAdapter == null) ? null : createActionAdd(c
+ .getID(), channelAdapter);
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShareRosterEntryContributionItem.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShareRosterEntryContributionItem.java
new file mode 100644
index 000000000..e724c2acb
--- /dev/null
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/view/ViewShareRosterEntryContributionItem.java
@@ -0,0 +1,60 @@
+/****************************************************************************
+ * Copyright (c) 2007 Composent, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Composent, Inc. - initial API and implementation
+ *****************************************************************************/
+package org.eclipse.ecf.presence.collab.ui.view;
+
+import org.eclipse.ecf.core.IContainer;
+import org.eclipse.ecf.datashare.IChannelContainerAdapter;
+import org.eclipse.ecf.internal.presence.collab.ui.Messages;
+import org.eclipse.ecf.presence.roster.IRosterEntry;
+import org.eclipse.ecf.presence.ui.roster.AbstractRosterEntryContributionItem;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+
+public class ViewShareRosterEntryContributionItem extends
+ AbstractRosterEntryContributionItem {
+
+ public ViewShareRosterEntryContributionItem() {
+ }
+
+ public ViewShareRosterEntryContributionItem(String id) {
+ super(id);
+ }
+
+ protected IAction[] makeActions() {
+ // Else check for Roster entry
+ final IRosterEntry entry = getSelectedRosterEntry();
+ IContainer c = getContainerForRosterEntry(entry);
+ // If roster entry is selected and it has a container
+ if (entry != null && c != null) {
+ final IChannelContainerAdapter channelAdapter = (IChannelContainerAdapter) c
+ .getAdapter(IChannelContainerAdapter.class);
+ // If the container has channel container adapter and is online/available
+ if (channelAdapter != null && isAvailable(entry)) {
+ ViewShare tmp = ViewShareRosterContributionItem.getViewShare(c
+ .getID());
+ // If there is an URL share associated with this container
+ if (tmp != null) {
+ final ViewShare viewshare = tmp;
+ IAction action = new Action() {
+ public void run() {
+ viewshare.sendOpenViewRequest(entry.getRoster().getUser().getName(),entry.getUser().getID());
+ }
+ };
+ action
+ .setText(Messages.ViewShareRosterEntryContributionItem_VIEWSHARE_MENU_TEXT);
+ return new IAction[] { action };
+ }
+ }
+ }
+ return null;
+ }
+
+}

Back to the top