2 // TODO: Listen to gateway events for anythign related to this channel
3 _kiwi
.model
.Channel
= _kiwi
.model
.Panel
.extend({
4 initialize: function (attributes
) {
5 var name
= this.get("name") || "",
9 "members": new _kiwi
.model
.MemberList(),
15 this.view
= new _kiwi
.view
.Channel({"model": this, "name": name
});
17 members
= this.get("members");
18 members
.channel
= this;
19 members
.bind("add", function (member
) {
20 var show_message
= _kiwi
.global
.settings
.get('show_joins_parts');
21 if (show_message
=== false) {
25 this.addMsg(' ', '== ' + _kiwi
.global
.i18n
.translate('client_models_channel_join').fetch(member
.displayNick(true)), 'action join');
28 members
.bind("remove", function (member
, members
, options
) {
29 var show_message
= _kiwi
.global
.settings
.get('show_joins_parts');
30 var msg
= (options
.message
) ? '(' + options
.message
+ ')' : '';
32 if (options
.type
=== 'quit' && show_message
) {
33 this.addMsg(' ', '== ' + _kiwi
.global
.i18n
.translate('client_models_channel_quit').fetch(member
.displayNick(true), msg
), 'action quit');
35 } else if(options
.type
=== 'kick') {
37 if (!options
.current_user_kicked
) {
38 //If user kicked someone, show the message regardless of settings.
39 if (show_message
|| options
.current_user_initiated
) {
40 this.addMsg(' ', '== ' + _kiwi
.global
.i18n
.translate('client_models_channel_kicked').fetch(member
.displayNick(true), options
.by
, msg
), 'action kick');
43 this.addMsg(' ', '== ' + _kiwi
.global
.i18n
.translate('client_models_channel_selfkick').fetch(options
.by
, msg
), 'action kick');
45 } else if (show_message
) {
47 this.addMsg(' ', '== ' + _kiwi
.global
.i18n
.translate('client_models_channel_part').fetch(member
.displayNick(true), msg
), 'action part');