Commit Graph

6971 Commits

Author SHA1 Message Date
Matthias Clasen
4e3936c714 g_return_if_fail() if path is NULL. (gtk_ui_manager_get_node): Avoid a
2003-09-01  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c (gtk_ui_manager_get_widget)
	(gtk_ui_manager_get_action): g_return_if_fail() if
	path is NULL.
	(gtk_ui_manager_get_node): Avoid a segfault if path is empty.
	(gtk_ui_manager_finalize): Remove the idle on finalize. (#121125,
	Marco Pesenti Gritti)
2003-08-31 22:29:42 +00:00
Matthias Clasen
9d13ef764e Fix some typos in docs.
* gtk/gtktoolitem.c: Fix some typos in docs.
2003-08-31 14:01:07 +00:00
Matthias Clasen
2c41fc0918 Add gtktoggleactionprivate.h
2003-08-31  Matthias Clasen  <maclas@gmx.de>

	* gtk/Makefile.am (IGNORE_HFILES): Add gtktoggleactionprivate.h

	* gtk/tmpl/gtkuimanager.sgml:
	* gtk/gtk-sections.txt: Replace gtk_ui_manager_activate by
	gtk_ui_manager_get_action.

	* gtk/gtkuimanager.[ch] (gtk_ui_manager_get_action): New function,
	replaces gtk_ui_manager_activate().  (#120658)

	* tests/testmerge.c: Use gtk_ui_manager_get_action() instead of
	gtk_ui_manager_activate().
2003-08-31 13:49:15 +00:00
Matthias Clasen
320bba9f37 Additions.
2003-08-31  Matthias Clasen  <maclas@gmx.de>

	* gtk/tmpl/gtkuimanager.sgml:
	* gtk/tmpl/gtkactiongroup.sgml:
	* gtk/tmpl/gtkaction.sgml:
	* gtk/tmpl/gtktoggleaction.sgml:
	* gtk/tmpl/gtkradioaction.sgml: Additions.

	* gtk/gtk-sections.txt: Updates.

	* gtk/gtk.types: Add GtkAction, GtkActionGroup, GtkToggleAction,
	GtkRadioAction and GtkUIManager.

	* gtk/gtkaction.c:
	* gtk/gtkactiongroup.c: Some doc tweaks.

	* gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It
	wasn't emitted anyway. Some doc tweaks.
2003-08-31 00:27:15 +00:00
Matthias Clasen
0a49f658c5 Add some docs.
2003-08-31  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkactiongroup.c: Add some docs.

	* gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It
	wasn't emitted anyway.
2003-08-30 22:26:32 +00:00
Matthias Clasen
e5eaa52b07 Connect to "destroy" on toolbar, rather than to "remove" on handlebox.
2003-08-30  Matthias Clasen  <maclas@gmx.de>

	* tests/testmerge.c (add_widget): Connect to "destroy" on toolbar,
	rather than to "remove" on handlebox.

	* gtk/gtkuimanager.[hc] (gtk_ui_manager_activate): New method to
	activate an action found by following a path.  (#120658)

	* tests/testmerge.c: Add a button to test gtk_ui_manager_activate().
2003-08-30 21:18:43 +00:00
Matthias Clasen
5f6d00b486 Put toolbars in handleboxes.
2003-08-30  Matthias Clasen  <maclas@gmx.de>

	* tests/testmerge.c (add_widget): Put toolbars in handleboxes.

	* gtk/gtkuimanager.[hc]: Add a boolean property, "add_tearoffs" with
	setter and getter. If it is set, add tearoff menu items to regular
	menus, but not to popups. Add a signal "changed", which gets emitted
	when the merged ui has changed.

	* tests/testmerge.c: Add button to test the generation of tearoff
	menu items.
2003-08-29 23:33:54 +00:00
Matthias Clasen
e430c2439a Put toolbars in handleboxes.
* tests/testmerge.c (add_widget): Put toolbars in handleboxes.
2003-08-29 23:23:44 +00:00
cinamod
d536cdde02 some tooltips work -waiting for gtk 2.4 2003-08-29 22:45:18 +00:00
Matthias Clasen
879880e746 Add a boolean property, "add_tearoffs" with setter and getter. If it is
2003-08-30  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.[hc]: Add a boolean property, "add_tearoffs" with
	setter and getter. If it is set, add tearoff menu items to regular
	menus, but not to popups.

	* tests/testmerge.c: Add button to test the generation of tearoff
	menu items.
2003-08-29 22:42:37 +00:00
cinamod
a5c6a1759d better font handling 2003-08-29 22:10:07 +00:00
cinamod
8f51ccc0e7 toolbar chevrons 2003-08-29 21:00:14 +00:00
Matthias Clasen
87248d53a2 Actually group the actions together rather than putting each in its own
2003-08-29  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): Actually group the actions
	together rather than putting each in its own group.
2003-08-29 20:21:01 +00:00
Matthias Clasen
e3e7b75557 Set "draw_as_radio" on proxy menu items for radio actions.
2003-08-29  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkradioaction.c (create_menu_item): Set "draw_as_radio" on proxy menu items
	for radio actions.
2003-08-29 19:50:55 +00:00
Matthias Clasen
7dbeafb657 Use g_strtod instead of strtod.
* gtk/gtkgamma.c (gamma_ok_callback): Use g_strtod instead of strtod.
2003-08-29 19:38:07 +00:00
Søren Sandmann Pedersen
9542740711 Forgot to actually commit this file 2003-08-29 19:28:44 +00:00
Soeren Sandmann
ce00fa8982 Fix use of uninitialized variable.
Fri Aug 29 21:40:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full):
	Fix use of uninitialized variable.

	* gtk/gtktextutil.c
	(_gtk_text_util_append_special_char_menuitems): add const cast to
	get rid of warning
2003-08-29 19:26:58 +00:00
Matthias Clasen
24fb8e7d6f Also support "draw_as_radio".
2003-08-29  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_get_property):
	(gtk_check_menu_item_set_property): Also support "draw_as_radio".
2003-08-29 19:19:44 +00:00
Matthias Clasen
2ed71f131e Install "draw_as_radio" as a separate property, not as an alias of
2003-08-29  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Install "draw_as_radio"
	as a separate property, not as an alias of "inconsistent".
2003-08-29 19:15:26 +00:00
Soeren Sandmann
545b40a1b3 Only treat buttons as homogeneous when they are narrower than 13 time the
Fri Aug 29 20:32:07 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtktoolbar.c: Only treat buttons as homogeneous when they
	are narrower than 13 time the estimated character width of the
	font. (#107781, David Bordoley)

	* gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): Check
	here if the GtkToggleButton is active. This may be the case if it
	is a radio button.

	* gtk/gtktoolbar.c: Clarify documentation wrt. GtkSignalFunc
	vs. void (*) (GtkWidget, gpointer). (#107495, Mariano
	Suarez-Alvarez).

	* gtk/gtkcheckmenuitem.[ch]: new "draw_as_radio"
	property. (#111207, David Bordoley).

	* gtk/gtktoggletoolbutton.c
	(gtk_toggle_tool_button_create_menu_proxy): use new
	"draw_as_radio" property on the menu item when the item is a radio
	tool button

	* gtk/gtktoolbutton.c (gtk_tool_button_create_menu_proxy): Fixes
	to only pay attention to the "use_underline" property when the
	button label comes from the "label" property.
2003-08-29 18:28:23 +00:00
Laurent Dhima
4ec7006f28 Added "sq" to ALL_LINGUAS
* configure.in: Added "sq" to ALL_LINGUAS
2003-08-29 12:27:48 +00:00
Laurent Dhima
29130da180 Added Albanian translation by Besnik Bleta <besnikbleta@hotmail.com>
* sq.po: Added Albanian translation by Besnik Bleta <besnikbleta@hotmail.com>
2003-08-29 12:25:00 +00:00
Laurent Dhima
a8167edf4a Added Albanian file
* sq.po: Added Albanian file
2003-08-29 12:22:47 +00:00
cinamod
b75882291f better non-XP handle boxes 2003-08-28 18:36:17 +00:00
Matthias Clasen
ce940e61a5 Improve PointerHint docs. Explain is_hint field in GdkEventMotion.
2003-08-28  Matthias Clasen  <maclas@gmx.de>

	* gdk/tmpl/events.sgml: Improve PointerHint docs.
	* gdk/tmpl/event_structs.sgml: Explain is_hint field in GdkEventMotion.
	(#120542)
	* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Markup
	fix in the docs.
2003-08-27 22:59:47 +00:00
Matthias Clasen
cbc20c4dde Change the XML format: <Root> element is replaced by <ui>, <menu> element
2003-08-28  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c: Change the XML format:
	<Root> element is replaced by <ui>,
	<menu> element is replaced by <menubar>,
	<submenu> element is replaced by <menu>,
	<dockitem> element is replaced by <toolbar>,
	<popups> element is gone,
	verb attribute is replaced by action,
	name defaults to action or the element name.

	* gtk/gtkactiongroup.[hc]: Replace GtkActionGroupEntry by GtkActionEntry
	and GtkRadioActionEntry. GtkActionEntry is simplified by removing
	the user_data, entry_type and extra_data fields, GtkRadioActionEntry is
	further simplified by removing the callback. The user_data can now be
	specified as an argument to gtk_action_group_add_actions(). There is
	a new method gtk_action_group_add_radio_actions(), which is similar
	to gtk_action_group_add_actions(), but takes GtkRadioActionEntrys
	and a callback parameter in addition to the user_data. The callback
	is connected to the ::changed signal of the first group member.
	There are _full() variants taking a GDestroyNotify of
	gtk_action_group_add_[radio_]actions().

	* gtk/gtkradioaction.[hc]: Add a ::changed signal which gets emitted
	on every member of the radio group when the active member is changed.
	Add an integer property "value", and a getter for the value of "value"
	on the currently active group member.

	* tests/testactions.c:
	* tests/testmerge.c:
	* tests/merge-[123].ui:
	* demos/gtk-demo/appwindow.c: Adjust to these changes.

	* gtk/gtktoolbar.c (gtk_toolbar_append_element): Trivial doc fix.
2003-08-27 22:22:28 +00:00
Anders Carlsson
bebc663c5a Focus the text view, so the tool bar won't have focus.
2003-08-27  Anders Carlsson  <andersca@gnome.org>

	* demos/gtk-demo/appwindow.c (do_appwindow): Focus the
	text view, so the tool bar won't have focus.
2003-08-27 17:18:50 +00:00
cinamod
ccdf6b9bc9 tooltips, handle boxes, menus, toolbars 2003-08-26 21:53:30 +00:00
Raymond Penners
b1b4498b0e 0.3.0 2003-08-26 18:45:08 +00:00
Owen Taylor
d8c62d66c2 Fix variable declaration not at start of block. (#120371, Damien Carbery)
Tue Aug 26 09:57:38 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix variable
        declaration not at start of block. (#120371, Damien Carbery)
2003-08-26 14:04:52 +00:00
Frédéric Crozat
a3344d22b6 My firstname is Frederic, not Federico :) 2003-08-26 07:47:40 +00:00
Matthias Clasen
720bdb8daf Use gssize for length, not gsize.
2003-08-26  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui_from_string): Use gssize
	for length, not gsize.

	* gtk/gtkuimanager.c: Refactor the XML format a bit: rename <Root> to
	<ui> and make it optional in strings. Rename verb to action, <dockitem>
	to <toolbar>, <menu> to <menubar>, <submenu> to <menu>.

	* demos/gtk-demo/appwindow.c:
	* tests/testactions.c:
	* tests/testmerge.c:
	* tests/merge-1.ui:
	* tests/merge-2.ui:
	* tests/merge-3.ui: Adjust to the new XML format.
2003-08-26 00:13:59 +00:00
Owen Taylor
2be259b24a Since we add one to the layout's reported width to account for the cursor,
Mon Aug 25 19:55:55 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_update_layout_width):
        Since we add one to the layout's reported width to
        account for the cursor, we need to subtract one when
        setting the wrap width for the layout. (Fixes infinite
        loop (#120325, Federico Crozat)

        * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
        Be a bit more careful about rounding when converting
        wrapped width from Pango units to pixels.
2003-08-26 00:06:18 +00:00
Matthias Clasen
5e8c963498 Rename GtkMenuMerge to GtkUIManager 2003-08-25 23:15:12 +00:00
Matthias Clasen
77af2d637c Rename GtkMenuMerge to GtkUIManager. 2003-08-25 23:13:47 +00:00
Matthias Clasen
3cb958de19 Make the previous commit compile. 2003-08-25 22:56:02 +00:00
Owen Taylor
eb41026147 Send the focus on to the parent when there was no focus widget before and
Wed Aug 20 21:26:49 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkplug.c (gtk_plug_focus): Send the focus on
        to the parent when there was no focus widget before
        and no focus widget after - that is, when there are
        no focusable widgets. (#108678, help tracking it
        down from Padraig O'Briain, Federico Mena Quintero, )

        * gtk/gtkxembed.[ch]: Move various shared utilities
        for the XEMBED protocol eused by GtkPlug and GtkSocket
        here.

        * gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement
        a flag bit that is sent with focus mesages to indicate
        that the focus has wrapped around on the toplevel;
        use this bit to catch infinite loops when there is no
        focusable widget at ll in the entire toplevel.

        * tests/testsocket.c (child_read_watch): Remove an
        extraneous unref.

        * gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h:
        Up XEMBED protocol version to 1, add logic for
        sending the right version in XEMBED_EMBEDDED_NOTIFY.

        * gtk/gtksocket.c (gtk_socket_add_window): Send
        the embedder window in the XEMBED_EMBEDDED_NOTIFY
        as the spec requires.
2003-08-25 21:46:57 +00:00
Owen Taylor
9eb2d7c261 Don't include page->menu_label - causes various problems, including
Mon Aug 25 17:28:04 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_forall): Don't
        include page->menu_label - causes various problems,
        including #12047.
2003-08-25 21:34:49 +00:00
Kristian Rietveld
43d9992934 Merge from stable.
Mon Aug 25 23:21:43 2003  Kristian Rietveld  <kris@gtk.org>

	Merge from stable.

	Fixes #115871, reported by Michael Natterer.

	* gtk/gtktreeprivate.h: added GtkTreeSelectMode enum,
	added ctrl_pressed and shift_pressed bitfields,
	(_gtk_tree_selection_internal_select_node): replace GdkModifierType
	arg with GtkTreeSelectMode.

	* gtk/gtktreeselection.c (gtk_tree_selection_set_mode),
	(gtk_tree_selection_select_path), (gtk_tree_selection_unselect_path),
	(_gtk_tree_selection_internal_select_node): all updated for
	GdkModifierType -> GtkTreeSelectMode move.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): set ctrl_pressed
	and shift_pressed around selection handling block,
	(gtk_tree_view_real_select_cursor_row),
	(gtk_tree_view_real_toggle_cursor_row),
	(gtk_tree_view_real_selection_cursor_parent),
	(gtk_tree_view_real_set_cursor): use ctrl_pressed and shift_pressed,
	instead of checking the event state. And also updates for the
	GdkModifierType -> GtkTreeSelectMode move.
2003-08-25 21:33:00 +00:00
Owen Taylor
fb6914efe1 Send the focus on to the parent when there was no focus widget before and
Wed Aug 20 21:26:49 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkplug.c (gtk_plug_focus): Send the focus on
        to the parent when there was no focus widget before
        and no focus widget after - that is, when there are
        no focusable widgets. (#108678, help tracking it
        down from Padraig O'Briain, Federico Mena Quintero, )

        * gtk/gtkxembed.[ch]: Move various shared utilities
        for the XEMBED protocol eused by GtkPlug and GtkSocket
        here.

        * gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement
        a flag bit that is sent with focus mesages to indicate
        that the focus has wrapped around on the toplevel;
        use this bit to catch infinite loops when there is no
        focusable widget at ll in the entire toplevel.

        * tests/testsocket.c (child_read_watch): Remove an
        extraneous unref.

        * gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h:
        Up XEMBED protocol version to 1, add logic for
        sending the right version in XEMBED_EMBEDDED_NOTIFY.

        * gtk/gtksocket.c (gtk_socket_add_window): Send
        the embedder window in the XEMBED_EMBEDDED_NOTIFY
        as the spec requires.
2003-08-25 21:16:25 +00:00
Owen Taylor
378005c65e Fix up CapsLock and NumLock handling for non-XKB. Add a special case hack
Mon Aug 25 16:15:41 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c: Fix up CapsLock and
        NumLock handling for non-XKB. Add a special case
        hack for NumLock on Sun servers. (Patch from
        Robert Basch, #115819)
2003-08-25 20:22:39 +00:00
Matthias Clasen
04a47f28c2 Remove C99isms. (Morten Welinder)
2003-08-25  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkactiongroup.c (gtk_action_group_add_actions): Remove C99isms. (Morten
	Welinder)
2003-08-25 18:43:14 +00:00
Matthias Clasen
bfa5c5aa4e Hooks for translation of label and tooltip in GtkActionGroupEntries.
2003-08-25  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkactiongroup.[hc] (gtk_action_group_set_translate_func,
	gtk_action_group_set_translation_domain): Hooks for translation of
	label and tooltip in GtkActionGroupEntries.  (#120620)
2003-08-24 23:11:14 +00:00
Matthias Clasen
32c6a944cf Namespace the enum values properly. Sorry about the resize grip trouble,
2003-08-25  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkactiongroup.h (GtkActionGroupEntryType): Namespace the enum
	values properly. Sorry about the resize grip trouble, Owen.  (#120621)

	* gtk/gtkactiongroup.c:
	* demos/gtk-demo/appwindow.c:
	* tests/testmerge.c:
	* tests/testactions.c: Use new GtkActionGroupEntryType enum.
2003-08-24 22:06:52 +00:00
Owen Taylor
b374ae3fb4 Remove reference to gtkresizegrip.h.
Sun Aug 24 17:14:44 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtk.h: Remove reference to gtkresizegrip.h.
2003-08-24 21:16:15 +00:00
Owen Taylor
d199f896cf Fix accidental commit of references to gtkresizegrip.[ch]
Sun Aug 24 17:03:44 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/Makefile.am: Fix accidental commit of references
        to gtkresizegrip.[ch]
2003-08-24 21:06:33 +00:00
Owen Taylor
02f3976e37 Fix some missing initializations of rc_file->directory.
Sun Aug 24 17:00:03 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrc.c: Fix some missing initializations of
        rc_file->directory.
2003-08-24 21:03:39 +00:00
Matthias Clasen
a6781eb5ec Add a few forgotten Since: 2.4 markers. 2003-08-24 20:48:27 +00:00
Matthias Clasen
20667ea755 New templates.
2003-08-24  Matthias Clasen  <maclas@gmx.de>

	* gtk/tmpl/gtkmenumerge.sgml:
	* gtk/tmpl/gtkaction.sgml:
	* gtk/tmpl/gtkactiongroup.sgml:
	* gtk/tmpl/gtkradioaction.sgml:
	* gtk/tmpl/gtktoggleaction.sgml: New templates.

	* gtk/gtk-docs.sgml:
	* gtk/gtk-sections.txt: Add GtkMenuMerge, GtkAction, GtkActionGroup,
	GtkRadioAction, GtkToggleAction.
2003-08-24 20:47:37 +00:00
Matthias Clasen
e7e395652c A model-view separation for menus and toolbars, using the EggMenu code by
2003-08-24  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkaction.[ch]:
	* gtk/gtktoggleaction.[ch]:
	* gtk/gtktoggleactionprivate.h:
	* gtk/gtkradioaction.[ch]:
	* gtk/gtkactiongroup.[ch]:
	* gtk/gtkmenumerge.[ch]: A model-view separation for menus and
	toolbars, using the EggMenu code by James Henstridge.

	* gtk/gtk.h: Include new headers.
	* gtk/Makefile.am: Add new files.

	* tests/testactions.c: Test for actions.
	* tests/testmerge.c: Test for menu merging.
	* tests/merge-[123].ui: Test data for testmerge.
	* tests/Makefile.am: Add testactions and testmerge.

	* demos/gtk-demo/appwindow.c: Use GtkMenuMerge to construct the
	menubar and toolbar.
2003-08-24 19:58:30 +00:00