View | Details | Raw Unified | Return to bug 192762 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java (+64 lines)
Lines 44-49 Link Here
44
import org.eclipse.ecf.presence.chatroom.IChatRoomParticipantListener;
44
import org.eclipse.ecf.presence.chatroom.IChatRoomParticipantListener;
45
import org.eclipse.ecf.presence.im.IChatID;
45
import org.eclipse.ecf.presence.im.IChatID;
46
import org.eclipse.jface.action.Action;
46
import org.eclipse.jface.action.Action;
47
import org.eclipse.jface.action.IAction;
47
import org.eclipse.jface.action.IMenuListener;
48
import org.eclipse.jface.action.IMenuListener;
48
import org.eclipse.jface.action.IMenuManager;
49
import org.eclipse.jface.action.IMenuManager;
49
import org.eclipse.jface.action.MenuManager;
50
import org.eclipse.jface.action.MenuManager;
Lines 58-64 Link Here
58
import org.eclipse.jface.viewers.ISelection;
59
import org.eclipse.jface.viewers.ISelection;
59
import org.eclipse.jface.viewers.ISelectionChangedListener;
60
import org.eclipse.jface.viewers.ISelectionChangedListener;
60
import org.eclipse.jface.viewers.ISelectionProvider;
61
import org.eclipse.jface.viewers.ISelectionProvider;
62
import org.eclipse.jface.viewers.IStructuredSelection;
61
import org.eclipse.jface.viewers.ListViewer;
63
import org.eclipse.jface.viewers.ListViewer;
64
import org.eclipse.jface.viewers.StructuredSelection;
62
import org.eclipse.jface.viewers.ViewerSorter;
65
import org.eclipse.jface.viewers.ViewerSorter;
63
import org.eclipse.osgi.util.NLS;
66
import org.eclipse.osgi.util.NLS;
64
import org.eclipse.swt.SWT;
67
import org.eclipse.swt.SWT;
Lines 84-89 Link Here
84
import org.eclipse.swt.layout.GridData;
87
import org.eclipse.swt.layout.GridData;
85
import org.eclipse.swt.widgets.Composite;
88
import org.eclipse.swt.widgets.Composite;
86
import org.eclipse.swt.widgets.Display;
89
import org.eclipse.swt.widgets.Display;
90
import org.eclipse.swt.widgets.List;
87
import org.eclipse.swt.widgets.Menu;
91
import org.eclipse.swt.widgets.Menu;
88
import org.eclipse.swt.widgets.ScrollBar;
92
import org.eclipse.swt.widgets.ScrollBar;
89
import org.eclipse.swt.widgets.Text;
93
import org.eclipse.swt.widgets.Text;
Lines 236-241 Link Here
236
240
237
			makeActions();
241
			makeActions();
238
			hookContextMenu();
242
			hookContextMenu();
243
			if (withParticipants) {
244
				hookParticipantsContextMenu();
245
			}
239
		}
246
		}
240
247
241
		private StyledText createStyledTextWidget(Composite parent) {
248
		private StyledText createStyledTextWidget(Composite parent) {
Lines 331-337 Link Here
331
			};
338
			};
332
			getSite().registerContextMenu(menuMgr, selectionProvider);
339
			getSite().registerContextMenu(menuMgr, selectionProvider);
333
		}
340
		}
341
		
342
		private void fillParticipantsContextMenu(IMenuManager manager) {
343
			IAction action = new Action() {
344
345
				public void run() {
346
					if (commandListener == null) {
347
						return;
348
					}
349
					ISelection selection = listViewer.getSelection();
350
					if (selection instanceof IStructuredSelection) {
351
						IUser user = (IUser) ((IStructuredSelection)selection).getFirstElement();
352
						handleTextInput("/kick "+user.getNickname());
353
					}
354
				}
355
				
356
			};
357
			action.setText("Run Forest!");
358
			manager.add(action);
359
			manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
360
		}
361
		
362
		private void hookParticipantsContextMenu() {
363
			MenuManager menuMgr = new MenuManager(); 
364
			menuMgr.setRemoveAllWhenShown(true);
365
			menuMgr.addMenuListener(new IMenuListener() {
366
				public void menuAboutToShow(IMenuManager manager) {
367
					fillParticipantsContextMenu(manager);
368
				}
369
			});
370
			
371
			final List list = (List) listViewer.getControl();
372
			
373
			Menu menu = menuMgr.createContextMenu(list);
374
			list.setMenu(menu);
375
			ISelectionProvider selectionProvider = new ISelectionProvider() {
376
377
				public void addSelectionChangedListener(
378
						ISelectionChangedListener listener) {
379
				}
334
380
381
				public ISelection getSelection() {
382
					ISelection selection = new StructuredSelection(list.getSelectionIndices());
383
384
					return selection;
385
				}
386
387
				public void removeSelectionChangedListener(
388
						ISelectionChangedListener listener) {
389
				}
390
391
				public void setSelection(ISelection selection) {
392
					listViewer.setSelection(selection);
393
				}
394
395
			};
396
			getSite().registerContextMenu(menuMgr, selectionProvider);
397
		}
398
		
335
		private void makeActions() {
399
		private void makeActions() {
336
			tabSelectAll = new Action() {
400
			tabSelectAll = new Action() {
337
				public void run() {
401
				public void run() {

Return to bug 192762