if (i < MAX_SPLIT_IMAGES)
{
DEBUG_1("dnd image activate %d", i);
- layout_image_activate(lw, i);
+ layout_image_activate(lw, i, FALSE);
}
if (i != -1)
{
DEBUG_1("image activate focus_in %d", i);
- layout_image_activate(lw, i);
+ layout_image_activate(lw, i, FALSE);
}
}
if (i != -1)
{
DEBUG_1("image activate scroll %d", i);
- layout_image_activate(lw, i);
+ layout_image_activate(lw, i, FALSE);
}
if (i != -1)
{
- layout_image_activate(lw, i);
+ layout_image_activate(lw, i, FALSE);
}
switch (event->button)
if (i != -1)
{
- layout_image_activate(lw, i);
+ layout_image_activate(lw, i, FALSE);
}
/* continue as with active image */
image_select(lw->split_images[i], FALSE);
}
-
-void layout_image_activate(LayoutWindow *lw, gint i)
+/* force should be set after change of lw->split_mode */
+void layout_image_activate(LayoutWindow *lw, gint i, gboolean force)
{
FileData *fd;
if (!lw->split_images[i]) return;
+ if (!force && lw->active_split_image == i) return;
/* deactivate currently active */
if (lw->active_split_image != i)
if (!lw->image || lw->active_split_image < 0 || lw->active_split_image >= n)
{
- layout_image_activate(lw, 0);
+ layout_image_activate(lw, 0, TRUE);
}
else
{
/* this will draw the frame around selected image (image_select)
on switch from single to split images */
- layout_image_activate(lw, lw->active_split_image);
+ layout_image_activate(lw, lw->active_split_image, TRUE);
}
}
GtkWidget *layout_image_new(LayoutWindow *lw, gint i);
-void layout_image_activate(LayoutWindow *lw, gint i);
+void layout_image_activate(LayoutWindow *lw, gint i, gboolean force);
GtkWidget *layout_image_setup_split_none(LayoutWindow *lw);
GtkWidget *layout_image_setup_split_hv(LayoutWindow *lw, gboolean horizontal);
GtkWidget *layout_image_setup_split(LayoutWindow *lw, ImageSplitMode mode);