Commit Graph

106 Commits

Author SHA1 Message Date
Michael Natterer
7f374a74ba Add new infrastructure for notifications of failed keyboard navigation and
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-16 12:56:30 +00:00
Matthias Clasen
07e7719441 Apply a cleanup patch by Kjartan Maraas (#341812)
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	* Apply a cleanup patch by Kjartan Maraas  (#341812)
2006-10-08 05:07:55 +00:00
Matthias Clasen
70ae6a0e83 Apply a patch by Behdad Esfahbod to reduce relocations. (#359053)
2006-10-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/*.c, gdk/*.c: Apply a patch by Behdad Esfahbod to
        reduce relocations. (#359053)
2006-10-03 15:54:52 +00:00
Matthias Clasen
ed28e4ac7d Update background upon style-set and state-changed. (#348634, Thomas
2006-08-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c: Update background upon style-set and
	state-changed.  (#348634, Thomas Rydzynski)
2006-08-16 20:42:15 +00:00
Matthias Clasen
3ddd7aef5a Fix a memleak 2006-07-21 05:02:27 +00:00
Matthias Clasen
0720f6d5d8 Fix some typos with inline property docs. (#347065, John Finlay)
2006-07-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaction.c:
	* gtk/gtkiconview.c:
	* gtk/gtkprintbackend.c:
	* gtk/gtkprintoperation-unix.c:
	* gtk/gtkscrolledwindow.c:
	* gtk/gtktoolbar.c: Fix some typos with inline property
	docs.  (#347065, John Finlay)
2006-07-10 16:59:43 +00:00
Matthias Clasen
f8794cccca Improve consistency of signal and property names 2006-07-06 05:14:03 +00:00
Matthias Clasen
2492d43d5d Small doc fix. (#345176, Claudio Saavedra)
2006-06-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_enable_model_drag_dest):
	Small doc fix.  (#345176, Claudio Saavedra)
2006-06-20 04:35:29 +00:00
Søren Sandmann
6cb19cf3ad gtk/gtklayout.c (gtk_layout_realize), gtk/gtkiconview.c
Mon May 15 15:12:05 2006  Søren Sandmann  <sandmann@redhat.com>

	* gtk/gtklayout.c (gtk_layout_realize),
	* gtk/gtkiconview.c (gtk_icon_view_realize),
	* gtk/gtktreeview.c (gtk_tree_view_realize): Set the background of
	the clip windows to NULL, since they are generally invisible and
	don't have EXPOSURE set, which means they temp-unvlicker code
	doesn't apply to them.

	* gdk/x11/gdkgeometry-x11.c (_gdk_window_move_resize_child): Unset
	the background of the parent window during resizing. Invalidate
	the uncoered area of the parent window. Bug 341332.
2006-05-15 19:17:30 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Matthias Clasen
2941cd5c1a Document that @cell must be one of the renderers of the icon view, warn if
2006-03-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_set_cursor): Document that
	@cell must be one of the renderers of the icon view, warn if
	it is not, and ignore @start_editing if @cell is not set.
	(#335001, Emmanuel Rodriguez)
2006-03-20 03:16:43 +00:00
Matthias Clasen
6c5c31f75b Apply some arbitrary lower limit for the guessed wrap width. (#332466,
2006-03-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (adjust_wrap_width): Apply some
	arbitrary lower limit for the guessed wrap width. (#332466,
	Donald Straney)
2006-03-06 04:55:53 +00:00
Matthias Clasen
75606909f1 Make scroll_to_path work for newly inserted items, by delaying the scroll
2006-03-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_layout)
	(gtk_icon_view_row_inserted, gtk_icon_view_scroll_to_path):
	Make scroll_to_path work for newly inserted items, by delaying
	the scroll until layout is done.  (#332923, Cory Dodt)
2006-03-02 19:52:26 +00:00
Matthias Clasen
9e21ed805c Fix row_spacing/column_spacing confusion. (#330732, Donald Straney)
2006-02-10  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkiconview.c (gtk_icon_view_get_item_at_coords): Fix
        row_spacing/column_spacing confusion.  (#330732, Donald Straney)
2006-02-11 23:25:25 +00:00
Matthias Clasen
95d8688bf3 Adjust the wrap-width also if an explicit item width is set. (#322475,
2005-12-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (adjust_wrap_width): Adjust the
	wrap-width also if an explicit item width is set.
	(#322475, Alex Graveley)
2005-12-21 18:14:59 +00:00
Matthias Clasen
5578b91968 Reset pressed_button to -1 after handling a double click, so that motion
2005-12-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_button_press): Reset
	pressed_button to -1 after handling a double click, so that
	motion events occurring between here and the release event
	don't trigger DND.  (#324588, Dave Andreoli)
2005-12-20 18:21:21 +00:00
Matthias Clasen
4edf06d016 Correctly handle the cell list and indices into it. (#321856)
2005-11-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
	handle the cell list and indices into it.  (#321856)
2005-11-28 15:32:44 +00:00
Tim Janik
fbb2e3f4f5 deprecated floating/sink API and implemented it in terms of the GObject
Wed Nov 23 18:55:47 2005  Tim Janik  <timj@imendio.com>

        * gtk/gtkobject.[hc]: deprecated floating/sink API and implemented it
        in terms of the GObject floating/sink API.

        * gtk/gtkaboutdialog.c:
        * gtk/gtkaction.c:
        * gtk/gtkcellview.c:
        * gtk/gtkclist.c:
        * gtk/gtkcolorsel.c:
        * gtk/gtkcombobox.c:
        * gtk/gtkfilechooserdefault.c:
        * gtk/gtkiconview.c:
        * gtk/gtkinvisible.c:
        * gtk/gtkitemfactory.c:
        * gtk/gtklayout.c:
        * gtk/gtkmenu.c:
        * gtk/gtkmenutoolbutton.c:
        * gtk/gtknotebook.c:
        * gtk/gtkprogress.c:
        * gtk/gtkrange.c:
        * gtk/gtkspinbutton.c:
        * gtk/gtkstatusicon.c:
        * gtk/gtktext.c:
        * gtk/gtktextview.c:
        * gtk/gtktoolbar.c:
        * gtk/gtktoolbutton.c:
        * gtk/gtktoolitem.c:
        * gtk/gtktreeitem.c:
        * gtk/gtktreeview.c:
        * gtk/gtktreeviewcolumn.c:
        * gtk/gtkuimanager.c:
        * gtk/gtkviewport.c:
        * gtk/gtkwidget.c:
        * gtk/gtkwindow.c:
        ported to use GObject's g_object_ref_sink().

        * gtk/gtkcolorsel.c:
        * gtk/gtkfilechooserdefault.c:
        * gtk/gtkaboutdialog.c:
        fixed compiler warnings.
2005-11-23 18:06:58 +00:00
Matthias Clasen
9b64ff7f38 More typo fixes 2005-09-19 18:56:55 +00:00
Matthias Clasen
a3b850377f Fix a typo in the docs. (#316419, Guillaume Cottenceau)
2005-09-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_scroll_to_path): Fix a typo in the docs.  (#316419,
	Guillaume Cottenceau)
2005-09-19 18:55:02 +00:00
Matthias Clasen
0480e1298a Use g_list_nth_data() instead of g_list_nth()->data in multiple places to
2005-09-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
	in multiple places to avoid segfaults if the index is out of range.
	(#316422, Guillaume Cottenceau)
2005-09-19 18:36:04 +00:00
Matthias Clasen
463aab93dd Various cleanups. (#315360, Kjartan Maraas)
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
2005-09-13 19:57:42 +00:00
Matthias Clasen
d30ba09733 Fix typos in the docs. (#316008, #316027, #316121, Guillaume Cottenceau)
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_class_init):
	(gtk_icon_view_get_dest_item_at_pos):  Fix typos in the
	docs.  (#316008, #316027, #316121, Guillaume Cottenceau)
2005-09-13 17:53:21 +00:00
Matthias Clasen
676b09e798 Silently return NULL if the widget is not realized. (#316023, Guillaume
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
	* gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
	return NULL if the widget is not realized.  (#316023,
	Guillaume Cottenceau)
2005-09-13 13:33:01 +00:00
Matthias Clasen
af89d145f7 Use gdk_atom_intern_static_string() where appropriate.
* gtk/*.c:  Use gdk_atom_intern_static_string() where
	appropriate.
2005-09-11 05:48:27 +00:00
Matthias Clasen
9a86f65818 Stylistic improvements and clarifications for some blurbs. (#315520,
2005-09-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_class_init):
	* gtk/gtkfilesel.c (gtk_file_selection_class_init):
	* gtk/gtkcombobox.c (gtk_combo_box_class_init):
	* gtk/gtklabel.c (gtk_label_class_init):
	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
	Stylistic improvements and clarifications for some blurbs.
	(#315520, Clytie Siddall)
2005-09-09 16:21:15 +00:00
Matthias Clasen
94eec04267 Intern some more strings.
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-09-01 05:11:46 +00:00
Matthias Clasen
f4bbe8f0de Also intern static strings passed to g_object_set_data() 2005-08-31 17:58:55 +00:00
Matthias Clasen
c09cc89317 Intern type names in code generated by glib-mkenums, too.
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-31 16:53:43 +00:00
Jonathan Blandford
320c78ce86 clear scroll_to_path if the model changes.
Sat Aug 20 16:12:14 2005  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_set_model): clear
        scroll_to_path if the model changes.

        * gtk/gtkiconview.c: (gtk_icon_view_destroy),
        (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
        (gtk_icon_view_scroll_to_path): Handle scrolling to a path before
        we're realized, #312798
        (gtk_icon_view_set_model): clear scroll_to_path if the model
        changes.
2005-08-20 20:16:34 +00:00
Matthias Clasen
6fbbdeefd3 Handle paths of depth 0 gracefully. (#312796, Jonathan Blandford)
2005-08-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_select_path)
	(gtk_icon_view_scroll_to_path): Handle paths of depth 0
	gracefully.  (#312796, Jonathan Blandford)
2005-08-15 16:46:52 +00:00
Matthias Clasen
06e72275e8 Documentation improvements. (#309946, Torsten Schoenfeld)
2005-07-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c: Documentation improvements.  (#309946,
	Torsten Schoenfeld)
2005-07-11 13:14:04 +00:00
Matthias Clasen
88e3584814 Make sure that cell boxes are always completely inside the item area.
2005-06-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_calculate_item_size2):
	Make sure that cell boxes are always completely inside
	the item area.
2005-06-28 06:25:18 +00:00
Matthias Clasen
50830412b0 Add a function to determine what parts of the model are visible. (#306726,
2005-06-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkiconview.h:
	* gtk/gtkiconview.c (gtk_icon_view_get_visible_range):
	Add a function to determine what parts of the model are
	visible.  (#306726, Jonathan Blandford)
2005-06-11 05:15:10 +00:00
Matthias Clasen
c733db4515 More doc fixes. 2005-06-10 04:57:18 +00:00
Matthias Clasen
1a15d98cd4 Doc fixes.
2005-06-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_set_margin):
	* gtk/gtkicontheme.c (gtk_icon_info_load_icon):
	* gtk/gtkcalendar.c (gtk_calendar_thaw): Doc fixes.
2005-06-10 04:25:33 +00:00
Matthias Clasen
54935477ea New function to scroll to a path. (#306838, Jonathan Blandford)
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkiconview.h:
	* gtk/gtkiconview.c (gtk_icon_view_scroll_to_path): New function
	to scroll to a path.  (#306838, Jonathan Blandford)
2005-06-09 06:07:57 +00:00
Matthias Clasen
70c0c38ff8 Scroll to the item. (#306839, Jonathan Blandford)
2005-06-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_set_cursor): Scroll to the
	item.  (#306839, Jonathan Blandford)
2005-06-08 20:47:11 +00:00
Manish Singh
4849c70543 gdk/gdkdraw.c #include gdkcairo.h for gdk_cairo_create() declaration.
Sat May 14 00:07:46 2005  Manish Singh  <yosh@gimp.org>

        * gdk/gdkdraw.c
        * gdk/gdkpango.c: #include gdkcairo.h for gdk_cairo_create()
        declaration.

        * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): actually
        call gdk_cairo_set_source_color() with a color.

        * gtk/gtkimage.c (gtk_image_expose): remove unused stock_id variable.

        * tests/testiconview.c (main): cast args of drag functions to the
        appropriate type.
2005-05-14 07:19:48 +00:00
Owen Taylor
dda40ca71a Use a GtkAlignment rather than a GtkDrawingArea to draw the swatch in to
2005-05-11  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorbutton.c: Use a GtkAlignment rather than a GtkDrawingArea
	to draw the swatch in to avoid having an extraneous window.

	* gtk/gtkcolorsel.c (color_sample_draw_sample): Actually se tthe
	color when !has_opacity.

2005-05-10  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcairo.[ch] gdk/gdkcolor.[ch] gdk/Makefile.am: Add source
	files for Cairo convenience functionality.

	* gdk/gdkcairo.h (gdk_cairo_rectangle, gdk_cairo_region): Add a
	convenience functions to add GdkRectangle, GdkRegion to a cairo path.

	* gdk/gdkwindow.c gdk/gdkgc.c gtk/gtkcolorsel.c gtk/gtkiconview.c
	gtk/gtkstyle.c: Use gdk_cairo_rectangle/region().

	* gdk/gdkcairo.[ch] gdk/gdkdrawable.h gdk/gdkdraw.c: Rename
	gdk_drawable_create_cairo_context() to gdk_cairo_create().

	* gdk/gdkcairo.c gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c:
	Rename gdk_pixbuf_set_as_cairo_source() to
	gdk_cairo_set_source_pixbuf().

	* gdk/gdkdraw.c gdk/gdkpango.c gtk/gtkcolorsel.c gtk/gtkhruler.c
	gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkstyle.c gtk/gtkvruler.c:
	Adjust for renames.

	* gdk/gdk.symbols: Update.

	* gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): Fix
	coordinate system problem that was causing the wrong portions
	to be invalidated.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_render)
	gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render)
	gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_render)
	gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render)
	gtk/gtkcellview.c (gtk_cell_view_expose)
	gtk/gtkdnd.c (gtk_drag_highlight_expose)
	gtk/gtkentry.c (gtk_entry_draw_text)
	gtk/gtktextview.c (text_window_invalidate_rect): Some cairoization.

	* gtk/gtkcalendar.[ch]: Beat into something roughly resembling
	GTK+ style ... use instance-private data and standard names for
	private structure, etc. Move function docs inline.

	* gtk/gtkcalendar.[ch]: Switch to drawing everything in
	expose. Switch drawing to Cairo.

	* gtk/gtkcalendar.c (gtk_calendar_freeze): Deprecate
	gtk_calendar_freeze/thaw
2005-05-11 19:16:19 +00:00
Matthias Clasen
7d25aee8a1 Fix a copy-and-paste accident 2005-05-08 03:13:37 +00:00
Matthias Clasen
3e77a18b4a Test DND.
2005-05-06  Matthias Clasen  <mclasen@redhat.com>

	* tests/testiconview.c: Test DND.

	* gtk/gtk.symbols:
	* gtk/gtkiconview.[hc]: Add DND support similar to the DND
	support in the tree view.  (#150270)
2005-05-06 04:14:32 +00:00
Matthias Clasen
93a430fdf0 Test cell renderers.
2005-05-02  Matthias Clasen  <mclasen@redhat.com>

	* tests/testiconview.c: Test cell renderers.

	* gtk/gtk.symbols: Add new functions.

	* gtk/gtkiconview.[hc]: Implement GtkCellLayout and use
	cell renderers for drawing and editing. (#148144, #160242)
2005-05-02 20:28:37 +00:00
Matthias Clasen
d9322adafd Get rid of this function, instead show the bin_window when it is created.
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_map): Get rid of this
	function, instead show the bin_window when it is created.
2005-04-29 20:09:56 +00:00
Matthias Clasen
940f48f7cb Use the internal unselect_all function, since we need the unselection to
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_move_cursor_start_end): Use
	the internal unselect_all function, since we need the unselection
	to happen even in browse mode.  (#300995, Mathias Hasselmann)
2005-04-29 17:02:06 +00:00
Matthias Clasen
f1583ba627 Also scroll horizontally when necessary, and keep the northwest corner of
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_scroll_to_item): Also
	scroll horizontally when necessary, and keep the northwest
	corner of the item visible.  (#300913, Mathias Hasselmann)
2005-04-29 16:20:07 +00:00
Matthias Clasen
748f0aed63 Add some more tests.
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* tests/testiconview.c: Add some more tests.

	* gtk/gtkiconview.c (gtk_icon_view_select_path): Don't crash
	if the path does not point to a row in the model.  (#300909,
	Mathias Hasselmann)
	(gtk_icon_view_rows_reordered): Re-layout here.  (#301009,
	Mathias Hasselmann)
2005-04-29 15:24:30 +00:00
Matthias Clasen
5ce761a2e6 Don't crash if the path does not point to a row in the model. (#300909,
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_select_path): Don't crash
	if the path does not point to a row in the model.  (#300909,
	Mathias Hasselmann)
2005-04-29 14:56:37 +00:00
Owen Taylor
9725c8d752 gtk/gtkstyle.c gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c Update to
2005-04-18  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkstyle.c gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c
        * gdk/gdkcolor.c gdk/gdkwindow.c gdk/gdkpixbuf-render.c
        gdk/gdkpango.c tests/testcairo.c: Update to new Cairo API for
        setting color and opacity. (#301066, Vincent Noel)
2005-04-18 15:11:01 +00:00