*/
#kiwi .toolbar { position:absolute; top:0px; width:100%; display:none; }
#kiwi .panels { position:absolute; left:0px; right:200px; bottom:100px; top:100px; }
-#kiwi .memberlists { position:absolute; right:0px; width:200px; bottom:100px; top:100px; overflow-y:auto; }
+#kiwi .right_bar { position:absolute; right:0px; width:200px; bottom:100px; top:100px; overflow-y:auto; }
#kiwi .controlbox { position: absolute; bottom:0px; width:100%; display:none; }
#kiwi .memberlists_resize_handle {
position: absolute; width:10px; z-index:1; cursor:w-resize;
text-align: center;
}
+#kiwi .channel_tools {
+}
+#kiwi .channel_tools i {
+ width: 49%;
+ display: inline-block;
+ text-align: center;
+ cursor: pointer;
+}
#kiwi .panel_container { overflow-y:auto; height:100%; }
#kiwi .panel {
/* A member/nick list per channel */
-#kiwi .memberlists { border-left: 1px solid #8A8A8A; }
-#kiwi .memberlists.disabled { display:none; }
+#kiwi .right_bar { border-left: 1px solid #8A8A8A; }
+#kiwi .right_bar.disabled { display:none; }
#kiwi .memberlists ul { display:none; }
/* The active channels nicklist */
}
#kiwi .status_message.err { color:#D8000C; background:#FFBABA; }
+#kiwi .channel_tools {
+ margin-bottom: 5px;
+ padding: 0 5%;
+}
+#kiwi .channel_tools i {
+ width: 47%;
+ font-size: 1.6em;
+ line-height: 1.6em;
+}
+#kiwi .channel_tools i:hover {
+ transition: color 0.3s;
+ color: #88C56A;
+}
+
#kiwi .messages { }
#kiwi .messages.active { }
#kiwi .messages a { text-decoration:underline; }
-#kiwi .memberlists {
+#kiwi .right_bar {
background-color: #DADADA;
border-left: 1px dashed #8A8A8A;
}
}
-#kiwi .memberlists { background:#252525; }
+#kiwi .right_bar { background:#252525; }
#kiwi .memberlists ul li { padding: 0.2em 1em; }
#kiwi .memberlists ul li a.nick { color:#6d6d6d; }
#kiwi .memberlists ul li:hover {
#kiwi .userbox a i { font-size:1.1em; margin-right:5px; }
#kiwi .userbox .divider-horizontal { display:none; }
+#kiwi .channel_tools {
+ border-bottom: 1px solid #8A8A8A;
+ margin-bottom: 10px;
+ padding: 0 5%;
+}
+#kiwi .channel_tools i {
+ width: 47%;
+ font-size: 1.6em;
+ line-height: 1.6em;
+}
+#kiwi .channel_tools i:hover {
+ transition: color 0.3s;
+ color: #88C56A;
+}
#kiwi .messages .msg > div { color:#6d6d6d; font-family: Inconsolata, Consolas, 'courier new', monospace; }
#kiwi .messages .msg { border: none; padding: 2px 5px; }
-#kiwi .memberlists {
+#kiwi .right_bar {
background-color: #DADADA;
border-left: 1px solid #8A8A8A;
display:none;
}
#kiwi .status_message.err { color:#D8000C; background:#FFBABA; }
+#kiwi .channel_tools {
+ border-bottom: 1px solid #8A8A8A;
+ margin-bottom: 10px;
+ padding: 0 5%;
+}
+#kiwi .channel_tools i {
+ width: 47%;
+ font-size: 1.6em;
+ line-height: 1.6em;
+}
+#kiwi .channel_tools i:hover {
+ transition: color 0.3s;
+ color: #88C56A;
+}
+
#kiwi .messages { color: #333333; }
#kiwi .messages.active { }
#kiwi .messages a { text-decoration:none; }
#kiwi .messages .msg .media.reddit .thumbnail { float:left; margin-right: 0.5em; }
-#kiwi .memberlists {
+#kiwi .right_bar {
background-color: #DADADA;
border-left: 1px solid #8A8A8A;
}
-#kiwi.narrow .memberlists { display:none; }
+#kiwi.narrow .right_bar { display:none; }
#kiwi .memberlists ul { list-style: none; }
#kiwi .memberlists ul.active { }
#kiwi .memberlists ul li { padding: 0.2em 1em; }
__dirname + '/src/views/tabs.js',\r
__dirname + '/src/views/topicbar.js',\r
__dirname + '/src/views/userbox.js',\r
+ __dirname + '/src/views/channeltools.js',\r
__dirname + '/src/views/channelinfo.js'\r
];\r
\r
<div class="panel_container container1"></div>\r
</div>\r
\r
- <div class="memberlists disabled"></div>\r
+ <div class="right_bar disabled">\r
+ <div class="channel_tools">\r
+ <i class="icon-info-sign channel_info" title="Channel Info"></i>\r
+ <i class="icon-signout channel_part" ttle="Leave Channel"></i>\r
+ </div>\r
+ <div class="memberlists"></div>\r
+ </div>\r
\r
<div class="controlbox">\r
<div class="input">\r
this.topicbar = new _kiwi.view.TopicBar({el: this.view.$el.find('.topic')[0]});\r
\r
new _kiwi.view.AppToolbar({el: _kiwi.app.view.$el.find('.toolbar .app_tools')[0]});\r
+ new _kiwi.view.ChannelTools({el: _kiwi.app.view.$el.find('.channel_tools')[0]});\r
\r
this.message = new _kiwi.view.StatusMessage({el: this.view.$el.find('.status_message')[0]});\r
\r
this.elements = {
panels: this.$el.find('.panels'),
- memberlists: this.$el.find('.memberlists'),
+ right_bar: this.$el.find('.right_bar'),
toolbar: this.$el.find('.toolbar'),
controlbox: this.$el.find('.controlbox'),
resize_handle: this.$el.find('.memberlists_resize_handle')
doLayout: function () {
var el_kiwi = this.$el;
var el_panels = this.elements.panels;
- var el_memberlists = this.elements.memberlists;
+ var el_right_bar = this.elements.right_bar;
var el_toolbar = this.elements.toolbar;
var el_controlbox = this.elements.controlbox;
var el_resize_handle = this.elements.resize_handle;
// Apply the CSS sizes
el_panels.css(css_heights);
- el_memberlists.css(css_heights);
+ el_right_bar.css(css_heights);
el_resize_handle.css(css_heights);
// If we have channel tabs on the side, adjust the height
}
// Set the panels width depending on the memberlist visibility
- if (el_memberlists.css('display') != 'none') {
+ if (el_right_bar.css('display') != 'none') {
// Panels to the side of the memberlist
- el_panels.css('right', el_memberlists.outerWidth(true));
+ el_panels.css('right', el_right_bar.outerWidth(true));
// The resize handle sits overlapping the panels and memberlist
- el_resize_handle.css('left', el_memberlists.position().left - (el_resize_handle.outerWidth(true) / 2));
+ el_resize_handle.css('left', el_right_bar.position().left - (el_resize_handle.outerWidth(true) / 2));
} else {
// Memberlist is hidden so panels to the right edge
el_panels.css('right', 0);
--- /dev/null
+_kiwi.view.ChannelTools = Backbone.View.extend({
+ events: {
+ 'click .channel_info': 'infoClick',
+ 'click .channel_part': 'partClick'
+ },
+
+ initialize: function () {},
+
+ infoClick: function (event) {
+ new _kiwi.model.ChannelInfo({channel: _kiwi.app.panels().active});
+ },
+
+ partClick: function (event) {
+ _kiwi.gateway.part(null, _kiwi.app.panels().active.get('name'));
+ }
+});
\ No newline at end of file
_kiwi.view.MemberList = Backbone.View.extend({
tagName: "ul",
events: {
- "click .nick": "nickClick"
+ "click .nick": "nickClick",
+ "click .channel_info": "channelInfoClick"
},
+
initialize: function (options) {
this.model.bind('all', this.render, this);
$(this.el).appendTo('#kiwi .memberlists');
});
}).call(this);
},
+
+
+ channelInfoClick: function(event) {
+ new _kiwi.model.ChannelInfo({channel: this.model.channel});
+ },
+
+
show: function () {
$('#kiwi .memberlists').children().removeClass('active');
$(this.el).addClass('active');
// Show this panels memberlist
var members = this.model.get("members");
if (members) {
- $('#kiwi .memberlists').removeClass('disabled');
+ $('#kiwi .right_bar').removeClass('disabled');
members.view.show();
} else {
// Memberlist not found for this panel, hide any active ones
- $('#kiwi .memberlists').addClass('disabled').children().removeClass('active');
+ $('#kiwi .right_bar').addClass('disabled').children().removeClass('active');
}
// Remove any alerts and activity counters for this panel
if (!this.dragging) return;
this.$el.css('left', event.clientX - (this.$el.outerWidth(true) / 2));
- $('#kiwi .memberlists').css('width', this.$el.parent().width() - (this.$el.position().left + this.$el.outerWidth()));
+ $('#kiwi .right_bar').css('width', this.$el.parent().width() - (this.$el.position().left + this.$el.outerWidth()));
_kiwi.app.view.doLayout();
}
});
\ No newline at end of file
'src/views/tabs.js',
'src/views/topicbar.js',
'src/views/userbox.js',
+ 'src/views/channeltools.js',
'src/views/channelinfo.js'
]
]);