projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
folder icon move segv, resources drag scroll bug, memory leaks, global msgqual, po...
[goodguy/history.git]
/
cinelerra-5.1
/
guicast
/
bclistbox.C
diff --git
a/cinelerra-5.1/guicast/bclistbox.C
b/cinelerra-5.1/guicast/bclistbox.C
index ac15f666e4d8b139414bda2703d63ee86fff6d61..fb57b17de864b2999c7b5500ed35410f0cb2d5a0 100644
(file)
--- a/
cinelerra-5.1/guicast/bclistbox.C
+++ b/
cinelerra-5.1/guicast/bclistbox.C
@@
-3676,9
+3676,7
@@
int BC_ListBox::drag_start_event()
switch(current_operation)
{
case SELECT:
switch(current_operation)
{
case SELECT:
- if(gui &&
- gui->is_event_win() &&
- allow_drag)
+ if( gui && gui->is_event_win() && allow_drag )
{
BC_ListBoxItem *item_return = 0;
selection_number = get_cursor_item(data,
{
BC_ListBoxItem *item_return = 0;
selection_number = get_cursor_item(data,
@@
-3688,33
+3686,32
@@
int BC_ListBox::drag_start_event()
if(selection_number >= 0)
{
if(selection_number >= 0)
{
-
- if (item_return->icon_vframe)
- {
+ int cx, cy;
+ get_abs_cursor_xy(cx, cy);
+ if( item_return->icon_vframe ) {
+ cx -= item_return->icon_vframe->get_w() / 2,
+ cy -= item_return->icon_vframe->get_h() / 2;
drag_popup = new BC_DragWindow(this,
drag_popup = new BC_DragWindow(this,
- item_return->icon_vframe /*,
- get_abs_cursor_x(0) - item_return->icon_vframe->get_w() / 2,
- get_abs_cursor_y(0) - item_return->icon_vframe->get_h() / 2 */);
+ item_return->icon_vframe, cx, cy);
}
else
// this probably works not!
}
else
// this probably works not!
- if (item_return->icon)
- {
+ if( item_return->icon ) {
+ cx -= item_return->icon->get_w() / 2,
+ cy -= item_return->icon->get_h() / 2;
drag_popup = new BC_DragWindow(this,
drag_popup = new BC_DragWindow(this,
- item_return->icon /*,
- get_abs_cursor_x(0) - item_return->icon->get_w() / 2,
- get_abs_cursor_y(0) - item_return->icon->get_h() / 2 */);
+ item_return->icon, cx, cy);
}
}
- else
- {
+ else {
+ cx -= drag_icon_vframe->get_w() / 2,
+ cy -= drag_icon_vframe->get_h() / 2;
drag_popup = new BC_DragWindow(this,
drag_popup = new BC_DragWindow(this,
- drag_icon_vframe /*,
- get_abs_cursor_x(0) - drag_icon_vframe->get_w() / 2,
- get_abs_cursor_y(0) - drag_icon_vframe->get_h() / 2 */);
+ drag_icon_vframe, cx, cy);
}
}
-
current_operation = DRAG_ITEM;
current_operation = DRAG_ITEM;
- set_repeat(get_resources()->scroll_repeat);
+// require shift down for scrolling
+ if( allow_drag < 0 && shift_down() )
+ set_repeat(get_resources()->scroll_repeat);
return 1;
}
}
return 1;
}
}
@@
-3723,10
+3720,12
@@
int BC_ListBox::drag_start_event()
case COLUMN_DN:
if(gui && gui->is_event_win() && allow_drag_column)
{
case COLUMN_DN:
if(gui && gui->is_event_win() && allow_drag_column)
{
+ int cx, cy;
+ get_abs_cursor_xy(cx, cy);
+ cx -= drag_column_icon_vframe->get_w() / 2,
+ cy -= drag_column_icon_vframe->get_h() / 2;
drag_popup = new BC_DragWindow(this,
drag_popup = new BC_DragWindow(this,
- drag_column_icon_vframe /*,
- get_abs_cursor_x(0) - drag_column_icon_vframe->get_w() / 2,
- get_abs_cursor_y(0) - drag_column_icon_vframe->get_h() / 2 */);
+ drag_column_icon_vframe, cx, cy);
dragged_title = highlighted_title;
current_operation = COLUMN_DRAG;
draw_titles(1);
dragged_title = highlighted_title;
current_operation = COLUMN_DRAG;
draw_titles(1);
@@
-3769,7
+3768,6
@@
int BC_ListBox::drag_motion_event()
}
return drag_popup->cursor_motion_event();
}
return drag_popup->cursor_motion_event();
- break;
}
case COLUMN_DRAG:
}
case COLUMN_DRAG:
@@
-3781,7
+3779,6
@@
int BC_ListBox::drag_motion_event()
draw_titles(1);
}
return drag_popup->cursor_motion_event();
draw_titles(1);
}
return drag_popup->cursor_motion_event();
- break;
}
}
return 0;
}
}
return 0;
@@
-3806,16
+3803,10
@@
int BC_ListBox::drag_stop_event()
{
reposition_item(data,
selection_number,
{
reposition_item(data,
selection_number,
- top_level->cursor_x +
- drag_popup->get_offset_x() -
- LISTBOX_MARGIN -
- 2 +
- xposition,
- top_level->cursor_y +
- drag_popup->get_offset_y() -
- LISTBOX_MARGIN -
- 2 +
- yposition);
+ top_level->cursor_x + drag_popup->get_offset_x() -
+ LISTBOX_MARGIN - 2 + xposition,
+ top_level->cursor_y + drag_popup->get_offset_y() -
+ LISTBOX_MARGIN - 2 + yposition);
}
else
// Move rows
}
else
// Move rows
@@
-4386,7
+4377,7
@@
void BC_ListBox::draw_text_recursive(ArrayList<BC_ListBoxItem*> *data,
gui->set_color(BLACK);
int xx = x + column_width-1;
gui->draw_line(x, y, xx, y);
gui->set_color(BLACK);
int xx = x + column_width-1;
gui->draw_line(x, y, xx, y);
- int hh =
row_height
;
+ int hh =
h
;
if( display_format == LISTBOX_ICON_LIST ) {
int ih = get_icon_h(item);
if( ih > hh ) hh = ih;
if( display_format == LISTBOX_ICON_LIST ) {
int ih = get_icon_h(item);
if( ih > hh ) hh = ih;