2008-05-17 12:44:42 +00:00
/ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ATTACH MOCHA LINK EVENTS
Notes : Here is where you define your windows and the events that open them .
If you are not using links to run Mocha methods you can remove this function .
2012-07-01 13:23:41 +03:00
2008-05-17 12:44:42 +00:00
If you need to add link events to links within windows you are creating , do
it in the onContentLoaded function of the new window .
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - * /
2014-11-30 01:40:26 +03:00
/* Define localStorage object for older browsers */
if ( typeof localStorage == 'undefined' ) {
window [ 'localStorage' ] = {
getItem : function ( name ) {
return Cookie . read ( name ) ;
} ,
setItem : function ( name , value ) {
2014-11-30 14:14:09 +01:00
Cookie . write ( name , value , {
duration : 365 * 10
} ) ;
2014-11-30 01:40:26 +03:00
}
}
}
2014-11-30 14:14:09 +01:00
initializeWindows = function ( ) {
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
function addClickEvent ( el , fn ) {
[ 'Link' , 'Button' ] . each ( function ( item ) {
if ( $ ( el + item ) ) {
$ ( el + item ) . addEvent ( 'click' , fn ) ;
}
} ) ;
}
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
addClickEvent ( 'download' , function ( e ) {
new Event ( e ) . stop ( ) ;
new MochaUI . Window ( {
id : 'downloadPage' ,
title : "_(Download from urls)" ,
loadMethod : 'iframe' ,
contentURL : 'download.html' ,
scrollbars : true ,
resizable : false ,
maximizable : false ,
closable : true ,
paddingVertical : 0 ,
paddingHorizontal : 0 ,
width : 500 ,
height : 300
} ) ;
} ) ;
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
addClickEvent ( 'preferences' , function ( e ) {
new Event ( e ) . stop ( ) ;
new MochaUI . Window ( {
id : 'preferencesPage' ,
title : "_(Options)" ,
loadMethod : 'xhr' ,
toolbar : true ,
contentURL : 'preferences_content.html' ,
require : {
css : [ 'css/Tabs.css' ]
} ,
toolbarURL : 'preferences.html' ,
resizable : true ,
maximizable : false ,
closable : true ,
paddingVertical : 0 ,
paddingHorizontal : 0 ,
width : 700 ,
height : 300
} ) ;
} ) ;
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
addClickEvent ( 'upload' , function ( e ) {
new Event ( e ) . stop ( ) ;
new MochaUI . Window ( {
id : 'uploadPage' ,
title : "_(Download local torrent)" ,
loadMethod : 'iframe' ,
contentURL : 'upload.html' ,
scrollbars : true ,
resizable : false ,
maximizable : false ,
paddingVertical : 0 ,
paddingHorizontal : 0 ,
width : 600 ,
height : 130
} ) ;
} ) ;
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
globalUploadLimitFN = function ( ) {
new MochaUI . Window ( {
id : 'uploadLimitPage' ,
title : "_(Global Upload Speed Limiting)" ,
loadMethod : 'iframe' ,
contentURL : 'uploadlimit.html?hash=global' ,
scrollbars : false ,
resizable : false ,
maximizable : false ,
paddingVertical : 0 ,
paddingHorizontal : 0 ,
width : 424 ,
height : 80
} ) ;
}
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
uploadLimitFN = function ( ) {
var h = myTable . selectedIds ( ) ;
if ( h . length ) {
var hash = h [ 0 ] ;
new MochaUI . Window ( {
id : 'uploadLimitPage' ,
title : "_(Torrent Upload Speed Limiting)" ,
loadMethod : 'iframe' ,
contentURL : 'uploadlimit.html?hash=' + hash ,
scrollbars : false ,
resizable : false ,
maximizable : false ,
paddingVertical : 0 ,
paddingHorizontal : 0 ,
width : 424 ,
height : 80
} ) ;
}
} ;
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
globalDownloadLimitFN = function ( ) {
new MochaUI . Window ( {
id : 'downloadLimitPage' ,
title : "_(Global Download Speed Limiting)" ,
loadMethod : 'iframe' ,
contentURL : 'downloadlimit.html?hash=global' ,
scrollbars : false ,
resizable : false ,
maximizable : false ,
paddingVertical : 0 ,
paddingHorizontal : 0 ,
width : 424 ,
height : 80
} ) ;
}
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
downloadLimitFN = function ( ) {
var h = myTable . selectedIds ( ) ;
if ( h . length ) {
var hash = h [ 0 ] ;
new MochaUI . Window ( {
id : 'downloadLimitPage' ,
title : "_(Torrent Download Speed Limiting)" ,
loadMethod : 'iframe' ,
contentURL : 'downloadlimit.html?hash=' + hash ,
scrollbars : false ,
resizable : false ,
maximizable : false ,
paddingVertical : 0 ,
paddingHorizontal : 0 ,
width : 424 ,
height : 80
} ) ;
}
} ;
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
deleteFN = function ( ) {
var h = myTable . selectedIds ( ) ;
/ * i f ( h . l e n g t h & & c o n f i r m ( ' _ ( A r e y o u s u r e y o u w a n t t o d e l e t e t h e s e l e c t e d t o r r e n t s f r o m t h e t r a n s f e r l i s t ? ) ' ) ) {
2008-09-27 10:08:07 +00:00
h . each ( function ( item , index ) {
2012-06-10 20:15:57 +03:00
new Request ( { url : 'command/delete' , method : 'post' , data : { hash : item } } ) . send ( ) ;
2008-09-27 10:08:07 +00:00
} ) ;
2010-12-15 19:51:19 +00:00
} * /
2014-11-30 14:14:09 +01:00
if ( h . length ) {
new MochaUI . Window ( {
id : 'confirmDeletionPage' ,
title : "_(Deletion confirmation - qBittorrent)" ,
loadMethod : 'iframe' ,
contentURL : 'confirmdeletion.html?hashes=' + h . join ( ',' ) ,
scrollbars : false ,
resizable : false ,
maximizable : false ,
padding : 10 ,
width : 424 ,
height : 140
} ) ;
}
} ;
2009-11-24 19:41:31 +00:00
2014-11-30 14:14:09 +01:00
addClickEvent ( 'delete' , function ( e ) {
new Event ( e ) . stop ( ) ;
deleteFN ( ) ;
} ) ;
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
pauseFN = function ( ) {
var h = myTable . selectedIds ( ) ;
if ( h . length ) {
h . each ( function ( hash , index ) {
new Request ( {
url : 'command/pause' ,
method : 'post' ,
data : {
hash : hash
}
} ) . send ( ) ;
} ) ;
}
} ;
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
startFN = function ( ) {
var h = myTable . selectedIds ( ) ;
if ( h . length ) {
h . each ( function ( hash , index ) {
new Request ( {
url : 'command/resume' ,
method : 'post' ,
data : {
hash : hash
}
} ) . send ( ) ;
} ) ;
}
} ;
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
recheckFN = function ( ) {
var h = myTable . selectedIds ( ) ;
if ( h . length ) {
h . each ( function ( hash , index ) {
new Request ( {
url : 'command/recheck' ,
method : 'post' ,
data : {
hash : hash
}
} ) . send ( ) ;
} ) ;
}
} ;
2008-12-28 21:12:49 +00:00
2014-11-30 14:14:09 +01:00
[ 'pause' , 'resume' , 'recheck' ] . each ( function ( item ) {
addClickEvent ( item , function ( e ) {
new Event ( e ) . stop ( ) ;
var h = myTable . selectedIds ( ) ;
if ( h . length ) {
h . each ( function ( hash , index ) {
new Request ( {
url : 'command/' + item ,
method : 'post' ,
data : {
hash : hash
}
} ) . send ( ) ;
} ) ;
}
} ) ;
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
addClickEvent ( item + 'All' , function ( e ) {
new Event ( e ) . stop ( ) ;
new Request ( {
url : 'command/' + item + 'all'
} ) . send ( ) ;
} ) ;
} ) ;
2010-12-19 13:37:12 +00:00
2014-11-30 14:14:09 +01:00
[ 'decreasePrio' , 'increasePrio' , 'topPrio' , 'bottomPrio' ] . each ( function ( item ) {
addClickEvent ( item , function ( e ) {
new Event ( e ) . stop ( ) ;
setPriorityFN ( item ) ;
} ) ;
} ) ;
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
setPriorityFN = function ( cmd ) {
var h = myTable . selectedIds ( ) ;
if ( h . length ) {
new Request ( {
url : 'command/' + cmd ,
method : 'post' ,
data : {
hashes : h . join ( "|" )
}
} ) . send ( ) ;
}
}
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
addClickEvent ( 'about' , function ( e ) {
new Event ( e ) . stop ( ) ;
new MochaUI . Window ( {
id : 'aboutpage' ,
title : 'About' ,
loadMethod : 'xhr' ,
contentURL : 'about.html' ,
width : 650 ,
height : 200 ,
padding : 10
} ) ;
} ) ;
2012-07-01 13:23:41 +03:00
2014-11-30 14:14:09 +01:00
addClickEvent ( 'logout' , function ( e ) {
2014-08-22 22:02:01 +04:00
new Event ( e ) . stop ( ) ;
new Request ( {
url : '/logout' ,
method : 'get' ,
onSuccess : function ( ) {
window . location . reload ( ) ;
}
} ) . send ( ) ;
} ) ;
2014-11-30 14:14:09 +01:00
addClickEvent ( 'shutdown' , function ( e ) {
new Event ( e ) . stop ( ) ;
2014-08-22 22:02:01 +04:00
new Request ( {
url : 'command/shutdown' ,
onSuccess : function ( ) {
document . write ( "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\"><head><title>_(qBittorrent has been shutdown.)</title><style type=\"text/css\">body { text-align: center; }</style></head><body><h1>_(qBittorrent has been shutdown.)</h1></body></html>" ) ;
stop ( ) ;
}
} ) . send ( ) ;
2014-11-30 14:14:09 +01:00
} ) ;
2012-08-19 19:25:21 +02:00
2014-11-30 14:14:09 +01:00
// Deactivate menu header links
$$ ( 'a.returnFalse' ) . each ( function ( el ) {
el . addEvent ( 'click' , function ( e ) {
new Event ( e ) . stop ( ) ;
} ) ;
} ) ;
}