Mercurial > pidgin.yaz
annotate pidgin/win32/gtkwin32dep.c @ 30977:718c16d7c6c9
Fix this inconsequential compile warning:
disco.c: In function ¡Æjabber_disco_server_items_result_cb¡Ç:
disco.c:602: warning: unused variable ¡Ænode¡Ç
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 13 Sep 2010 09:20:18 +0000 |
parents | 3d045343e04d |
children | 7f79ac13965c |
rev | line source |
---|---|
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
1 /** |
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
2 * @file gtkwin32dep.c UI Win32 Specific Functionality |
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
3 * @ingroup win32 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4 * |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
5 * Pidgin is the legal property of its developers, whose names are too numerous |
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
6 * to list here. Please refer to the COPYRIGHT file distributed with this |
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
7 * source distribution. |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
8 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
9 * This program is free software; you can redistribute it and/or modify |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
10 * it under the terms of the GNU General Public License as published by |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
11 * the Free Software Foundation; either version 2 of the License, or |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
12 * (at your option) any later version. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
13 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
14 * This program is distributed in the hope that it will be useful, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
17 * GNU General Public License for more details. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
18 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
19 * You should have received a copy of the GNU General Public License |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
20 * along with this program; if not, write to the Free Software |
19680
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
18448
diff
changeset
|
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
22 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
23 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
24 #define _WIN32_IE 0x500 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
25 #ifndef WINVER |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
26 #define WINVER 0x0500 /* W2K */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
27 #endif |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
28 #include <windows.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
29 #include <io.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
30 #include <stdlib.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
31 #include <stdio.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
32 #include <winuser.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
33 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
34 #include <glib.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
35 #include <glib/gstdio.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
36 #include <gtk/gtk.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
37 #include <gdk/gdkwin32.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
38 |
18448
4b1e2aefeb9d
Fix the win32 build. Thanks to Etan and Lee Roach. Fixes #1929.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
17078
diff
changeset
|
39 #include "internal.h" |
4b1e2aefeb9d
Fix the win32 build. Thanks to Etan and Lee Roach. Fixes #1929.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
17078
diff
changeset
|
40 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
41 #include "debug.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
42 #include "notify.h" |
21828
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
43 #include "network.h" |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
44 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
45 #include "resource.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
46 #include "zlib.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
47 #include "untar.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
48 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
49 #include "gtkwin32dep.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
50 #include "win32dep.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
51 #include "gtkconv.h" |
21828
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
52 #include "gtkconn.h" |
15613
b0471b2a1de9
Core support for external protocol URIs. The actual handling of the URIs will be in the prpls and other plugins. This commit only includes the win32 method of actually passing in a URI - the dbus implementation still needs to be written.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15516
diff
changeset
|
53 #include "util.h" |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
54 #include "wspell.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
55 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
56 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
57 * GLOBALS |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
58 */ |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
59 HINSTANCE exe_hInstance = 0; |
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
60 HINSTANCE dll_hInstance = 0; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
61 HWND messagewin_hwnd; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
62 static int gtkwin32_handle; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
63 |
21828
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
64 static gboolean pwm_handles_connections = TRUE; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
65 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
66 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
67 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
68 * PUBLIC CODE |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
69 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
70 |
15997
495800004c0a
4bit icons for windows < XP. These are certainly not as pretty as the originals, but look a lot better than scaled down versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15823
diff
changeset
|
71 HINSTANCE winpidgin_exe_hinstance(void) { |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
72 return exe_hInstance; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
73 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
74 |
15997
495800004c0a
4bit icons for windows < XP. These are certainly not as pretty as the originals, but look a lot better than scaled down versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15823
diff
changeset
|
75 HINSTANCE winpidgin_dll_hinstance(void) { |
495800004c0a
4bit icons for windows < XP. These are certainly not as pretty as the originals, but look a lot better than scaled down versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15823
diff
changeset
|
76 return dll_hInstance; |
495800004c0a
4bit icons for windows < XP. These are certainly not as pretty as the originals, but look a lot better than scaled down versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15823
diff
changeset
|
77 } |
495800004c0a
4bit icons for windows < XP. These are certainly not as pretty as the originals, but look a lot better than scaled down versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15823
diff
changeset
|
78 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
79 int winpidgin_gz_decompress(const char* in, const char* out) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
80 gzFile fin; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
81 FILE *fout; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
82 char buf[1024]; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
83 int ret; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
84 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
85 if((fin = gzopen(in, "rb"))) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
86 if(!(fout = g_fopen(out, "wb"))) { |
15823 | 87 purple_debug_error("winpidgin_gz_decompress", "Error opening file: %s\n", out); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
88 gzclose(fin); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
89 return 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
90 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
91 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
92 else { |
15823 | 93 purple_debug_error("winpidgin_gz_decompress", "gzopen failed to open: %s\n", in); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
94 return 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
95 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
96 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
97 while((ret = gzread(fin, buf, 1024))) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
98 if(fwrite(buf, 1, ret, fout) < ret) { |
15823 | 99 purple_debug_error("wpurple_gz_decompress", "Error writing %d bytes to file\n", ret); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
100 gzclose(fin); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
101 fclose(fout); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
102 return 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
103 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
104 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
105 fclose(fout); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
106 gzclose(fin); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
107 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
108 if(ret < 0) { |
15823 | 109 purple_debug_error("winpidgin_gz_decompress", "gzread failed while reading: %s\n", in); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
110 return 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
111 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
112 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
113 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
114 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
115 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
116 int winpidgin_gz_untar(const char* filename, const char* destdir) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
117 char tmpfile[_MAX_PATH]; |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
118 char template[]="wpidginXXXXXX"; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
119 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
120 sprintf(tmpfile, "%s%s%s", g_get_tmp_dir(), G_DIR_SEPARATOR_S, _mktemp(template)); |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
121 if(winpidgin_gz_decompress(filename, tmpfile)) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
122 int ret; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
123 if(untar(tmpfile, destdir, UNTAR_FORCE | UNTAR_QUIET)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
124 ret = 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
125 else { |
15823 | 126 purple_debug_error("winpidgin_gz_untar", "Failure untarring %s\n", tmpfile); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
127 ret = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
128 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
129 g_unlink(tmpfile); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
130 return ret; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
131 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
132 else { |
15823 | 133 purple_debug_error("winpidgin_gz_untar", "Failed to gz decompress %s\n", filename); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
134 return 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
135 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
136 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
137 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
138 void winpidgin_shell_execute(const char *target, const char *verb, const char *clazz) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
139 |
29493
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
140 SHELLEXECUTEINFOW wsinfo; |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
141 wchar_t *w_uri, *w_verb, *w_clazz = NULL; |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
142 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
143 g_return_if_fail(target != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
144 g_return_if_fail(verb != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
145 |
29493
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
146 w_uri = g_utf8_to_utf16(target, -1, NULL, NULL, NULL); |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
147 w_verb = g_utf8_to_utf16(verb, -1, NULL, NULL, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
148 |
29493
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
149 memset(&wsinfo, 0, sizeof(wsinfo)); |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
150 wsinfo.cbSize = sizeof(wsinfo); |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
151 wsinfo.lpVerb = w_verb; |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
152 wsinfo.lpFile = w_uri; |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
153 wsinfo.nShow = SW_SHOWNORMAL; |
29757
2ad2e3490b23
propagate from branch 'im.pidgin.pidgin' (head 1d831e835bac31debd4d67cc75397c378c00bc7e)
Paul Aurich <paul@darkrain42.org>
diff
changeset
|
154 wsinfo.fMask |= SEE_MASK_FLAG_NO_UI; |
29493
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
155 if (clazz != NULL) { |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
156 w_clazz = g_utf8_to_utf16(clazz, -1, NULL, NULL, NULL); |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
157 wsinfo.fMask |= SEE_MASK_CLASSNAME; |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
158 wsinfo.lpClass = w_clazz; |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
159 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
160 |
29493
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
161 if(!ShellExecuteExW(&wsinfo)) |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
162 purple_debug_error("winpidgin", "Error opening URI: %s error: %d\n", |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
163 target, (int) wsinfo.hInstApp); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
164 |
29493
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
165 g_free(w_uri); |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
166 g_free(w_verb); |
224f9674a57e
Remove some win9x specific code.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23784
diff
changeset
|
167 g_free(w_clazz); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
168 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
169 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
170 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
171 void winpidgin_notify_uri(const char *uri) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
172 /* We'll allow whatever URI schemes are supported by the |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
173 * default http browser. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
174 */ |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
175 winpidgin_shell_execute(uri, "open", "http"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
176 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
177 |
15613
b0471b2a1de9
Core support for external protocol URIs. The actual handling of the URIs will be in the prpls and other plugins. This commit only includes the win32 method of actually passing in a URI - the dbus implementation still needs to be written.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15516
diff
changeset
|
178 #define PIDGIN_WM_FOCUS_REQUEST (WM_APP + 13) |
b0471b2a1de9
Core support for external protocol URIs. The actual handling of the URIs will be in the prpls and other plugins. This commit only includes the win32 method of actually passing in a URI - the dbus implementation still needs to be written.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15516
diff
changeset
|
179 #define PIDGIN_WM_PROTOCOL_HANDLE (WM_APP + 14) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
180 |
21828
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
181 static void* |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
182 winpidgin_netconfig_changed_cb(void *data) |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
183 { |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
184 pwm_handles_connections = FALSE; |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
185 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
186 return NULL; |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
187 } |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
188 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
189 static void* |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
190 winpidgin_get_handle(void) |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
191 { |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
192 static int handle; |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
193 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
194 return &handle; |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
195 } |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
196 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
197 static gboolean |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
198 winpidgin_pwm_reconnect() |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
199 { |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
200 purple_signal_disconnect(purple_network_get_handle(), "network-configuration-changed", |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
201 winpidgin_get_handle(), PURPLE_CALLBACK(winpidgin_netconfig_changed_cb)); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
202 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
203 if (pwm_handles_connections == TRUE) { |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
204 PurpleConnectionUiOps *ui_ops = pidgin_connections_get_ui_ops(); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
205 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
206 purple_debug_info("winpidgin", "Resumed from standby, reconnecting accounts.\n"); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
207 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
208 if (ui_ops != NULL && ui_ops->network_connected != NULL) |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
209 ui_ops->network_connected(); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
210 } else { |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
211 purple_debug_info("winpidgin", "Resumed from standby, gtkconn will handle reconnecting.\n"); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
212 pwm_handles_connections = TRUE; |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
213 } |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
214 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
215 return FALSE; |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
216 } |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
217 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
218 static LRESULT CALLBACK message_window_handler(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
219 |
15613
b0471b2a1de9
Core support for external protocol URIs. The actual handling of the URIs will be in the prpls and other plugins. This commit only includes the win32 method of actually passing in a URI - the dbus implementation still needs to be written.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15516
diff
changeset
|
220 if (msg == PIDGIN_WM_FOCUS_REQUEST) { |
15823 | 221 purple_debug_info("winpidgin", "Got external Buddy List focus request."); |
222 purple_blist_set_visible(TRUE); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
223 return TRUE; |
15613
b0471b2a1de9
Core support for external protocol URIs. The actual handling of the URIs will be in the prpls and other plugins. This commit only includes the win32 method of actually passing in a URI - the dbus implementation still needs to be written.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15516
diff
changeset
|
224 } else if (msg == PIDGIN_WM_PROTOCOL_HANDLE) { |
b0471b2a1de9
Core support for external protocol URIs. The actual handling of the URIs will be in the prpls and other plugins. This commit only includes the win32 method of actually passing in a URI - the dbus implementation still needs to be written.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15516
diff
changeset
|
225 char *proto_msg = (char *) lparam; |
15823 | 226 purple_debug_info("winpidgin", "Got protocol handler request: %s\n", proto_msg ? proto_msg : ""); |
227 purple_got_protocol_handler_uri(proto_msg); | |
15613
b0471b2a1de9
Core support for external protocol URIs. The actual handling of the URIs will be in the prpls and other plugins. This commit only includes the win32 method of actually passing in a URI - the dbus implementation still needs to be written.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15516
diff
changeset
|
228 return TRUE; |
21828
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
229 } else if (msg == WM_POWERBROADCAST) { |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
230 if (wparam == PBT_APMQUERYSUSPEND) { |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
231 purple_debug_info("winpidgin", "Windows requesting permission to suspend.\n"); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
232 return TRUE; |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
233 } else if (wparam == PBT_APMSUSPEND) { |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
234 PurpleConnectionUiOps *ui_ops = pidgin_connections_get_ui_ops(); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
235 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
236 purple_debug_info("winpidgin", "Entering system standby, disconnecting accounts.\n"); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
237 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
238 if (ui_ops != NULL && ui_ops->network_disconnected != NULL) |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
239 ui_ops->network_disconnected(); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
240 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
241 purple_signal_connect(purple_network_get_handle(), "network-configuration-changed", winpidgin_get_handle(), |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
242 PURPLE_CALLBACK(winpidgin_netconfig_changed_cb), NULL); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
243 |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
244 return TRUE; |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
245 } else if (wparam == PBT_APMRESUMESUSPEND) { |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
246 purple_debug_info("winpidgin", "Resuming from system standby.\n"); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
247 /* TODO: It seems like it'd be wise to use the NLA message, if possible, instead of this. */ |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
248 purple_timeout_add_seconds(1, winpidgin_pwm_reconnect, NULL); |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
249 return TRUE; |
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
250 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
251 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
252 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
253 return DefWindowProc(hwnd, msg, wparam, lparam); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
254 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
255 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
256 static HWND winpidgin_message_window_init(void) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
257 HWND win_hwnd; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
258 WNDCLASSEX wcx; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
259 LPCTSTR wname; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
260 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
261 wname = TEXT("WinpidginMsgWinCls"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
262 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
263 wcx.cbSize = sizeof(wcx); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
264 wcx.style = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
265 wcx.lpfnWndProc = message_window_handler; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
266 wcx.cbClsExtra = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
267 wcx.cbWndExtra = 0; |
15997
495800004c0a
4bit icons for windows < XP. These are certainly not as pretty as the originals, but look a lot better than scaled down versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15823
diff
changeset
|
268 wcx.hInstance = winpidgin_exe_hinstance(); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
269 wcx.hIcon = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
270 wcx.hCursor = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
271 wcx.hbrBackground = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
272 wcx.lpszMenuName = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
273 wcx.lpszClassName = wname; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
274 wcx.hIconSm = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
275 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
276 RegisterClassEx(&wcx); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
277 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
278 /* Create the window */ |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
279 if(!(win_hwnd = CreateWindow(wname, TEXT("WinpidginMsgWin"), 0, 0, 0, 0, 0, |
21828
85fcbd3b9d32
This is a great patch from Lee Roach to make Pidgin on win32 deal with system suspend / resume. It seems to work really well, hopefully this'll make some folks happy. If something doesn't work right, it is probably my fault. Fixes #480.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21528
diff
changeset
|
280 NULL, NULL, winpidgin_exe_hinstance(), 0))) { |
15823 | 281 purple_debug_error("winpidgin", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
282 "Unable to create message window.\n"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
283 return NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
284 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
285 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
286 return win_hwnd; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
287 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
288 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
289 static gboolean stop_flashing(GtkWidget *widget, GdkEventFocus *event, gpointer data) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
290 GtkWindow *window = data; |
17077
c3add818a46c
Don't stop all windows from flashing when any Windows Pidgin window is focused. I also noticed that we were registering a callback for the focus-in-event for each flash start and never unregistering it, so this fixes that too. Fixes #554.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16264
diff
changeset
|
291 gpointer handler_id; |
c3add818a46c
Don't stop all windows from flashing when any Windows Pidgin window is focused. I also noticed that we were registering a callback for the focus-in-event for each flash start and never unregistering it, so this fixes that too. Fixes #554.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16264
diff
changeset
|
292 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
293 winpidgin_window_flash(window, FALSE); |
17077
c3add818a46c
Don't stop all windows from flashing when any Windows Pidgin window is focused. I also noticed that we were registering a callback for the focus-in-event for each flash start and never unregistering it, so this fixes that too. Fixes #554.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16264
diff
changeset
|
294 |
23784
d9d388a27d01
Use the "Flash taskbar button X times" value from the win32 Tweak UI "Prevent
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21828
diff
changeset
|
295 if ((handler_id = g_object_get_data(G_OBJECT(window), "flash_stop_handler_id"))) { |
17077
c3add818a46c
Don't stop all windows from flashing when any Windows Pidgin window is focused. I also noticed that we were registering a callback for the focus-in-event for each flash start and never unregistering it, so this fixes that too. Fixes #554.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16264
diff
changeset
|
296 g_signal_handler_disconnect(G_OBJECT(window), (gulong) GPOINTER_TO_UINT(handler_id)); |
23784
d9d388a27d01
Use the "Flash taskbar button X times" value from the win32 Tweak UI "Prevent
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21828
diff
changeset
|
297 g_object_steal_data(G_OBJECT(window), "flash_stop_handler_id"); |
d9d388a27d01
Use the "Flash taskbar button X times" value from the win32 Tweak UI "Prevent
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21828
diff
changeset
|
298 } |
17077
c3add818a46c
Don't stop all windows from flashing when any Windows Pidgin window is focused. I also noticed that we were registering a callback for the focus-in-event for each flash start and never unregistering it, so this fixes that too. Fixes #554.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16264
diff
changeset
|
299 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
300 return FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
301 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
302 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
303 void |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
304 winpidgin_window_flash(GtkWindow *window, gboolean flash) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
305 GdkWindow * gdkwin; |
29803
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
306 FLASHWINFO info; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
307 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
308 g_return_if_fail(window != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
309 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
310 gdkwin = GTK_WIDGET(window)->window; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
311 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
312 g_return_if_fail(GDK_IS_WINDOW(gdkwin)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
313 g_return_if_fail(GDK_WINDOW_TYPE(gdkwin) != GDK_WINDOW_CHILD); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
314 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
315 if(GDK_WINDOW_DESTROYED(gdkwin)) |
16264
47907d031291
Don't flash the conv. window if it is in the foreground.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16062
diff
changeset
|
316 return; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
317 |
29803
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
318 memset(&info, 0, sizeof(FLASHWINFO)); |
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
319 info.cbSize = sizeof(FLASHWINFO); |
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
320 info.hwnd = GDK_WINDOW_HWND(gdkwin); |
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
321 if (flash) { |
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
322 DWORD flashCount; |
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
323 info.uCount = 3; |
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
324 if (SystemParametersInfo(SPI_GETFOREGROUNDFLASHCOUNT, 0, &flashCount, 0)) |
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
325 info.uCount = flashCount; |
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
326 info.dwFlags = FLASHW_ALL | FLASHW_TIMER; |
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
327 } else |
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
328 info.dwFlags = FLASHW_STOP; |
30359
129f973c38b5
Fix a regression in 2.7.0 that caused window flashing not to work on Windows.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29885
diff
changeset
|
329 FlashWindowEx(&info); |
29803
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
330 info.dwTimeout = 0; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
331 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
332 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
333 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
334 void |
15823 | 335 winpidgin_conv_blink(PurpleConversation *conv, PurpleMessageFlags flags) { |
15501
d75099d2567e
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@gmail.com>
parents:
15374
diff
changeset
|
336 PidginWindow *win; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
337 GtkWindow *window; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
338 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
339 /* Don't flash for our own messages or system messages */ |
15823 | 340 if(flags & PURPLE_MESSAGE_SEND || flags & PURPLE_MESSAGE_SYSTEM) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
341 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
342 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
343 if(conv == NULL) { |
15823 | 344 purple_debug_info("winpidgin", "No conversation found to blink.\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
345 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
346 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
347 |
15502 | 348 win = pidgin_conv_get_window(PIDGIN_CONVERSATION(conv)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
349 if(win == NULL) { |
15823 | 350 purple_debug_info("winpidgin", "No conversation windows found to blink.\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
351 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
352 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
353 window = GTK_WINDOW(win->window); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
354 |
16264
47907d031291
Don't flash the conv. window if it is in the foreground.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16062
diff
changeset
|
355 /* Don't flash if the window is in the foreground */ |
47907d031291
Don't flash the conv. window if it is in the foreground.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16062
diff
changeset
|
356 if (GetForegroundWindow() == GDK_WINDOW_HWND(GTK_WIDGET(window)->window)) |
47907d031291
Don't flash the conv. window if it is in the foreground.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16062
diff
changeset
|
357 return; |
47907d031291
Don't flash the conv. window if it is in the foreground.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16062
diff
changeset
|
358 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
359 winpidgin_window_flash(window, TRUE); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
360 /* Stop flashing when window receives focus */ |
17077
c3add818a46c
Don't stop all windows from flashing when any Windows Pidgin window is focused. I also noticed that we were registering a callback for the focus-in-event for each flash start and never unregistering it, so this fixes that too. Fixes #554.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16264
diff
changeset
|
361 if (g_object_get_data(G_OBJECT(window), "flash_stop_handler_id") == NULL) { |
c3add818a46c
Don't stop all windows from flashing when any Windows Pidgin window is focused. I also noticed that we were registering a callback for the focus-in-event for each flash start and never unregistering it, so this fixes that too. Fixes #554.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16264
diff
changeset
|
362 gulong handler_id = g_signal_connect(G_OBJECT(window), "focus-in-event", |
c3add818a46c
Don't stop all windows from flashing when any Windows Pidgin window is focused. I also noticed that we were registering a callback for the focus-in-event for each flash start and never unregistering it, so this fixes that too. Fixes #554.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16264
diff
changeset
|
363 G_CALLBACK(stop_flashing), window); |
c3add818a46c
Don't stop all windows from flashing when any Windows Pidgin window is focused. I also noticed that we were registering a callback for the focus-in-event for each flash start and never unregistering it, so this fixes that too. Fixes #554.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16264
diff
changeset
|
364 g_object_set_data(G_OBJECT(window), "flash_stop_handler_id", GUINT_TO_POINTER(handler_id)); |
c3add818a46c
Don't stop all windows from flashing when any Windows Pidgin window is focused. I also noticed that we were registering a callback for the focus-in-event for each flash start and never unregistering it, so this fixes that too. Fixes #554.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
16264
diff
changeset
|
365 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
366 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
367 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
368 static gboolean |
15823 | 369 winpidgin_conv_im_blink(PurpleAccount *account, const char *who, char **message, |
370 PurpleConversation *conv, PurpleMessageFlags flags, void *data) | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
371 { |
16062
07554cc5d090
Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <stu@nosnilmot.com>
parents:
15997
diff
changeset
|
372 if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/win32/blink_im")) |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
373 winpidgin_conv_blink(conv, flags); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
374 return FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
375 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
376 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
377 void winpidgin_init(HINSTANCE hint) { |
29885
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
378 FARPROC proc; |
30900
3d045343e04d
Use some fully qualified dll locations.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30893
diff
changeset
|
379 gchar *exchndl_dll_path; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
380 |
15823 | 381 purple_debug_info("winpidgin", "winpidgin_init start\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
382 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
383 exe_hInstance = hint; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
384 |
30900
3d045343e04d
Use some fully qualified dll locations.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30893
diff
changeset
|
385 exchndl_dll_path = g_build_filename(wpurple_install_dir(), "exchndl.dll", NULL); |
3d045343e04d
Use some fully qualified dll locations.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30893
diff
changeset
|
386 proc = wpurple_find_and_loadproc(exchndl_dll_path, "SetLogFile"); |
3d045343e04d
Use some fully qualified dll locations.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30893
diff
changeset
|
387 g_free(exchndl_dll_path); |
3d045343e04d
Use some fully qualified dll locations.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30893
diff
changeset
|
388 exchndl_dll_path = NULL; |
29885
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
389 if (proc) { |
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
390 gchar *debug_dir, *locale_debug_dir; |
30893
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
391 |
29885
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
392 debug_dir = g_build_filename(purple_user_dir(), "pidgin.RPT", NULL); |
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
393 locale_debug_dir = g_locale_from_utf8(debug_dir, -1, NULL, NULL, NULL); |
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
394 |
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
395 purple_debug_info("winpidgin", "Setting exchndl.dll LogFile to %s\n", debug_dir); |
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
396 |
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
397 (proc)(locale_debug_dir); |
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
398 |
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
399 g_free(debug_dir); |
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
400 g_free(locale_debug_dir); |
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
401 } |
80e05718db82
Make Pidgin set the exchndl.dll log file to ~/.purple/pidgin.RPT
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29803
diff
changeset
|
402 |
15638
026f9c6cc942
winpidgin warning fixes
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15613
diff
changeset
|
403 winpidgin_spell_init(); |
15823 | 404 purple_debug_info("winpidgin", "GTK+ :%u.%u.%u\n", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
405 gtk_major_version, gtk_minor_version, gtk_micro_version); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
406 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
407 messagewin_hwnd = winpidgin_message_window_init(); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
408 |
15823 | 409 purple_debug_info("winpidgin", "winpidgin_init end\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
410 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
411 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
412 void winpidgin_post_init(void) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
413 |
16062
07554cc5d090
Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <stu@nosnilmot.com>
parents:
15997
diff
changeset
|
414 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/win32"); |
07554cc5d090
Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <stu@nosnilmot.com>
parents:
15997
diff
changeset
|
415 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/win32/blink_im", TRUE); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
416 |
15823 | 417 purple_signal_connect(pidgin_conversations_get_handle(), |
418 "displaying-im-msg", >kwin32_handle, PURPLE_CALLBACK(winpidgin_conv_im_blink), | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
419 NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
420 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
421 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
422 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
423 /* Windows Cleanup */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
424 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
425 void winpidgin_cleanup(void) { |
15823 | 426 purple_debug_info("winpidgin", "winpidgin_cleanup\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
427 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
428 if(messagewin_hwnd) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
429 DestroyWindow(messagewin_hwnd); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
430 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
431 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
432 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
433 /* DLL initializer */ |
15638
026f9c6cc942
winpidgin warning fixes
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15613
diff
changeset
|
434 /* suppress gcc "no previous prototype" warning */ |
026f9c6cc942
winpidgin warning fixes
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15613
diff
changeset
|
435 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
436 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
437 dll_hInstance = hinstDLL; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
438 return TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
439 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
440 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
441 static gboolean |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
442 get_WorkingAreaRectForWindow(HWND hwnd, RECT *workingAreaRc) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
443 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
444 HMONITOR monitor; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
445 MONITORINFO info; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
446 |
29803
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
447 monitor = MonitorFromWindow(hwnd, MONITOR_DEFAULTTOPRIMARY); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
448 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
449 info.cbSize = sizeof(info); |
29803
c3cd8f9fe4b1
Avoid looking up functions by name that will be present on all supported Windows versions.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29757
diff
changeset
|
450 if(!GetMonitorInfo(monitor, &info)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
451 return FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
452 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
453 CopyRect(workingAreaRc, &(info.rcWork)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
454 return TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
455 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
456 |
15515
75ffc646647f
Win32 de-gaimification of pidgin
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15502
diff
changeset
|
457 void winpidgin_ensure_onscreen(GtkWidget *win) { |
20242
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
458 RECT winR, wAR, intR; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
459 HWND hwnd = GDK_WINDOW_HWND(win->window); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
460 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
461 g_return_if_fail(hwnd != NULL); |
20242
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
462 GetWindowRect(hwnd, &winR); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
463 |
15823 | 464 purple_debug_info("win32placement", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
465 "Window RECT: L:%ld R:%ld T:%ld B:%ld\n", |
20242
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
466 winR.left, winR.right, |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
467 winR.top, winR.bottom); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
468 |
20242
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
469 if(!get_WorkingAreaRectForWindow(hwnd, &wAR)) { |
15823 | 470 purple_debug_info("win32placement", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
471 "Couldn't get multimonitor working area\n"); |
20242
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
472 if(!SystemParametersInfo(SPI_GETWORKAREA, 0, &wAR, FALSE)) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
473 /* I don't think this will ever happen */ |
20242
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
474 wAR.left = 0; |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
475 wAR.top = 0; |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
476 wAR.bottom = GetSystemMetrics(SM_CYSCREEN); |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
477 wAR.right = GetSystemMetrics(SM_CXSCREEN); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
478 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
479 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
480 |
15823 | 481 purple_debug_info("win32placement", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
482 "Working Area RECT: L:%ld R:%ld T:%ld B:%ld\n", |
20242
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
483 wAR.left, wAR.right, |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
484 wAR.top, wAR.bottom); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
485 |
20242
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
486 /** If the conversation window doesn't intersect perfectly, move it to do so */ |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
487 if(!(IntersectRect(&intR, &winR, &wAR) |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
488 && EqualRect(&intR, &winR))) { |
15823 | 489 purple_debug_info("win32placement", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
490 "conversation window out of working area, relocating\n"); |
20242
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
491 |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
492 /* Make sure the working area is big enough. */ |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
493 if ((winR.right - winR.left) <= (wAR.right - wAR.left) |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
494 && (winR.bottom - winR.top) <= (wAR.bottom - wAR.top)) { |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
495 /* Is it off the bottom? */ |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
496 if (winR.bottom > wAR.bottom) { |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
497 winR.top = wAR.bottom - (winR.bottom - winR.top); |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
498 winR.bottom = wAR.bottom; |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
499 } |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
500 /* Is it off the top? */ |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
501 else if (winR.top < wAR.top) { |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
502 winR.bottom = wAR.top + (winR.bottom - winR.top); |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
503 winR.top = wAR.top; |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
504 } |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
505 |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
506 /* Is it off the left? */ |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
507 if (winR.left < wAR.left) { |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
508 winR.right = wAR.left + (winR.right - winR.left); |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
509 winR.left = wAR.left; |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
510 } |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
511 /* Is it off the right? */ |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
512 else if (winR.right > wAR.right) { |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
513 winR.left = wAR.right - (winR.right - winR.left); |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
514 winR.right = wAR.right; |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
515 } |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
516 |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
517 } else { |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
518 /* We couldn't salvage it; move it to the top left corner of the working area */ |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
519 winR.right = wAR.left + (winR.right - winR.left); |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
520 winR.bottom = wAR.top + (winR.bottom - winR.top); |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
521 winR.left = wAR.left; |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
522 winR.top = wAR.top; |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
523 } |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
524 |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
525 purple_debug_info("win32placement", |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
526 "Relocation RECT: L:%ld R:%ld T:%ld B:%ld\n", |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
527 winR.left, winR.right, |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
528 winR.top, winR.bottom); |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
529 |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
530 MoveWindow(hwnd, winR.left, winR.top, |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
531 (winR.right - winR.left), |
c320bc7b1383
applied changes from 1036f20a46ec1ba10dd2519fd09b44a607cdf202
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
532 (winR.bottom - winR.top), TRUE); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
533 } |
30893
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
534 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
535 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
536 |
30893
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
537 DWORD winpidgin_get_lastactive() { |
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
538 DWORD result = 0; |
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
539 |
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
540 LASTINPUTINFO lii; |
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
541 memset(&lii, 0, sizeof(lii)); |
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
542 lii.cbSize = sizeof(lii); |
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
543 if (GetLastInputInfo(&lii)) |
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
544 result = lii.dwTime; |
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
545 |
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
546 return result; |
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
547 } |
80affba7ea0d
Kill the win32 idle tracking code that works on old windows versions and move
Daniel Atallah <daniel.atallah@gmail.com>
parents:
30359
diff
changeset
|
548 |