X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbclistbox.C;h=16a477bbe309d0de365f9029675516f61a3f2487;hp=b10cdf0860c7a22aceb2ee9f5844fff3a4524383;hb=a95193c3fd88733d184f2d460eca1fe6ddf8af28;hpb=47ad0dcdda5b5ae53931025c581eef1782fc5e12 diff --git a/cinelerra-5.1/guicast/bclistbox.C b/cinelerra-5.1/guicast/bclistbox.C index b10cdf08..16a477bb 100644 --- a/cinelerra-5.1/guicast/bclistbox.C +++ b/cinelerra-5.1/guicast/bclistbox.C @@ -656,8 +656,8 @@ void BC_ListBox::calculate_item_coords_recursive( if( temp_display_format == LISTBOX_ICON_LIST ) { for( int i=0; iicon ) { - if( data[0].get(i)->icon->get_h() > row_height ) - row_height = data[0].get(i)->icon->get_h(); + int icon_h = data[0].get(i)->icon->get_h() + 2*ICON_MARGIN; + if( row_height < icon_h ) row_height = icon_h; } } } @@ -1173,10 +1173,10 @@ int BC_ListBox::get_icon_mask(BC_ListBoxItem *item, case LISTBOX_ICONS: case LISTBOX_ICONS_PACKED: case LISTBOX_ICON_LIST: { - x = get_item_x(item); - y = get_item_y(item); - w = get_icon_w(item) + ICON_MARGIN * 2; - h = get_icon_h(item) + ICON_MARGIN * 2; + x = get_item_x(item) + ICON_MARGIN; + y = get_item_y(item) + ICON_MARGIN; + w = get_icon_w(item) + ICON_MARGIN; + h = get_icon_h(item) + ICON_MARGIN; break; } case LISTBOX_TEXT: default: { @@ -2093,8 +2093,7 @@ int BC_ListBox::get_cursor_item(ArrayList *data, int cursor_x, return j; } } - if( display_format == LISTBOX_ICONS ) return -1; - } // fall through + return -1; } case LISTBOX_TEXT: if( !gui ) break; // Text is treed @@ -2136,6 +2135,14 @@ int BC_ListBox::get_cursor_item(ArrayList *data, int cursor_x, return -1; } +// short version +int BC_ListBox::get_cursor_item() +{ + int rx, ry; + gui->get_relative_cursor(rx, ry); + return get_cursor_item(data, rx, ry, 0, 0); +} + int BC_ListBox::repeat_event(int64_t duration) { switch( current_operation ) { @@ -2696,7 +2703,6 @@ int BC_ListBox::button_press_event() int BC_ListBox::button_release_event() { int result = 0; - int cursor_x, cursor_y; int do_event = 0; new_value = 0; unset_scroll_repeat(); @@ -2719,11 +2725,7 @@ int BC_ListBox::button_release_event() //printf("BC_ListBox::button_release_event 10\n"); current_operation = NO_OPERATION; if( gui ) { - translate_coordinates(top_level->event_win, gui->win, - gui->get_cursor_x(), gui->get_cursor_y(), - &cursor_x, &cursor_y); - selection_number1 = selection_number = - get_cursor_item(data, cursor_x, cursor_y); + selection_number1 = selection_number = get_cursor_item(); //printf("BC_ListBox::button_release_event %d %d\n", selection_number2, selection_number1); }