Remove setting and calculate number of lines from display properties

This commit is contained in:
Lorenz Hübschle-Schneider 2014-02-10 20:17:51 +00:00
parent 56055d61c8
commit 8068be8de2
2 changed files with 15 additions and 13 deletions

View File

@ -245,16 +245,6 @@ $ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out rel
</div>
</form>
</li>
<li class="">
<form class="form-inline" role="form">
<div class="checkbox">
<label>
&nbsp;&nbsp;lines fetched initially
<input type="text" ng-model="lines" class="input-sm col-md-3">
</label>
</div>
</form>
</li>
</ul>
</div>
<a ng-click="disconnect()" title="Disconnect from WeeChat">
@ -289,8 +279,12 @@ $ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out rel
<table ng-class="{'notimestamp':notimestamp}">
<tbody>
<tr class="bufferline">
<td class="time"><span class="date"> </span></td>
<td class="prefix"> </td>
<td class="message">
<a class="fetchmorelines" ng-click="fetchMoreLines()" ng-hide="loadingLines">Fetch more lines</a>
<span ng-show="loadingLines">Fetching more lines...</span>
</td>
</tr>
</tbody>
<tbody ng-repeat="bufferline in (bufferlines = activeBuffer().lines)">

View File

@ -535,7 +535,6 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
$store.bind($scope, "port", "9001");
$store.bind($scope, "proto", "weechat");
$store.bind($scope, "ssl", false);
$store.bind($scope, "lines", "40");
$store.bind($scope, "savepassword", false);
if ($scope.savepassword) {
$store.bind($scope, "password", "");
@ -594,6 +593,15 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
}
};
// Calculate number of lines to fetch
$scope.lines = function() {
var lineHeight = document.querySelector(".bufferline").clientHeight;
// I would have used document.querySelector("#bufferlines").clientHeight and added 5 to the total result, but that provides incorrect values on mobile
var areaHeight = document.body.clientHeight;
return Math.ceil(areaHeight/lineHeight);
}();
$rootScope.loadingLines = false;
$scope.fetchMoreLines = function() {
connection.fetchMoreLines($scope.lines);