X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fhildon2%2Fmodest-maemo-utils.c;h=140e2f3179c7461179aff562ccbd66b139632446;hb=2ead225b46b1b43497890b6a040524fa27144448;hp=50edb3cbc4d335a5d92b953f6029514be10f95bc;hpb=d723e312ee1d3edf9933b528444f9efb69cdffe2;p=modest diff --git a/src/hildon2/modest-maemo-utils.c b/src/hildon2/modest-maemo-utils.c index 50edb3c..140e2f3 100644 --- a/src/hildon2/modest-maemo-utils.c +++ b/src/hildon2/modest-maemo-utils.c @@ -583,3 +583,42 @@ modest_maemo_utils_in_usb_mode () return modest_conf_get_bool (modest_runtime_get_conf (), INTERNAL_MMC_USB_MODE, NULL); } #endif + +void +modest_maemo_utils_scroll_pannable (HildonPannableArea *pannable, + gint horizontal, + gint vertical) +{ + gint h_pos = -1; + gint v_pos = -1; + + g_assert (pannable); + /* at atleast one of values have to be valid */ + g_return_if_fail (h_pos == -1 && v_pos == -1); + + if (horizontal != 0) { + GtkAdjustment *h_adj; + + h_adj = hildon_pannable_area_get_hadjustment (pannable); + g_return_if_fail (h_adj); + + h_pos = h_adj->value + h_adj->step_increment * horizontal; + if (horizontal > 0) { + h_pos += h_adj->page_size; + } + } + + if (vertical != 0) { + GtkAdjustment *v_adj; + + v_adj = hildon_pannable_area_get_vadjustment (pannable); + g_return_if_fail (v_adj); + + v_pos = v_adj->value + v_adj->step_increment * vertical; + if (vertical > 0) { + v_pos += v_adj->page_size; + } + } + + hildon_pannable_area_scroll_to (pannable, h_pos, v_pos); +}