diff --git a/index.html b/index.html index fe10c2e..41f8137 100644 --- a/index.html +++ b/index.html @@ -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> - 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"> - <a class="fetchmorelines" ng-click="fetchMoreLines()" ng-hide="loadingLines">Fetch more lines</a> - <span ng-show="loadingLines">Fetching more lines...</span> + <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)"> diff --git a/js/glowingbear.js b/js/glowingbear.js index e53e2ef..148957b 100644 --- a/js/glowingbear.js +++ b/js/glowingbear.js @@ -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);