43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
var Notifications = {};
|
|
|
|
$(document).ready(function () {
|
|
if (!window.webkitNotifications) {
|
|
return;
|
|
}
|
|
|
|
var notificationsEnabled = (window.webkitNotifications.checkPermission() === 0),
|
|
toggle = $('#toggle_notifications');
|
|
|
|
toggle.show();
|
|
updateMenuTitle();
|
|
$(transmission).bind('downloadComplete seedingComplete', function (event, torrent) {
|
|
if (notificationsEnabled) {
|
|
var title = (event.type == 'downloadComplete' ? 'Download' : 'Seeding') + ' complete',
|
|
content = torrent.getName(),
|
|
notification;
|
|
|
|
notification = window.webkitNotifications.createNotification('style/transmission/images/logo.png', title, content);
|
|
notification.show();
|
|
setTimeout(function () {
|
|
notification.cancel();
|
|
}, 5000);
|
|
};
|
|
});
|
|
|
|
function updateMenuTitle() {
|
|
toggle.html((notificationsEnabled ? 'Disable' : 'Enable') + ' Notifications');
|
|
}
|
|
|
|
Notifications.toggle = function () {
|
|
if (window.webkitNotifications.checkPermission() !== 0) {
|
|
window.webkitNotifications.requestPermission(function () {
|
|
notificationsEnabled = (window.webkitNotifications.checkPermission() === 0);
|
|
updateMenuTitle();
|
|
});
|
|
} else {
|
|
notificationsEnabled = !notificationsEnabled;
|
|
updateMenuTitle();
|
|
}
|
|
};
|
|
});
|