2006-07-24 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c (gdk_window_set_type_hint): Set the
window level depending on the type hint.
* gdk/quartz/gdkevents-quartz.c (gdk_keyboard_grab,
pointer_ungrab_internal): Only break the grab if the new window is
a different one.
(gdk_event_translate): Catch the case where the entire app loses
focus and break any grabs. Only do implicit grabs when the event
mask has both press and release.
* gdk/quartz/gdkkeys-quartz.c (translate_keysym):
* gdk/quartz/gdkselection-quartz.c:
* gdk/quartz/GdkQuartzWindow.c
([GdkQuartzWindow -windowDidResignKey:]): Use this to update the
focus window instead of resignMain, fixes the case where other apps
uses focus follows mouse (like the terminal can).
2006-07-20 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: (generate_grab_broken_event):
Append the event to the queue instead of using gdk_event_put.
(_gdk_quartz_get_mouse_window, find_current_keyboard_window):
Handle grabs.
(get_event_mask_from_ns_event, create_focus_event)
(convert_window_coordinates_to_root, find_window_for_event)
(gdk_event_translate): Improve readability (style changes).
(gdk_flush, gdk_display_sync, gdk_display_flush)
(gdk_event_send_client_message_for_display),
(gdk_screen_broadcast_client_message): Remove FIXMEs.
(gdk_screen_get_setting): Reindent.
Also move find_child_window_by_point to gdkwindow-quartz.c.
* gdk/quartz/gdkwindow-quartz.c:
(find_child_window_by_point_helper),
(_gdk_quartz_find_child_window_by_point): Move here from
gdkevents-quartz.c
(_gdk_windowing_window_get_pointer): Handle destroyed windows and
imlement the return value.
(_gdk_windowing_window_at_pointer): Implement.
2006-07-19 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzWindow.c
([GdkQuartzWindow -windowDidResignMain:]):
* gdk/quartz/gdkevents-quartz.c (_gdk_quartz_update_focus_window):
Listen to windowDidResignMain notifications and properly update the
focus window when windows are unfocused.
2006-07-17 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: (create_key_event):
* gdk/quartz/gdkkeys-quartz.c: (_gdk_quartz_key_event_type),
(_gdk_quartz_key_is_modifier):
* gdk/quartz/gdkprivate-quartz.h: Fill in string, length and
is_modifier for key events. Map some more keys into gdk keyvals.
2006-07-17 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c:
(_gdk_windowing_window_destroy_foreign): Fix comment.
(gdk_window_set_title): Surround by release pool macros.
(gdk_window_get_type_hint): Fix return value.
(gdk_window_get_frame_extents): Implement.
(gdk_window_iconify): Use the release pool macros.
(gdk_window_deiconify): Likewise.
(_gdk_windowing_get_pointer): Implement.
(gdk_window_get_deskrelative_origin, gdk_window_get_root_origin):
Implement.
* gdk/quartz/gdkevents-quartz.c (create_crossing_event)
(create_scroll_event, convert_window_coordinates_to_root):
Set coordinates and root coordinates for crossing and scroll
events.
* gdk/quartz/gdkcursor-quartz.c (gdk_cursor_new_for_display):
Map some more cursors.
2006-07-07 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: Generate a grab broken event when
appropriate. Fixes bug #346603, patch from Dave Vasilevsky.
* gdk/quartz/gdkevents-quartz.c:
* gdk/quartz/gdkkeys-quartz.c:
* gdk/quartz/gdkprivate-quartz.c: Another patch from Dave Vasilevsky,
fixes bug #346605. Makes modifier key events being sent properly.
2006-05-15 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c (_gdk_events_init): Remove obsolete
comment.
(poll_func): Remove assert and add a comment on how to fix properly.
(gdk_events_pending): Implement.
2006-04-13 Anders Carlsson <andersca@imendio.com>
* gdk/quartz/gdkevents-quartz.c:
(synthesize_enter_event):
(synthesize_leave_event):
(synthesize_crossing_events):
Take grabs into account.
(find_window_for_event):
Only return grabbed window when owner_events is FALSE.
2006-03-27 Anders Carlsson <andersca@imendio.com>
* gdk/quartz/gdkevents-quartz.c:
(select_thread_func):
(got_fd_activity):
(poll_func):
(gdk_event_translate):
Make the poll func work with real file descriptors.
We do this by creating a thread which calls poll and then
signals the main thread using a run loop source.
* gtk/gtkclipboard-quartz.c:
(-[GtkClipboardOwner pasteboard:provideDataForType:]):
Remove debugging output
2006-02-20 Anders Carlsson <andersca@mac.com>
* gdk/quartz/gdkevents-quartz.c:
(get_keyboard_modifiers_from_nsevent):
Fix typo so ctrl gets passed on to the gdk event.
* gdk/quartz/gdkproperty-quartz.c:
(gdk_atom_name):
g_strdup the atom name.
2006-01-02 Anders Carlsson <andersca@imendio.com>
* gdk/quartz/GdkQuartzWindow.c:
(-[GdkQuartzWindow canBecomeMainWindow]):
(-[GdkQuartzWindow canBecomeKeyWindow]):
Have these return TRUE
* gdk/quartz/gdkevents-quartz.c:
(pointer_grab_internal):
Remove FIXME
(find_child_window_by_point_helper):
Fix bug in offset calculation
(find_window_for_event):
Use grab window toplevel when a grab is in effect
(gdk_event_translate):
Don't call _gdk_event_button_generate on mouse up
* gdk/quartz/gdkgc-quartz.c:
(_gdk_quartz_gc_new):
Fix indentation
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_new):
Make TEMP windows borderless
(gdk_window_hide):
Hide window
(gdk_window_get_origin):
Implement