Merge pull request #288 from torhve/clear

Support clearing of buffer lines with command /c or /clear
This commit is contained in:
Lorenz Hübschle-Schneider 2014-05-07 17:58:27 +01:00
commit 2eddc9ff3d
2 changed files with 26 additions and 2 deletions

View file

@ -427,6 +427,7 @@ function($rootScope,
var fetchMoreLines = function(numLines) {
$log.debug('Fetching ', numLines, ' lines');
var buffer = models.getActiveBuffer();
if (numLines === undefined) {
// Math.max(undefined, *) = NaN -> need a number here
@ -506,7 +507,7 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
q.push(scope.$$nextSibling);
}
}
console.log(watchers);
$log.debug(watchers);
};
@ -1217,6 +1218,7 @@ weechat.directive('inputBar', function() {
controller: function($rootScope,
$scope,
$element,
$log,
connection,
models) {
@ -1260,11 +1262,23 @@ weechat.directive('inputBar', function() {
$scope.sendMessage = function() {
var input = $scope.getInputNode();
models.getActiveBuffer().addToHistory(input.value); // log to buffer history
var ab = models.getActiveBuffer();
// log to buffer history
ab.addToHistory(input.value);
// Split the command into multiple commands based on line breaks
_.each($scope.command.split(/\r?\n/), function(line) {
connection.sendMessage(line);
});
// Check for /clear command
if ($scope.command === '/buffer clear' || $scope.command === '/c') {
$log.debug('Clearing lines');
ab.clear();
}
// Empty the input after it's sent
input.value = '';
};

View file

@ -19,6 +19,7 @@ models.service('models', ['$rootScope', '$filter', function($rootScope, $filter)
var notify = 3; // Default 3 == message
var lines = [];
var requestedLines = 0;
var allLinesFetched = false;
var nicklist = {};
var history = [];
var historyPos = 0;
@ -201,6 +202,14 @@ models.service('models', ['$rootScope', '$filter', function($rootScope, $filter)
return nicklist.hasOwnProperty('root');
};
/* Clear all our buffer lines */
var clear = function() {
while(lines.length > 0) {
lines.pop();
}
requestedLines = 0;
};
return {
id: pointer,
fullName: fullName,
@ -208,6 +217,7 @@ models.service('models', ['$rootScope', '$filter', function($rootScope, $filter)
number: number,
title: title,
lines: lines,
clear: clear,
requestedLines: requestedLines,
addLine: addLine,
lastSeen: lastSeen,