2009-01-26 Bastien Nocera <hadess@hadess.net>
Bug 569240 - Crasher when using markers
* gtk/gtkrange.c (gtk_range_destroy): Avoid crashes when destroying
a GtkRange with markers
svn path=/trunk/; revision=22224
Bug 565656 – Add marks to scales
* gtk/gtkrange.[hc]: Add internal api to define 'stop values'
that have a little resistance when dragging the slider over it.
* gtk/gtk.symbols:
* gtk/gtkscale.[hc] (gtk_scale_add_mark): New function to add
a 'mark' to a scale, which will draws a tick, plus optionally
some text, and makes the value a stop value.
(gtk_scale_clear_values): Removes all marks.
* tests/testscale.c: Test for marks on scales
* tests/Makefile.am: Integrate it
svn path=/trunk/; revision=22149
2008-11-11 Michael Natterer <mitch@imendio.com>
Bug 553765 – Add orientation API to GtkRange
* gtk/gtkrange.[ch]: implement the GtkOrientable interface. Add
evil code that makes sure that the stepper_detail and slider_detail
set in GtkRangeClass continue to work with the hacked subclasses
below.
* gtk/gtkscale.[ch]: swallow all code from GtkHScale and GtkVScale
and add gtk_scale_new() and gtk_scale_new_with_range() which take
a GtkOrientation argument. Set slider_detail to "Xscale" so above
evil code works.
* gtk/gtkscrollbar.[ch]: add gtk_scrollbar_new() which takes a
GtkOrientation argument. Set stepper_detail to "Xscrollbar" so
above evil code works.
* gtk/gtkhscale.c
* gtk/gtkvscale.c
* gtk/gtkhscrollbar.c
* gtk/gtkvscrollbar.c: remove all code except the constructor and
call gtk_orientable_set_orientation() in init().
* gtk/gtk.symbols: changed accordingly.
svn path=/trunk/; revision=21779
2008-08-12 Michael Natterer <mitch@imendio.com>
* gtk/*.c: consistently chain up using
GTK_FOO_CLASS(parent_class)->bar(instance) instead of
(*GTK_FOO_CLASS(parent_class))->bar(instance).
svn path=/trunk/; revision=21085
2008-08-06 Michael Natterer <mitch@imendio.com>
* gtk/gtkcombobox.c
* gtk/gtkiconview.c
* gtk/gtkrange.c
* gtk/gtkscrolledwindow.c
* gtk/gtktreeview.c: remove CLAMPing from values passed to
gtk_adjustment_set_value() since it does it right now.
svn path=/trunk/; revision=21021
2008-08-02 Matthias Clasen <mclasen@redhat.com>
Bug 429427 – Add "arrow-spacing" style property to GtkRange
* gtk/gtkrange.c: Add an arrow-spacing style property.
Patch by Carlos Garnacho and Christian Dywan
svn path=/trunk/; revision=20939
2008-06-30 Cody Russell <bratsche@gnome.org>
* Practically everything changed.
Change all references of GIMP Toolkit (and variations of it)
to GTK+ Toolkit, showing no mercy at all to our beloved
ancestry. (#540529)
svn path=/trunk/; revision=20709
2007-09-06 13:37:28 Tim Janik <timj@imendio.com>
* gtk/gtkrange.c (gtk_range_adjustment_value_changed): removed code
that forced range repaints upon every motion event, because these tend
to stall other repaints on busy CPUs.
added a timer to still force repaints every once in a while (roughly
5Hz atm) to avoid leaving the user without feedback on the range.
fixes bug #460534.
svn path=/trunk/; revision=18730
2007-01-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrange.c (range_grab_remove): Queue a redraw when the
grab changes. (#396470, Benjamin Berg)
svn path=/trunk/; revision=17159
2006-11-16 Michael Natterer <mitch@imendio.com>
Add new infrastructure for notifications of failed keyboard
navigation and navigation with restricted set of keys.
The patch handles configurable beeping, navigating the GUI with
cursor keys only (as in phone environments), and configurable
wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742
and #309291.
* gtk/gtksettings.c: added properties gtk-keynav-cursor-only,
gtk-keynav-wrap-around and gtk-error-bell.
* gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public
API to emit it. Added New function gtk_widget_error_bell() which
looks at the gtk-error-bell setting and calls gdk_window_beep()
accordingly.
* gtk/gtk.symbols: add the new widget symbols.
* gtk/gtkcellrendereraccel.c
* gtk/gtkimcontextsimple.c
* gtk/gtkmenu.c
* gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the
gtk-error-bell setting instead of calling gdk_display_beep()
unconditionally.
* gtk/gtkcombobox.c
* gtk/gtkentry.c
* gtk/gtkiconview.c
* gtk/gtklabel.c
* gtk/gtkmenushell.c
* gtk/gtkspinbutton.c
* gtk/gtktextview.c
* gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav.
* gtk/gtkentry.c
* gtk/gtklabel.c
* gtk/gtkrange.c
* gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed
cursor navigation and leave the widget if it returns FALSE.
* gtk/gtkmenushell.c
* gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around
is TRUE.
* gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide
whether to to wrap-around, and don't select active items on cursor
navigation if gtk-keynav-cursor-only is TRUE. Should look at
gtk-keynav-wrap-around too, will look into that.
2006-11-15 Michael Natterer <mitch@imendio.com>
* gtk/gtkrange.[ch]: added properties "fill-level",
"show-fill-level" and "restrict-to-fill-level" and getters/setters
for them. The "fill level" is an additional marker on the range's
trough than can be e.g. used to indicate the amount of
pre-buffering in a range showing the play position of streamed
media. See the embedded API docs for details. Made GtkRangeLayout
a GTypeInstance private struct and removed finalize()
implementation. Fixes bug #349808
* gtk/gtk.symbols: added the new symbols.
2006-10-30 Michael Natterer <mitch@imendio.com>
* gtk/gtkrange.c (gtk_range_key_press): consume the Escape key
only if we actually cancel a drag. Fixes bug #58389.
2006-07-18 Michael Natterer <mitch@imendio.com>
* gtk/gtkrange.c: remember the sensitivity of the steppers in
GtkRangeLayout, update it in gtk_range_calc_layout() and check for
changes in layout_changed(), so adjustment changes that leave the
slider position unchanged are still able to update the steppers'
sensitivity. Fixes bug #347902.
2006-06-09 Michael Natterer <mitch@imendio.com>
* gtk/gtkrange.c: added new style properties "trough-side-details"
and "draw-trough-under-steppers" and fixed the "stepper-spacing"
style property. Fixes bugs #342339 and #342249.
"draw-trough-under-steppers", when set to FALSE, starts trough
drawing next to the steppers instead of drawing the trough "below"
(around) the steppers. If "stepper-spacing" is set to any value
larger than zero, "draw-trough-under-steppers" is set to FALSE
automatically to avoid rendering an area that looks clickable but
isn't.
(gtk_range_calc_layout): honor draw-trough-under-steppers.
Don't reserve stepper-spacing on sides of the range that don't
have steppers.
(gtk_range_expose): changed drawing accordingly. Implement
"trough-side-details" which enables drawing of the upper and lower
parts of the trough with different details. This is useful for
theme engines which want to draw these parts differently.
(coord_to_value): correctly take all rendering options into
account. stepper-spacing > 0 caused jumping and otherwise
strangely behaving ranges before.
(other functions): changed accordingly.
2006-05-18 Michael Natterer <mitch@imendio.com>
* gtk/gtkrange.c: canonicalize the name of the "activate-slider"
style property and use GTK_PARAM_READABLE instead of
G_PARAM_READABLE. Moved one "activate_slider" variable to the
local scope its used in.
2006-03-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrange.c: Add a style property ::activate_slider that
allows themes to draw the slider active while dragged. (#311992,
Benjamin Berg)
* gtk/gtkcolorsel.c (gtk_color_selection_init): Fix two labels.
2006-03-09 Ross Burton <ross@openedhand.com>
* gtk/gtkwidget.c:
* gtk/gtkrange.c:
* gtk/gtktogglebutton.c:
Turn off prelighting when gtk-touchscreen-mode is enabled (#135666)
2005-11-22 Michael Natterer <mitch@imendio.com>
Made button-press timeouts which work like key repeat timeouts
configurable. Addresses bug #142582:
* gtk/gtksettings.c: added properties "gtk-timeout-initial" and
"gtk-timeout-repeat" which defalt to 200/20 (ms).
Use the values from GtkSettings instead of hardcoding them
(the repeat value is either taken as-is for fast repeat or
multiplied by 5 for slow repeat). Changed all places to use these
two standard initial/repeat timings:
* gtk/gtkcalendar.c (unchanged 200/20)
* gtk/gtknotebook.c (unchanged 200/100)
* gtk/gtkpathbar.c (changed from 300/150 to 200/100)
* gtk/gtkrange.c (changed from 250/100 to 200/100)
* gtk/gtkspinbutton.c (unchanged 200/20)
2005-11-11 Michael Natterer <mitch@imendio.com>
Added per-stepper API for GtkRange's stepper sensitivity as
discussed in bug #321056:
* gtk/gtkenums.h: added GtkSensitivityType which can be
{ AUTO, ON, OFF }.
* gtk/gtkrange.[ch]: added properties "lower-stepper-sensitivity"
and "upper-stepper-sensitivity" and public getters/setters for
them. Changed stepper drawing to honor the new properties.
* gtk/gtk.symbols: added the new symbols.
Wed Nov 9 16:29:42 2005 Tim Janik <timj@imendio.com>
* gtk/gtkrange.c: patch from maemo-gtk that changes GtkRange
to render its arrows insensitive when the adjustment is in
its min or max position. this makes range arrow behaviour
consistent with spin button behaviour. (#321056)
2005-09-01 Matthias Clasen <mclasen@redhat.com>
* gdk/*.c: Intern some more strings.
* gtk/gtkintl.h:
* gtk/*.c: Define an I_() macro and use it instead of the
bulky g_intern_static_string().
2005-08-31 Matthias Clasen <mclasen@redhat.com>
* gdk/Makefile.am:
* gtk/Makefile.am: Intern type names in code generated by
glib-mkenums, too.
* gtk/*.c:
* gdk/x11/*.c:
* gdk/*.c: Intern type names before registering the type to avoid
unnecessary copies.
2005-08-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrange.c (gtk_range_adjustment_changed)
(gtk_range_adjustment_value_changed): Don't queue a draw
if the layout has not changed. (#313991, Benjamin Berg)
2005-03-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE,
GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like
their G_ counterparts, but also mark the name, nick
and blurb as static.
* gtk/*.c: Mark param spec strings as static, using
the new macros.
2005-03-20 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in gdkalias.h:
* gtk/grk.symbols: Group symbols by header and source file.
* gtk/makegtkalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegtkalias.pl -def
* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
this file.
* gtk/*.c: Include gtkalias.h after the other headers,
include gtkaliasdef.c at the bottom.
* gtk/*.h: Small cleanups.