-const char w32taskbar_rcs[] = "$Id: w32taskbar.c,v 1.1.1.1 2001/05/15 13:59:08 oes Exp $";
+const char w32taskbar_rcs[] = "$Id: w32taskbar.c,v 1.13 2012/03/09 16:23:50 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/w32taskbar.c,v $
* Purpose : Functions for creating, setting and destroying the
* workspace tray icon
*
- * Copyright : Written by and Copyright (C) 2001 the SourceForge
- * IJBSWA team. http://ijbswa.sourceforge.net
+ * Copyright : Written by and Copyright (C) 2001-2002 members of
+ * the Privoxy team. http://www.privoxy.org/
*
* Written by and Copyright (C) 1999 Adam Lock
* <locka@iol.ie>
*
- * This program is free software; you can redistribute it
+ * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
- * Revisions :
- * $Log: w32taskbar.c,v $
- * Revision 1.1.1.1 2001/05/15 13:59:08 oes
- * Initial import of version 2.9.3 source tree
- *
- *
*********************************************************************/
-\f
+
#include "config.h"
#include <stdio.h>
+#ifndef STRICT
+#define STRICT
+#endif
#include <windows.h>
#include "w32taskbar.h"
#include "w32log.h"
const char w32taskbar_h_rcs[] = W32TASKBAR_H_VERSION;
-\r
-#ifndef _WIN_CONSOLE /* entire file */\r
+
+#ifndef _WIN_CONSOLE /* entire file */
#define WM_TRAYMSG WM_USER+1
static HMENU g_hmenuTray;
static HWND g_hwndTrayX;
+static UINT g_traycreatedmsg;
static LRESULT CALLBACK TrayProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
*
* Function : CreateTrayWindow
*
- * Description : Creates and returns the invisible window responsible for processing tray messages.
+ * Description : Creates and returns the invisible window responsible
+ * for processing tray messages.
*
* Parameters :
* 1 : hInstance = instance handle of this application
HWND CreateTrayWindow(HINSTANCE hInstance)
{
WNDCLASS wc;
- static const char *szWndName = "JunkbusterTrayWindow";
+ static const char *szWndName = "PrivoxyTrayWindow";
wc.style = 0;
wc.lpfnWndProc = TrayProc;
RegisterClass(&wc);
+ /* TaskbarCreated is sent to a window when it should re-add its tray icons */
+ g_traycreatedmsg = RegisterWindowMessage("TaskbarCreated");
+
g_hwndTrayX = CreateWindow(szWndName, szWndName,
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
- CW_USEDEFAULT, NULL, NULL, hInstance, NULL );
+ CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
ShowWindow(g_hwndTrayX, SW_HIDE);
UpdateWindow(g_hwndTrayX);
nid.uCallbackMessage = 0;
nid.hIcon = hicon;
- return( Shell_NotifyIcon(NIM_MODIFY, &nid) );
+ return(Shell_NotifyIcon(NIM_MODIFY, &nid));
}
strcpy(nid.szTip, pszToolTip);
}
- return( Shell_NotifyIcon(NIM_ADD, &nid) );
+ return(Shell_NotifyIcon(NIM_ADD, &nid));
}
nid.hWnd = hwnd;
nid.uID = uID;
- return( Shell_NotifyIcon(NIM_DELETE, &nid) );
+ return(Shell_NotifyIcon(NIM_DELETE, &nid));
}
case WM_TRAYMSG:
{
- UINT uID = (UINT) wParam;
+ /* UINT uID = (UINT) wParam; */
UINT uMouseMsg = (UINT) lParam;
if (uMouseMsg == WM_RBUTTONDOWN)
GetCursorPos(&pt);
SetForegroundWindow(g_hwndLogFrame);
TrackPopupMenu(hmenu, TPM_LEFTALIGN | TPM_TOPALIGN, pt.x, pt.y, 0, g_hwndLogFrame, NULL);
- PostMessage(g_hwndLogFrame, WM_NULL, 0, 0 ) ;
+ PostMessage(g_hwndLogFrame, WM_NULL, 0, 0);
}
else if (uMouseMsg == WM_LBUTTONDBLCLK)
{
return 0;
default:
- /* DO NOTHING */
+
+ if (msg == g_traycreatedmsg)
+ {
+ TrayAddIcon(g_hwndTrayX, 1, g_hiconApp, "Privoxy");
+ }
break;
}
}
-#endif /* ndef _WIN_CONSOLE - entire file */\r
-\r
+#endif /* ndef _WIN_CONSOLE - entire file */
+
/*
Local Variables:
tab-width: 3