Merge branch 'master' of ssh://git.eclipse.org/gitroot/orion/org.eclipse.orion.client
diff --git a/bundles/org.eclipse.orion.client.ui/web/orion/settings/nls/root/messages.js b/bundles/org.eclipse.orion.client.ui/web/orion/settings/nls/root/messages.js
index c629614..941da2c 100644
--- a/bundles/org.eclipse.orion.client.ui/web/orion/settings/nls/root/messages.js
+++ b/bundles/org.eclipse.orion.client.ui/web/orion/settings/nls/root/messages.js
@@ -51,6 +51,7 @@
 	"Username": "Username",

 	"Full Name": "Full Name",

 	"Email Address": "Email Address",

+	"Email Confirmed": "Email Confirmed",

 	"Account": "Account",

 	"Current Password": "Current Password",

 	"New Password": "New Password",

diff --git a/bundles/org.eclipse.orion.client.ui/web/orion/widgets/input/LabeledCheckbox.js b/bundles/org.eclipse.orion.client.ui/web/orion/widgets/input/LabeledCheckbox.js
index ed458b0..b13ff9b 100644
--- a/bundles/org.eclipse.orion.client.ui/web/orion/widgets/input/LabeledCheckbox.js
+++ b/bundles/org.eclipse.orion.client.ui/web/orion/widgets/input/LabeledCheckbox.js
@@ -60,6 +60,10 @@
         postCreate: function(){
             this.mylabel.textContent = this.fieldlabel + ':'; //$NON-NLS-0$
             this.myfield.style.width = '20px';
+            
+            if( this.editmode && this.editmode === 'readonly' ){ //$NON-NLS-0$
+				this.myfield.setAttribute("disabled", "disabled"); //$NON-NLS-1$ //$NON-NLS-0$
+            }
         }
     });
     return LabeledCheckbox;
diff --git a/bundles/org.eclipse.orion.client.ui/web/orion/widgets/settings/UserSettings.js b/bundles/org.eclipse.orion.client.ui/web/orion/widgets/settings/UserSettings.js
index 21442f2..ae10874 100644
--- a/bundles/org.eclipse.orion.client.ui/web/orion/widgets/settings/UserSettings.js
+++ b/bundles/org.eclipse.orion.client.ui/web/orion/widgets/settings/UserSettings.js
@@ -85,7 +85,8 @@
 			this.accountFields = [

 				new LabeledTextfield( {fieldlabel:messages['Username'], editmode:'readonly'}),

 				new LabeledTextfield( {fieldlabel:messages['Full Name']}),

-				new LabeledTextfield( {fieldlabel:messages['Email Address']})

+				new LabeledTextfield( {fieldlabel:messages['Email Address']}),

+				new LabeledCheckbox( {fieldlabel: messages['Email Confirmed'], editmode:'readonly'})

 			];

 			var accountSubsection = new Subsection( {sectionName: messages['Account'], parentNode: this.sections, children: this.accountFields} );

 			accountSubsection.show();

@@ -265,7 +266,11 @@
 							var data = jsonData;

 							

 							var b = userService.updateUserInfo(jsonData.Location, userdata).then( function(args){

-								messageService.setProgressResult( messages['User profile data successfully updated.'] );

+								if(args){

+									messageService.setProgressResult(args);

+								}else{

+									messageService.setProgressResult( messages['User profile data successfully updated.'] );

+								}

 

 								// TODO: don't reach into User Menu internals for this. Should dispatch a service event instead, etc.

 //								if( userdata.Name ){

@@ -333,6 +338,7 @@
 							settingsWidget.accountFields[0].setValue( accountData.login );

 							settingsWidget.accountFields[1].setValue( accountData.Name );

 							settingsWidget.accountFields[2].setValue( accountData.email );

+							settingsWidget.accountFields[3].setChecked( accountData.emailConfirmed );

 							

 							if( accountData.GitMail ){

 								settingsWidget.gitFields[0].setValue( accountData.GitMail );

diff --git a/bundles/org.eclipse.orion.client.ui/web/plugins/webEditingPlugin.html b/bundles/org.eclipse.orion.client.ui/web/plugins/webEditingPlugin.html
index 8fdbf1d..f2e8ae7 100644
--- a/bundles/org.eclipse.orion.client.ui/web/plugins/webEditingPlugin.html
+++ b/bundles/org.eclipse.orion.client.ui/web/plugins/webEditingPlugin.html
@@ -64,6 +64,11 @@
 				name: "Java",
 				extension: ["java"]
 			},
+			{	id: "text/conf",
+				"extends": "text/plain",
+				name: "Conf",
+				extension: ["conf"]
+			},
 			// Image types
 			{	id: "image/gif",
 				name: "GIF",