--- gigedit/trunk/src/gigedit/regionchooser.cpp 2007/06/10 10:56:11 1225 +++ gigedit/trunk/src/gigedit/regionchooser.cpp 2007/07/05 17:12:20 1261 @@ -223,7 +223,7 @@ this->instrument = instrument; region = instrument ? instrument->GetFirstRegion() : 0; queue_draw(); - sel_changed_signal.emit(); + region_selected(); } bool RegionChooser::on_button_release_event(GdkEventButton* event) @@ -233,9 +233,15 @@ resize.active = false; if (resize.mode == resize.moving_high_limit) { - resize.region->KeyRange.high = resize.pos - 1; + if (resize.region->KeyRange.high != resize.pos - 1) { + resize.region->KeyRange.high = resize.pos - 1; + instrument_changed(); + } } else if (resize.mode == resize.moving_low_limit) { - resize.region->KeyRange.low = resize.pos; + if (resize.region->KeyRange.low != resize.pos) { + resize.region->KeyRange.low = resize.pos; + instrument_changed(); + } } if (!is_in_resize_zone(event->x, event->y) && cursor_is_resize) { @@ -257,7 +263,7 @@ if (r) { region = r; queue_draw(); - sel_changed_signal.emit(); + region_selected(); popup_menu_inside_region->popup(event->button, event->time); } else { new_region_pos = k; @@ -277,7 +283,7 @@ if (r) { region = r; queue_draw(); - sel_changed_signal.emit(); + region_selected(); } } } @@ -418,9 +424,14 @@ return false; } -sigc::signal RegionChooser::signal_sel_changed() +sigc::signal RegionChooser::signal_region_selected() +{ + return region_selected; +} + +sigc::signal RegionChooser::signal_instrument_changed() { - return sel_changed_signal; + return instrument_changed; } void RegionChooser::show_region_properties() @@ -460,7 +471,8 @@ instrument->MoveRegion(region, r); queue_draw(); - sel_changed_signal.emit(); + region_selected(); + instrument_changed(); } void RegionChooser::delete_region() @@ -468,7 +480,8 @@ instrument->DeleteRegion(region); region = 0; queue_draw(); - sel_changed_signal.emit(); + region_selected(); + instrument_changed(); } void RegionChooser::manage_dimensions() @@ -479,5 +492,6 @@ } void RegionChooser::on_dimension_manager_changed() { - sel_changed_signal.emit(); + region_selected(); + instrument_changed(); }