annotate plugins/docklet/MinimizeToTray.c @ 13545:cfc2f7fcb3dd

[gaim-migrate @ 15922] Way more changes that I initially thought I was going to make. I apologize for the commit message spam. These changes bring a lot of consistency to our capitalization and punctuation, especially of words like "e-mail". For reference, I've used these rules (after discussing in #gaim): e-mail, a case of two words joined: "e-mail" - in the middle of a sentence caps context "E-mail" - start of text in a sentence caps context "E-Mail" - in a header (title) caps context re-enable, a single word, would be: "re-enable", "Re-enable", and "Re-enable" (respectively) The reason this changeset exploded is that, as I went through and verified these changes, I realized we were using improper capitalization (e.g. header instead of sentence) in a number of dialogs. I fixed a number of these cases before, and this corrects another pile. This looks like I've made a LOT of work for the translators, but the impact is significantly mitigated by three factors: 1) Many of these changes use strings that already exist, or change one string in many places. 2) I've used sed to correct the .po files where possible. 3) The actual changes are extremely trivial. committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Tue, 21 Mar 2006 04:32:45 +0000
parents 6de39a8cc2c1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
1 /* MinimizeToTray
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
2 *
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
3 * A couple of routines to show how to make it produce a custom caption
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
4 * animation to make it look like we are minimizing to and maximizing
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
5 * from the system tray
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
6 *
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
7 * These routines are public domain, but it would be nice if you dropped
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
8 * me a line if you use them!
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
9 *
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
10 * 1.0 29.06.2000 Initial version
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
11 * 1.1 01.07.2000 The window retains it's place in the Z-order of windows
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
12 * when minimized/hidden. This means that when restored/shown, it doesn't
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
13 * always appear as the foreground window unless we call SetForegroundWindow
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
14 *
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
15 * Copyright 2000 Matthew Ellis <m.t.ellis@bigfoot.com>
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
16 */
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
17 #define _WIN32_WINNT 0x0500
11845
9beb663a6fb5 [gaim-migrate @ 14136]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11709
diff changeset
18 #include <windows.h>
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
19 #include "MinimizeToTray.h"
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
20
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
21 #define DEFAULT_RECT_WIDTH 150
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
22 #define DEFAULT_RECT_HEIGHT 30
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
23
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
24 static void GetTrayWndRect(LPRECT lpTrayRect) {
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
25 APPBARDATA appBarData;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
26 HWND hShellTrayWnd = FindWindowEx(NULL, NULL, TEXT("Shell_TrayWnd"),
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
27 NULL);
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
28
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
29 if(hShellTrayWnd) {
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
30 HWND hTrayNotifyWnd = FindWindowEx(hShellTrayWnd, NULL,
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
31 TEXT("TrayNotifyWnd"), NULL);
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
32
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
33 if(hTrayNotifyWnd) {
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
34 GetWindowRect(hTrayNotifyWnd,lpTrayRect);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
35 return;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
36 }
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
37 }
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
38
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
39 appBarData.cbSize = sizeof(appBarData);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
40 if(SHAppBarMessage(ABM_GETTASKBARPOS, &appBarData)) {
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
41 switch(appBarData.uEdge) {
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
42 case ABE_LEFT:
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
43 case ABE_RIGHT:
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
44 lpTrayRect->top = appBarData.rc.bottom - 100;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
45 lpTrayRect->bottom = appBarData.rc.bottom - 16;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
46 lpTrayRect->left = appBarData.rc.left;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
47 lpTrayRect->right = appBarData.rc.right;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
48 break;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
49 case ABE_TOP:
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
50 case ABE_BOTTOM:
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
51 lpTrayRect->top = appBarData.rc.top;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
52 lpTrayRect->bottom = appBarData.rc.bottom;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
53 lpTrayRect->left = appBarData.rc.right - 100;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
54 lpTrayRect->right = appBarData.rc.right - 16;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
55 break;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
56 }
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
57 return;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
58 }
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
59
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
60 hShellTrayWnd = FindWindowEx(NULL, NULL, TEXT("Shell_TrayWnd"), NULL);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
61 if(hShellTrayWnd) {
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
62 GetWindowRect(hShellTrayWnd, lpTrayRect);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
63 if(lpTrayRect->right-lpTrayRect->left > DEFAULT_RECT_WIDTH)
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
64 lpTrayRect->left = lpTrayRect->right - DEFAULT_RECT_WIDTH;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
65 if(lpTrayRect->bottom-lpTrayRect->top > DEFAULT_RECT_HEIGHT)
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
66 lpTrayRect->top=lpTrayRect->bottom - DEFAULT_RECT_HEIGHT;
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
67
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
68 return;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
69 }
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
70
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
71 SystemParametersInfo(SPI_GETWORKAREA, 0, lpTrayRect, 0);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
72 lpTrayRect->left = lpTrayRect->right - DEFAULT_RECT_WIDTH;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
73 lpTrayRect->top = lpTrayRect->bottom - DEFAULT_RECT_HEIGHT;
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
74 }
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
75
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
76 static BOOL GetDoAnimateMinimize(void) {
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
77 ANIMATIONINFO ai;
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
78
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
79 ai.cbSize = sizeof(ai);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
80 SystemParametersInfo(SPI_GETANIMATION, sizeof(ai), &ai, 0);
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
81
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
82 return ai.iMinAnimate ? TRUE : FALSE;
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
83 }
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
84
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
85 void MinimizeWndToTray(HWND hWnd) {
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
86
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
87 if(!IsWindowVisible(hWnd))
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
88 return;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
89
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
90 if(GetDoAnimateMinimize()) {
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
91 RECT rcFrom, rcTo;
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
92
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
93 GetWindowRect(hWnd, &rcFrom);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
94 GetTrayWndRect(&rcTo);
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
95
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
96 DrawAnimatedRects(hWnd, IDANI_CAPTION, &rcFrom, &rcTo);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
97 }
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
98
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
99 ShowWindow(hWnd, SW_HIDE);
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
100 }
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
101
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
102 void RestoreWndFromTray(HWND hWnd) {
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
103
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
104 if(IsWindowVisible(hWnd))
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
105 return;
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
106
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
107 if(GetDoAnimateMinimize()) {
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
108 RECT rcFrom, rcTo;
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
109 GetTrayWndRect(&rcFrom);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
110 GetWindowRect(hWnd, &rcTo);
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
111
13432
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
112 DrawAnimatedRects(hWnd, IDANI_CAPTION, &rcFrom, &rcTo);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
113 }
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
114
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
115 ShowWindow(hWnd, SW_SHOW);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
116 SetActiveWindow(hWnd);
6de39a8cc2c1 [gaim-migrate @ 15807]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11845
diff changeset
117 SetForegroundWindow(hWnd);
11709
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
118 }
cae2fb7e8594 [gaim-migrate @ 14000]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
119