Commit Graph

79 Commits

Author SHA1 Message Date
d6809d050a XIM: Don't force random windows to become native
GDK_WINDOW_XID() has the side-effect of turning a window native;
this in turn can have unexpected effects such as black backgrounds.
Avoid this by using the XID of the toplevel.
https://bugzilla.gnome.org/show_bug.cgi?id=682395
2012-10-01 22:12:07 -04:00
9d0febc9a6 Change FSF Address 2012-02-27 17:06:11 +00:00
ebd28de588 XIM: gracefully deal with non-X backends
Patch by Young-Ho Cha, bug 660309.
2011-12-29 23:43:51 -05:00
32ef28bc85 Replace gtk_misc_set_padding() with GtkWidget:margin properties
https://bugzilla.gnome.org/show_bug.cgi?id=651605
2011-06-02 18:49:54 +02:00
211ccb5c73 xim: Fix for new style code 2010-12-15 14:51:26 +01:00
28ba4c2146 im-xim: Use window macros instead of drawable macros 2010-12-02 20:17:27 +01:00
9f9edb662e settings: Move setting property registration in gtksettings.c
Some GtkSettings property are registered by other classes. This leads
to the "interesting" issue that setting GtkSettings:gtk-button-images
requires that the GtkButton class is referenced first - or that a
GtkButton is created.

https://bugzilla.gnome.org/show_bug.cgi?id=632538
2010-10-20 10:34:25 +01:00
d9c9259861 Move GtkSizeRequest into GtkWidget
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".
2010-09-26 15:11:45 +02:00
b452bb768d imcontextxim: Connect to draw signal 2010-09-26 15:11:40 +02:00
9f47be2216 gtk: gdk_drawable_get_screen/visual => gdk_window_get_screen/visual 2010-09-26 15:11:33 +02:00
b140884fec Use gtk_size_request_get_size() instead deprecated gtk_widget_size_request()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=629598

Signed-off-by: Javier Jardón <jjardon@gnome.org>
Signed-off-by: Tristan Van Berkom <tristanvb@openismus.com>
2010-09-15 03:02:58 +02:00
b1924555df modules/input/gtkimcontextxim.c: Use accessors to GtkWidget 2010-08-22 18:32:50 +02:00
7f1801eae1 imcontextxim: Draw with Cairo 2010-07-26 16:42:47 +02:00
4427760bcc Use GtkBin accessors 2010-07-13 19:40:47 +02:00
bb1824c131 Deprecate flag macros for toplevel, state, no window and composite child
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
2010-01-04 07:57:05 +01:00
1e1131c959 Do not use static GTypeInfo and GInterfaceInfo
Either g_type_register_static_simple (used by G_DEFINE_TYPE_EXTENDED)
and G_IMPLEMENT_INTERFACE use automatic variables for GTypeInfo and
GInterfaceInfo structs, while tutorials and source code often use
static variables. This commit consistently adopts the former method.

https://bugzilla.gnome.org/show_bug.cgi?id=600158
2009-11-06 01:21:09 +01:00
3f8d98b94d Bug 339367 – Incorrect spotlocation
2008-09-27  Matthias Clasen  <mclasen@redhat.com>

        Bug 339367 – Incorrect spotlocation

        * modules/input/gtkimcontextxim.c: Correct the spot location
        for on-the-spot style.

svn path=/trunk/; revision=21537
2008-09-28 03:21:15 +00:00
e3e126ae9e modules/input/gtkimcontextime.c modules/input/gtkimcontextmultipress.c use
2008-08-11  Sven Neumann  <sven@gimp.org>

	* modules/input/gtkimcontextime.c
	* modules/input/gtkimcontextmultipress.c
	* modules/input/gtkimcontextxim.c: use canonical signal names.


svn path=/trunk/; revision=21070
2008-08-11 14:55:31 +00:00
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
fce9c8b7d4 Practically everything changed.
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-06-30 23:01:56 +00:00
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
d6ef4416f5 modules/input/gtkimcontextime.h modules/input/gtkimcontextmultipress.h
2008-05-28  Michael Natterer  <mitch@imendio.com>

	* modules/input/gtkimcontextime.h
	* modules/input/gtkimcontextmultipress.h
	* modules/input/gtkimcontextthai.h
	* modules/input/gtkimcontextxim.h: include <gtk/gtk.h> instead of
	individual files.

	* modules/input/gtkimcontextime.c
	* modules/input/gtkimcontextmultipress.c
	* modules/input/gtkimcontextxim.c
	* modules/input/imam-et.c
	* modules/input/imcedilla.c
	* modules/input/imcyrillic-translit.c
	* modules/input/iminuktitut.c
	* modules/input/imipa.c
	* modules/input/imti-er.c
	* modules/input/imti-et.c
	* modules/input/imviqr.c: ditto. Some minor cleanups like moving
	"gtk/gtkintl.h" to the end of includes.


svn path=/trunk/; revision=20200
2008-05-27 23:55:28 +00:00
35dc88e778 Fix some live cycle issues
svn path=/trunk/; revision=18888
2007-10-07 18:17:41 +00:00
455bc10de5 Don't commit modifier-adorned characters. (#331369, #335796, Lin Ma and
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * modules/input/gtkimcontextxim.c 
        (gtk_im_context_xim_filter_keypress): Don't commit
        modifier-adorned characters.  (#331369, #335796, Lin Ma
        and others)



svn path=/trunk/; revision=17446
2007-03-09 23:36:55 +00:00
82ce59cd0f Remove unnecessary NULL checks before g_free(). (#369666, Morten Welinder,
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * Everywhere: Remove unnecessary NULL checks before
        g_free().  (#369666, Morten Welinder, Djihed Afifi)

        * configure.in: Check for ftw.h



svn path=/trunk/; revision=17444
2007-03-09 21:57:37 +00:00
ff560c934e destroy the XIM only if it exists. While the code does look safe in
2007-01-26  Michael Natterer  <mitch@imendio.com>

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
	destroy the XIM only if it exists. While the code does look safe
	in general, there can be corner cases where the "reconnecting"
	boolean being FALSE does not correspond to the XIM being
	allocated (fix taken from maemo-gtk).


svn path=/trunk/; revision=17218
2007-01-26 13:31:35 +00:00
241ff0b6bd Cleanups 2006-10-08 05:32:07 +00:00
9e4d008d25 Don't prematurely unregister callbacks.
2005-06-30  Matthias Clasen  <mclasen@redhat.com>

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize): Don't
	prematurely unregister callbacks.
2005-06-30 18:42:44 +00:00
c719b4bf3d Avoid a segfault. (#309054)
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
	Avoid a segfault. (#309054)

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
	fields for grab timestamps.

	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
	Store grab timestamps when grabbing.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard_ungrab)
	(gdk_display_pointer_ungrab): Don't unset the grab_window
	if the timestamps indicate that the ungrab will fails.
2005-06-27 18:37:41 +00:00
1b8d849b36 Unregister XIM callbacks here. (#309054)
2005-06-26  Matthias Clasen  <mclasen@redhat.com>

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
	Unregister XIM callbacks here.  (#309054)

	* modules/input/gtkimcontextxim.h: Small cleanup.
2005-06-27 02:27:41 +00:00
4594c980b0 Use NULL, not 0 to terminate NULL-terminated va lists. (#165683)
2005-01-31  Matthias Clasen  <mclasen@redhat.com>

	* modules/input/gtkimcontextxim.c: Use NULL, not 0 to terminate
	NULL-terminated va lists.  (#165683)
2005-01-31 19:56:01 +00:00
54b45a19b9 modules/engines/ms-windows/msw_rc_style.c
Fri Nov 19 15:18:51 2004  Manish Singh  <yosh@gimp.org>

        * modules/engines/ms-windows/msw_rc_style.c
        * modules/engines/ms-windows/msw_style.c
        * modules/engines/ms-windows/msw_theme_main.c
        * modules/engines/pixbuf/pixbuf-main.c
        * modules/engines/pixbuf/pixbuf-rc-style.c
        * modules/input/gtkimcontextime.c
        * modules/input/gtkimcontextxim.c
        * modules/input/imam-et.c
        * modules/input/imcedilla.c
        * modules/input/imcyrillic-translit.c
        * modules/input/iminuktitut.c
        * modules/input/imipa.c
        * modules/input/imthai-broken.c
        * modules/input/imti-er.c
        * modules/input/imti-et.c
        * modules/input/imviqr.c
        * tests/prop-editor.c
        * tests/testentrycompletion.c
        * tests/testfilechooser.c
        * tests/testmerge.c
        * tests/testtoolbar.c
        * tests/testtreecolumns.c
        * tests/testtreeview.c: get rid of unnecessary casts.

        * tests/testgtk.c (create_labels): add GTK_LABEL() casts for
        gtk_label_set_ellipsize() calls.

        * tests/testicontheme.c (main): remove unused pixbuf variable.
2004-11-19 23:30:47 +00:00
d5f92150d4 Fix many sparse warnings. 2004-10-28 15:00:05 +00:00
ecd0c58e35 Fix the recent string_conversion_callback change to work on Solaris.
2004-05-04  Matthias Clasen  <mclasen@redhat.com>

	* modules/input/gtkimcontextxim.c: Fix the recent
	string_conversion_callback change to work on
	Solaris.  (#141190, Padraig O'Briain)
2004-05-04 17:05:20 +00:00
eecb33d6b0 Patch to add support for string conversion callbacks to
GtkIMContextXIM (#101814)
2004-04-24 09:58:48 +00:00
99c074e7cf Clear preedit string and emit preedit_changed as needed on AIX. (#130617,
Thu Mar 11 17:51:10 2004  Owen Taylor  <otaylor@redhat.com>

        * modules/input/gtkimcontextxim.c (preedit_done_callback):
        Clear preedit string and emit preedit_changed as needed
        on AIX. (#130617, Philip K Warren)
2004-03-11 22:57:10 +00:00
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
4c471cb7d1 Interrupted commit. 2004-02-22 02:07:26 +00:00
a5f9b185ab gtk/gtktextlayout.c (line_display_iter_to_index) Only adjust the preedit
Thu Jan 29 18:08:06 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextlayout.c (line_display_iter_to_index)
        * gtk/gtktextlayout.c (line_display_index_to_iter): Only
        adjust the preedit position for lines that include the
        preedit string. (#132353, Yao Zhang). How the heck
        did this work as well as it did?!?!

        * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
        Reverse change to change of XNFilterEvents event mask from
        #110493 -- it's documented and in the Xlib code an
        unsigned long.

        * modules/input/gtkimcontextxim.c (preedit_start_callback):
        Return -1 rather than void to indicate no length limit.
        (#129548)
2004-01-29 23:33:07 +00:00
07d4d314b6 The first part of the fix for #114351 (see also gdk-pixbuf/ChangeLog and
Fri Jan 16 23:59:01 2004  Matthias Clasen  <maclas@gmx.de>

	The first part of the fix for #114351 (see also
	gdk-pixbuf/ChangeLog and po/ChangeLog):

	* gtk/gtkintl.h:
	* gdk-pixbuf/gdk-pixbuf-i18n.h:
	* gdk/gdkintl.h: Define P_() for property blurbs and nicks.

	* gdk/gdkdisplaymanager.c:
	* gdk-pixbuf/gdk-pixbuf.c:
	* modules/input/gtkimcontextxim.c:
	* gtk/*.c:  Mark property blurbs and nicks with P_().

	* po/Makefile.in.in: Add --keyword=P_ to the xgettext
	invocation, since property blurbs and nicks are
	now marked with P_().
2004-01-16 23:10:05 +00:00
3a7a64aa46 === Released 2.3.0 ===
Fri Oct 24 16:54:04 2003  Owen Taylor  <otaylor@redhat.com>

        * === Released 2.3.0 ===

        * configure.in: Remove a stray comma.

        * README.in: Fix a few notes about Xft 1 and pango-1.0.

        * NEWS: Finish updates for 2.3.0.

        * po/Makefile.in.in: Update to latest GLib version.
2003-10-24 22:16:07 +00:00
55b0689a1d Substantially rework the handling of status windows:
Mon Aug 18 17:19:12 2003  Owen Taylor  <otaylor@redhat.com>

        * modules/input/gtkimcontextxim.[ch]: Substantially
        rework the handling of status windows:

         - Store the current StatusWindow in the
           GtkIMContextXIM structure and vice-versa, so we
           don't have to hunt the window hierarchy on
           cleanup.
         - Use the Gtkidget hierarchy instead of/or as well
           as the GdkWindow hierarchy when finding the toplevel;
           this helps for things like GtkHandlebox
         - Watch GtkWidget::hierarchy_changed to catch
           changes in the toplevel without changes in the
           GdkWindow (reparenting)
         - Never create the GtkWindow for the status window
           unless we have text to display.
         - Various cleanups, add lots of comments.

        (#115077, much help from Takuro Ashie and Hidetoshi
        Tajima in tracking this down and figuring out a fix.)

        * modules/input/gtkimcontextxim.c (gtk_im_context_xim_focus_in):

        * modules/input/gtkimcontextxim.c: Track the current
        screen for each toplevel so that we show the status
        window on the right screen. (#116340, James Su)

        * modules/input/gtkimcontextxim.c: If create a new IC
        when we currently have the focus, call XSetICFocus()
        on it.

        * modules/input/gtkimcontextxim.c (get_im): Fix bug
        with multiple open screens.
2003-08-19 21:17:18 +00:00
66933a6bdd New function for XIM instantiate callback. New function where call to
Tue Jun 10 11:23:48 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>

	* modules/input/gtkimcontextxim.c (xim_instantiate_callback): New
	function for XIM instantiate callback.
	* modules/input/gtkimcontextxim.c (xim_info_try_im): New function
	where call to XOpenIM() or XRegisterIMInstantiateCallback() is
	actually made.
	* modules/input/gtkimcontextxim.c (xim_destroy_callback): New function
	for XIM's destroy callback.
	* modules/input/gtkimcontextxim.c (get_im): add a check if info->im
	is set or not - if it's not set, call xim_info_try_im() to try to
	initiaize it.
	* modules/input/gtkimcontextxim.c (reinitialize_ic): reset
	filter_key_release flag of the context.
	* modules/input/gtkimcontextxim.c (get_ic_real): removed
	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): move
	code from the removed get_ic_real().

	For XIM instantiation, destruction and re-instantiation. With
	this, Gtk+ apps will be able to connect or reconnect to the XIM,
	when it starts after the apps, or when the XIM gets lost and recover.
	(#113099, #107782).
2003-06-10 18:24:29 +00:00
16191e5274 Add a 'finalizing' flag to keep preedit-[start,changed,end] signals from
Fri Jun  6 11:05:45 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>

	* modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):
	* modules/input/gtkimcontextxim.c (preedit_start_callback,
	preedit_draw_callback, preedit_done_callback): Add a 'finalizing' flag
	to keep preedit-[start,changed,end] signals from being called during
	finalization (#111861).
2003-06-06 19:42:10 +00:00
539ad89f76 gtk settings for XIMPreeditNone and XIMStatusNone. (#105909)
* gtk/gtkenums.h (enum GtkIMPreeditStyle, GtkIMStatusStyle):
	* modules/input/gtkimcontextxim.c (preedit_style_change, status_style_change):
	gtk settings for XIMPreeditNone and XIMStatusNone. (#105909)
2003-05-21 20:21:41 +00:00
534710deac fix a memory leak, free input context list (#113259).
* modules/input/gtkimcontextxim.c (xim_info_display_closed):
	fix a memory leak, free input context list (#113259).
2003-05-21 04:59:13 +00:00
cf74247186 use type of guint32 instead of gumake for XNFilterEvents event
* modules/input/gtkimcontextxim.c (get_ic_real): use type of guint32
	instead of gumake for XNFilterEvents event mask(#110493).
2003-05-14 16:05:53 +00:00
7c4b9f61d4 fix a memory initialization error for selecting input style (#103549).
* modules/input/gtkimcontextxim.c (choose_better_style): fix a memory
	initialization error for selecting input style (#103549).
2003-01-29 22:45:51 +00:00
aeb608afec Don't call status_window_set_text() if the status window doesn't already
Sat Dec 14 22:03:21 2002  Owen Taylor  <otaylor@redhat.com>

	* modules/input/gtkimcontextxim.c (status_window_hide): Don't
	call status_window_set_text() if the status window doesn't
	already exist. (#100933, reported by Anand Subra)

	* modules/input/gtkimcontextxim.c (status_window_show):
	Don't bother creating the status window here, wait for
	the set_text(). (Fixes a warning)
2002-12-15 03:11:40 +00:00
60207c3762 Fix #99593: Fix a memory leak when XmbLookupString returns XBufferOverflow
* modules/input/gtkimcontextxim.c
	(gtk_im_context_xim_filter_keypress):
	Fix #99593: Fix a memory leak when XmbLookupString returns
	XBufferOverflow
2002-11-26 22:13:50 +00:00