diff options
| author | Jason Rumney | 2007-11-09 12:20:55 +0000 |
|---|---|---|
| committer | Jason Rumney | 2007-11-09 12:20:55 +0000 |
| commit | 4b219faa3b807146947314c47190b3fde09ce4a1 (patch) | |
| tree | 6a6203e45ff3d5a8fb14d676faa769c83e560560 /src | |
| parent | ba991a0e56732e440ab4b2b509a2576b09fafef7 (diff) | |
| download | emacs-4b219faa3b807146947314c47190b3fde09ce4a1.tar.gz emacs-4b219faa3b807146947314c47190b3fde09ce4a1.zip | |
(w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
(w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from WM_APPCOMMAND.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 27 | ||||
| -rw-r--r-- | src/w32term.c | 25 |
2 files changed, 51 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 90338e217b3..9cf85ff8929 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,30 @@ | |||
| 1 | 2007-11-09 Jason Rumney <jasonr@gnu.org> | ||
| 2 | |||
| 3 | * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define. | ||
| 4 | |||
| 5 | * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT. | ||
| 6 | |||
| 7 | * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]: | ||
| 8 | Remove W32_SCROLL_BAR_CLICK_EVENT. | ||
| 9 | |||
| 10 | * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise. | ||
| 11 | Add MULTIMEDIA_KEY_EVENT. | ||
| 12 | |||
| 13 | * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys. | ||
| 14 | (lispy_multimedia_keys) [WINDOWSNT]: New array. | ||
| 15 | (make_lispy_event) [WINDOWSNT]: Use it to translate | ||
| 16 | MULTIMEDIA_KEY_EVENT. | ||
| 17 | |||
| 18 | * w32term.h (WM_APPCOMMAND): Define if not already. | ||
| 19 | (GET_APPCOMMAND_LPARAM): Likewise. | ||
| 20 | |||
| 21 | * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from | ||
| 22 | WM_APPCOMMAND. | ||
| 23 | |||
| 24 | * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option. | ||
| 25 | (syms_of_w32fns): Export and initialize it. | ||
| 26 | (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket. | ||
| 27 | |||
| 1 | 2007-11-09 Chong Yidong <cyd@stupidchicken.com> | 28 | 2007-11-09 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 29 | ||
| 3 | * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE | 30 | * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE |
diff --git a/src/w32term.c b/src/w32term.c index a0c595b3a34..4f4701b5f23 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -3970,7 +3970,7 @@ w32_scroll_bar_handle_click (bar, msg, emacs_event) | |||
| 3970 | if (! GC_WINDOWP (bar->window)) | 3970 | if (! GC_WINDOWP (bar->window)) |
| 3971 | abort (); | 3971 | abort (); |
| 3972 | 3972 | ||
| 3973 | emacs_event->kind = W32_SCROLL_BAR_CLICK_EVENT; | 3973 | emacs_event->kind = SCROLL_BAR_CLICK_EVENT; |
| 3974 | emacs_event->code = 0; | 3974 | emacs_event->code = 0; |
| 3975 | /* not really meaningful to distinguish up/down */ | 3975 | /* not really meaningful to distinguish up/down */ |
| 3976 | emacs_event->modifiers = msg->dwModifiers; | 3976 | emacs_event->modifiers = msg->dwModifiers; |
| @@ -4337,6 +4337,29 @@ w32_read_socket (sd, expected, hold_quit) | |||
| 4337 | } | 4337 | } |
| 4338 | break; | 4338 | break; |
| 4339 | 4339 | ||
| 4340 | case WM_APPCOMMAND: | ||
| 4341 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); | ||
| 4342 | |||
| 4343 | if (f && !f->iconified) | ||
| 4344 | { | ||
| 4345 | if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight) | ||
| 4346 | && !EQ (f->tool_bar_window, dpyinfo->mouse_face_window)) | ||
| 4347 | { | ||
| 4348 | clear_mouse_face (dpyinfo); | ||
| 4349 | dpyinfo->mouse_face_hidden = 1; | ||
| 4350 | } | ||
| 4351 | |||
| 4352 | if (temp_index == sizeof temp_buffer / sizeof (short)) | ||
| 4353 | temp_index = 0; | ||
| 4354 | temp_buffer[temp_index++] = msg.msg.wParam; | ||
| 4355 | inev.kind = MULTIMEDIA_KEY_EVENT; | ||
| 4356 | inev.code = GET_APPCOMMAND_LPARAM(msg.msg.lParam); | ||
| 4357 | inev.modifiers = msg.dwModifiers; | ||
| 4358 | XSETFRAME (inev.frame_or_window, f); | ||
| 4359 | inev.timestamp = msg.msg.time; | ||
| 4360 | } | ||
| 4361 | break; | ||
| 4362 | |||
| 4340 | case WM_MOUSEMOVE: | 4363 | case WM_MOUSEMOVE: |
| 4341 | /* Ignore non-movement. */ | 4364 | /* Ignore non-movement. */ |
| 4342 | { | 4365 | { |