Commit Graph

444 Commits

Author SHA1 Message Date
Matthias Clasen
5ec1648473 Fix sorting of list stores. (#161886, Marcin Krzyzanowski)
2004-12-22  Matthias Clasen  <mclasen@redhat.com>

	Fix sorting of list stores.  (#161886, Marcin Krzyzanowski)

	* gtk/gtkliststore.c (generate_order): Generate the order the
	way it is supposed to be, order[new_pos] == old_pos.
	(gtk_list_store_reorder): Invert the order before using it.

	* gtk/gtkiconview.c (gtk_icon_view_rows_reordered): Adapt to the
	list store fix.
2004-12-22 06:43:32 +00:00
Matthias Clasen
5c19d9e4e6 Add new symbols.
2004-12-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols: Add new symbols.

	* gtk/gtkiconview.[hc]: Make the icon view lay out its
	items in a grid, allocating multiple grid cells to oversized
	items. Also convert hardwired spacing constants into
	properties.  (#152483)
2004-12-14 06:39:45 +00:00
Matthias Clasen
cc0cc60e2a Make this work, no need to invert the array.
2004-12-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_rows_reordered): Make this
	work, no need to invert the array.

	* gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): Emit
	rows_reordered if the row has been moved.  (#160063)
2004-12-08 04:57:40 +00:00
Matthias Clasen
0a100408da Handle the fact the the changed row may also be moved. (#159387, Olivier
2004-12-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_row_changed): Handle the
	fact the the changed row may also be moved.  (#159387, Olivier
	Andrieu)
2004-12-02 04:27:58 +00:00
Matthias Clasen
19463a9409 Queue a layout. (#159436, Olivier Andrieu)
2004-11-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_set_model):
	Queue a layout. (#159436, Olivier Andrieu)
2004-11-26 06:17:49 +00:00
Matthias Clasen
5b29d3d55e Check column types on the new model, and check them all. (#159389, Olivier
2004-11-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_set_model): Check column types on the
	new model, and check them all.  (#159389, Olivier Andrieu)
2004-11-26 05:51:32 +00:00
Matthias Clasen
ac3e3fd8e2 Make it work with *big* icon views. (#154466)
2004-11-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_scroll_to_item): Make
	it work with *big* icon views.  (#154466)
2004-11-09 19:49:13 +00:00
Matthias Clasen
d5f92150d4 Fix many sparse warnings. 2004-10-28 15:00:05 +00:00
Matthias Clasen
49ba32e195 Reset pointers pointing to the old model. (#154350)
2004-10-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_set_model): Reset pointers
	pointing to the old model.  (#154350)
2004-10-04 03:33:59 +00:00
Matthias Clasen
fa72b2c93c Handle an empty icon view gracefully. (#152486)
2004-09-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_move_cursor_left_right)
	(gtk_icon_view_move_cursor_start_end)
	(gtk_icon_view_move_cursor_page_up_down)
	(gtk_icon_view_move_cursor_up_down): Handle an empty icon
	view gracefully.  (#152486)
2004-09-29 05:29:31 +00:00
Matthias Clasen
5210bf17c6 Make it compile.
2004-08-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_delete_surrounding_handler): Make it compile.

2004-08-27  Matthias Clasen  <mclasen@redhat.com>

	Fix #151112, Olexiy Avramchenko:

	* gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout):
	* gtk/gtkiconview.c (scroll_timeout, layout_callback)
	(gtk_icon_view_item_accessible_idle_do_action):
	* gtk/gtkcombobox.c (list_popup_resize_idle, popdown_idle)
	(popup_idle): Protect idle callbacks and timeouts with
	GDK_THREADS_ENTER/_LEAVE.

	* gtk/gtkfilechooserbutton.c (update_dialog_idle): New function to
	call update_dialog() from an idle with the necessary protection.
2004-08-30 13:16:39 +00:00
Matthias Clasen
17cf070553 2.5.2 2004-08-25 16:21:15 +00:00
Manish Singh
9f326d612b Applied patch from Olivier Andrieu to fix bug #150440.
Wed Aug 18 08:31:17 2004  Manish Singh  <yosh@gimp.org>

        * gtk/gtkiconview.c: Applied patch from Olivier Andrieu to fix
        bug #150440.

        * gtk/gtkicontheme.c (gtk_icon_theme_init): xdg_data_dirs should
        match constness attributes of g_get_system_data_dirs ().
2004-08-18 15:45:13 +00:00
Matthias Clasen
38b9f53c72 Make the icon view accessible by implementing the necesssary ATK
Thu Aug 12 01:35:46 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkiconview.c: Make the icon view accessible by
	implementing the necesssary ATK interfaces.  (#149728,
	Padraig O'Briain)
2004-08-12 05:37:10 +00:00
Matthias Clasen
3612aee585 Add hidden aliases for exported symbols which are used internally in order
Mon Aug  9 12:48:04 2004  Matthias Clasen  <maclas@gmx.de>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT
	entries.  (#145519, Arjan van de Ven)

	* gtk/Makefile.am: Add rules to generate gtk.def and
	from gtk.symbols, and make make check check the abi
	with abicheck.sh.
	(gtk_private_h_sources): Add gtkinternals.h
	(gtk_built_private_headers): Add gtkalias.h
	(gtk_extra_sources): Add gtk.symbols
	(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh

	* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
	The file can be processed by cpp to filter out certain
	subsets of symbols.

	* gtk/abicheck.sh: New file. Script to check the actually
	symbols exported from libgtk-x11.2.0.so against the symbols
	found in gtk.symbols.

	* gtk/makegtkalias.pl: New file. Perl script to generate the
	header containing the alias definitions for internally used
	exported symbols from a list of symbols.

	* gtk/gtkinternals.h: New file. An uninstalled header listing
	symbols which must be exported for some reason and do not appear
	in any other header.

	* gtk/*.c: Include gtkalias.h
2004-08-09 16:59:53 +00:00
Matthias Clasen
ea94ec3672 Add buttons to select and unselect all nodes, make the popup menu actually
2004-08-04  Matthias Clasen  <mclasen@redhat.com>

	* tests/testiconview.c: Add buttons to select and unselect all
	nodes, make the popup menu actually work.

	* gtk/gtkiconview.c: Make GTK_SELECTION_BROWSE work as intended,
	let button 3 presses through to the app, to make popup menus
	work.
2004-08-04 20:32:26 +00:00
Anders Carlsson
564ab37a07 Add gdk_draw_rectangle_alpha_libgtk_only which uses XRenderFillRectangle
2004-07-27  Anders Carlsson  <andersca@gnome.org>

	* demos/gtk-demo/iconview.c: (do_iconview):
	* gdk/gdkdrawable.h:
	* gdk/linux-fb/gdkdrawable-fb2.c:
	(gdk_draw_rectangle_alpha_libgtk_only):
	* gdk/win32/gdkdrawable-win32.c:
	(gdk_draw_rectangle_alpha_libgtk_only):
	* gdk/x11/gdkdrawable-x11.c: (gdk_x11_draw_image),
	(get_impl_drawable), (gdk_x11_draw_pixbuf),
	(gdk_draw_rectangle_alpha_libgtk_only):
	Add gdk_draw_rectangle_alpha_libgtk_only which uses
	XRenderFillRectangle on X11. It's stubbed out on the
	Win32 and fb backends.

	* gtk/gtkiconview.c:
	(gtk_icon_view_paint_rubberband):
	Use gdk_draw_rectangle_alpha_libgtk_only here.
2004-07-27 21:58:09 +00:00
Matthias Clasen
8ed28a9a1a Add a new :orientation property to determine whether text is positioned
Sat Jul 17 23:11:04 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkiconview.h:
	* gtk/gtkiconview.c (gtk_icon_view_class_init):
	* gtk/gtkiconview.c (gtk_icon_view_set_orientation):
	* gtk/gtkiconview.c (gtk_icon_view_get_orientation):
	* gtk/gtkiconview.c (gtk_icon_view_calculate_item_size):
	* gtk/gtkiconview.c (gtk_icon_view_layout_single_row):
	Add a new :orientation property to determine whether text
	is positioned below or beside icons.  (#147463)
2004-07-18 03:39:50 +00:00
Matthias Clasen
01d19b8190 Draw focus indicator outside the selection, respect focus line width.
Sat Jul 17 23:03:30 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkiconview.c (gtk_icon_view_paint_item):
	* gtk/gtkiconview.c (gtk_icon_view_calculate_item_size):
	* gtk/gtkiconview.c (gtk_icon_view_layout_single_row): Draw
	focus indicator outside the selection, respect focus
	line width.  (#147460)
2004-07-18 03:05:24 +00:00
Matthias Clasen
4748d38117 Some documentation updates. 2004-07-13 05:15:49 +00:00
Anders Carlsson
0161083876 Use gint, not int in gtk_icon_view_set_markup_column, (Paolo Maggi)
2004-07-05  Anders Carlsson  <andersca@gnome.org>

	* gtk/gtkiconview.c: (gtk_icon_view_set_markup_column):
	* gtk/gtkiconview.h:
	Use gint, not int in gtk_icon_view_set_markup_column,
	(Paolo Maggi)
2004-07-05 11:34:29 +00:00
Anders Carlsson
d8ef8e3673 Add an "activate_cursor_item" action signal and bind it to the return key.
2004-07-05  Anders Carlsson  <andersca@gnome.org>

	* gtk/gtkiconview.c: (gtk_icon_view_class_init),
	(gtk_icon_view_real_select_cursor_item),
	(gtk_icon_view_real_activate_cursor_item):
	* gtk/gtkiconview.h:
	Add an "activate_cursor_item" action signal
	and bind it to the return key.
2004-07-04 23:19:46 +00:00
Anders Carlsson
57f0d6a21f Add a simple file browser based on the icon view.
2004-07-04  Anders Carlsson  <andersca@gnome.org>

	* demos/gtk-demo/Makefile.am:
	* demos/gtk-demo/gnome-fs-directory.png:
	* demos/gtk-demo/gnome-fs-regular.png:
	* demos/gtk-demo/iconview.c: (load_pixbufs), (fill_store),
	(sort_func), (create_store), (item_activated), (up_clicked),
	(home_clicked), (do_iconview):
	Add a simple file browser based on the icon view.

	* gtk/gtk.h:
	Add gtk/gtkiconview.h

	* gtk/gtkiconview.c: (gtk_icon_view_layout),
	(gtk_icon_view_item_new), (gtk_icon_view_item_activated):
	Fix a few bugs discovered while writing the demo.
2004-07-04 20:35:35 +00:00
Anders Carlsson
4e20d3bcb1 Fix a small issue 2004-07-04 16:08:01 +00:00
Anders Carlsson
8970881fb4 gtk/gtkiconview.c Add GtkIconView to the build, remove debugging output.
2004-07-04  Anders Carlsson  <andersca@gnome.org>

	* gtk/Makefile.am:
	* gtk/gtkiconview.c
	* gtk/gtkiconview.h:
	Add GtkIconView to the build, remove debugging output.
2004-07-04 15:56:55 +00:00
Anders Carlsson
17c3df345a Fix the "selection_changed" signal to not get emitted twice in some cases.
2004-07-04  Anders Carlsson  <andersca@gnome.org>

	* configure.in:
	* libegg/iconlist/eggiconlist.c: (egg_icon_list_expose),
	(scroll_timeout), (egg_icon_list_motion),
	(egg_icon_list_button_press), (egg_icon_list_update_rubberband),
	(egg_icon_list_start_rubberbanding),
	(egg_icon_list_stop_rubberbanding),
	(egg_icon_list_unselect_all_internal),
	(egg_icon_list_real_select_all),
	(egg_icon_list_adjustment_changed), (egg_icon_list_item_free),
	(egg_icon_list_select_item), (verify_items),
	(egg_icon_list_row_changed), (egg_icon_list_row_inserted),
	(egg_icon_list_row_deleted), (egg_icon_list_rows_reordered),
	(egg_icon_list_select_all_between),
	(egg_icon_list_move_cursor_up_down),
	(egg_icon_list_move_cursor_page_up_down),
	(egg_icon_list_move_cursor_left_right),
	(egg_icon_list_move_cursor_start_end), (egg_icon_list_set_model),
	(egg_icon_list_get_selected_items), (egg_icon_list_select_all),
	(egg_icon_list_unselect_all):
	* libegg/iconlist/eggiconlist.h:
	* libegg/iconlist/testiconlist.c: (foreach_selected_remove):
	Fix the "selection_changed" signal to not get emitted twice in some cases.
	Also fix a bunch of issues reported by Jonathan.
2004-07-04 12:43:26 +00:00
Anders Carlsson
08d94851a0 Fix a few things 2004-07-03 20:36:01 +00:00
Anders Carlsson
5cb796a44f Fixes and stuff 2004-07-03 10:04:14 +00:00
Anders Carlsson
da6fe16842 Document functions and fix a few bugs.
2004-07-03  Anders Carlsson  <andersca@gnome.org>

	* libegg/iconlist/eggiconlist.c: (egg_icon_list_add_move_binding),
	(egg_icon_list_real_move_cursor), (egg_icon_list_new),
	(egg_icon_list_new_with_model), (egg_icon_list_get_path_at_pos),
	(egg_icon_list_selected_foreach),
	(egg_icon_list_set_selection_mode),
	(egg_icon_list_get_selection_mode), (egg_icon_list_set_model),
	(egg_icon_list_get_model), (egg_icon_list_set_text_column),
	(egg_icon_list_get_text_column), (egg_icon_list_set_markup_column),
	(egg_icon_list_get_markup_column),
	(egg_icon_list_set_pixbuf_column),
	(egg_icon_list_get_pixbuf_column), (egg_icon_list_select_path),
	(egg_icon_list_unselect_path), (egg_icon_list_select_all),
	(egg_icon_list_unselect_all), (egg_icon_list_path_is_selected),
	(egg_icon_list_item_activated):
	* libegg/iconlist/eggiconlist.h:
	* libegg/iconlist/testiconlist.c: (foreach_selected_remove_func),
	(foreach_selected_remove), (selection_changed), (main):
	Document functions and fix a few bugs.
2004-07-03 08:01:34 +00:00
Anders Carlsson
b107b5075b Add markup column support.
2004-07-02  Anders Carlsson  <andersca@gnome.org>

	* libegg/iconlist/eggiconlist.c: (egg_icon_list_class_init),
	(egg_icon_list_init), (egg_icon_list_set_property),
	(egg_icon_list_get_property), (egg_icon_list_calculate_item_size),
	(egg_icon_list_paint_item), (egg_icon_list_update_item_text),
	(egg_icon_list_get_text_column), (egg_icon_list_set_markup_column),
	(egg_icon_list_get_markup_column),
	(egg_icon_list_set_pixbuf_column),
	(egg_icon_list_get_pixbuf_column):
	* libegg/iconlist/eggiconlist.h:
	* libegg/iconlist/testiconlist.c: (fill_model), (create_model):
	Add markup column support.
2004-07-02 13:20:16 +00:00
Anders Carlsson
5a79a61179 Update icon list to use the tree model instead.
2004-07-02  Anders Carlsson  <andersca@gnome.org>

	* libegg/iconlist/eggiconlist.c: (egg_icon_list_class_init),
	(egg_icon_list_init), (egg_icon_list_destroy),
	(egg_icon_list_finalize), (egg_icon_list_set_property),
	(egg_icon_list_get_property), (egg_icon_list_button_press),
	(egg_icon_list_select_first_matching_item),
	(egg_icon_list_maybe_begin_dragging_items),
	(egg_icon_list_real_toggle_cursor_item),
	(egg_icon_list_calculate_item_size),
	(egg_icon_list_invalidate_sizes), (egg_icon_list_paint_item),
	(egg_icon_list_item_new), (egg_icon_list_item_unref),
	(egg_icon_list_get_item_text), (egg_icon_list_get_item_icon),
	(egg_icon_list_get_item_at_pos), (egg_icon_list_get_path_at_pos),
	(egg_icon_list_selected_foreach), (egg_icon_list_select_path),
	(egg_icon_list_unselect_path), (egg_icon_list_path_is_selected),
	(egg_icon_list_item_activated), (egg_icon_list_get_items),
	(egg_icon_list_row_changed), (egg_icon_list_row_inserted),
	(egg_icon_list_row_deleted), (egg_icon_list_rows_reordered),
	(egg_icon_list_build_items), (egg_icon_list_set_model),
	(egg_icon_list_get_model), (egg_icon_list_set_text_column),
	(egg_icon_list_set_pixbuf_column):
	* libegg/iconlist/eggiconlist.h:
	* libegg/iconlist/testiconlist.c: (fill_model), (create_model),
	(foreach_selected_print), (item_removed), (remove_selected),
	(item_cb), (do_popup_menu), (main):
	* libegg/util/eggmarshalers.list:
	Update icon list to use the tree model instead.
2004-07-02 12:04:49 +00:00
Soeren Sandmann
f0ef8663b8 Make sure the rubberband is updated when scrolling.
Sat Jun 26 21:05:15 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* libegg/iconlist/eggiconlist.c (egg_icon_list_adjustment_changed):
	Make sure the rubberband is updated when scrolling.
2004-06-26 19:07:25 +00:00
Matthias Clasen
6b82abcbe0 Remove this unused function. (Patch by Jody Goldberg)
Mon Jun 21 00:06:44 2004  Matthias Clasen  <maclas@gmx.de>

	* libegg/iconlist/eggiconlist.c (egg_icon_list_item_get_icon_list):
	Remove this unused function.  (Patch by Jody Goldberg)

Mon Jun 21 00:05:56 2004  Matthias Clasen  <maclas@gmx.de>

	* libegg/iconlist/eggiconlist.c (egg_icon_list_queue_draw_item):
	Avoid warnings if items are selected before the icon list is
	realized.  (Patch by Jody Goldberg)

Mon Jun 21 00:05:16 2004  Matthias Clasen  <maclas@gmx.de>

	* libegg/iconlist/eggiconlist.c (egg_icon_list_button_press):
	Fix a small problem in mode GTK_SELECTION_NONE.

Sun Jun 20 23:39:51 2004  Matthias Clasen  <maclas@gmx.de>

	* libegg/iconlist/eggiconlist.c: Let ctrl key combinations
	move the focus without influencing the selection.
2004-06-21 04:10:07 +00:00
Matthias Clasen
569bded2e2 Let ctrl key combinations move the focus without influencing the
Sun Jun 20 23:39:51 2004  Matthias Clasen  <maclas@gmx.de>

	* libegg/iconlist/eggiconlist.c: Let ctrl key combinations
	move the focus without influencing the selection.
2004-06-21 03:41:04 +00:00
Matthias Clasen
67362c6b97 Implement keynav.
Fri Jun 18 01:15:33 2004  Matthias Clasen  <maclas@gmx.de>

	* libegg/iconlist/eggiconlist.c: Implement keynav.
2004-06-18 05:17:01 +00:00
Matthias Clasen
47425e34a4 The property editor, copied from testgtk.
Tue Jun 15 19:59:33 2004  Matthias Clasen  <maclas@gmx.de>

	* libegg/iconlist/prop-editor.[hc]: The property editor,
	copied from testgtk.

Tue Jun 15 19:57:44 2004  Matthias Clasen  <maclas@gmx.de>

	* libegg/iconlist/testiconlist.c (main): Show off some more
	features of the icon list: rtl layout, sorting, context menus.
	Also add a property editor.

Tue Jun 15 20:01:49 2004  Matthias Clasen  <maclas@gmx.de>

	* libegg/iconlist/eggiconlist.c (egg_icon_list_layout_single_row):
	Support rtl layout.
2004-06-16 00:03:31 +00:00
Anders Carlsson
8611df01ac Implement rubberband scrolling (needs to be done for the horizontal
2004-05-31  Anders Carlsson  <andersca@gnome.org>

	* libegg/iconlist/eggiconlist.c (egg_icon_list_motion):
	Implement rubberband scrolling (needs to be done for the
	horizontal scrollbar too)
2004-05-31 19:44:01 +00:00
Anders Carlsson
9897d659c0 Use gdk_draw_pixbuf.
2003-08-24  Anders Carlsson  <andersca@gnome.org>

	* libegg/iconlist/eggiconlist.c: (egg_icon_list_paint_item),
	(egg_icon_list_paint_rubberband):
	Use gdk_draw_pixbuf.

	(egg_icon_list_item_unref):
	Call destroy_notify on the list item. Reported by Edd Dumbill.
2003-08-24 17:28:23 +00:00
Frédéric Crozat
a5e2f158a8 Don't use deprecated gdk-pixbuf code.
* libegg/iconlist/eggiconlist.c: (egg_icon_list_paint_item):
        Don't use deprecated gdk-pixbuf code.
2003-07-24 13:12:23 +00:00
Ross Burton
8f5c1b6a3c Use the theme colours for rubber banding 2003-07-03 13:10:41 +00:00
Soeren Sandmann
69705a6500 Fix buglet that sometimes left dirt in corner of the rubberband area.
2002-08-20  Soeren Sandmann  <sandmann@daimi.au.dk>

	* libegg/iconlist/eggiconlist.c (rubberbanding): Fix buglet that
	sometimes left dirt in corner of the rubberband area.
2002-08-20 19:50:19 +00:00
Anders Carlsson
0c87100036 Changes, bug fixes etc. 2002-07-29 21:11:23 +00:00
Anders Carlsson
b78d50327d Make this compile again. 2002-05-18 09:02:17 +00:00
Anders Carlsson
683de88115 Add this 2002-04-30 17:08:52 +00:00