projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix draw_refresh opengl deadlock, cleanup last chkin
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
guicast
/
bclistbox.C
diff --git
a/cinelerra-5.1/guicast/bclistbox.C
b/cinelerra-5.1/guicast/bclistbox.C
index 2dd4283c990fc325d4caf6edc68068c882a4b035..ef29b0b6eac0dc8848673528f1333ec4d590a1fc 100644
(file)
--- a/
cinelerra-5.1/guicast/bclistbox.C
+++ b/
cinelerra-5.1/guicast/bclistbox.C
@@
-1223,7
+1223,7
@@
int BC_ListBox::get_text_mask(BC_ListBoxItem *item,
h = get_text_h(item) + ICON_MARGIN * 2;
break; }
case LISTBOX_ICON_LIST: {
h = get_text_h(item) + ICON_MARGIN * 2;
break; }
case LISTBOX_ICON_LIST: {
- w =
get_text_width(MEDIUMFONT, item->text) + LISTBOX_MARGIN * 2
;
+ w =
column_width ? column_width[0] : default_column_width[0]
;
h = row_height;
break; }
default:
h = row_height;
break; }
default:
@@
-1643,6
+1643,7
@@
int BC_ListBox::center_selection(int selection,
yposition = item->text_y - top_item->text_y - view_h / 2;
}
}
yposition = item->text_y - top_item->text_y - view_h / 2;
}
}
+ if( yposition < 0 ) yposition = 0;
return 1;
}
return 1;
}
@@
-2614,7
+2615,7
@@
int BC_ListBox::button_press_event()
// Multiple item selection is possible
if( selection_mode == LISTBOX_MULTIPLE &&
// Multiple item selection is possible
if( selection_mode == LISTBOX_MULTIPLE &&
- (ctrl_down() || shift_down()) ) {
+ (ctrl_down() || shift_down()
|| current_item->selected
) ) {
// Expand text selection.
// Fill items between selected region and current item.
if( shift_down() &&
// Expand text selection.
// Fill items between selected region and current item.
if( shift_down() &&
@@
-2638,18
+2639,16
@@
int BC_ListBox::button_press_event()
new_value = 1;
}
// Toggle a single item on or off
new_value = 1;
}
// Toggle a single item on or off
- else {
+ else
if( ctrl_down() )
{
toggle_item_selection(data, selection_number);
new_value = current_item->selected;
}
}
// Select single item
else {
toggle_item_selection(data, selection_number);
new_value = current_item->selected;
}
}
// Select single item
else {
- if( !current_item->selected ) {
+ if( !current_item->selected
|| (get_buttonpress() == 1 && !new_value)
) {
set_all_selected(data, 0);
set_all_selected(data, 0);
- set_selected(data,
- selection_number,
- 1);
+ set_selected(data, selection_number, 1);
}
new_value = 1;
}
}
new_value = 1;
}
@@
-3033,9
+3032,6
@@
int BC_ListBox::cursor_motion_event()
if( (display_format == LISTBOX_TEXT ||
display_format == LISTBOX_ICON_LIST) &&
shift_down() ) {
if( (display_format == LISTBOX_TEXT ||
display_format == LISTBOX_ICON_LIST) &&
shift_down() ) {
-// Deselect everything.
- set_all_selected(data, 0);
-
// Select just the items
redraw = expand_selection(0, selection_number);
}
// Select just the items
redraw = expand_selection(0, selection_number);
}