From a0c6c794faa7a8ede78341533855ca670e6cd2c1 Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Mon, 3 Mar 2008 21:46:48 -0600 Subject: [PATCH] Make duplicate work for selection. --- Region.C | 8 +++++--- Track_Widget.H | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Region.C b/Region.C index 8f21ad5..85315e0 100644 --- a/Region.C +++ b/Region.C @@ -353,12 +353,14 @@ Region::handle ( int m ) else return 0; + ret = Track_Widget::handle( m ); + if ( Fl::event_state() & FL_CTRL ) { - if ( ! copied ) + if ( _drag->state == 0 ) { _track->add( new Region( *this ) ); - copied = true; + _drag->state = 1; return 1; } } @@ -380,7 +382,7 @@ Region::handle ( int m ) } } - ret = Track_Widget::handle( m ); +// ret = Track_Widget::handle( m ); return ret | 1; default: return Track_Widget::handle( m ); diff --git a/Track_Widget.H b/Track_Widget.H index 9b9cbbb..8bd54b3 100644 --- a/Track_Widget.H +++ b/Track_Widget.H @@ -50,8 +50,9 @@ protected: /* mouse coords at start of drag */ int x; int y; + int state; - Drag( int X, int Y ) : x( X ), y( Y ) {} + Drag( int X, int Y ) : x( X ), y( Y ) { state = 0; } }; Drag *_drag;