diff options
| author | raveit65 <[email protected]> | 2016-10-16 07:59:32 +0200 | 
|---|---|---|
| committer | lukefromdc <[email protected]> | 2016-10-16 14:07:29 -0400 | 
| commit | 986490bbb94b33047453a4a82909088862435fbe (patch) | |
| tree | aeb8c2bab670ad00929edfac247b8070cdca8516 | |
| parent | a79bec599478cf32134105c75e73775ba74f9013 (diff) | |
| download | caja-986490bbb94b33047453a4a82909088862435fbe.tar.bz2 caja-986490bbb94b33047453a4a82909088862435fbe.tar.xz  | |
GTK+2: use eel helper again to set adjustment values
This reverts https://github.com/mate-desktop/caja/commit/1f7ab5d for gtk2
Fixes https://github.com/mate-desktop/caja/issues/659
| -rw-r--r-- | libcaja-private/caja-icon-container.c | 36 | 
1 files changed, 36 insertions, 0 deletions
diff --git a/libcaja-private/caja-icon-container.c b/libcaja-private/caja-icon-container.c index 3e1f7915..24114381 100644 --- a/libcaja-private/caja-icon-container.c +++ b/libcaja-private/caja-icon-container.c @@ -641,8 +641,13 @@ caja_icon_container_scroll (CajaIconContainer *container,      old_h_value = gtk_adjustment_get_value (hadj);      old_v_value = gtk_adjustment_get_value (vadj); +#if GTK_CHECK_VERSION (3, 0, 0)      gtk_adjustment_set_value (hadj, gtk_adjustment_get_value (hadj) + delta_x);      gtk_adjustment_set_value (vadj, gtk_adjustment_get_value (vadj) + delta_y); +#else +    eel_gtk_adjustment_set_value (hadj, gtk_adjustment_get_value (hadj) + delta_x); +    eel_gtk_adjustment_set_value (vadj, gtk_adjustment_get_value (vadj) + delta_y); +#endif      /* return TRUE if we did scroll */      return gtk_adjustment_get_value (hadj) != old_h_value || gtk_adjustment_get_value (vadj) != old_v_value; @@ -796,6 +801,7 @@ reveal_icon (CajaIconContainer *container,          item_get_canvas_bounds (EEL_CANVAS_ITEM (icon->item), &bounds, TRUE);      }      if (bounds.y0 < gtk_adjustment_get_value (vadj)) { +#if GTK_CHECK_VERSION (3, 0, 0)          gtk_adjustment_set_value (vadj, bounds.y0);      } else if (bounds.y1 > gtk_adjustment_get_value (vadj) + allocation.height) {          gtk_adjustment_set_value (vadj, bounds.y1 - allocation.height); @@ -808,6 +814,20 @@ reveal_icon (CajaIconContainer *container,              gtk_adjustment_set_value (hadj, bounds.x0);          } else {              gtk_adjustment_set_value (hadj, bounds.x1 - allocation.width); +#else +        eel_gtk_adjustment_set_value (vadj, bounds.y0); +    } else if (bounds.y1 > gtk_adjustment_get_value (vadj) + allocation.height) { +        eel_gtk_adjustment_set_value (vadj, bounds.y1 - allocation.height); +    } + +    if (bounds.x0 < gtk_adjustment_get_value (hadj)) { +        eel_gtk_adjustment_set_value (hadj, bounds.x0); +    } else if (bounds.x1 > gtk_adjustment_get_value (hadj) + allocation.width) { +        if (bounds.x1 - allocation.width > bounds.x0) { +            eel_gtk_adjustment_set_value (hadj, bounds.x0); +        } else { +            eel_gtk_adjustment_set_value (hadj, bounds.x1 - allocation.width); +#endif          }      }  } @@ -1248,6 +1268,13 @@ caja_icon_container_update_scroll_region (CajaIconContainer *container)      {          gtk_adjustment_set_step_increment (vadj, step_increment);      } +#if !GTK_CHECK_VERSION (3, 0, 0) +    /* Now that we have a new scroll region, clamp the +     * adjustments so we are within the valid scroll area. +     */ +    eel_gtk_adjustment_clamp_value (hadj); +    eel_gtk_adjustment_clamp_value (vadj); +#endif  }  static int @@ -7509,12 +7536,21 @@ caja_icon_container_scroll_to_icon (CajaIconContainer  *container,              if (caja_icon_container_is_layout_vertical (container)) {                  if (caja_icon_container_is_layout_rtl (container)) { +#if GTK_CHECK_VERSION (3, 0, 0)                      gtk_adjustment_set_value (hadj, bounds.x1 - allocation.width);                  } else {                      gtk_adjustment_set_value (hadj, bounds.x0);                  }              } else {                  gtk_adjustment_set_value (vadj, bounds.y0); +#else +                    eel_gtk_adjustment_set_value (hadj, bounds.x1 - allocation.width); +                } else { +                    eel_gtk_adjustment_set_value (hadj, bounds.x0); +                } +            } else { +                eel_gtk_adjustment_set_value (vadj, bounds.y0); +#endif              }          }  | 
