summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--js/app/controllers/feedcontroller.coffee21
-rw-r--r--js/public/app.js18
-rw-r--r--templates/part.feed.unread.php6
3 files changed, 35 insertions, 10 deletions
diff --git a/js/app/controllers/feedcontroller.coffee b/js/app/controllers/feedcontroller.coffee
index 88a5d1c88..8633845e5 100644
--- a/js/app/controllers/feedcontroller.coffee
+++ b/js/app/controllers/feedcontroller.coffee
@@ -24,10 +24,10 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
angular.module('News').controller 'FeedController',
['$scope', '_ExistsError', 'Persistence', 'FolderBusinessLayer',
'FeedBusinessLayer', 'SubscriptionsBusinessLayer', 'StarredBusinessLayer',
-'unreadCountFormatter', 'ActiveFeed', 'FeedType',
+'unreadCountFormatter', 'ActiveFeed', 'FeedType', '$window',
($scope, _ExistsError, Persistence, FolderBusinessLayer, FeedBusinessLayer,
SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter,
-ActiveFeed, FeedType) ->
+ActiveFeed, FeedType, $window) ->
class FeedController
@@ -35,7 +35,7 @@ ActiveFeed, FeedType) ->
constructor: (@_$scope, @_persistence, @_folderBusinessLayer,
@_feedBusinessLayer, @_subscriptionsBusinessLayer,
@_starredBusinessLayer, @_unreadCountFormatter,
- @_activeFeed, @_feedType) ->
+ @_activeFeed, @_feedType, @_$window) ->
@_isAddingFolder = false
@_isAddingFeed = false
@@ -47,6 +47,19 @@ ActiveFeed, FeedType) ->
@_$scope.starredBusinessLayer = @_starredBusinessLayer
@_$scope.unreadCountFormatter = @_unreadCountFormatter
+ @_$scope.getTotalUnreadCount = =>
+ # also update title based on unreadcount
+ count = @_subscriptionsBusinessLayer.getUnreadCount(0)
+
+ # dont do this for other dom elements
+ # the title is some kind of exception since its always there
+ # and it has nothing to do with the body structure
+ if count > 0
+ @_$window.document.title = 'News (' + count + ') | ownCloud'
+ else
+ @_$window.document.title = 'News | ownCloud'
+ return count
+
@_$scope.isAddingFolder = =>
return @_isAddingFolder
@@ -116,6 +129,6 @@ ActiveFeed, FeedType) ->
return new FeedController($scope, Persistence, FolderBusinessLayer,
FeedBusinessLayer, SubscriptionsBusinessLayer,
StarredBusinessLayer, unreadCountFormatter,
- ActiveFeed, FeedType)
+ ActiveFeed, FeedType, $window)
] \ No newline at end of file
diff --git a/js/public/app.js b/js/public/app.js
index 6e3967a24..f5a062f63 100644
--- a/js/public/app.js
+++ b/js/public/app.js
@@ -314,11 +314,11 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
(function() {
angular.module('News').controller('FeedController', [
- '$scope', '_ExistsError', 'Persistence', 'FolderBusinessLayer', 'FeedBusinessLayer', 'SubscriptionsBusinessLayer', 'StarredBusinessLayer', 'unreadCountFormatter', 'ActiveFeed', 'FeedType', function($scope, _ExistsError, Persistence, FolderBusinessLayer, FeedBusinessLayer, SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter, ActiveFeed, FeedType) {
+ '$scope', '_ExistsError', 'Persistence', 'FolderBusinessLayer', 'FeedBusinessLayer', 'SubscriptionsBusinessLayer', 'StarredBusinessLayer', 'unreadCountFormatter', 'ActiveFeed', 'FeedType', '$window', function($scope, _ExistsError, Persistence, FolderBusinessLayer, FeedBusinessLayer, SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter, ActiveFeed, FeedType, $window) {
var FeedController;
FeedController = (function() {
- function FeedController(_$scope, _persistence, _folderBusinessLayer, _feedBusinessLayer, _subscriptionsBusinessLayer, _starredBusinessLayer, _unreadCountFormatter, _activeFeed, _feedType) {
+ function FeedController(_$scope, _persistence, _folderBusinessLayer, _feedBusinessLayer, _subscriptionsBusinessLayer, _starredBusinessLayer, _unreadCountFormatter, _activeFeed, _feedType, _$window) {
var _this = this;
this._$scope = _$scope;
@@ -330,6 +330,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
this._unreadCountFormatter = _unreadCountFormatter;
this._activeFeed = _activeFeed;
this._feedType = _feedType;
+ this._$window = _$window;
this._isAddingFolder = false;
this._isAddingFeed = false;
this._$scope.folderBusinessLayer = this._folderBusinessLayer;
@@ -337,6 +338,17 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
this._$scope.subscriptionsBusinessLayer = this._subscriptionsBusinessLayer;
this._$scope.starredBusinessLayer = this._starredBusinessLayer;
this._$scope.unreadCountFormatter = this._unreadCountFormatter;
+ this._$scope.getTotalUnreadCount = function() {
+ var count;
+
+ count = _this._subscriptionsBusinessLayer.getUnreadCount(0);
+ if (count > 0) {
+ _this._$window.document.title = 'News (' + count + ') | ownCloud';
+ } else {
+ _this._$window.document.title = 'News | ownCloud';
+ }
+ return count;
+ };
this._$scope.isAddingFolder = function() {
return _this._isAddingFolder;
};
@@ -410,7 +422,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
return FeedController;
})();
- return new FeedController($scope, Persistence, FolderBusinessLayer, FeedBusinessLayer, SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter, ActiveFeed, FeedType);
+ return new FeedController($scope, Persistence, FolderBusinessLayer, FeedBusinessLayer, SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter, ActiveFeed, FeedType, $window);
}
]);
diff --git a/templates/part.feed.unread.php b/templates/part.feed.unread.php
index 0c6527af3..5b5452fde 100644
--- a/templates/part.feed.unread.php
+++ b/templates/part.feed.unread.php
@@ -1,6 +1,6 @@
<li ng-class="{
active: subscriptionsBusinessLayer.isActive(0),
- unread: subscriptionsBusinessLayer.getUnreadCount(0) > 0
+ unread: getTotalUnreadCount() > 0
}"
ng-show="subscriptionsBusinessLayer.isVisible(0)">
<a class="rss-icon"
@@ -17,8 +17,8 @@
</a>
<span class="utils">
<span class="unread-counter"
- ng-show="subscriptionsBusinessLayer.getUnreadCount() > 0">
- {{ subscriptionsBusinessLayer.getUnreadCount() }}
+ ng-show="getTotalUnreadCount() > 0">
+ {{ getTotalUnreadCount() }}
</span>
<button class="svg action mark-read-icon"
ng-click="subscriptionsBusinessLayer.markAllRead()"