Windows 7 is managing status icon visibility across process lifetime,
which did not work with GTK+ create icons. Apparently the mechanism
does not require use of new API (like suggested by MSDN), but it is
enough to give a "unique" tooltip at creation time.
Formerly this initial tooltip was not set at all, later setting via
gtk_status_icon_set_tooltip_text() is not enough, but luckily
different follow-up tooltips don't disturb the intended behavior.
(cherry picked from commit ae0544c636)
(cherry picked from commit 8a9d458baf)
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".
The keysyms create a lot of potential namespace conflicts for
C, and are especially problematic for introspection, where we take
constants into the namespace, so GDK_Display conflicts with GdkDisplay.
For C application compatiblity, add gdkkeysyms-compat.h which uses
the old names.
Just one user in GTK+ continues to use gdkkeysyms-compat.h, which is
the gtkimcontextsimple.c, since porting that requires porting more
custom Perl code.
The amount of padding is determined by reading a _NET_SYSTEM_TRAY_PADDING
property off the manager window, in the same way that orientation and visual
are obtained.
Signed-off-by: Richard Hughes <richard@hughsie.com>
This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API
https://bugzilla.gnome.org/show_bug.cgi?id=610474
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations. Merge those into the GTK source files.
Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-03-29 Christian Persch <chpe@gnome.org>
Bug 577224 – crash when setting new icon after setting icon in
gtkstatusicon
* gtk/gtkstatusicon.c: (gtk_status_icon_reset_image_data),
(gtk_status_icon_set_from_gicon): Retain a reference when setting
from a GIcon, and use g_object_unref on GIcon, not g_free.
svn path=/trunk/; revision=22594
2008-08-12 Michael Natterer <mitch@imendio.com>
* gtk/gtkstatusicon.c (gtk_status_icon_get_gicon): use
g_return_val_if_fail() now that the function has a return value.
svn path=/trunk/; revision=21095
2008-07-25 Murray Cumming <murrayc@murrayc.com>
* gtk/gtkstatusicon.c (gtk_status_icon_class_init):
Documented the activate and popup-menu signals as being for use
by applications and language bindings, though they are G_SIGNAL_ACTION,
as stated in bug #361561.
svn path=/trunk/; revision=20905
2008-06-03 Colin Walters <walters@redhat.com>
Bug 535303 – add _get_implementation to GtkStatusIcon
* gtk/gtkstatusicon.c (gtk_status_icon_get_x11_window_id): New
function to retrieve internal X11 window ID, useful for libnotify.
* gtk/gtkstatusicon.h: Prototype it.
* docs/reference/gtk/gtk-sections.txt: Add to docs.
* gtk/gtk.symbols: Export it.
svn path=/trunk/; revision=20304
2008-03-12 Tor Lillqvist <tml@novell.com>
Bug 510000 - GtkStatusIcon doesn't reshow after explorer.exe crash
* gtk/gtkstatusicon.c [Win32]: Keep a list of status icons. Check
for the TaskbarCreated message in the window procedure for the
dummy "tray observer" window we create. When we get a
TaskbarCreated message, iterate over the status icons and re-add
them to the task bar, and update them by calling
gtk_status_icon_update_image().
Move some ifdefs around to avoid unused functions.
svn path=/trunk/; revision=19792