X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbclistbox.C;fp=cinelerra-5.1%2Fguicast%2Fbclistbox.C;h=2dd4283c990fc325d4caf6edc68068c882a4b035;hb=0d3917a4eda0344055badf0bd6e235c15c3b6cb8;hp=31bcb1412cf40ad43ef64322f422c2413d0b2eaf;hpb=8b0e73a6d3623764c261f64f5f3e96349d1f9032;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bclistbox.C b/cinelerra-5.1/guicast/bclistbox.C index 31bcb141..2dd4283c 100644 --- a/cinelerra-5.1/guicast/bclistbox.C +++ b/cinelerra-5.1/guicast/bclistbox.C @@ -2117,6 +2117,7 @@ int BC_ListBox::get_cursor_item(ArrayList *data, int cursor_x, cursor_y < get_item_y(item) + get_item_h(item) ) { //printf("BC_ListBox::get_cursor_item %d %d %p\n", master_column, i, item); if( item_return ) (*item_return) = item; + if( expanded < 0 ) (*counter) = i; return (*counter); } @@ -2124,8 +2125,10 @@ int BC_ListBox::get_cursor_item(ArrayList *data, int cursor_x, if( item->sublist_active() ) { if( get_cursor_item(item->get_sublist(), cursor_x, cursor_y, item_return, counter, - item->get_expand()) >= 0 ) + item->get_expand()) >= 0 ) { + if( expanded < 0 ) (*counter) = i; return (*counter); + } } } } @@ -2136,13 +2139,20 @@ int BC_ListBox::get_cursor_item(ArrayList *data, int cursor_x, } // short version -int BC_ListBox::get_cursor_item() +int BC_ListBox::get_cursor_item_no() { int rx, ry; gui->get_relative_cursor(rx, ry); return get_cursor_item(data, rx, ry, 0, 0); } +int BC_ListBox::get_cursor_data_item_no(BC_ListBoxItem **item_return) +{ + int rx, ry; + gui->get_relative_cursor(rx, ry); + return get_cursor_item(data, rx, ry, item_return, 0, -1); +} + int BC_ListBox::repeat_event(int64_t duration) { switch( current_operation ) { @@ -2725,7 +2735,7 @@ int BC_ListBox::button_release_event() //printf("BC_ListBox::button_release_event 10\n"); current_operation = NO_OPERATION; if( gui ) { - selection_number1 = selection_number = get_cursor_item(); + selection_number1 = selection_number = get_cursor_item_no(); //printf("BC_ListBox::button_release_event %d %d\n", selection_number2, selection_number1); }