Add _gtk_button_event_triggers_context_menu() and use it instead
of checking for event->button == 3, so context menus are invoked
correctly on the Mac.
It doesn't make sense to keep them separate as GtkSizeRequest requires a
GtkWidget and GtkWidget implements GtkSizeRequest, so you can never have
one without the other.
It also makes the code a lot easier because no casts are required when
calling functions.
Also, the names would translate to gtk_widget_get_width() and people
agreed that this would be a too generic name, so a "preferred" was added
to the names.
So this patch moves the functions:
gtk_size_request_get_request_mode() => gtk_widget_get_request_mode()
gtk_size_request_get_width() => gtk_widget_get_preferred_width()
gtk_size_request_get_height() => gtk_widget_get_preferred_height()
gtk_size_request_get_size() => gtk_widget_get_preferred_size()
gtk_size_request_get_width_for_height() =>
gtk_widget_get_preferred_width_for_height()
gtk_size_request_get_height_for_width() =>
gtk_widget_get_preferred_height_for_width()
... and moves the corresponding vfuncs to the GtkWidgetClass.
The patch also renames the implementations of the vfuncs in widgets to
include the word "preferrred".
gtk_window_get_group() never returns NULL; if the window isn't in a group,
a default window group is returned instead. Use gtk_window_has_group() instead.
This fixes some previous commits to use accessors to access GtkWindow.
Reported by Philip Withnall in bug
https://bugzilla.gnome.org/show_bug.cgi?id=627828
Deprecate widget flag macros GTK_WIDGET_STATE, GTK_WIDGET_SAVED_STATE,
GTK_WIDGET_FLAGS, GTK_WIDGET_TOPLEVEL, GTK_WIDGET_NO_WINDOW and
GTK_WIDGET_COMPOSITE_CHILD.
Also deprecate the type macros GTK_WIDGET_TYPE, GTK_OBJECT_TYPE_NAME and
GTK_OBJECT_TYPE which have become redundant.
Instances of GTK_WIDGET_TOPLEVEL are replaced with gtk_widget_is_toplevel,
GTK_WIDGET_TYPE is replaced with G_OBJECT_TYPE, GTK_WIDGET_COMPOSITE_CHILD
is replaced with use of the "composite-child" property and uses of
GTK_WIDGET_NO_WINDOW are adjusted to use gtk_widget_get_has_window.
Uses of GTK_WIDGET_SAVED_STATE and GTK_WIDGET_FLAGS inside GtkWidget are
changed to direct flag usage.
Documentation is updated to refer to gtk_widget_set_has_window and
gtk_widget_get_has_window.
Gail and tests are updated as well.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=69872
* gtk/gtk.symbols:
* gtk/gtkactivatable.[hc]: Rename gtk_activatable_reset to
gtk_activatable_sync_action_properties, since the previous name
was deemed too generic. Update all implementations.
svn path=/trunk/; revision=22389
Rework the way actions and proxies interact, to make the
interaction less ad hoc, more extensible, and better suited
for support in GUI builders like glade.
To be used as a proxy, a widget must now implement the
GtkActivatable interface, and GtkActivatable implementations
are responsible for syncing their appearance with the action
and for activating the action.
All the widgets that are commonly used as proxies implement
GtkActivatable now.
Patch by Tristan van Berkom.
* gtk/gtkactivatable.[hc]: The GtkActivatable interface.
* gtk/gtkbutton.c:
* gtk/gtktogglebutton.c:
* gtk/gtktoolitem.c:
* gtk/gtktoolbutton.c:
* gtk/gtktoggletoolbutton.c:
* gtk/gtkmenuitem.c:
* gtk/gtkcheckmenuitem.c:
* gtk/gtkimagemenuitem.c:
* gtk/gtkradiomenuitem.c:
* gtk/gtkrecentchooserprivate.h:
* gtk/gtkrecentchooser.c:
* gtk/gtkrecentchooserdefault.c:
* gtk/gtkrecentchoosermenu.c: Implement GtkActivatable.
* gtk/gtkaction.[hc]: Move appearance synchronization to
GtkActivatable implementations.
* gtk/gtkradioaction.c:
* gtk/gtkrecentaction.c:
* gtk/gtktoggleaction.c:
* gtk/gtkactiongroup.c: Adapt.
* gtk/gtk.h: Include gtkactivatable.h
* gtk/gtk.symbols: Add new functions
svn path=/trunk/; revision=22195
2008-10-24 Matthias Clasen <mclasen@redhat.com>
Bug 556954 – gtk+/gtk/gtkrecentchooserdefault.c: mismatching
allocation and deallocation
* gtk/gtkrecentchooserdefault.c (remove_selected_from_list): Don't
free a strdup'ed string by g_free. Pointed out by Daniel Marjamäki
svn path=/trunk/; revision=21708
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
2008-04-18 Michael Natterer <mitch@imendio.com>
* gtk/gtkicontheme.h
* gtk/gtkrecentmanager.h: include <gdk/gdk.h> instead of
<gdk/gdkscreen.h>.
* gtk/gtkbuilderparser.c
* gtk/gtklinkbutton.c
* gtk/gtkpreview.c
* gtk/gtkrecentchooserdefault.c
* gtk/gtkrecentchoosermenu.c
* modules/input/gtkimcontextthai.c: remove inclusion of single
files from gdk, none of the includes was actually needed.
svn path=/trunk/; revision=20023
2008-02-12 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooser.c:
(gtk_recent_chooser_class_init): Set the default value of the
:show-not-found property to TRUE, as every implementation sets
it to TRUE already.
* gtk/gtkrecentchooserdefault.c:
(_gtk_recent_chooser_default_init): Sync show_tips to the
default value of the :show-tips property.
svn path=/trunk/; revision=19535
2007-07-23 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooserdefault.c: Port the GtkRecentChooser default
implementation widget to the new tooltips API, and make it look
like the GtkFileChooser widget in recent files mode (move the
full path from the widget to a tooltip on the row) to improve
consistency.
* gtk/gtkrecentchoosermenu.c: Port the GtkRecentChooserMenu widget
to the new tooltips API.
* tests/testrecentchooser.c:
* tests/testrecentchoosermenu.c: Exercise the tooltips code paths.
svn path=/trunk/; revision=18526
2007-07-20 Matthias Clasen <mclasen@redhat.com>
Apply a patch by Emmanuele Bassi to limit the number
of shown recent files. (#439715)
* gtk/gtksettings.c: Add a setting for the number
of recent files to display by default.
* gtk/gtkrecentchooserdefault.c:
* gtk/gtkfilechooserdefault.c: Respect the limit.
* gtk/gtkrecentmanager.c: Remove the poll timeout in
dispose, and do not stat more often than every 5 seconds.
* gtk/gtkrecentchooserutils.c:
* gtk/gtkrecentchoosermenu.c: Cleanups
* tests/testrecentchoosermenu.c: Test limits.
svn path=/trunk/; revision=18510
2007-06-29 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooserdefault.c (recent_meta_data_func): Escape
markup entities in the name and URI before displaying them.
svn path=/trunk/; revision=18289
2007-06-19 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentmanager.c: Use a static variable to hold the
singleton and remove the code that binds a recent manager to
a GdkScreen.
(gtk_recent_manager_set_screen): Make it a NOOP.
(gtk_recent_manager_get_for_screen): Proxy for
gtk_recent_manager_get_default().
* gtk/gtk.symbols:
* gtk/gtkrecentmanager.h: Deprecate gtk_recent_manager_set_screen()
and gtk_recent_manager_get_for_screen().
* gtk/gtkmain.c: Force a synchronisation of the GtkRecentManager
singleton (if any) when reaching main loop depth of 0.
* gtk/gtkrecentchooserdefault.c:
(gtk_recent_chooser_default_dispose): Disconnect the changed
signal only if we have a manager and we are connected to it.
(set_recent_manager): Ditto.
* README.in: Document the deprecations.
svn path=/trunk/; revision=18184
2007-05-18 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooserdefault.c:
(gtk_recent_chooser_default_dispose): Reset the state on dispose.
(cleanup_after_load): load_id != 0 && load_state == LOAD_EMPTY
is a valid state, if the main loop never had the chance to
properly spin at least once. (#438671)
svn path=/trunk/; revision=17866
2007-03-15 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooserprivate.h:
* gtk/gtkrecentchooserutils.c: Move filtering of the recent
files list into the shared implementation; do the filtering
before the sorting, so that we always clamp on the desired
size. (#418219)
* gtk/gtkrecentchoosermenu.c: Remove the filtering of the
list, as it's already been done.
* gtk/gtkrecentchooserdefault.c: Ditto; also remove the
GtkTreeModelFilter: just reload the view if the sorting and
filtering properties change.
* gtk/testrecentchoosermenu.c: Exercise the limit property.
svn path=/trunk/; revision=17516
2007-03-14 Emmanuele Bassi <ebassi@gnome.org>
Various clean ups in the GtkRecent code. (see #338843)
* gtk/gtkrecentchooserdefault.c:
* gtk/gtkrecentchoosermenu.c:
* gtk/gtkrecentchooserprivate.h:
* gtk/gtkrecentchooserutils.c: Move the recent chooser function
for getting the sorted and clamped list of recent files from the
manager outside the implementations.
* gtk/gtkrecentchooserdefault.c (chooser_set_sort_type): Repopulate
the list when the sorting order changes.
(gtk_recent_chooser_default_dispose),
(gtk_recent_chooser_default_finalize): Move object unref and
source removal from finalize to dispose.
* gtk/gtkrecentchooser.c (gtk_recent_chooser_type_init): Relax the
prerequisite for the GtkRecentChooser interface implementations,
from GtkObject to GObject.
(gtk_recent_chooser_class_init): Use GTK_PARAM_* instead of
G_PARAM_*
svn path=/trunk/; revision=17514