// kate: space-indent on; indent-width 4; replace-tabs on;
Ext.namespace('Ext.ux');
Ext.ux.MumbleUserEditor = Ext.extend( Ext.Component, {
clickHandler: function( node, ev ){
if( typeof node.attributes.userdata != "undefined" ){
this.activate(node.attributes.userdata);
}
},
init: function( tree ){
this.tree = tree;
tree.on("click", this.clickHandler, this);
},
activate: function( userdata ){
if( !this.wnd ){
this.userdata = userdata;
this.wnd = new Ext.Window({
title: this.windowTitle || gettext("User details"),
layout: 'fit',
items: [{
xtype: "tabpanel",
activeTab: 0,
border: false,
items: [{
xtype: "form",
border: false,
title: gettext("User comment"),
items: [{
xtype: "htmleditor",
fieldLabel: 'x',
hideLabel: true,
name: "comment",
value: userdata.comment,
}],
}, {
title: gettext("Avatar"),
scope: this,
listeners: {
afterrender: function( panel ){
Mumble.hasTexture( this.scope.serverid, this.scope.userdata.userid, function(provider, response){
if( response.result.has ){
panel.el.dom.children[0].children[0].innerHTML = String.format(
'', response.result.url
);
}
else{
panel.el.dom.children[0].children[0].innerHTML =
gettext("This user does not have an Avatar.");
}
} );
}
},
html: gettext("Loading..."),
}, {
title: gettext("Infos"),
html: "