@@ -287,7 +287,8 @@ var ListSection = GObject.registerClass({
287287 false ) ,
288288 } ,
289289 Signals : {
290- 'selection-changed' : { param_types : [ GObject . TYPE_INT ] } ,
290+ 'row-selected' : { param_types : [ GObject . TYPE_INT ] } ,
291+ 'row-activated' : { param_types : [ GObject . TYPE_INT ] } ,
291292 } ,
292293} , class ListSection extends St . BoxLayout {
293294 _init ( params ) {
@@ -356,7 +357,7 @@ var ListSection = GObject.registerClass({
356357 } ) ;
357358
358359 this . _selectedIndex = index ;
359- this . emit ( 'selection-changed ' , index ) ;
360+ this . emit ( 'row-selected ' , index ) ;
360361 }
361362
362363 _onItemClicked ( item ) {
@@ -372,6 +373,16 @@ var ListSection = GObject.registerClass({
372373 if ( this . selectable ) {
373374 item . reactive = true ;
374375 item . track_hover = true ;
376+ item . connect ( 'button-press-event' , ( actor , event ) => {
377+ if ( event . get_click_count ( ) === 2 ) {
378+ let children = this . list . get_children ( ) ;
379+ let index = children . indexOf ( item ) ;
380+ if ( index >= 0 )
381+ this . emit ( 'row-activated' , index ) ;
382+ return Clutter . EVENT_STOP ;
383+ }
384+ return Clutter . EVENT_PROPAGATE ;
385+ } ) ;
375386 item . connect ( 'button-release-event' , ( ) => {
376387 this . _onItemClicked ( item ) ;
377388 return Clutter . EVENT_STOP ;
0 commit comments