diff options
author | Robert Brady <robert@suse.co.uk> | 2000-10-22 13:00:13 +0000 |
---|---|---|
committer | Robert Brady <rbrady@src.gnome.org> | 2000-10-22 13:00:13 +0000 |
commit | 2f9aee8d7f0d164412a459d26970ea3151f875be (patch) | |
tree | 4ff1088af8ae85a343bfd7379640b705a4dba64e /gtk/gtkrange.c | |
parent | b687405d4595c8599ff92167e5af835d1153009c (diff) | |
download | gtk+-2f9aee8d7f0d164412a459d26970ea3151f875be.tar.gz |
Check for bind_textdomain_codeset
2000-10-22 Robert Brady <robert@suse.co.uk>
* configure.in: Check for bind_textdomain_codeset
* gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset
present, make use of it.
Add a translatable string "default:LTR" which, if translated
to "default:RTL", will cause the default direction to be
Right-to-Left.
* gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget
direction if marked as flippable.
* gtk/gtkhscale.c: Mark widget as flippable.
Diffstat (limited to 'gtk/gtkrange.c')
-rw-r--r-- | gtk/gtkrange.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 92ff0c0dc8..595a8a9bdc 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -237,6 +237,7 @@ gtk_range_init (GtkRange *range) range->click_child = 0; range->need_timer = FALSE; range->timer = 0; + range->flippable = 0; range->old_value = 0.0; range->old_lower = 0.0; range->old_upper = 0.0; @@ -457,6 +458,9 @@ gtk_range_default_hslider_update (GtkRange *range) else if (x > right) x = right; + if (range->flippable && gtk_widget_get_direction (range) == GTK_TEXT_DIR_RTL) + x = right - (x - left); + move_and_update_window (range->slider, x, GTK_WIDGET (range)->style->ythickness); } } @@ -521,7 +525,10 @@ gtk_range_default_htrough_click (GtkRange *range, gtk_range_trough_hdims (range, &left, &right); gdk_window_get_size (range->slider, &slider_length, NULL); right += slider_length; - + + if (range->flippable && gtk_widget_get_direction (range) == GTK_TEXT_DIR_RTL) + x = (right - x) + left; + if ((x > left) && (y > ythickness)) { gdk_window_get_size (range->trough, &trough_width, &trough_height); @@ -616,6 +623,9 @@ gtk_range_default_hmotion (GtkRange *range, new_pos = slider_x + xdelta; + if (range->flippable && gtk_widget_get_direction (range) == GTK_TEXT_DIR_RTL) + new_pos = (right - new_pos) + left; + if (new_pos < left) new_pos = left; else if (new_pos > right) |