Move drops over selection target top of selected run.
This commit is contained in:
parent
59ea55ef3d
commit
e17e56b0cc
|
@ -1850,7 +1850,21 @@ static bool treeview_set_move_indicator(treeview *tree, bool need_redraw,
|
||||||
node_y += (tree_g.line_height -
|
node_y += (tree_g.line_height -
|
||||||
treeview_res[TREE_RES_ARROW].height + 1) / 2;
|
treeview_res[TREE_RES_ARROW].height + 1) / 2;
|
||||||
|
|
||||||
switch (target->type) {
|
if (target->flags & TREE_NODE_SELECTED) {
|
||||||
|
/* Find top selected ancestor */
|
||||||
|
while (target->parent &&
|
||||||
|
target->parent->flags & TREE_NODE_SELECTED) {
|
||||||
|
target = target->parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Find top ajdacent selected sibling */
|
||||||
|
while (target->sibling_prev &&
|
||||||
|
target->sibling_prev->flags & TREE_NODE_SELECTED) {
|
||||||
|
target = target->sibling_prev;
|
||||||
|
}
|
||||||
|
target_pos = TV_TARGET_ABOVE;
|
||||||
|
|
||||||
|
} else switch (target->type) {
|
||||||
case TREE_NODE_FOLDER:
|
case TREE_NODE_FOLDER:
|
||||||
if (mouse_pos <= node_height / 4) {
|
if (mouse_pos <= node_height / 4) {
|
||||||
target_pos = TV_TARGET_ABOVE;
|
target_pos = TV_TARGET_ABOVE;
|
||||||
|
|
Loading…
Reference in New Issue