Fix for bug 194981
diff --git a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/Messages.java b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/Messages.java
index 42f3389..56df1fd 100644
--- a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/Messages.java
+++ b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/Messages.java
@@ -238,6 +238,8 @@
public static String MessageRenderer_DEFAULT_TIME_FORMAT;
public static String ChatRoomPreferencePage_CHATROOM_SHOW_USER_PRESENCE_TEXT;
+
+ public static String ChatRoomPreferencePage_SCROLL_OUTPUT_ON_INPUT;
static {
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/messages.properties b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/messages.properties
index 5d52fa3..04d07df 100644
--- a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/messages.properties
+++ b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/messages.properties
@@ -144,5 +144,6 @@
MessageRenderer_DEFAULT_DATE_FORMAT=yyyy-MM-dd
MessageRenderer_DEFAULT_DATETIME_FORMAT=({0})
-ChatRoomPreferencePage_CHATROOM_SHOW_USER_PRESENCE_TEXT=&Show user entry messages
-
\ No newline at end of file
+ChatRoomPreferencePage_CHATROOM_SHOW_USER_PRESENCE_TEXT=&Show user entry and exit messages
+
+ChatRoomPreferencePage_SCROLL_OUTPUT_ON_INPUT=Scroll &output to bottom on user input
diff --git a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/ChatRoomPreferencePage.java b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/ChatRoomPreferencePage.java
index b26d597..ac0b0a6 100644
--- a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/ChatRoomPreferencePage.java
+++ b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/ChatRoomPreferencePage.java
@@ -30,6 +30,7 @@
*/
public void createFieldEditors() {
addField(new BooleanFieldEditor(PreferenceConstants.CHATROOM_SHOW_USER_PRESENCE, Messages.ChatRoomPreferencePage_CHATROOM_SHOW_USER_PRESENCE_TEXT, getFieldEditorParent()));
+ addField(new BooleanFieldEditor(PreferenceConstants.PREFERENCES_SCROLLONINPUT, Messages.ChatRoomPreferencePage_SCROLL_OUTPUT_ON_INPUT, getFieldEditorParent()));
}
/*
diff --git a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/PreferenceConstants.java b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/PreferenceConstants.java
index b9db89b..2104f04 100644
--- a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/PreferenceConstants.java
+++ b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/PreferenceConstants.java
@@ -16,4 +16,6 @@
*/
public class PreferenceConstants {
public static final String CHATROOM_SHOW_USER_PRESENCE = "chatroom.user.presence.visible"; //$NON-NLS-1$
+ public static final String PREFERENCES_SCROLLONINPUT = "chatroom.scrollonuserinput"; //$NON-NLS-1$
+
}
diff --git a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/PreferenceInitializer.java b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/PreferenceInitializer.java
index 5d13ac5..7152c7d 100644
--- a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/PreferenceInitializer.java
+++ b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/internal/presence/ui/preferences/PreferenceInitializer.java
@@ -12,9 +12,8 @@
package org.eclipse.ecf.internal.presence.ui.preferences;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
import org.eclipse.ecf.internal.presence.ui.Activator;
+import org.eclipse.jface.preference.IPreferenceStore;
/**
* Class used to initialize default preference values.
@@ -27,6 +26,7 @@
public void initializeDefaultPreferences() {
IPreferenceStore store = Activator.getDefault().getPreferenceStore();
store.setDefault(PreferenceConstants.CHATROOM_SHOW_USER_PRESENCE, false);
+ store.setDefault(PreferenceConstants.PREFERENCES_SCROLLONINPUT, false);
}
}
diff --git a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java
index 40b97c8..f8e1c43 100644
--- a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java
+++ b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java
@@ -856,7 +856,8 @@
handleTextInput(inputText.getText());
clearInput();
makeTabItemNormal();
- scrollToEnd(getOutputText());
+ if (Activator.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREFERENCES_SCROLLONINPUT))
+ scrollToEnd(getOutputText());
evt.doit = false;
isCycling = false;
} else if (evt.character == SWT.TAB) {