@@ -36,7 +36,7 @@ function Tray(option) {
3636 option . shadowIcon = String ( option . icon ) ;
3737 option . icon = nw . getAbsolutePath ( option . icon ) ;
3838 }
39-
39+
4040 if ( option . hasOwnProperty ( 'alticon' ) ) {
4141 option . shadowAlticon = String ( option . alticon ) ;
4242 option . alticon = nw . getAbsolutePath ( option . alticon ) ;
@@ -45,6 +45,14 @@ function Tray(option) {
4545 if ( option . hasOwnProperty ( 'tooltip' ) )
4646 option . tooltip = String ( option . tooltip ) ;
4747
48+ if ( option . hasOwnProperty ( 'click' ) ) {
49+ if ( typeof option . click != 'function' ) {
50+ throw new String ( "'click' must be a valid Function" ) ;
51+ } else {
52+ this . click = option . click ;
53+ }
54+ }
55+
4856 if ( option . hasOwnProperty ( 'menu' ) ) {
4957 if ( v8_util . getConstructorName ( option . menu ) != 'Menu' )
5058 throw new String ( "'menu' must be a valid Menu" ) ;
@@ -119,4 +127,14 @@ Tray.prototype.remove = function() {
119127 nw . callObjectMethod ( this , 'Remove' , [ ] ) ;
120128}
121129
130+ Tray . prototype . handleEvent = function ( ev ) {
131+ if ( ev == 'click' ) {
132+ // Emit click handler
133+ if ( typeof this . click == 'function' ) {
134+ this . click ( ) ;
135+ }
136+ }
137+ // Emit generate event handler
138+ exports . Base . prototype . handleEvent . apply ( this , arguments ) ;
139+ }
122140exports . Tray = Tray ;
0 commit comments