### Eclipse Workspace Patch 1.0
#P org.eclipse.ecf.example.collab
Index: src/org/eclipse/ecf/internal/example/collab/ui/MessageLoader.properties
===================================================================
RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/MessageLoader.properties,v
retrieving revision 1.4
diff -u -r1.4 MessageLoader.properties
--- src/org/eclipse/ecf/internal/example/collab/ui/MessageLoader.properties 9 Apr 2008 21:25:36 -0000 1.4
+++ src/org/eclipse/ecf/internal/example/collab/ui/MessageLoader.properties 11 Apr 2008 13:14:33 -0000
@@ -84,4 +84,38 @@
LineChatClientView.textinputinit=
LineChatClientView.contextmenu.closeMessageTitle=Confirm Close Collaboration for Project
-LineChatClientView.contextmenu.closeMessageMessage=Are you sure you want to close collaboration for ''{0}''?
\ No newline at end of file
+LineChatClientView.contextmenu.closeMessageMessage=Are you sure you want to close collaboration for ''{0}''?
+
+ClientPreferencePage.PREF_USE_CHAT_WINDOW=Display ECF Collaboration outside of the workbench
+ClientPreferencePage.PREF_DISPLAY_TIMESTAMP=Show time for each chat entry
+ClientPreferencePage.PREF_CHAT_FONT=Chat window font:
+#ClientPreferencePage.PREF_ME_TEXT_COLOR=Chat Text Color For Me:
+ClientPreferencePage.PREF_ME_TEXT_COLOR=Chat text color for message:
+#ClientPreferencePage.PREF_OTHER_TEXT_COLOR=Chat Text Color For Other:
+ClientPreferencePage.PREF_OTHER_TEXT_COLOR=Chat text color for other:
+#ClientPreferencePage.PREF_SYSTEM_TEXT_COLOR=Chat Text Color For System:
+ClientPreferencePage.PREF_SYSTEM_TEXT_COLOR=Chat text color for system:
+ClientPreferencePage.PREF_SHAREDEDITOR_PLAY_EVENTS_IMMEDIATELY=Play shared editor events immediately
+ClientPreferencePage.PREF_SHAREDEDITOR_ASK_RECEIVER=Ask receiver for permission to display shared editor events
+
+ConnectionDialog.PAGE_DESCRIPTION=Select protocol provider, complete account info and login
+ConnectionDialog.JOINGROUP_FIELDNAME=Group ID:
+ConnectionDialog.NICKNAME_FIELDNAME=Nickname:
+ConnectionDialog.ECF_DEFAULT_URL=ecftcp://localhost:3282/server
+ConnectionDialog.ECF_TEMPLATE_URL=://:/
+ConnectionDialog.PAGE_TITLE=Connect with ECF
+ConnectionDialog.DEFAULT_CLIENT=ecf.generic.client
+ConnectionDialog.Connection_Protocol=Connection Protocol
+ConnectionDialog.Login_automatically=Login &automatically at startup
+ConnectionDialog.ECF_Connection=ECF Connection
+ConnectionDialog.Please_choose_provider=Please choose a provider and supply connection parameters.
+ConnectionDialog.Connect=Connect
+
+JoinGroupWizardPage.PAGE_DESCRIPTION=Complete account info and choose 'Finish' to login.
+JoinGroupWizardPage.JOINGROUP_FIELDNAME=Group ID:
+JoinGroupWizardPage.NICKNAME_FIELDNAME=Nickname:
+JoinGroupWizardPage.ECF_DEFAULT_URL=ecftcp://ecf.eclipse.org:3282/server
+JoinGroupWizardPage.ECF_TEMPLATE_URL=ecftcp://:/
+JoinGroupWizardPage.PAGE_TITLE=Connect Generic Client
+JoinGroupWizardPage.DEFAULT_CLIENT=ecf.generic.client
+JoinGroupWizardPage.Protocol=Protocol:
Index: src/org/eclipse/ecf/internal/example/collab/ui/ChatWindow.java
===================================================================
RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatWindow.java,v
retrieving revision 1.8
diff -u -r1.8 ChatWindow.java
--- src/org/eclipse/ecf/internal/example/collab/ui/ChatWindow.java 3 Mar 2008 22:32:16 -0000 1.8
+++ src/org/eclipse/ecf/internal/example/collab/ui/ChatWindow.java 11 Apr 2008 13:14:33 -0000
@@ -11,6 +11,7 @@
package org.eclipse.ecf.internal.example.collab.ui;
+import org.eclipse.ecf.example.collab.share.User;
import org.eclipse.ecf.internal.example.collab.Messages;
import org.eclipse.ecf.ui.SharedImages;
import org.eclipse.jface.viewers.TableViewer;
@@ -48,6 +49,8 @@
private boolean flashing;
+ private User localUser;
+
private final Runnable flipImage = new Runnable() {
public void run() {
final Shell shell = getShell();
@@ -64,10 +67,11 @@
private Flash flash;
- public ChatWindow(LineChatClientView view, TableViewer table, String initText) {
+ public ChatWindow(LineChatClientView view, TableViewer table, User localUser, String initText) {
super(null);
this.view = view;
this.table = table;
+ this.localUser = localUser;
this.initText = initText;
addStatusLine();
}
@@ -116,7 +120,7 @@
* @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
*/
protected Control createContents(Composite parent) {
- chat = new ChatComposite(view, parent, table, initText, this);
+ chat = new ChatComposite(view, parent, table, localUser, initText, this);
chat.setLayoutData(new GridData(GridData.FILL_BOTH));
chat.setFont(parent.getFont());
return chat;
Index: src/org/eclipse/ecf/internal/example/collab/ui/TeamChat.java
===================================================================
RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/TeamChat.java,v
retrieving revision 1.10
diff -u -r1.10 TeamChat.java
--- src/org/eclipse/ecf/internal/example/collab/ui/TeamChat.java 20 Jun 2007 17:34:48 -0000 1.10
+++ src/org/eclipse/ecf/internal/example/collab/ui/TeamChat.java 11 Apr 2008 13:14:33 -0000
@@ -24,6 +24,8 @@
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.ToolBar;
@@ -35,13 +37,16 @@
ToolBar bar;
LineChatClientView view;
ChatWindow chatWindow;
+ User localUser;
static final int DEFAULT_TREE_WIDGET_PERCENT = 15;
TeamChat(LineChatClientView view, Composite parent, int options,
- String initText) {
+ User localUser, String initText) {
super(parent, options);
+ this.localUser = localUser;
+
this.view = view;
setLayout(new FillLayout());
boolean useChatWindow = ClientPlugin.getDefault()
@@ -57,18 +62,31 @@
w[1] = 100 - w[0];
}
+ Composite left = new Composite(sash, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ layout.marginHeight=0;
+ layout.marginWidth=0;
+ layout.verticalSpacing=0;
+ layout.horizontalSpacing=0;
+ layout.marginTop=1;
+ layout.marginBottom=0;
+ layout.marginLeft=0;
+ layout.marginRight=0;
+ left.setLayout(layout);
+
tableView = new TableViewer(useChatWindow ? (Composite) this
- : (Composite) sash, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL
+ : (Composite) /*sash*/left, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL
| SWT.BORDER);
tableView.setContentProvider(new ViewContentProvider());
tableView.setLabelProvider(new ViewLabelProvider());
+ tableView.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
if (useChatWindow) {
- chatWindow = new ChatWindow(view, tableView, initText);
+ chatWindow = new ChatWindow(view, tableView, localUser, initText);
chatWindow.create();
chat = chatWindow.getChat();
} else {
- chat = new ChatComposite(view, sash, tableView, initText);
+ chat = new ChatComposite(view, sash, tableView, localUser, initText);
sash.setWeights(w);
}
}
Index: src/org/eclipse/ecf/internal/example/collab/ui/ChatComposite.java
===================================================================
RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ChatComposite.java,v
retrieving revision 1.23
diff -u -r1.23 ChatComposite.java
--- src/org/eclipse/ecf/internal/example/collab/ui/ChatComposite.java 9 Apr 2008 21:25:36 -0000 1.23
+++ src/org/eclipse/ecf/internal/example/collab/ui/ChatComposite.java 11 Apr 2008 13:14:33 -0000
@@ -29,6 +29,8 @@
import org.eclipse.ecf.example.collab.share.User;
import org.eclipse.ecf.example.collab.share.io.FileTransferParams;
import org.eclipse.ecf.internal.example.collab.ClientPlugin;
+import org.eclipse.ecf.presence.ui.chatroom.MessageRenderer;
+import org.eclipse.ecf.ui.SharedImages;
import org.eclipse.ecf.ui.screencapture.IImageSender;
import org.eclipse.ecf.ui.screencapture.ScreenCaptureJob;
import org.eclipse.jface.action.Action;
@@ -40,8 +42,9 @@
import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.FontRegistry;
+//import org.eclipse.jface.resource.FontRegistry;
import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.ITextSelection;
import org.eclipse.jface.text.TextSelection;
@@ -59,11 +62,11 @@
import org.eclipse.jface.window.Window;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
+//import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
+//import org.eclipse.swt.events.DisposeEvent;
+//import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.events.KeyEvent;
@@ -73,11 +76,14 @@
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.FontData;
+//import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.FontMetrics;
+import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.layout.FillLayout;
+//import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
@@ -94,16 +100,17 @@
import org.eclipse.ui.dialogs.ISelectionStatusValidator;
import org.eclipse.ui.editors.text.EditorsUI;
import org.eclipse.ui.editors.text.TextSourceViewerConfiguration;
+//import org.eclipse.ui.part.ViewPart;
import org.eclipse.ui.views.IViewCategory;
import org.eclipse.ui.views.IViewDescriptor;
import org.eclipse.ui.views.IViewRegistry;
public class ChatComposite extends Composite {
- private static final String CHAT_OUTPUT_FONT = "ChatFont"; //$NON-NLS-1$
+// private static final String CHAT_OUTPUT_FONT = "ChatFont"; //$NON-NLS-1$
final LineChatClientView view;
- private Color meColor = null;
- private Color otherColor = null;
- private Color systemColor = null;
+// private Color meColor = null;
+// private Color otherColor = null;
+// private Color systemColor = null;
Action appShare = null;
@@ -121,12 +128,15 @@
Action showChatWindow;
- protected final String TEXT_INPUT_INIT = MessageLoader.getString("LineChatClientView.textinputinit"); //$NON-NLS-1$
+// protected final String TEXT_INPUT_INIT = MessageLoader.getString("LineChatClientView.textinputinit"); //$NON-NLS-1$
protected static final int DEFAULT_INPUT_HEIGHT = 25;
protected static final int DEFAULT_INPUT_SEPARATOR = 5;
Text textinput = null;
StyledText textoutput = null;
+
+ MessageRenderer messageRenderer = null;
+
TableViewer tableView = null;
ChatDropTarget chatDropTarget = null;
TreeDropTarget treeDropTarget = null;
@@ -134,61 +144,97 @@
ChatWindow chatWindow;
boolean typing;
- ChatComposite(LineChatClientView view, Composite parent, TableViewer table, String initText) {
- this(view, parent, table, initText, null);
+ User localUser;
+
+ ChatComposite(LineChatClientView view, Composite parent, TableViewer table, User localUser, String initText) {
+ this(view, parent, table, localUser, initText, null);
}
- ChatComposite(LineChatClientView view, Composite parent, TableViewer table, String initText, ChatWindow chatWindow) {
+ ChatComposite(LineChatClientView view, Composite parent, TableViewer table, User localUser, String initText, ChatWindow chatWindow) {
super(parent, SWT.NONE);
this.view = view;
this.chatWindow = chatWindow;
- setLayout(new FillLayout());
- meColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_ME_TEXT_COLOR));
- otherColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_OTHER_TEXT_COLOR));
- systemColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_SYSTEM_TEXT_COLOR));
+ this.localUser = localUser;
+ //setLayout(new FillLayout());
+ GridLayout layout = new GridLayout();
+ layout.marginHeight=0;
+ layout.marginWidth=0;
+ layout.verticalSpacing=3;
+ layout.horizontalSpacing=3;
+ layout.marginTop=1;
+ layout.marginBottom=0;
+ layout.marginRight=1;
+ setLayout(layout);
+// meColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_ME_TEXT_COLOR));
+// otherColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_OTHER_TEXT_COLOR));
+// systemColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_SYSTEM_TEXT_COLOR));
ClientPlugin.getDefault().getPluginPreferences().addPropertyChangeListener(new ColorPropertyChangeListener());
- this.addDisposeListener(new DisposeListener() {
-
- public void widgetDisposed(DisposeEvent e) {
- if (meColor != null) {
- meColor.dispose();
- }
-
- if (otherColor != null) {
- otherColor.dispose();
- }
-
- if (systemColor != null) {
- systemColor.dispose();
- }
- }
-
- });
- final SashForm sf = new SashForm(this, SWT.NORMAL);
- sf.setLayout(new FillLayout());
- sf.setOrientation(SWT.VERTICAL);
+// this.addDisposeListener(new DisposeListener() {
+//
+// public void widgetDisposed(DisposeEvent e) {
+// if (meColor != null) {
+// meColor.dispose();
+// }
+//
+// if (otherColor != null) {
+// otherColor.dispose();
+// }
+//
+// if (systemColor != null) {
+// systemColor.dispose();
+// }
+// }
+//
+// });
+
+ //final SashForm sf = new SashForm(this, SWT.NORMAL);
+ //sf.setLayout(new FillLayout());
+ //sf.setOrientation(SWT.VERTICAL);
+ Composite sf = this;
tableView = table;
textoutput = createStyledTextWidget(sf);
- textoutput.setLayoutData(new GridData(SWT.FILL));
- final String fontName = ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_CHAT_FONT);
- if (!(fontName == null) && !(fontName.equals(""))) { //$NON-NLS-1$
- final FontRegistry fr = ClientPlugin.getDefault().getFontRegistry();
- final FontData[] newFont = {new FontData(fontName)};
-
- fr.put(CHAT_OUTPUT_FONT, newFont);
- textoutput.setFont(fr.get(CHAT_OUTPUT_FONT));
- }
+ //textoutput.setLayoutData(new GridData(SWT.FILL));
+ textoutput.setLayoutData(new GridData(GridData.FILL_BOTH));
+// final String fontName = ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_CHAT_FONT);
+// if (!(fontName == null) && !(fontName.equals(""))) { //$NON-NLS-1$
+// final FontRegistry fr = ClientPlugin.getDefault().getFontRegistry();
+// final FontData[] newFont = {new FontData(fontName)};
+//
+// fr.put(CHAT_OUTPUT_FONT, newFont);
+// textoutput.setFont(fr.get(CHAT_OUTPUT_FONT));
+// }
+ messageRenderer = new MessageRenderer();
+
ClientPlugin.getDefault().getPluginPreferences().addPropertyChangeListener(new FontPropertyChangeListener());
- textoutput.append(initText);
-
- textinput = new Text(sf, SWT.SINGLE | SWT.BORDER);
- textinput.setText(TEXT_INPUT_INIT);
- textinput.setLayoutData(new GridData(SWT.FILL));
+ String local = localUser.getNickname();
+ String output = messageRenderer.render(initText, null, local);
+ StyleRange[] ranges = messageRenderer.getStyleRanges();
+ int startRange = textoutput.getText().length();
+ textoutput.append(output);
+ if (ranges != null) {
+ // set all ranges to start as message line starts
+ for (int i = 0; i < ranges.length; i++) {
+ ranges[i].start += startRange;
+ }
+ textoutput.replaceStyleRanges(startRange, output.length(), ranges);
+ }
+
+ //textinput = new Text(sf, SWT.SINGLE | SWT.BORDER);
+ textinput = new Text(sf, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.WRAP);
+// textinput.setText(TEXT_INPUT_INIT);
+ //textinput.setLayoutData(new GridData(SWT.FILL));
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ GC gc = new GC(textinput);
+ gc.setFont(JFaceResources.getDialogFont());
+ FontMetrics fontMetrics = gc.getFontMetrics();
+ gc.dispose();
+ gd.heightHint = fontMetrics.getHeight() * 2;
+ textinput.setLayoutData(gd);
textinput.selectAll();
textinput.addKeyListener(new KeyListener() {
@@ -202,10 +248,10 @@
});
textinput.addFocusListener(new FocusListener() {
public void focusGained(FocusEvent e) {
- final String t = textinput.getText();
- if (t.equals(TEXT_INPUT_INIT)) {
- textinput.selectAll();
- }
+// final String t = textinput.getText();
+// if (t.equals(TEXT_INPUT_INIT)) {
+// textinput.selectAll();
+// }
}
public void focusLost(FocusEvent e) {
@@ -219,10 +265,10 @@
}
public void mouseUp(MouseEvent e) {
- final String t = textinput.getText();
- if (t.equals(TEXT_INPUT_INIT)) {
- textinput.selectAll();
- }
+// final String t = textinput.getText();
+// if (t.equals(TEXT_INPUT_INIT)) {
+// textinput.selectAll();
+// }
}
});
textinput.addModifyListener(new ModifyListener() {
@@ -236,7 +282,8 @@
}
});
- sf.setWeights(new int[] {90, 10});
+ //sf.setWeights(new int[] {90, 10});
+
// make actions
makeActions();
hookContextMenu();
@@ -265,32 +312,64 @@
}
final User user = text.getOriginator();
- final StyleRange range = new StyleRange();
- range.start = textoutput.getText().length();
- if (user != null) {
- String prefix = user.getNickname() + ": "; //$NON-NLS-1$
- final String date = text.getDate();
- if (date != null && !date.equals("")) { //$NON-NLS-1$
- prefix = date + ' ' + prefix;
- }
- range.length = prefix.length();
- range.foreground = user.equals(view.userdata) ? meColor : otherColor;
- textoutput.append(prefix);
- textoutput.setStyleRange(range);
- textoutput.append(text.getText());
- } else {
- String content = text.getText();
- final String date = text.getDate();
- if (date != null && !date.equals("")) { //$NON-NLS-1$
- content = date + ' ' + content;
- }
- range.length = content.length();
- range.foreground = otherColor;
- textoutput.append(content);
+
+ String name = (user!=null)? user.getNickname() : null;
+ String local = localUser.getNickname();
+ String output = messageRenderer.render(text.getText(), name, local);
+ StyleRange[] ranges = messageRenderer.getStyleRanges();
+
+// final StyleRange range = new StyleRange();
+// range.start = textoutput.getText().length();
+// if (user != null) {
+// String prefix = user.getNickname() + ": "; //$NON-NLS-1$
+// final String date = text.getDate();
+// if (date != null && !date.equals("")) { //$NON-NLS-1$
+// prefix = date + ' ' + prefix;
+// }
+// range.length = prefix.length();
+// range.foreground = user.equals(view.userdata) ? meColor : otherColor;
+// textoutput.append(prefix);
+// textoutput.setStyleRange(range);
+// //textoutput.append(text.getText());
+// String content = text.getText();
+// int startLength = textoutput.getText().length();
+// hyperlinkRenderer.scan(content);
+// textoutput.append(content);
+// hyperlinkRenderer.setStyleRange(startLength, null);
+// } else {
+// String content = text.getText();
+// final String date = text.getDate();
+// if (date != null && !date.equals("")) { //$NON-NLS-1$
+// content = date + ' ' + content;
+// }
+// range.length = content.length();
+// range.foreground = otherColor;
+//
+// int startLength = textoutput.getText().length();
+// hyperlinkRenderer.scan(content);
+// textoutput.append(content);
+// hyperlinkRenderer.setStyleRange(startLength, null);
+// }
+
+ if (output == null) {
+ return;
}
+ int startRange = textoutput.getText().length();
+
if (!text.isNoCRLF()) {
- textoutput.append(Text.DELIMITER);
+ output = output+Text.DELIMITER;
+ }
+
+ textoutput.append(output);
+
+ if (ranges != null) {
+
+ // set all ranges to start as message line starts
+ for (int i = 0; i < ranges.length; i++) {
+ ranges[i].start += startRange;
+ }
+ textoutput.replaceStyleRanges(startRange, output.length(), ranges);
}
// scroll to end
@@ -635,7 +714,7 @@
}
};
coBrowseURL.setText(MessageLoader.getString("LineChatClientView.contextmenu.cobrowse")); //$NON-NLS-1$
-
+
appShare = new Action() {
public void run() {
}
@@ -843,8 +922,9 @@
}
protected void outputClear() {
- if (MessageDialog.openConfirm(null, MessageLoader.getString("ChatComposite.DIALOG_CONFIRM_CLEAR_TITLE"), MessageLoader.getString("ChatComposite.DIALOG_CONFIRM_CLEAR_TEXT"))) //$NON-NLS-1$ //$NON-NLS-2$
+ if (MessageDialog.openConfirm(null, MessageLoader.getString("ChatComposite.DIALOG_CONFIRM_CLEAR_TITLE"), MessageLoader.getString("ChatComposite.DIALOG_CONFIRM_CLEAR_TEXT"))) { //$NON-NLS-1$ //$NON-NLS-2$
textoutput.setText(""); //$NON-NLS-1$
+ }
}
protected void outputCopy() {
@@ -1034,14 +1114,14 @@
treeDropTarget = new TreeDropTarget(view, tableView.getControl(), this);
}
- private Color colorFromRGBString(String rgb) {
- if (rgb == null || rgb.equals("")) { //$NON-NLS-1$
- return new Color(getShell().getDisplay(), 0, 0, 0);
- } else {
- final String[] vals = rgb.split(","); //$NON-NLS-1$
- return new Color(getShell().getDisplay(), Integer.parseInt(vals[0]), Integer.parseInt(vals[1]), Integer.parseInt(vals[2]));
- }
- }
+// private Color colorFromRGBString(String rgb) {
+// if (rgb == null || rgb.equals("")) { //$NON-NLS-1$
+// return new Color(getShell().getDisplay(), 0, 0, 0);
+// } else {
+// final String[] vals = rgb.split(","); //$NON-NLS-1$
+// return new Color(getShell().getDisplay(), Integer.parseInt(vals[0]), Integer.parseInt(vals[1]), Integer.parseInt(vals[2]));
+// }
+// }
private class ColorPropertyChangeListener implements org.eclipse.core.runtime.Preferences.IPropertyChangeListener {
@@ -1051,12 +1131,12 @@
* @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
*/
public void propertyChange(PropertyChangeEvent event) {
- meColor.dispose();
- otherColor.dispose();
- systemColor.dispose();
- meColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_ME_TEXT_COLOR));
- otherColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_OTHER_TEXT_COLOR));
- systemColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_SYSTEM_TEXT_COLOR));
+// meColor.dispose();
+// otherColor.dispose();
+// systemColor.dispose();
+// meColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_ME_TEXT_COLOR));
+// otherColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_OTHER_TEXT_COLOR));
+// systemColor = colorFromRGBString(ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_SYSTEM_TEXT_COLOR));
}
}
@@ -1068,16 +1148,16 @@
* @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
*/
public void propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent event) {
- if (event.getProperty().equals(ClientPlugin.PREF_CHAT_FONT)) {
- final String fontName = ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_CHAT_FONT);
- if (!(fontName == null) && !(fontName.equals(""))) { //$NON-NLS-1$
- final FontRegistry fr = ClientPlugin.getDefault().getFontRegistry();
- final FontData[] newFont = {new FontData(fontName)};
-
- fr.put(CHAT_OUTPUT_FONT, newFont);
- textoutput.setFont(fr.get(CHAT_OUTPUT_FONT));
- }
- }
+// if (event.getProperty().equals(ClientPlugin.PREF_CHAT_FONT)) {
+// final String fontName = ClientPlugin.getDefault().getPluginPreferences().getString(ClientPlugin.PREF_CHAT_FONT);
+// if (!(fontName == null) && !(fontName.equals(""))) { //$NON-NLS-1$
+// final FontRegistry fr = ClientPlugin.getDefault().getFontRegistry();
+// final FontData[] newFont = {new FontData(fontName)};
+//
+// fr.put(CHAT_OUTPUT_FONT, newFont);
+// textoutput.setFont(fr.get(CHAT_OUTPUT_FONT));
+// }
+// }
}
}
Index: src/org/eclipse/ecf/internal/example/collab/ui/ClientPreferencePage.java
===================================================================
RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/ClientPreferencePage.java,v
retrieving revision 1.3
diff -u -r1.3 ClientPreferencePage.java
--- src/org/eclipse/ecf/internal/example/collab/ui/ClientPreferencePage.java 3 Mar 2008 22:32:16 -0000 1.3
+++ src/org/eclipse/ecf/internal/example/collab/ui/ClientPreferencePage.java 11 Apr 2008 13:14:33 -0000
@@ -35,8 +35,8 @@
this.getPreferenceStore().setDefault(ClientPlugin.PREF_USE_CHAT_WINDOW,
false);
- this.getPreferenceStore().setDefault(
- ClientPlugin.PREF_DISPLAY_TIMESTAMP, true);
+// this.getPreferenceStore().setDefault(
+// ClientPlugin.PREF_DISPLAY_TIMESTAMP, true);
// this.getPreferenceStore().setDefault(ClientPlugin.PREF_CHAT_FONT,
// "");
@@ -71,21 +71,21 @@
addField(new BooleanFieldEditor(ClientPlugin.PREF_USE_CHAT_WINDOW,
Messages.ClientPreferencePage_USE_CHAT_WINDOW_FIELD_TEXT,
getFieldEditorParent()));
- addField(new BooleanFieldEditor(ClientPlugin.PREF_DISPLAY_TIMESTAMP,
- Messages.ClientPreferencePage_SHOW_TIME_FOR_CHAT_FIELD, getFieldEditorParent()));
- addField(new FontFieldEditor(ClientPlugin.PREF_CHAT_FONT,
- Messages.ClientPreferencePage_CHAT_WINDOW_FONT_FIELD, getFieldEditorParent()));
+// addField(new BooleanFieldEditor(ClientPlugin.PREF_DISPLAY_TIMESTAMP,
+// Messages.ClientPreferencePage_SHOW_TIME_FOR_CHAT_FIELD, getFieldEditorParent()));
+// addField(new FontFieldEditor(ClientPlugin.PREF_CHAT_FONT,
+// Messages.ClientPreferencePage_CHAT_WINDOW_FONT_FIELD, getFieldEditorParent()));
// addField(new
// BooleanFieldEditor(ClientPlugin.PREF_CONFIRM_FILE_RECEIVE, "Confirm
// before receiving file.", getFieldEditorParent()));
// addField(new SpacerFieldEditor(
// getFieldEditorParent()));
- addField(new ColorFieldEditor(ClientPlugin.PREF_ME_TEXT_COLOR,
- Messages.ClientPreferencePage_CHAT_COLOR_FOR_ME_FIELD, getFieldEditorParent()));
- addField(new ColorFieldEditor(ClientPlugin.PREF_OTHER_TEXT_COLOR,
- Messages.ClientPreferencePage_CHAT_TEXT_COLOR_FOR_OTHER_FIELD, getFieldEditorParent()));
- addField(new ColorFieldEditor(ClientPlugin.PREF_SYSTEM_TEXT_COLOR,
- Messages.ClientPreferencePage_CHAT_COLOR_FOR_SYSTEM_FIELD, getFieldEditorParent()));
+// addField(new ColorFieldEditor(ClientPlugin.PREF_ME_TEXT_COLOR,
+// Messages.ClientPreferencePage_CHAT_COLOR_FOR_ME_FIELD, getFieldEditorParent()));
+// addField(new ColorFieldEditor(ClientPlugin.PREF_OTHER_TEXT_COLOR,
+// Messages.ClientPreferencePage_CHAT_TEXT_COLOR_FOR_OTHER_FIELD, getFieldEditorParent()));
+// addField(new ColorFieldEditor(ClientPlugin.PREF_SYSTEM_TEXT_COLOR,
+// Messages.ClientPreferencePage_CHAT_COLOR_FOR_SYSTEM_FIELD, getFieldEditorParent()));
addField(new SpacerFieldEditor(getFieldEditorParent()));
playImmediate = new BooleanFieldEditor(
Index: src/org/eclipse/ecf/internal/example/collab/ui/LineChatClientView.java
===================================================================
RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ui/LineChatClientView.java,v
retrieving revision 1.15
diff -u -r1.15 LineChatClientView.java
--- src/org/eclipse/ecf/internal/example/collab/ui/LineChatClientView.java 3 Mar 2008 22:32:16 -0000 1.15
+++ src/org/eclipse/ecf/internal/example/collab/ui/LineChatClientView.java 11 Apr 2008 13:14:33 -0000
@@ -61,8 +61,9 @@
public static final String SHOWURLARGTYPES[] = {ID.class.getName(), "java.lang.String"}; //$NON-NLS-1$
public static final String SHOWURLCLASSNAME = ShowURLSharedObject.class.getName();
- private boolean showTimestamp = ClientPlugin.getDefault().getPreferenceStore().getBoolean(ClientPlugin.PREF_DISPLAY_TIMESTAMP);
- private final SimpleDateFormat df = new SimpleDateFormat("MM/dd hh:mm a"); //$NON-NLS-1$
+// private boolean showTimestamp = ClientPlugin.getDefault().getPreferenceStore().getBoolean(ClientPlugin.PREF_DISPLAY_TIMESTAMP);
+ //private final SimpleDateFormat df = new SimpleDateFormat("MM/dd hh:mm a"); //$NON-NLS-1$
+ private final SimpleDateFormat df = new SimpleDateFormat("hh:MM:ss"); //$NON-NLS-1$
String downloaddir;
EclipseCollabSharedObject lch;
Hashtable myNames = new Hashtable();
@@ -78,20 +79,23 @@
this.lch = lch;
this.view = view;
this.name = name;
- this.teamChat = new TeamChat(this, view.tabFolder, SWT.NULL, initText);
this.userdata = lch.getUser();
+ this.teamChat = new TeamChat(this, view.tabFolder, SWT.NULL, userdata, initText);
this.downloaddir = downloaddir;
users = new ArrayList();
teamChat.getTableViewer().setInput(users);
+
+ view.getSite().setSelectionProvider(teamChat.getTableViewer());
+
if (userdata != null)
addUser(userdata);
ClientPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty().equals(ClientPlugin.PREF_DISPLAY_TIMESTAMP)) {
- showTimestamp = ((Boolean) event.getNewValue()).booleanValue();
- }
+// if (event.getProperty().equals(ClientPlugin.PREF_DISPLAY_TIMESTAMP)) {
+// showTimestamp = ((Boolean) event.getNewValue()).booleanValue();
+// }
}
});
@@ -331,9 +335,9 @@
}
public void showLine(ChatLine line) {
- if (showTimestamp) {
- line.setDate(getCurrentDateTime());
- }
+// if (showTimestamp) {
+// line.setDate(getCurrentDateTime());
+// }
appendAndScrollToBottom(line);
}
Index: src/org/eclipse/ecf/internal/example/collab/ClientPlugin.java
===================================================================
RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPlugin.java,v
retrieving revision 1.8
diff -u -r1.8 ClientPlugin.java
--- src/org/eclipse/ecf/internal/example/collab/ClientPlugin.java 10 Mar 2008 22:56:04 -0000 1.8
+++ src/org/eclipse/ecf/internal/example/collab/ClientPlugin.java 11 Apr 2008 13:14:32 -0000
@@ -53,7 +53,7 @@
protected void setPreferenceDefaults() {
this.getPreferenceStore().setDefault(ClientPlugin.PREF_USE_CHAT_WINDOW, false);
- this.getPreferenceStore().setDefault(ClientPlugin.PREF_DISPLAY_TIMESTAMP, true);
+// this.getPreferenceStore().setDefault(ClientPlugin.PREF_DISPLAY_TIMESTAMP, true);
// this.getPreferenceStore().setDefault(ClientPlugin.PREF_CHAT_FONT,
// "");
this.getPreferenceStore().setDefault(ClientPlugin.PREF_CONFIRM_FILE_SEND, true);
Index: src/org/eclipse/ecf/internal/example/collab/Messages.java
===================================================================
RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/Messages.java,v
retrieving revision 1.4
diff -u -r1.4 Messages.java
--- src/org/eclipse/ecf/internal/example/collab/Messages.java 16 Mar 2008 02:53:42 -0000 1.4
+++ src/org/eclipse/ecf/internal/example/collab/Messages.java 11 Apr 2008 13:14:32 -0000
@@ -23,12 +23,12 @@
public static String AutoLoginPreferencePage_URILISTEDITOR_TEXT;
public static String ChatWindow_SHELL_TEXT;
public static String ClientPreferencePage_ASK_RECEIVER_FOR_PERMISSION;
- public static String ClientPreferencePage_CHAT_COLOR_FOR_ME_FIELD;
- public static String ClientPreferencePage_CHAT_COLOR_FOR_SYSTEM_FIELD;
- public static String ClientPreferencePage_CHAT_TEXT_COLOR_FOR_OTHER_FIELD;
- public static String ClientPreferencePage_CHAT_WINDOW_FONT_FIELD;
+// public static String ClientPreferencePage_CHAT_COLOR_FOR_ME_FIELD;
+// public static String ClientPreferencePage_CHAT_COLOR_FOR_SYSTEM_FIELD;
+// public static String ClientPreferencePage_CHAT_TEXT_COLOR_FOR_OTHER_FIELD;
+// public static String ClientPreferencePage_CHAT_WINDOW_FONT_FIELD;
public static String ClientPreferencePage_PLAY_EDITOR_EVENTS_IMMEDIATELY;
- public static String ClientPreferencePage_SHOW_TIME_FOR_CHAT_FIELD;
+// public static String ClientPreferencePage_SHOW_TIME_FOR_CHAT_FIELD;
public static String ClientPreferencePage_USE_CHAT_WINDOW_FIELD_TEXT;
public static String CollabClient_WORKSPACE_NAME;
public static String CollabStart_EXCEPTION_STARTING_CONNECTION;
Index: src/org/eclipse/ecf/internal/example/collab/ClientPluginConstants.java
===================================================================
RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/ClientPluginConstants.java,v
retrieving revision 1.5
diff -u -r1.5 ClientPluginConstants.java
--- src/org/eclipse/ecf/internal/example/collab/ClientPluginConstants.java 10 Mar 2008 22:56:04 -0000 1.5
+++ src/org/eclipse/ecf/internal/example/collab/ClientPluginConstants.java 11 Apr 2008 13:14:32 -0000
@@ -21,16 +21,16 @@
* Contants for perference items.
*/
public static final String PREF_USE_CHAT_WINDOW = "useChatWindow"; //$NON-NLS-1$
- public static final String PREF_DISPLAY_TIMESTAMP = "displayTimeStamp"; //$NON-NLS-1$
- public static final String PREF_CHAT_FONT = "chatFont"; //$NON-NLS-1$
+// public static final String PREF_DISPLAY_TIMESTAMP = "displayTimeStamp"; //$NON-NLS-1$
+// public static final String PREF_CHAT_FONT = "chatFont"; //$NON-NLS-1$
public static final String PREF_FILE_TRANSFER_RATE = "fileTransferRate"; //$NON-NLS-1$
public static final String PREF_CONFIRM_FILE_SEND = "confirmFileSend"; //$NON-NLS-1$
public static final String PREF_CONFIRM_REMOTE_VIEW = "confirmRemoteView"; //$NON-NLS-1$
public static final String PREF_FILE_SEND_PATH = "findSendPath"; //$NON-NLS-1$
public static final String PREF_CONFIRM_FILE_RECEIVE = "confirmFileReceive"; //$NON-NLS-1$
- public static final String PREF_ME_TEXT_COLOR = "prefMeTextColor"; //$NON-NLS-1$
- public static final String PREF_OTHER_TEXT_COLOR = "prefOtherTextColor"; //$NON-NLS-1$
- public static final String PREF_SYSTEM_TEXT_COLOR = "prefSystemTextColor"; //$NON-NLS-1$
+// public static final String PREF_ME_TEXT_COLOR = "prefMeTextColor"; //$NON-NLS-1$
+// public static final String PREF_OTHER_TEXT_COLOR = "prefOtherTextColor"; //$NON-NLS-1$
+// public static final String PREF_SYSTEM_TEXT_COLOR = "prefSystemTextColor"; //$NON-NLS-1$
public static final String PREF_START_SERVER = "startServerOnStartup"; //$NON-NLS-1$
public static final String PREF_REGISTER_SERVER = "registerServerOnStartup"; //$NON-NLS-1$
Index: src/org/eclipse/ecf/internal/example/collab/messages.properties
===================================================================
RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/internal/example/collab/messages.properties,v
retrieving revision 1.5
diff -u -r1.5 messages.properties
--- src/org/eclipse/ecf/internal/example/collab/messages.properties 16 Mar 2008 02:53:43 -0000 1.5
+++ src/org/eclipse/ecf/internal/example/collab/messages.properties 11 Apr 2008 13:14:32 -0000
@@ -3,12 +3,12 @@
AutoLoginPreferencePage_URILISTEDITOR_TEXT=The following will be connected upon ECF start
ChatWindow_SHELL_TEXT=Team Chat {0}
ClientPreferencePage_ASK_RECEIVER_FOR_PERMISSION=Ask receiver for permission to display shared editor events
-ClientPreferencePage_CHAT_COLOR_FOR_ME_FIELD=Chat Text Color For Me:
-ClientPreferencePage_CHAT_COLOR_FOR_SYSTEM_FIELD=Chat Text Color For System:
-ClientPreferencePage_CHAT_TEXT_COLOR_FOR_OTHER_FIELD=Chat Text Color For Other:
-ClientPreferencePage_CHAT_WINDOW_FONT_FIELD=Chat window font:
+#ClientPreferencePage_CHAT_COLOR_FOR_ME_FIELD=Chat Text Color For Me:
+#ClientPreferencePage_CHAT_COLOR_FOR_SYSTEM_FIELD=Chat Text Color For System:
+#ClientPreferencePage_CHAT_TEXT_COLOR_FOR_OTHER_FIELD=Chat Text Color For Other:
+#ClientPreferencePage_CHAT_WINDOW_FONT_FIELD=Chat window font:
ClientPreferencePage_PLAY_EDITOR_EVENTS_IMMEDIATELY=Play shared editor events immediately
-ClientPreferencePage_SHOW_TIME_FOR_CHAT_FIELD=Show time for each chat entry
+#ClientPreferencePage_SHOW_TIME_FOR_CHAT_FIELD=Show time for each chat entry
ClientPreferencePage_USE_CHAT_WINDOW_FIELD_TEXT=Display ECF Collaboration outside of the workbench
CollabClient_WORKSPACE_NAME=
CollabStart_EXCEPTION_STARTING_CONNECTION=Exception in starting connection
Index: META-INF/MANIFEST.MF
===================================================================
RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.example.collab/META-INF/MANIFEST.MF,v
retrieving revision 1.109
diff -u -r1.109 MANIFEST.MF
--- META-INF/MANIFEST.MF 6 Apr 2008 22:58:21 -0000 1.109
+++ META-INF/MANIFEST.MF 11 Apr 2008 13:14:32 -0000
@@ -28,5 +28,6 @@
org.eclipse.ecf.discovery.ui,
org.eclipse.ecf.provider,
org.eclipse.ecf.ui,
- org.eclipse.ecf.server.generic
+ org.eclipse.ecf.server.generic,
+ org.eclipse.ecf.presence.ui
Bundle-ActivationPolicy: lazy