Skip to content

Commit e134455

Browse files
committed
act_on : really don't use mouse position with filmstrip
In view mode using filmstrip (culling, darkroom, etc) make sure it works in a similar way whatever the mouse position. This implies the need to return to filemanager to do fancy things with selection.
1 parent 38771a3 commit e134455

File tree

1 file changed

+18
-40
lines changed

1 file changed

+18
-40
lines changed

src/common/act_on.c

Lines changed: 18 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -331,13 +331,12 @@ static gboolean _cache_update_selection(const gboolean only_visible,
331331
{
332332
/** Here's how it works
333333
*
334-
* selection| x | ? | ? | ? |
335-
* mouse inside table| ? | x | | |
336-
* active images| | x | x | x |
337-
* culling mode| | ? | | x |
338-
* | | | | |
339-
* | S | S | A | C |
340-
* S = selection ; O = mouseover ; A = active images ; C = culling selection
334+
* selection| x | ? | ? |
335+
* active images| | x | x |
336+
* culling mode| | | x |
337+
* | | | |
338+
* | S | A | C |
339+
* S = selection ; A = active images ; C = culling selection
341340
*
342341
* if only_visible is FALSE, then it will add also not visible
343342
* images because of grouping force define if we try to use cache
@@ -363,17 +362,8 @@ static gboolean _cache_update_selection(const gboolean only_visible,
363362

364363
if(darktable.view_manager->active_images)
365364
{
366-
if(dt_ui_thumbtable(darktable.gui->ui)->mouse_inside
367-
|| dt_ui_thumbtable(darktable.gui->ui)->key_inside)
368-
{
369-
// column 2
370-
l = dt_selection_get_list(darktable.selection, only_visible, ordered);
371-
}
372-
else
373-
{
374-
// column 3
375-
_insert_active_images_in_list(&l, only_visible);
376-
}
365+
// column 2 & 3 (culling specifity is taken into account by the insertion routine)
366+
_insert_active_images_in_list(&l, only_visible);
377367
}
378368
else
379369
{
@@ -526,13 +516,12 @@ static gchar *_get_query_selection(const gboolean only_visible)
526516
{
527517
/** Here's how it works
528518
*
529-
* selection| ? | ? | ? | ? |
530-
* mouse inside table| ? | x | | |
531-
* active images| | x | x | x |
532-
* culling mode| | ? | | x |
533-
* | | | | |
534-
* | S | S | A | C |
535-
* S = selection ; O = mouseover ; A = active images ; C = culling selection
519+
* selection| ? | ? | ? |
520+
* active images| | x | x |
521+
* culling mode| | | x |
522+
* | | | |
523+
* | S | A | C |
524+
* S = selection ; A = active images ; C = culling selection
536525
*
537526
* if only_visible is FALSE, then it will add also not visible
538527
* images because of grouping force define if we try to use cache
@@ -544,18 +533,8 @@ static gchar *_get_query_selection(const gboolean only_visible)
544533

545534
if(darktable.view_manager->active_images)
546535
{
547-
if(dt_ui_thumbtable(darktable.gui->ui)->mouse_inside
548-
|| dt_ui_thumbtable(darktable.gui->ui)->key_inside)
549-
{
550-
// column 2
551-
return dt_selection_get_list_query(darktable.selection, only_visible, FALSE);
552-
}
553-
else
554-
{
555-
// column 3
556-
_insert_active_images_in_list(&l, only_visible);
557-
}
558-
536+
// column 2 & 3 (culling specifity is taken into account by the insertion routine)
537+
_insert_active_images_in_list(&l, only_visible);
559538
}
560539
else
561540
{
@@ -630,16 +609,15 @@ static dt_imgid_t _get_main_image_hover()
630609
}
631610
static dt_imgid_t _get_main_image_selection()
632611
{
633-
/** Here's how it works -- same as for list, except we don't care
634-
* about mouse inside selection or table
612+
/** Here's how it works -- same as for list
635613
*
636614
* selection| ? | ? | ? |
637615
* active images| | x | x |
638616
* culling mode| | | x |
639617
* | | | |
640618
* | S | A | C |
641619
* First image of ...
642-
* S = selection ; O = mouseover ; A = active images ; C = culling selection
620+
* S = selection ; A = active images ; C = culling selection
643621
**/
644622

645623
dt_imgid_t imgid = NO_IMGID;

0 commit comments

Comments
 (0)