1. 26 Sep, 2003 4 commits
    • Matthias Clasen's avatar
      Deprecate GtkItemFactory in favor of GtkUIManager. Just leave · 08573c08
      Matthias Clasen authored
      2003-09-27  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkitemfactory.h: Deprecate GtkItemFactory in favor
      	of GtkUIManager. Just leave GtkTranslateFunc undeprecated,
      	since GtkActionGroup uses it.
      08573c08
    • Matthias Clasen's avatar
      Turn off GTK_DISABLE_DEPRECATED, since this test uses the · e4507b60
      Matthias Clasen authored
      2003-09-27  Matthias Clasen  <maclas@gmx.de>
      
      	* tests/testtext.c: Turn off GTK_DISABLE_DEPRECATED, since
      	this test uses the soon-to-be-deprecated GtkItemFactory.
      
      	* demos/gtk-demo/Makefile.am (demos): Add ui_manager.c,
      	remove item_factory.c
      
      	* demos/gtk-demo/ui_manager.c: Duplicate of item_factory.c
      	using GtkUIManager instead of GtkItemFactory.
      e4507b60
    • Matthias Clasen's avatar
      Demonstrate the use of the connect-proxy signal. · eeed9d18
      Matthias Clasen authored
      2003-09-27  Matthias Clasen  <maclas@gmx.de>
      
      	* tests/testmerge.c: Demonstrate the use of the
      	connect-proxy signal.
      
      	* gtk/gtkaction.c (connect_proxy): Add connect-proxy and
      	disconnect-proxy signals to do small customizations
      	like displaying tooltips in the statusbar without
      	custom actions.  (#122894, Philip Langdale)
      
      	* gtk/gtkuimanager.c (update_node): Don't leak tooltip.
      eeed9d18
    • Kristian Rietveld's avatar
      Landing the new ComboBox. Note that only gtkcombobox.h and · c920afd9
      Kristian Rietveld authored
      Fri Sep 26 23:49:44 2003  Kristian Rietveld  <kris@gtk.org>
      
      	Landing the new ComboBox. Note that only gtkcombobox.h and
      	gtkcomboboxentry.h are public.
      
      	* gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
      	gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch]: new files.
      
      	* gtk/Makefile.am, gtk/gtk.h: adding the new files.
      
      	* tests/testcombo.c: and a new test.
      
      	* tests/Makefile.am: adding the new test.
      c920afd9
  2. 25 Sep, 2003 1 commit
    • Tor Lillqvist's avatar
      Don't use hardcoded DEMOCODEDIR on Windows. · 4a2de86c
      Tor Lillqvist authored
      2003-09-25  Tor Lillqvist  <tml@iki.fi>
      
      	* demos/gtk-demo/main.c: Don't use hardcoded DEMOCODEDIR on Windows.
      
      2003-09-21  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/gdkevents-win32.c (handle_wm_paint): New
      	function. Code split out from gdk_event_translate(). Needed
      	because gdk_event_get_graphics_expose() couldn't do anything
      	sensible otherwise. (Not that I think graphics exposes work anyway
      	in gdk/win32, but at least now the code could work.)
      
      	(gdk_event_get_graphics_expose): Call handle_wm_paint() instead of
      	gdk_event_translate(), which couldn't have worked as it doesn't
      	take any pre-allocated GdkEvent parameter any longer.
      
      	(gdk_event_translate): Handle WM_MOUSEACTIVATE: Don't let
      	GDK_WINDOW_TEMP windows be activated. (#122578, John Ehresman)
      4a2de86c
  3. 23 Sep, 2003 2 commits
    • Matthias Clasen's avatar
      Demonstrate tooltips on toolitems. · 33164c02
      Matthias Clasen authored
      2003-09-24  Matthias Clasen  <maclas@gmx.de>
      
      	* demos/gtk-demo/appwindow.c (do_appwindow): Demonstrate tooltips
      	on toolitems.
      33164c02
    • Matthias Clasen's avatar
      Sync tooltips on toolitems. · a93cee89
      Matthias Clasen authored
      2003-09-24  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkaction.c (connect_proxy): Sync tooltips on toolitems.
      
      	* gtk/gtkuimanager.c (update_node): Don't complain about missing
      	actions on popups. Re-set "tooltip" property on toolitems after
      	adding them to parent to trigger proxy update.
      a93cee89
  4. 22 Sep, 2003 1 commit
    • Matthias Clasen's avatar
      Initially activate the JUSTIFY_RIGHT group member to test the fix for · cf639f41
      Matthias Clasen authored
      2003-09-22  Matthias Clasen  <maclas@gmx.de>
      
      	* tests/testmerge.c (main): Initially activate the JUSTIFY_RIGHT
      	group member to test the fix for #122904.
      
      	* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full):
      	Add the action to the group before activating it, otherwise we
      	may end up with multiple active group members.  (#122904, Marco
      	Pesenti Gritti)
      cf639f41
  5. 21 Sep, 2003 2 commits
    • Matthias Clasen's avatar
      Changes to make cross-process merging feasible: · d381967d
      Matthias Clasen authored
      2003-09-21  Matthias Clasen  <maclas@gmx.de>
      
      	Changes to make cross-process merging feasible:
      
      	* gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the
      	merged UI definition. Remove the "changed" signal, since its role
      	is now filled by "notify::ui". Instead add a "actions-changed" signal
      	which gets emitted when the set of actions changes.
      
      	* gtk/gtktoggleactionprivate.h:
      	* gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio):
      	Add a "draw_as_radio" property to toggle actions so that they can be
      	used as proxies for radio actions much like the "draw_as_radio"
      	property on check menu items enables them to operate as proxies for
      	radio actions.
      
      	Prevent the "show_all" trap for action-based menus (see
      	http://mail.gnome.org/archives/gtk-devel-list/2003-September/
      	msg00260.html):
      
      	* gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail()
      	calls from static functions.
      
      	* gtk/gtkuimanager.c (update_node):
      	* gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed
      	widgets whose visibility is externally controlled.
      
      	* gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean
      	"no_show_all" property with setter and getter. When TRUE, it keeps
      	gtk_widget_{hide,show}_all() from modifying the visibility of the
      	widget and its children.
      d381967d
    • Soeren Sandmann's avatar
      Add new "tab moves focus" property (#122709) · 8be8d7f6
      Soeren Sandmann authored
      Sun Sep 21 23:13:37 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	* gtk/gtktextview.[ch]: Add new "tab moves focus" property (#122709)
      8be8d7f6
  6. 20 Sep, 2003 1 commit
    • Tor Lillqvist's avatar
      Don't use zip -r on the etc directory, to avoid including editor backup · 71e847d1
      Tor Lillqvist authored
      2003-09-20  Tor Lillqvist  <tml@iki.fi>
      
      	* gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid
      	including editor backup files. List files we want explicitly.
      
      	* gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
      	calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
      	LC_ALL, LC_CTYPE and LANG environment variables, than calls
      	g_win32_getlocale().
      
      	(gtk_get_default_language): Code snippet moved to above function,
      	call it.
      
      	* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
      	* gtk/gtkrc.c (gtk_rc_context_parse_file): Call
      	_gtk_get_lc_ctype() instead of setlocale().
      71e847d1
  7. 19 Sep, 2003 3 commits
  8. 18 Sep, 2003 1 commit
  9. 17 Sep, 2003 4 commits
    • Matthias Clasen's avatar
      Install accelerators on actions, not on proxies, support accelerator-only · 0ceb0db0
      Matthias Clasen authored
      2003-09-18  Matthias Clasen  <maclas@gmx.de>
      
      	Install accelerators on actions, not on proxies, support
      	accelerator-only actions:
      
      	* gtk/gtkmenu.c (get_accel_path): New function to get the accel path
      	and its lock status either via _gtk_widget_get_accel_path() or by
      	looking at the accel_path stored in the menu item itself and determining
      	its lock status by peeking into the contained accel label. This was
      	already (accidentally) committed a week ago.
      
      	* gtk/gtkaction.h (gtk_action_set_accel_group):
      	(gtk_action_[dis]connect_accelerator): New functions.
      
      	* gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group,
      	accel_closure and accel_count. We must have a reference to the accel_group,
      	since we need it in connect_proxy. The count is necessary to ensure
      	that the accelerator isn't removed before the last proxy requesting
      	it has been unmerged.
      	(connect_proxy): Connect the accelerator to the
      	action now, only set the accel_path on the menuitem.
      	(remove_proxy): Disconnect the accelerator from the action, not from
      	the menuitem.
      	(gtk_action_set_accel_group): Set the accel group.
      	(gtk_action_[dis]connect_accelerator): Count the number of times
      	this functions have been called and install/remove the accelerator if
      	the count leaves/reaches zero.
      
      	* gtk/gtkuimanager.h (GtkUIManagerItemType): Add
      	GTK_UI_MANAGER_ACCELERATOR.
      
      	* gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR.
      	(start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from
      	<accelerator> elements.
      	(gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when
      	type is GTK_UI_MANAGER_ACCELERATOR.
      	(update_node): Set the accel group on actions before creating their
      	proxies. Don't set the accel group on created menus. For
      	NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator.
      	(print_node): Also emit <accelerator> elements.
      
      	* tests/testmerge.c (dump_accels): Add a "Dump Accels" button.
      0ceb0db0
    • Matthias Clasen's avatar
      Robustness improvements. · a7ad2a46
      Matthias Clasen authored
      	* gtk/gtkuimanager.c (update_node): Robustness improvements.
      a7ad2a46
    • Matthias Clasen's avatar
      Report unexpected character data as error from the GMarkup parser, · 3044d0f5
      Matthias Clasen authored
      2003-09-17  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkuimanager.c (text_handler): Report unexpected character
      	data as error from the GMarkup parser, otherwise things like
      	gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error)
      	pass unexpectedly.
      3044d0f5
    • Soeren Sandmann's avatar
      revert accidentally committed !redraw_on_allocate change. · 77d23072
      Soeren Sandmann authored
      Wed Sep 17 02:38:53 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
      	committed !redraw_on_allocate change.
      77d23072
  10. 16 Sep, 2003 1 commit
    • Eric Warmenhoven's avatar
      Add gdk_window_set_keep_{above,below} stubs to fix compilation · 79439c9c
      Eric Warmenhoven authored
      Tue Sep 16 10:42:00 2003  Eric Warmenhoven  <eric@warmenhoven.org>
      
              * gdk/linux-fb/gdkwindow-fb.c: Add gdk_window_set_keep_{above,below}
              stubs to fix compilation
      
              * gdk/linux-fb/gdkrender-fb.c: Add gdk_shadow_fb_stop_updates stub for
              when shadowfb is disabled. Patch from pjm@cctechnol.com (#120847).
      
              * gdk/linux-fb/gdkmouse-fb.c: Add GDK_MOUSE_DEVICE environment
              variable. Patch from Marc Welz (#121347).
      79439c9c
  11. 15 Sep, 2003 3 commits
    • Matthias Clasen's avatar
      Apply egtk-format-protos. Doc tweaks. · 543b020f
      Matthias Clasen authored
      	* gtk/gtkaction.h: Apply egtk-format-protos.
      	* gtk/gtkuimanager.c: Doc tweaks.
      
      	* gtk/tmpl/gtkaction.sgml:
      	* gtk/tmpl/gtkradioaction.sgml:
      	* gtk/tmpl/gtkactiongroup.sgml:
      	* gtk/tmpl/gtkuimanager.sgml: Updates.
      543b020f
    • Matthias Clasen's avatar
      New function which implements "smart" separators by iterating once over · c77b0caa
      Matthias Clasen authored
      	* gtk/gtkuimanager.c (update_smart_separators): New function which
      	implements "smart" separators by iterating once over the entries of a
      	menu, hiding and showing separators as necessary.
      	(update_node): Mark separators used as fences of placeholders as
      	hidden. Explicitly added separators are marked as smart. Call
      	update_smart_separators after updating a menu or toolbar node.
      	Connect update_smart_separators to "notify::visible" signal on menu
      	and tool items.
      
      	* tests/merge-[12].ui: Test smart separators.
      
      	* gtk/tmpl/gtkuimanager.sgml: Add a paragraph about smart separators.
      c77b0caa
    • Matthias Clasen's avatar
      Add value parameter to allow setting the currently selected group member · caf380c7
      Matthias Clasen authored
      2003-09-15  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkactiongroup.[hc]: (gtk_action_group_add_radio_actions):
      	(gtk_action_group_add_radio_actions_full): Add value parameter to allow
      	setting the currently selected group member before connecting signals.
      	(GtkToggleActionEntry): Separate struct for constructing toggle actions,
      	including a boolean to initialize the action state before connecting
      	signals.
      	(gtk_action_group_add_toggle_actions):
      	(gtk_action_group_add_toggle_actions_full): New functions to construct
      	toggle actions from an array of GtkToggleActionEntries.
      
      	* demos/gtk-demo/appwindow.c:
      	* tests/testactions.c:
      	* tests/testmerge.c: Adjust to new action group API.
      
      	* gtk/gtk-sections.txt: Add gtk_action_group_add_toggle_actions[_full].
      caf380c7
  12. 14 Sep, 2003 4 commits
  13. 12 Sep, 2003 1 commit
    • Jonathan Blandford's avatar
      Merge from stable. · 9ded36af
      Jonathan Blandford authored
      Fri Sep 12 16:32:53 2003  Jonathan Blandford  <jrb@redhat.com>
      
      	Merge from stable.
      
      	* gtk/gtktreeview.c (gtk_tree_view_button_press): only save the
      	pressed button (used to determine if we want to initiate a drag later
      	on) if the current grab widget is either NULL or tree_view (Reported
      	by Jeroen Zwartepoorte).
      9ded36af
  14. 11 Sep, 2003 2 commits
    • Matthias Clasen's avatar
      Add deprecation notes. (#121955) · df145210
      Matthias Clasen authored
      2003-09-12  Matthias Clasen  <maclas@gmx.de>
      
      	* gdk/gdkdraw.c (gdk_draw_string, gdk_draw_text)
      	(gdk_draw_text_wc): Add deprecation notes.  (#121955)
      df145210
    • Matthias Clasen's avatar
      Add table menu tests. · 6f81c10a
      Matthias Clasen authored
      2003-09-11  Matthias Clasen  <maclas@gmx.de>
      
      	* tests/testgtk.c: Add table menu tests.
      
      	* gtk/gtkmenu.c (gtk_menu_free_private): Don't forget to free the
      	GtkMenuPrivate struct itself. Pointed out by valgrind.
      
      	* gtk/gtkuimanager.c (gtk_ui_manager_finalize): Clean up
      	properly.  (#121998)
      6f81c10a
  15. 10 Sep, 2003 2 commits
    • Kristian Rietveld's avatar
      The table menu patch! Turns GtkMenu into a table, so you can attach menu · e23ed607
      Kristian Rietveld authored
      Wed Sep 10 22:25:04 2003  Kristian Rietveld  <kris@gtk.org>
      
      	The table menu patch! Turns GtkMenu into a table, so you can attach
      	menu items in numerous new ways! Be creative!
      
      	Contains some bug fixes and RTL adaptions from Matthias Clasen.
      
      	* gtk/gtkmenu.c [toplevel]: introduce ATTACH_INFO_KEY, extend
      	GtkMenuPrivate, introduce AttachInfo, add child properties enum,
      	(gtk_menu_free_private), (gtk_menu_get_private): we have to free
      	the heights array in the private struct,
      	(gtk_menu_class_init): reorder code a bit, install child properties,
      	(get_attach_info), (get_child_attach): new utility functions,
      	(gtk_menu_set_child_property), (gtk_menu_get_child_property): introduce
      	child properties, for the attach info,
      	(gtk_menu_remove): remove AttachInfo from menu item,
      	(gtk_menu_real_insert): implemented algorithm to automagically place
      	inserted menu items at the correct place in the table,
      	(gtk_menu_size_request), (gtk_menu_size_allocate),
      	(compute_child_offset): reworked/rewritten to support table menus,
      	(gtk_menu_attach): new function,
      	(find_child_containing), (gtk_menu_move_current): new functions to
      	get table menu keynav right.
      
      	* gtk/gtkmenu.h: add gtk_menu_attach() prototype.
      e23ed607
    • Matthias Clasen's avatar
      Only remove PropertyNotify events from the stream if they have been · 87c0d265
      Matthias Clasen authored
      2003-09-10  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtksocket.c (gtk_socket_filter_func): Only remove
      	PropertyNotify events from the stream if they have been handled,
      	in order to enable extending the plug<->socket communication via
      	properties.
      87c0d265
  16. 09 Sep, 2003 1 commit
    • Kristian Rietveld's avatar
      Big TreeView DnD fixage, makes drops on empty models work, makes TreeStore · b78691f0
      Kristian Rietveld authored
      Wed Sep 10 01:06:44 2003  Kristian Rietveld  <kris@gtk.org>
      
      	Big TreeView DnD fixage, makes drops on empty models work, makes
      	TreeStore DnD work and gets rid of gtk-tree-model-drop-append.
      	Related bugs #95362 and #113314. I don't want to touch this code
      	ever again.
      
      	* gtk/gtktreeprivate.h (GtkTreePrivate): add empty_view_drop field.
      
      	* gtk/gtktreednd.c (gtk_tree_get_row_drag_data): add check
      	for selection_data->length.
      
      	* gtk/gtktreeview.c (struct DestRow), (dest_row_free),
      	(set_dest_row), (get_dest_row): we don't store just the row ref
      	anymore, but a struct with the row ref and additional info,
      	(set_destination_row): handle drops on empty space and some
      	style fixes,
      	(get_logical_dest_row): also return path_down_mode/drop_append_mode
      	flags, handle dropping childs on their new parents, rewrite
      	drop append handling into something saner,
      	(gtk_tree_view_drag_motion): show a "drop possible arrow" on empty
      	spaces,
      	(gtk_tree_view_drag_drop): updates for updated backend,
      	(gtk_tree_view_drag_data_received): updates for updated backend,
      	path down mode (treestore DnD) handling,
      	(gtk_tree_view_set_drag_dest_row): set empty_view_drop flag,
      	when we are trying to drop a row on an empty model,
      	(gtk_tree_view_get_drag_dest_row): handle empty_view_drop flag.
      
      	* gtk/gtkliststore.c (gtk_list_store_drag_data_received),
      	(gtk_list_store_row_drop_possible): style and drop-append fixes.
      
      	* gtk/gtktreestore.c (gtk_tree_store_drag_data_received): ditto.
      b78691f0
  17. 08 Sep, 2003 2 commits
    • Alexander Larsson's avatar
      Implement gtk_event_box_get/set_input_only() · 0217c9db
      Alexander Larsson authored
      2003-09-08  Alexander Larsson  <alexl@redhat.com>
      
      	* gtk/gtkeventbox.[hc]:
      	Implement gtk_event_box_get/set_input_only()
      
      	* tests/testgtk.c:
      	Tests for the new input only event boxes
      0217c9db
    • Kristian Rietveld's avatar
      Fixes from David Hampton <hampton@employees.org> via gtk-devel-list. · 51f98b6a
      Kristian Rietveld authored
      Mon Sep  8 21:44:20 2003  Kristian Rietveld  <kris@gtk.org>
      
      	Fixes from David Hampton <hampton@employees.org> via gtk-devel-list.
      
      	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_elt_get_path): fix
      	the call to gtk_tree_model_filter_add_root,
      	(gtk_tree_model_filter_row_changed): bail out if c_path is not above
      	the virtual root, allow building levels on the second try to convert
      	the child path to a filter path,
      	(gtk_tree_model_filter_convert_iter_to_child_iter): pass the virtual
      	root when calling gtk_tree_model_filter_elt_get_path.
      51f98b6a
  18. 06 Sep, 2003 4 commits
    • Matthias Clasen's avatar
      Fix a C99ism. (#121640, Josh Beam) · e8c93d56
      Matthias Clasen authored
      2003-09-07  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkuimanager.c (update_node): Fix a C99ism.  (#121640,
      	Josh Beam)
      
      	Fixes for accelerator handling during (un)merging:
      
      	* gtk/gtkuimanager.c (update_node): Move setting info-action
      	after the switch, since the old action is needed in some cases.
      	In cases of proxy type mismatch, disconnect the old proxy from
      	the old action.
      
      	* gtk/gtkaction.c (remove_proxy): Renamed from
      	gtk_action_remove_proxy(). Move unsetting of the accelerator
      	here from disconnect_proxy() in order to catch all cases of
      	removing a proxy.
      	(gtk_action_disconnect_proxy): Fix logic in g_return_if_fail()
      	to fail if proxy isn't a proxy of action.
      e8c93d56
    • Pablo Saratxaga's avatar
      Added Uzbek files · cc4935c0
      Pablo Saratxaga authored
      cc4935c0
    • Matthias Clasen's avatar
      Make disconnect work for toolitems. · 0a79e5e3
      Matthias Clasen authored
      2003-09-07  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkaction.c (disconnect_proxy): Make disconnect work
      	for toolitems.
      0a79e5e3
    • Matthias Clasen's avatar
      Disconnect from prev_action, not from action. (Fix by David Hampton) · 7db084ec
      Matthias Clasen authored
      2003-09-06  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkaction.c (gtk_action_connect_proxy): Disconnect from
      	prev_action, not from action.  (Fix by David Hampton)
      7db084ec
  19. 05 Sep, 2003 1 commit