Mercurial > pidgin.yaz
annotate plugins/win32/winprefs/gtkappbar.c @ 11995:969fd533bd5d
[gaim-migrate @ 14288]
SF Patch #1348790 from Richard Gobeille
"This patch simply doesn't add the separator to the
bottom of the buddy pounce menu if you haven't set any
pounces up. It looked kind of funny having a lone
separator at the bottom that wasn't actually separating
anything."
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Sun, 06 Nov 2005 23:02:39 +0000 |
parents | 12f6164ee2c6 |
children |
rev | line source |
---|---|
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
1 /* |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
2 * gaim - WinGaim Options Plugin |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
3 * |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
4 * File: gtkappbar.c |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
5 * Date: August 2, 2003 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
6 * Description: Appbar functionality for Windows GTK+ applications |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
7 * |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
8 * Copyright (C) 2003, Herman Bloggs <hermanator12002@yahoo.com> |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
9 * |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
10 * This program is free software; you can redistribute it and/or modify |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
11 * it under the terms of the GNU General Public License as published by |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
12 * the Free Software Foundation; either version 2 of the License, or |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
13 * (at your option) any later version. |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
14 * |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
15 * This program is distributed in the hope that it will be useful, |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
18 * GNU General Public License for more details. |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
19 * |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
20 * You should have received a copy of the GNU General Public License |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
21 * along with this program; if not, write to the Free Software |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
23 * |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
24 */ |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
25 /* |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
26 * TODO: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
27 * - Move 'App on top' feature from Trans plugin to here |
8735
92cbf9713795
[gaim-migrate @ 9490]
Christian Hammond <chipx86@chipx86.com>
parents:
6436
diff
changeset
|
28 * - Bug: Multiple Show/Hide Desktop calls causes client area to disappear |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
29 */ |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
30 #include <windows.h> |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
31 #include <winver.h> |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
32 #include <stdio.h> |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
33 #include <gtk/gtk.h> |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
34 #include <gdk/gdkwin32.h> |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
35 #include "gtkappbar.h" |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
36 #include "debug.h" |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
37 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
38 #define APPBAR_CALLBACK WM_USER + 1010 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
39 |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
40 typedef HMONITOR WINAPI gaim_MonitorFromPoint(POINT, DWORD); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
41 typedef HMONITOR WINAPI gaim_MonitorFromWindow(HWND, DWORD); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
42 typedef BOOL WINAPI gaim_GetMonitorInfo(HMONITOR, LPMONITORINFO); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
43 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
44 /* Retrieve the rectangular display area from the specified monitor |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
45 * Return TRUE if successful, otherwise FALSE |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
46 */ |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
47 static gboolean |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
48 get_rect_from_monitor(HMODULE hmod, HMONITOR monitor, RECT *rect) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
49 gaim_GetMonitorInfo *the_GetMonitorInfo; |
11316
12f6164ee2c6
[gaim-migrate @ 13518]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10550
diff
changeset
|
50 MONITORINFO info; |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
51 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
52 if (!(the_GetMonitorInfo = (gaim_GetMonitorInfo*) |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
53 GetProcAddress(hmod, "GetMonitorInfoA"))) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
54 return FALSE; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
55 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
56 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
57 info.cbSize = sizeof(info); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
58 if (!the_GetMonitorInfo(monitor, &info)) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
59 return FALSE; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
60 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
61 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
62 CopyRect(rect, &(info.rcMonitor)); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
63 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
64 return TRUE; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
65 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
66 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
67 /** |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
68 * This will only work on Win98+ and Win2K+ |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
69 * Return TRUE if successful, otherwise FALSE |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
70 */ |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
71 static gboolean |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
72 get_rect_at_point_multimonitor(POINT pt, RECT *rect) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
73 HMODULE hmod; |
11316
12f6164ee2c6
[gaim-migrate @ 13518]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10550
diff
changeset
|
74 gaim_MonitorFromPoint *the_MonitorFromPoint; |
12f6164ee2c6
[gaim-migrate @ 13518]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10550
diff
changeset
|
75 HMONITOR monitor; |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
76 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
77 if (!(hmod = GetModuleHandle("user32"))) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
78 return FALSE; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
79 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
80 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
81 if (!(the_MonitorFromPoint = (gaim_MonitorFromPoint*) |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
82 GetProcAddress(hmod, "MonitorFromPoint"))) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
83 return FALSE; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
84 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
85 |
11316
12f6164ee2c6
[gaim-migrate @ 13518]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10550
diff
changeset
|
86 monitor = |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
87 the_MonitorFromPoint(pt, MONITOR_DEFAULTTOPRIMARY); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
88 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
89 return get_rect_from_monitor(hmod, monitor, rect); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
90 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
91 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
92 /** |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
93 * This will only work on Win98+ and Win2K+ |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
94 * Return TRUE if successful, otherwise FALSE |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
95 */ |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
96 static gboolean |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
97 get_rect_of_window_multimonitor(HWND window, RECT *rect) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
98 HMODULE hmod; |
11316
12f6164ee2c6
[gaim-migrate @ 13518]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10550
diff
changeset
|
99 gaim_MonitorFromWindow *the_MonitorFromWindow; |
12f6164ee2c6
[gaim-migrate @ 13518]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10550
diff
changeset
|
100 HMONITOR monitor; |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
101 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
102 if (!(hmod = GetModuleHandle("user32"))) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
103 return FALSE; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
104 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
105 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
106 if (!(the_MonitorFromWindow = (gaim_MonitorFromWindow*) |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
107 GetProcAddress(hmod, "MonitorFromWindow"))) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
108 return FALSE; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
109 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
110 |
11316
12f6164ee2c6
[gaim-migrate @ 13518]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10550
diff
changeset
|
111 monitor = |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
112 the_MonitorFromWindow(window, MONITOR_DEFAULTTOPRIMARY); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
113 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
114 return get_rect_from_monitor(hmod, monitor, rect); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
115 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
116 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
117 /* |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
118 * Fallback if cannot get the RECT from the monitor directly |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
119 */ |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
120 static void get_default_workarea(RECT *rect) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
121 if (!SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, FALSE)) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
122 /* I don't think this will ever happen */ |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
123 rect->left = 0; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
124 rect->top = 0; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
125 rect->bottom = GetSystemMetrics(SM_CYSCREEN); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
126 rect->right = GetSystemMetrics(SM_CXSCREEN); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
127 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
128 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
129 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
130 /* Retrieve the rectangle of the active work area at a point */ |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
131 static RECT get_rect_at_point(POINT pt) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
132 RECT rc; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
133 if (!get_rect_at_point_multimonitor(pt, &rc)) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
134 get_default_workarea(&rc); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
135 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
136 return rc; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
137 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
138 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
139 /* Retrieve the rectangle of the active work area of a window*/ |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
140 static RECT get_rect_of_window(HWND window) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
141 RECT rc; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
142 if (!get_rect_of_window_multimonitor(window, &rc)) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
143 get_default_workarea(&rc); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
144 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
145 return rc; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
146 } |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
147 |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
148 static void get_window_normal_rc(HWND hwnd, RECT *rc) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
149 WINDOWPLACEMENT wplc; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
150 GetWindowPlacement(hwnd, &wplc); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
151 CopyRect(rc, &wplc.rcNormalPosition); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
152 } |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
153 #if 0 |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
154 static void print_rect(RECT *rc) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
155 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "RECT: L:%ld R:%ld T:%ld B:%ld\n", |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
156 rc->left, rc->right, rc->top, rc->bottom); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
157 } |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
158 #endif |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
159 /** Set the window style to be the "Tool Window" style - small header, no min/max buttons */ |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
160 static void set_toolbar(HWND hwnd, gboolean val) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
161 LONG style=0; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
162 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
163 style = GetWindowLong(hwnd, GWL_EXSTYLE); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
164 if(val && !(style & WS_EX_TOOLWINDOW)) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
165 style |= WS_EX_TOOLWINDOW; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
166 else if(!val && style & WS_EX_TOOLWINDOW) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
167 style &= ~WS_EX_TOOLWINDOW; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
168 else |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
169 return; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
170 SetWindowLong(hwnd, GWL_EXSTYLE, style); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
171 SetWindowPos(hwnd, 0, 0, 0, 0, 0, |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
172 SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
173 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
174 /* This really should be the following, but SWP_FRAMECHANGED strangely causes initermittent problems "Show Desktop" done more than once. |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
175 * Not having SWP_FRAMECHANGED *should* cause the Style not to be applied, but i haven't noticed any problems |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
176 * SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
177 */ |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
178 } |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
179 /** Register the window as an appbar */ |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
180 static gboolean gtk_appbar_register(GtkAppBar *ab, HWND hwnd) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
181 APPBARDATA abd; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
182 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
183 abd.cbSize = sizeof(APPBARDATA); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
184 abd.hWnd = hwnd; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
185 abd.uCallbackMessage = APPBAR_CALLBACK; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
186 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
187 ab->registered = SHAppBarMessage(ABM_NEW, &abd); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
188 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
189 return ab->registered; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
190 } |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
191 /** Unregister the window as an appbar */ |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
192 static gboolean gtk_appbar_unregister(GtkAppBar *ab, HWND hwnd) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
193 APPBARDATA abd; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
194 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
195 if(!ab->registered) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
196 return TRUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
197 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
198 abd.cbSize = sizeof(APPBARDATA); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
199 abd.hWnd = hwnd; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
200 |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
201 SHAppBarMessage(ABM_REMOVE, &abd); /** This always returns TRUE */ |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
202 |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
203 ab->registered = FALSE; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
204 |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
205 ab->docked = FALSE; |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
206 ab->docking = FALSE; |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
207 |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
208 return TRUE; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
209 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
210 |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
211 static void gtk_appbar_querypos(GtkAppBar *ab, HWND hwnd, RECT rcWorkspace) { |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
212 APPBARDATA abd; |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
213 guint iWidth = 0; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
214 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
215 if(!ab->registered) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
216 gtk_appbar_register(ab, hwnd); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
217 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
218 abd.hWnd = hwnd; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
219 abd.cbSize = sizeof(APPBARDATA); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
220 abd.uEdge = ab->side; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
221 |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
222 iWidth = ab->docked_rect.right - ab->docked_rect.left; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
223 |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
224 abd.rc.top = rcWorkspace.top; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
225 abd.rc.bottom = rcWorkspace.bottom; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
226 switch (abd.uEdge) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
227 { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
228 case ABE_LEFT: |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
229 abd.rc.left = rcWorkspace.left; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
230 abd.rc.right = rcWorkspace.left + iWidth; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
231 break; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
232 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
233 case ABE_RIGHT: |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
234 abd.rc.right = rcWorkspace.right; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
235 abd.rc.left = rcWorkspace.right - iWidth; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
236 break; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
237 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
238 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
239 /* Ask the system for the screen space */ |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
240 SHAppBarMessage(ABM_QUERYPOS, &abd); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
241 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
242 switch (abd.uEdge) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
243 { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
244 case ABE_LEFT: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
245 abd.rc.right = abd.rc.left + iWidth; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
246 break; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
247 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
248 case ABE_RIGHT: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
249 abd.rc.left = abd.rc.right - iWidth; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
250 break; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
251 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
252 |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
253 CopyRect(&(ab->docked_rect), &abd.rc); |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
254 } |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
255 /* Actually set the size and screen location of the appbar */ |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
256 static void gtk_appbar_setpos(GtkAppBar *ab, HWND hwnd) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
257 APPBARDATA abd; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
258 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
259 if(!ab->registered) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
260 gtk_appbar_register(ab, hwnd); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
261 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
262 abd.hWnd = hwnd; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
263 abd.cbSize = sizeof(APPBARDATA); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
264 CopyRect(&abd.rc, &(ab->docked_rect)); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
265 abd.uEdge = ab->side; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
266 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
267 SHAppBarMessage(ABM_SETPOS, &abd); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
268 } |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
269 /** Let any callbacks know that we have docked or undocked */ |
6436
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
270 static void gtk_appbar_dispatch_dock_cbs(GtkAppBar *ab, gboolean val) { |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
271 GList *lst = ab->dock_cbs; |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
272 |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
273 while(lst) { |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
274 GtkAppBarDockCB dock_cb = lst->data; |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
275 dock_cb(val); |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
276 lst = lst->next; |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
277 } |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
278 } |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
279 |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
280 static GdkFilterReturn wnd_moving(GtkAppBar *ab, GdkXEvent *xevent) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
281 MSG *msg = (MSG*)xevent; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
282 POINT cp; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
283 RECT *rc = (RECT*)msg->lParam; |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
284 RECT monRect; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
285 int side = -1; |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
286 long dockAreaWidth = 0; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
287 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
288 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "wnd_moving\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
289 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
290 GetCursorPos(&cp); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
291 monRect = get_rect_at_point(cp); |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
292 |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
293 dockAreaWidth = (monRect.right - monRect.left) / 10; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
294 /* Which part of the screen are we in ? */ |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
295 if (cp.x > (monRect.right - dockAreaWidth)) { |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
296 side = ABE_RIGHT; |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
297 } else if (cp.x < (monRect.left + dockAreaWidth)) { |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
298 side = ABE_LEFT; |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
299 } |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
300 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
301 if(!ab->docked) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
302 if( (side == ABE_RIGHT || side == ABE_LEFT) ) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
303 if( !ab->docking ) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
304 ab->side = side; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
305 GetWindowRect(msg->hwnd, &(ab->docked_rect)); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
306 gtk_appbar_querypos(ab, msg->hwnd, monRect); |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
307 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
308 /* save pre-docking height */ |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
309 ab->undocked_height = rc->bottom - rc->top; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
310 ab->docking = TRUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
311 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
312 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
313 else |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
314 ab->docking = FALSE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
315 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
316 else if(side < 0) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
317 gtk_appbar_unregister(ab, msg->hwnd); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
318 rc->bottom = rc->top + ab->undocked_height; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
319 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
320 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
321 /* Switch to toolbar/regular caption*/ |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
322 if(ab->docking) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
323 set_toolbar(msg->hwnd, TRUE); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
324 else if(!ab->docked) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
325 set_toolbar(msg->hwnd, FALSE); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
326 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
327 return GDK_FILTER_CONTINUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
328 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
329 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
330 static GdkFilterReturn wnd_sizing(GtkAppBar *ab, GdkXEvent *xevent) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
331 MSG *msg = (MSG*)xevent; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
332 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
333 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "wnd_sizing\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
334 if(ab->docked) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
335 RECT *rc = (RECT*)msg->lParam; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
336 if(ab->side == ABE_LEFT && msg->wParam == WMSZ_RIGHT) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
337 ab->docked_rect.right = rc->right; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
338 gtk_appbar_setpos(ab, msg->hwnd); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
339 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
340 else if(ab->side == ABE_RIGHT && msg->wParam == WMSZ_LEFT) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
341 ab->docked_rect.left = rc->left; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
342 gtk_appbar_setpos(ab, msg->hwnd); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
343 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
344 return GDK_FILTER_REMOVE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
345 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
346 return GDK_FILTER_CONTINUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
347 } |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
348 /** Notify the system that the appbar has been activated */ |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
349 static GdkFilterReturn wnd_activate(GtkAppBar *ab, GdkXEvent *xevent) { |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
350 if (ab->registered) { |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
351 APPBARDATA abd; |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
352 MSG *msg = (MSG*)xevent; |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
353 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "wnd_activate\n"); |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
354 |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
355 abd.hWnd = msg->hwnd; |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
356 abd.cbSize = sizeof(APPBARDATA); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
357 |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
358 SHAppBarMessage(ABM_ACTIVATE, &abd); |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
359 } |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
360 return GDK_FILTER_CONTINUE; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
361 } |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
362 /** Notify the system that the appbar's position has changed */ |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
363 static GdkFilterReturn wnd_poschanged(GtkAppBar *ab, GdkXEvent *xevent) { |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
364 if (ab->registered) { |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
365 APPBARDATA abd; |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
366 MSG *msg = (MSG*)xevent; |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
367 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "wnd_poschanged\n"); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
368 |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
369 abd.hWnd = msg->hwnd; |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
370 abd.cbSize = sizeof(APPBARDATA); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
371 |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
372 SHAppBarMessage(ABM_WINDOWPOSCHANGED, &abd); |
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
373 } |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
374 return GDK_FILTER_CONTINUE; |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
375 } |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
376 /** The window is about to change */ |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
377 static GdkFilterReturn wnd_poschanging(GtkAppBar *ab, GdkXEvent *xevent) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
378 MSG *msg = (MSG*)xevent; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
379 WINDOWPOS *wpos = (WINDOWPOS*)msg->lParam; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
380 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
381 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "wnd_poschanging\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
382 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
383 if(ab->docked || ab->docking) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
384 wpos->x = ab->docked_rect.left; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
385 wpos->y = ab->docked_rect.top; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
386 wpos->cx = ab->docked_rect.right - ab->docked_rect.left; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
387 wpos->cy = ab->docked_rect.bottom - ab->docked_rect.top; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
388 if(IsIconic(msg->hwnd)) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
389 set_toolbar(msg->hwnd, FALSE); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
390 /*return GDK_FILTER_REMOVE;*/ |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
391 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
392 return GDK_FILTER_CONTINUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
393 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
394 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
395 static GdkFilterReturn wnd_exitsizemove(GtkAppBar *ab, GdkXEvent *xevent) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
396 MSG *msg = (MSG*)xevent; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
397 |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
398 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "wnd_exitsizemove\n"); |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
399 if(ab->docking) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
400 gtk_appbar_setpos(ab, msg->hwnd); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
401 ab->docking = FALSE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
402 ab->docked = TRUE; |
6436
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
403 gtk_appbar_dispatch_dock_cbs(ab, TRUE); |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
404 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
405 else if(!ab->docked) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
406 gtk_appbar_unregister(ab, msg->hwnd); |
6436
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
407 gtk_appbar_dispatch_dock_cbs(ab, FALSE); |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
408 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
409 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
410 return GDK_FILTER_CONTINUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
411 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
412 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
413 static GdkFilterReturn wnd_showwindow(GtkAppBar *ab, GdkXEvent *xevent) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
414 MSG *msg = (MSG*)xevent; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
415 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
416 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "wnd_showwindow\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
417 if(msg->wParam && ab->docked) { |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
418 ab->iconized = FALSE; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
419 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "shown\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
420 ab->docked = FALSE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
421 gtk_appbar_dock(ab, ab->side); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
422 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
423 else if(!msg->wParam && ab->docked) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
424 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "hidden\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
425 gtk_appbar_unregister(ab, GDK_WINDOW_HWND(ab->win->window)); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
426 set_toolbar(GDK_WINDOW_HWND(ab->win->window), FALSE); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
427 ab->docked = TRUE; |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
428 ab->iconized = TRUE; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
429 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
430 return GDK_FILTER_CONTINUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
431 } |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
432 /** The window's size has changed */ |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
433 static GdkFilterReturn wnd_size(GtkAppBar *ab, GdkXEvent *xevent) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
434 MSG *msg = (MSG*)xevent; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
435 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
436 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "wnd_size\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
437 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
438 if(msg->wParam == SIZE_MINIMIZED) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
439 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "Minimize\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
440 if(ab->docked) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
441 gtk_appbar_unregister(ab, GDK_WINDOW_HWND(ab->win->window)); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
442 ab->docked = TRUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
443 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
444 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
445 else if(msg->wParam == SIZE_RESTORED) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
446 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "Restore\n"); |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
447 if (!ab->iconized && ab->docked) { |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
448 gtk_appbar_dock(ab, ab->side); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
449 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
450 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
451 return GDK_FILTER_CONTINUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
452 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
453 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
454 static GdkFilterReturn wnd_nchittest(GtkAppBar *ab, GdkXEvent *xevent) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
455 MSG *msg = (MSG*)xevent; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
456 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
457 if(ab->docked) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
458 UINT ret = DefWindowProc(msg->hwnd, msg->message, msg->wParam, msg->lParam); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
459 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
460 switch(ret) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
461 case HTBOTTOM: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
462 case HTBOTTOMLEFT: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
463 case HTBOTTOMRIGHT: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
464 case HTTOP: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
465 case HTTOPLEFT: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
466 case HTTOPRIGHT: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
467 return GDK_FILTER_REMOVE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
468 case HTLEFT: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
469 if(ab->side == ABE_LEFT) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
470 return GDK_FILTER_REMOVE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
471 break; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
472 case HTRIGHT: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
473 if(ab->side == ABE_RIGHT) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
474 return GDK_FILTER_REMOVE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
475 break; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
476 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
477 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
478 return GDK_FILTER_CONTINUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
479 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
480 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
481 #if 0 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
482 static GdkFilterReturn wnd_initmenupopup(GtkAppBar *ab, GdkXEvent *xevent) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
483 MSG *msg = (MSG*)xevent; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
484 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
485 if(ab->docked && HIWORD(msg->lParam)) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
486 HMENU sysmenu = GetSystemMenu(msg->hwnd, FALSE); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
487 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "wnd_initpopupmenu: docked: %d ismenu: %d\n", ab->docked, IsMenu(sysmenu)); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
488 if(EnableMenuItem(sysmenu, SC_MAXIMIZE, MF_BYCOMMAND|MF_GRAYED)<0) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
489 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "SC_MAXIMIZE Menu item does not exist\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
490 if(EnableMenuItem(sysmenu, SC_MOVE, MF_BYCOMMAND|MF_GRAYED)<0) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
491 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "SC_MOVE Menu item does not exist\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
492 return GDK_FILTER_CONTINUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
493 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
494 else |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
495 GetSystemMenu(msg->hwnd, TRUE); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
496 return GDK_FILTER_CONTINUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
497 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
498 #endif |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
499 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
500 static GdkFilterReturn gtk_appbar_callback(GtkAppBar *ab, GdkXEvent *xevent) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
501 MSG *msg = (MSG*)xevent; |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
502 RECT orig; |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
503 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
504 switch (msg->wParam) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
505 case ABN_STATECHANGE: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
506 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "gtk_appbar_callback: ABN_STATECHANGE\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
507 break; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
508 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
509 case ABN_FULLSCREENAPP: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
510 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "gtk_appbar_callback: ABN_FULLSCREENAPP: %d\n", (BOOL)msg->lParam); |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
511 if (!ab->iconized && ab->docked) { |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
512 if ((BOOL)msg->lParam) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
513 SetWindowPos(msg->hwnd, HWND_BOTTOM, 0, 0, 0, 0, |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
514 SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
515 } else { |
10538
f348b3439ce4
[gaim-migrate @ 11892]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10531
diff
changeset
|
516 SetWindowPos(msg->hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, |
f348b3439ce4
[gaim-migrate @ 11892]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10531
diff
changeset
|
517 SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE | SWP_FRAMECHANGED); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
518 } |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
519 } |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
520 |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
521 break; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
522 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
523 case ABN_POSCHANGED: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
524 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "gtk_appbar_callback: ABN_POSCHANGED\n"); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
525 CopyRect(&orig, &(ab->docked_rect)); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
526 gtk_appbar_querypos(ab, msg->hwnd, get_rect_of_window(msg->hwnd)); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
527 if (EqualRect(&orig, &(ab->docked_rect)) == 0) { |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
528 MoveWindow(msg->hwnd, ab->docked_rect.left, ab->docked_rect.top, |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
529 ab->docked_rect.right - ab->docked_rect.left, |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
530 ab->docked_rect.bottom - ab->docked_rect.top, TRUE); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
531 } |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
532 gtk_appbar_setpos(ab, msg->hwnd); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
533 break; |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
534 #if 0 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
535 default: |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
536 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "gtk_appbar_callback: %d\n", msg->wParam); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
537 #endif |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
538 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
539 return GDK_FILTER_CONTINUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
540 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
541 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
542 static GdkFilterReturn gtk_appbar_event_filter(GdkXEvent *xevent, GdkEvent *event, gpointer data) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
543 MSG *msg = (MSG*)xevent; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
544 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
545 /*printf("MSG: %s\n", message_to_string (msg->message));*/ |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
546 switch(msg->message) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
547 case WM_EXITSIZEMOVE: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
548 return wnd_exitsizemove(data, xevent); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
549 case WM_WINDOWPOSCHANGING: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
550 return wnd_poschanging(data, xevent); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
551 case WM_WINDOWPOSCHANGED: |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
552 return wnd_poschanged(data, xevent); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
553 case WM_ACTIVATE: |
10550
522cd02f235f
[gaim-migrate @ 11924]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10538
diff
changeset
|
554 return wnd_activate(data, xevent); |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
555 case WM_SIZING: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
556 return wnd_sizing(data, xevent); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
557 case WM_MOVING: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
558 return wnd_moving(data, xevent); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
559 case WM_SHOWWINDOW: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
560 return wnd_showwindow(data, xevent); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
561 case WM_NCHITTEST: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
562 return wnd_nchittest(data, xevent); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
563 #if 0 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
564 case WM_INITMENUPOPUP: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
565 return wnd_initmenupopup(data, xevent); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
566 #endif |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
567 case WM_SIZE: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
568 return wnd_size(data, xevent); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
569 case APPBAR_CALLBACK: |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
570 return gtk_appbar_callback(data, xevent); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
571 #if 0 |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
572 default: |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
573 gaim_debug_info("gtkappbar", "gtk_appbar_event_filter %d\n", msg->message); |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
574 #endif |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
575 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
576 return GDK_FILTER_CONTINUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
577 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
578 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
579 void gtk_appbar_dock(GtkAppBar *ab, UINT side) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
580 RECT orig; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
581 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
582 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "gtk_appbar_dock\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
583 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
584 if(!ab || !IsWindow(GDK_WINDOW_HWND(ab->win->window))) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
585 return; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
586 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
587 ab->side = side; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
588 get_window_normal_rc(GDK_WINDOW_HWND(ab->win->window), &(ab->docked_rect)); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
589 CopyRect(&orig, &(ab->docked_rect)); |
10531
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
590 gtk_appbar_querypos(ab, GDK_WINDOW_HWND(ab->win->window), |
940f0d8ce380
[gaim-migrate @ 11858]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
9795
diff
changeset
|
591 get_rect_of_window(GDK_WINDOW_HWND(ab->win->window))); |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
592 if(EqualRect(&orig, &(ab->docked_rect)) == 0) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
593 MoveWindow(GDK_WINDOW_HWND(ab->win->window), |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
594 ab->docked_rect.left, |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
595 ab->docked_rect.top, |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
596 ab->docked_rect.right - ab->docked_rect.left, |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
597 ab->docked_rect.bottom - ab->docked_rect.top, TRUE); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
598 gtk_appbar_setpos(ab, GDK_WINDOW_HWND(ab->win->window)); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
599 set_toolbar(GDK_WINDOW_HWND(ab->win->window), TRUE); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
600 ab->docked = TRUE; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
601 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
602 |
6436
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
603 void gtk_appbar_add_dock_cb(GtkAppBar *ab, GtkAppBarDockCB dock_cb) { |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
604 if(!ab) |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
605 return; |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
606 ab->dock_cbs = g_list_append(ab->dock_cbs, dock_cb); |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
607 } |
759a81390b36
[gaim-migrate @ 6944]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6409
diff
changeset
|
608 |
6409
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
609 GtkAppBar *gtk_appbar_add(GtkWidget *win) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
610 GtkAppBar *ab; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
611 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
612 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "gtk_appbar_add\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
613 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
614 if(!win) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
615 return NULL; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
616 ab = g_new0(GtkAppBar, 1); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
617 ab->win = win; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
618 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
619 /* init docking coords */ |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
620 get_window_normal_rc(GDK_WINDOW_HWND(win->window), &(ab->docked_rect)); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
621 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
622 /* Add main window filter */ |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
623 gdk_window_add_filter(win->window, |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
624 gtk_appbar_event_filter, |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
625 ab); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
626 return ab; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
627 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
628 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
629 void gtk_appbar_remove(GtkAppBar *ab) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
630 gaim_debug(GAIM_DEBUG_INFO, "gtkappbar", "gtk_appbar_remove\n"); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
631 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
632 if(!ab) |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
633 return; |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
634 gdk_window_remove_filter(ab->win->window, |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
635 gtk_appbar_event_filter, |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
636 ab); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
637 if(ab->docked) { |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
638 gtk_window_resize(GTK_WINDOW(ab->win), |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
639 ab->docked_rect.right - ab->docked_rect.left, |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
640 ab->undocked_height); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
641 set_toolbar(GDK_WINDOW_HWND(ab->win->window), FALSE); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
642 } |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
643 gtk_appbar_unregister(ab, GDK_WINDOW_HWND(ab->win->window)); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
644 |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
645 g_free(ab); |
752d0600b514
[gaim-migrate @ 6915]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff
changeset
|
646 } |