diff --git a/webclient/app-controller.js b/webclient/app-controller.js
index 80474bb8d..775113bc8 100644
--- a/webclient/app-controller.js
+++ b/webclient/app-controller.js
@@ -69,13 +69,6 @@ angular.module('MatrixWebClientController', ['matrixService', 'mPresence', 'even
$scope.logout();
});
- $scope.requestNotifications = function() {
- if (window.Notification) {
- console.log("Notification.permission: " + window.Notification.permission);
- window.Notification.requestPermission(function(){});
- }
- };
-
}]);
diff --git a/webclient/settings/settings-controller.js b/webclient/settings/settings-controller.js
index f7d5e8eb7..3a9060eba 100644
--- a/webclient/settings/settings-controller.js
+++ b/webclient/settings/settings-controller.js
@@ -25,7 +25,7 @@ angular.module('SettingsController', ['matrixService', 'mFileUpload', 'mFileInpu
displayName: $scope.config.displayName,
avatarUrl: $scope.config.avatarUrl
};
-
+
$scope.$watch("profile.avatarFile", function(newValue, oldValue) {
if ($scope.profile.avatarFile) {
console.log("Uploading new avatar file...");
@@ -143,4 +143,23 @@ angular.module('SettingsController', ['matrixService', 'mFileUpload', 'mFileInpu
}
);
};
+
+
+ /*** Desktop notifications section ***/
+ $scope.settings = {
+ notifications: undefined
+ };
+
+ // If the browser supports it, check the desktop notification state
+ if ("Notification" in window) {
+ $scope.settings.notifications = window.Notification.permission;
+ }
+
+ $scope.requestNotifications = function() {
+ console.log("requestNotifications");
+ window.Notification.requestPermission(function (permission) {
+ console.log(" -> User decision: " + permission);
+ $scope.settings.notifications = permission;
+ });
+ };
}]);
\ No newline at end of file
diff --git a/webclient/settings/settings.html b/webclient/settings/settings.html
index 453a4fc35..d06a0083f 100644
--- a/webclient/settings/settings.html
+++ b/webclient/settings/settings.html
@@ -52,7 +52,25 @@
-
+
+