From 0749cb1553194eaa955f328f11166839ba1101a4 Mon Sep 17 00:00:00 2001 From: TingPing Date: Tue, 24 Sep 2013 21:01:16 -0400 Subject: [PATCH] Remove hextray --- plugins/hextray/bitmaps/sd.bmp | Bin 32824 -> 0 bytes plugins/hextray/callbacks.cpp | 734 ------------------------ plugins/hextray/callbacks.h | 37 -- plugins/hextray/hexchat.cpp | 320 ----------- plugins/hextray/hexchat.h | 32 -- plugins/hextray/hextray.cpp | 246 -------- plugins/hextray/hextray.def | 3 - plugins/hextray/hextray.h | 83 --- plugins/hextray/hextray.vcxproj | 129 ----- plugins/hextray/hextray.vcxproj.filters | 103 ---- plugins/hextray/icons/ban.ico | Bin 1150 -> 0 bytes plugins/hextray/icons/disconnect.ico | Bin 1150 -> 0 bytes plugins/hextray/icons/hexchat.ico | Bin 17542 -> 0 bytes plugins/hextray/icons/highlight.ico | Bin 1150 -> 0 bytes plugins/hextray/icons/kick.ico | Bin 1150 -> 0 bytes plugins/hextray/icons/message.ico | Bin 1150 -> 0 bytes plugins/hextray/icons/notice.ico | Bin 1150 -> 0 bytes plugins/hextray/icons/sd.ico | Bin 24358 -> 0 bytes plugins/hextray/resource.h | 47 -- plugins/hextray/resource.rc | 309 ---------- plugins/hextray/sdAlerts.cpp | 109 ---- plugins/hextray/sdAlerts.h | 26 - plugins/hextray/sdTray.cpp | 207 ------- plugins/hextray/sdTray.h | 39 -- plugins/hextray/utility.cpp | 410 ------------- plugins/hextray/utility.h | 46 -- win32/hexchat.sln | 6 - 27 files changed, 2886 deletions(-) delete mode 100644 plugins/hextray/bitmaps/sd.bmp delete mode 100644 plugins/hextray/callbacks.cpp delete mode 100644 plugins/hextray/callbacks.h delete mode 100644 plugins/hextray/hexchat.cpp delete mode 100644 plugins/hextray/hexchat.h delete mode 100644 plugins/hextray/hextray.cpp delete mode 100644 plugins/hextray/hextray.def delete mode 100644 plugins/hextray/hextray.h delete mode 100644 plugins/hextray/hextray.vcxproj delete mode 100644 plugins/hextray/hextray.vcxproj.filters delete mode 100644 plugins/hextray/icons/ban.ico delete mode 100644 plugins/hextray/icons/disconnect.ico delete mode 100644 plugins/hextray/icons/hexchat.ico delete mode 100644 plugins/hextray/icons/highlight.ico delete mode 100644 plugins/hextray/icons/kick.ico delete mode 100644 plugins/hextray/icons/message.ico delete mode 100644 plugins/hextray/icons/notice.ico delete mode 100644 plugins/hextray/icons/sd.ico delete mode 100644 plugins/hextray/resource.h delete mode 100644 plugins/hextray/resource.rc delete mode 100644 plugins/hextray/sdAlerts.cpp delete mode 100644 plugins/hextray/sdAlerts.h delete mode 100644 plugins/hextray/sdTray.cpp delete mode 100644 plugins/hextray/sdTray.h delete mode 100644 plugins/hextray/utility.cpp delete mode 100644 plugins/hextray/utility.h diff --git a/plugins/hextray/bitmaps/sd.bmp b/plugins/hextray/bitmaps/sd.bmp deleted file mode 100644 index 9d6b7f954c7e191141888e5865f8e3acfd39674c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32824 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 UObu^&ZydOB;KqT=<$&k?3r(ERYybcN diff --git a/plugins/hextray/callbacks.cpp b/plugins/hextray/callbacks.cpp deleted file mode 100644 index d902af50..00000000 --- a/plugins/hextray/callbacks.cpp +++ /dev/null @@ -1,734 +0,0 @@ -/* X-Tray - * Copyright (C) 2005 Michael Hotaling - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#define _WIN32_IE 0x0601 - -#include -#include -#include -#include - -#include "hexchat-plugin.h" -#include "utility.h" -#include "hextray.h" -#include "hexchat.h" -#include "callbacks.h" -#include "resource.h" -#include "sdTray.h" -#include "sdAlerts.h" - -HWND g_hPrefTabEvents; -HWND g_hPrefTabSettings; -HWND g_hPrefTabAlerts; -HWND g_hPrefTabAbout; -bool g_bCanQuit; -int g_iIsActive = 1; - - -BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam) -{ - TCHAR szTitle[10]; - GetWindowText(hWnd, szTitle, 9); - - if(_tcsstr(szTitle, _T("HexChat ["))) - { - g_hXchatWnd = hWnd; - return false; - } - - return true; -} - -/***********************************************************************************************/ -/******* our HexChat event call back, get the name and info for each event and save it *********/ -/******* for our alerts later ******************************************************************/ -/***********************************************************************************************/ -int event_cb(char *word[], void *userdata) -{ - int iEvent = (int)userdata; - - if(iEvent > 10 && iEvent != 21) - return HEXCHAT_EAT_NONE; - - /***************************************************************************************/ - /***** if the window is minimized or if we're allowed to show alerts when its not **/ - /***** and if the option to show the specified alert is true and if we're even **/ - /***** allowed to show alerts at all then we show them (a bit confusing but it works) **/ - /***************************************************************************************/ - if(((g_iIsActive == 0) || !(g_dwPrefs & (1< 0) - { - hexchat_set_context(ph, hexchat_find_server(msg-1)); - - if(!hexchat_get_info(ph, "away")) - { - hexchat_away(g_szAway); - } - else - { - hexchat_back(); - } - } - } - break; - } - - return 1; -} - -int CALLBACK PrefProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) -{ - switch(msg) - { - case WM_INITDIALOG: - { - TCITEM tci1; - TCITEM tci2; - TCITEM tci3; - TCITEM tci4; - - tci1.mask = TCIF_TEXT; - tci1.pszText = _T("Settings"); - tci1.cchTextMax = strlen("Settings"); - SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 0, (LPARAM)&tci1); - - tci2.mask = TCIF_TEXT; - tci2.pszText = _T("Alerts"); - tci2.cchTextMax = strlen("Alerts"); - SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 1, (LPARAM)&tci2); - - tci3.mask = TCIF_TEXT; - tci3.pszText = _T("Events"); - tci3.cchTextMax = strlen("Events"); - SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 2, (LPARAM)&tci3); - - tci4.mask = TCIF_TEXT; - tci4.pszText = _T("About"); - tci4.cchTextMax = strlen("About"); - SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 3, (LPARAM)&tci4); - - - /***********************************************************************************/ - /***********************************************************************************/ - /***********************************************************************************/ - - g_hPrefTabSettings = CreateDialog((HINSTANCE)g_hInstance, - MAKEINTRESOURCE(IDD_SETTINGS), - hWnd, - (DLGPROC)SettingsProc); - SetDialog(g_hPrefTabSettings, IDD_SETTINGS); - - g_hPrefTabAlerts = CreateDialog((HINSTANCE)g_hInstance, - MAKEINTRESOURCE(IDD_ALERTS), - hWnd, - (DLGPROC)AlertsProc); - SetDialog(g_hPrefTabAlerts, IDD_ALERTS); - - g_hPrefTabEvents = CreateDialog((HINSTANCE)g_hInstance, - MAKEINTRESOURCE(IDD_EVENTS), - hWnd, - (DLGPROC)EventsProc); - SetDialog(g_hPrefTabEvents, IDD_EVENTS); - - g_hPrefTabAbout = CreateDialog((HINSTANCE)g_hInstance, - MAKEINTRESOURCE(IDD_ABOUT), - hWnd, - (DLGPROC)AboutProc); - } - break; - case WM_SHOWWINDOW: - { - if(wparam) - { - SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_SETCURSEL, 0, 0); - ShowWindow(g_hPrefTabSettings, SW_SHOW); - ShowWindow(g_hPrefTabAlerts, SW_HIDE); - ShowWindow(g_hPrefTabEvents, SW_HIDE); - ShowWindow(g_hPrefTabAbout, SW_HIDE); - } - } - break; - case WM_NOTIFY: - { - NMHDR *pData = (NMHDR *)lparam; - - switch(pData->code) - { - case TCN_SELCHANGE: - { - switch(SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_GETCURSEL, 0, 0)) - { - case 0: - { - ShowWindow(g_hPrefTabSettings, SW_SHOW); - ShowWindow(g_hPrefTabAlerts, SW_HIDE); - ShowWindow(g_hPrefTabEvents, SW_HIDE); - ShowWindow(g_hPrefTabAbout, SW_HIDE); - } - break; - case 1: - { - ShowWindow(g_hPrefTabSettings, SW_HIDE); - ShowWindow(g_hPrefTabAlerts, SW_SHOW); - ShowWindow(g_hPrefTabEvents, SW_HIDE); - ShowWindow(g_hPrefTabAbout, SW_HIDE); - } - break; - case 2: - { - ShowWindow(g_hPrefTabSettings, SW_HIDE); - ShowWindow(g_hPrefTabAlerts, SW_HIDE); - ShowWindow(g_hPrefTabEvents, SW_SHOW); - ShowWindow(g_hPrefTabAbout, SW_HIDE); - } - break; - case 3: - { - ShowWindow(g_hPrefTabSettings, SW_HIDE); - ShowWindow(g_hPrefTabAlerts, SW_HIDE); - ShowWindow(g_hPrefTabEvents, SW_HIDE); - ShowWindow(g_hPrefTabAbout, SW_SHOW); - } - break; - } - } - break; - } - } - break; - case WM_CLOSE: - { - ShowWindow(g_hPrefTabEvents, SW_HIDE); - ShowWindow(g_hPrefTabSettings, SW_HIDE); - ShowWindow(g_hPrefTabAlerts, SW_HIDE); - ShowWindow(g_hPrefTabAbout, SW_HIDE); - ShowWindow(hWnd, SW_HIDE); - return TRUE; - } - break; - case WM_COMMAND: - { - switch(wparam) - { - case IDC_PREF_OK: - { - CheckPrefs(g_hPrefTabEvents, IDD_EVENTS); - CheckPrefs(g_hPrefTabSettings, IDD_SETTINGS); - CheckPrefs(g_hPrefTabAlerts, IDD_ALERTS); - - SavePrefs(0); - - ShowWindow(g_hPrefTabEvents, SW_HIDE); - ShowWindow(g_hPrefTabSettings, SW_HIDE); - ShowWindow(g_hPrefTabAlerts, SW_HIDE); - ShowWindow(g_hPrefTabAbout, SW_HIDE); - ShowWindow(hWnd, SW_HIDE); - return TRUE; - } - break; - case IDC_PREF_CANCEL: - { - ShowWindow(g_hPrefTabEvents, SW_HIDE); - ShowWindow(g_hPrefTabSettings, SW_HIDE); - ShowWindow(g_hPrefTabAlerts, SW_HIDE); - ShowWindow(g_hPrefTabAbout, SW_HIDE); - ShowWindow(hWnd, SW_HIDE); - return TRUE; - } - break; - case IDC_PREF_APPLY: - { - CheckPrefs(g_hPrefTabEvents, IDD_EVENTS); - CheckPrefs(g_hPrefTabSettings, IDD_SETTINGS); - CheckPrefs(g_hPrefTabAlerts, IDD_ALERTS); - - SavePrefs(0); - return FALSE; - } - break; - } - } - break; - case WM_DESTROY: - { - SendMessage(g_hPrefTabEvents, WM_CLOSE, 0, 0); - SendMessage(g_hPrefTabSettings, WM_CLOSE, 0, 0); - SendMessage(g_hPrefTabAbout, WM_CLOSE, 0, 0); - SendMessage(g_hPrefTabAlerts, WM_CLOSE, 0, 0); - } - break; - } - - return FALSE; -} - -/****************************************************/ -/****************************************************/ -/****************************************************/ -LRESULT CALLBACK AlertsProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) -{ - switch(msg) - { - case WM_CLOSE: - { - DestroyWindow(hWnd); - return TRUE; - break; - } - break; - case WM_COMMAND: - { - switch(LOWORD(wparam)) - { - case PREF_AMAE: - { - SetToggle(hWnd, PREF_OSBWM, PREF_AMAE, TRUE); - SetToggle(hWnd, PREF_UWIOB, PREF_AMAE, TRUE); - SetToggle(hWnd, PREF_KAOI, PREF_AMAE, TRUE); - - if(IsDlgButtonChecked(hWnd, PREF_AMAE)) - { - SetToggle(hWnd, IDC_ALERT_HOTKEY, PREF_UWIOB, TRUE); - SetToggle(hWnd, IDC_ALERT_HOTKEY_TEXT, PREF_UWIOB, TRUE); - SetToggle(hWnd, IDC_ALERT_TIME, PREF_KAOI, FALSE); - SetToggle(hWnd, IDC_ALERT_TIME_TEXT, PREF_KAOI, FALSE); - } - else - { - SetToggle(hWnd, IDC_ALERT_HOTKEY, PREF_AMAE, TRUE); - SetToggle(hWnd, IDC_ALERT_HOTKEY_TEXT, PREF_AMAE, TRUE); - SetToggle(hWnd, IDC_ALERT_TIME, PREF_AMAE, TRUE); - SetToggle(hWnd, IDC_ALERT_TIME_TEXT, PREF_AMAE, TRUE); - } - } - break; - case PREF_UWIOB: - { - SetToggle(hWnd, IDC_ALERT_HOTKEY, PREF_UWIOB, TRUE); - SetToggle(hWnd, IDC_ALERT_HOTKEY_TEXT, PREF_UWIOB, TRUE); - } - break; - case PREF_KAOI: - { - SetToggle(hWnd, IDC_ALERT_TIME, PREF_KAOI, FALSE); - SetToggle(hWnd, IDC_ALERT_TIME_TEXT, PREF_KAOI, FALSE); - } - break; - } - break; - } - } - - return FALSE; -} - -/****************************************************/ -/****************************************************/ -/****************************************************/ -LRESULT CALLBACK AboutProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) -{ - if(msg == WM_CLOSE) - { - DestroyWindow(hWnd); - return true; - } - - return FALSE; -} - -/*****************************************************/ -/** Process the events for our event dialog **********/ -/*****************************************************/ -LRESULT CALLBACK EventsProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) -{ - if(msg == WM_CLOSE) - { - DestroyWindow(hWnd); - return true; - } - - return FALSE; -} - -/*****************************************************/ -/** Process the events for our settings dialog this **/ -/** is alot more complicated because options are **/ -/** enabled/disabled based on the state of others **/ -/*****************************************************/ -LRESULT CALLBACK SettingsProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) -{ - if(msg == WM_CLOSE) - { - DestroyWindow(hWnd); - return true; - } - - return FALSE; -} - -/*****************************************************/ -/** this is the hotkey message processing function **/ -/** this window is always open and ready to be told **/ -/** if someone has hit the hotkey, if they did, we **/ -/** need to close out all of the tray alerts, for **/ -/** this I wrote sdCloseAlerts, more info there **/ -/*****************************************************/ -LRESULT CALLBACK HotKeyProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) -{ - if(msg == WM_CLOSE) - { - DestroyWindow(hWnd); - return true; - } - else if(msg == WM_HOTKEY) - { - sdCloseAlerts(); - } - - return FALSE; -} - diff --git a/plugins/hextray/callbacks.h b/plugins/hextray/callbacks.h deleted file mode 100644 index fc7cf47b..00000000 --- a/plugins/hextray/callbacks.h +++ /dev/null @@ -1,37 +0,0 @@ -/* X-Tray - * Copyright (C) 2005 Michael Hotaling - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef _H_CALLBACKS_H -#define _H_CALLBACKS_H - -int event_cb (char *word[], void *userdata); -int command_cb (char *word[], char *word_eol[], void *userdata); - -LRESULT CALLBACK WindowProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); -BOOL CALLBACK EnumWindowsProc (HWND hWnd, LPARAM lParam); -LRESULT CALLBACK sdTrayProc (HWND hwnd, int msg); - -LRESULT CALLBACK AlertProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); -LRESULT CALLBACK HotKeyProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); -LRESULT CALLBACK EventsProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); -LRESULT CALLBACK AboutProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); -LRESULT CALLBACK AlertsProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); -LRESULT CALLBACK SettingsProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); -int CALLBACK PrefProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); - -#endif diff --git a/plugins/hextray/hexchat.cpp b/plugins/hextray/hexchat.cpp deleted file mode 100644 index 211e5c7f..00000000 --- a/plugins/hextray/hexchat.cpp +++ /dev/null @@ -1,320 +0,0 @@ -/* X-Tray - * Copyright (C) 1998, 2005 Peter Zelezny, Michael Hotaling - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include -#include -#include -#include -#include - -#include "hexchat-plugin.h" -#include "hextray.h" -#include "resource.h" -#include "hexchat.h" -#include "utility.h" - -// from util.c of HexChat source code ( slightly modified to fit HexTray Syntax ) -char *hexchat_strip_color (char *text) -{ - int nc = 0; - int i = 0; - int col = 0; - int len = strlen(text); - char *new_str = (char *)malloc(len + 2); - - while (len > 0) - { - if ((col && isdigit(*text) && (nc < 2)) || (col && isdigit(*(text+1)) && (nc < 3) && (*text == ','))) - { - nc++; - - if(*text == ',') - { - nc = 0; - } - } - else - { - col = 0; - - switch (*text) - { - case '\003': /*ATTR_COLOR: */ - { - col = 1; - nc = 0; - } - break; - case '\007': /*ATTR_BEEP: */ - case '\017': /*ATTR_RESET: */ - case '\026': /*ATTR_REVERSE: */ - case '\002': /*ATTR_BOLD: */ - case '\037': /*ATTR_UNDERLINE: */ - break; - default: - { - new_str[i] = *text; - i++; - } - break; - } - } - - text++; - len--; - } - - new_str[i] = 0; - - return new_str; -} - -void check_special_chars (char *cmd) -{ - int occur = 0; - int len = strlen (cmd); - int i = 0, j = 0; - char *buf; - - if (!len) - return; - - buf = (char *)malloc (len + 1); - - if (buf) - { - while (cmd[j]) - { - switch (cmd[j]) - { - case '%': - { - occur++; - - switch (cmd[j + 1]) - { - case 'R': - buf[i] = '\026'; - break; - case 'U': - buf[i] = '\037'; - break; - case 'B': - buf[i] = '\002'; - break; - case 'C': - buf[i] = '\003'; - break; - case 'O': - buf[i] = '\017'; - break; - case '%': - buf[i] = '%'; - break; - default: - buf[i] = '%'; - j--; - break; - } - - j++; - } - break; - default: - { - buf[i] = cmd[j]; - } - break; - } - - j++; - i++; - } - - buf[i] = 0; - - if (occur) - strcpy (cmd, buf); - - free (buf); - } -} - -void hexchat_globally_away(TCHAR *tszAway) -{ - char szTemp[512]; - char szAway[512]; - - ConvertString(tszAway, szAway, 512); - _snprintf(szTemp, 512, "ALLSERV AWAY %s\0", szAway); - check_special_chars(szTemp); - hexchat_exec(szTemp); -} - -void hexchat_away(TCHAR *tszAway) -{ - char szTemp[512]; - char szAway[512]; - - ConvertString(tszAway, szAway, 512); - _snprintf(szTemp, 512, szAway); - check_special_chars(szTemp); - hexchat_commandf(ph, "AWAY %s\0", szTemp); -} - -void hexchat_globally_back() -{ - std::vector xs; - std::vector::iterator xsi; - hexchat_list *xl = hexchat_list_get(ph, "channels"); - - if(xl) - { - while(hexchat_list_next(ph, xl)) - { - xsi = std::find(xs.begin(), xs.end(), hexchat_list_int(ph, xl, "id")); - - if((xsi == xs.end()) && - ((strlen(hexchat_list_str(ph, xl, "server")) > 0) || - (strlen(hexchat_list_str(ph, xl, "channel")) > 0))) - { - xs.push_back(hexchat_list_int(ph, xl, "id")); - hexchat_set_context(ph, (hexchat_context *)hexchat_list_str(ph, xl, "context")); - hexchat_back(); - } - } - - hexchat_list_free(ph, xl); - } -} - - - -void hexchat_back() -{ - if(hexchat_get_info(ph, "away")) - { - hexchat_command(ph, "BACK"); - } -} - -HMENU setServerMenu() -{ - HMENU sTemp = CreateMenu(); - TCHAR wszServer[128]; - TCHAR wszNick[128]; - TCHAR wszMenuEntry[256]; - - std::vector xs; - std::vector::iterator xsi; - hexchat_list *xl = hexchat_list_get(ph, "channels"); - - AppendMenu(sTemp, MF_STRING, ACT_AWAY, _T("Set Globally Away")); - AppendMenu(sTemp, MF_STRING, ACT_BACK, _T("Set Globally Back")); - AppendMenu(sTemp, MF_SEPARATOR, 0, NULL); - - if(xl) - { - while(hexchat_list_next(ph, xl)) - { - xsi = std::find(xs.begin(), xs.end(), hexchat_list_int(ph, xl, "id")); - - if( (xsi == xs.end()) && - ((strlen(hexchat_list_str(ph, xl, "server")) > 0) || - (strlen(hexchat_list_str(ph, xl, "channel")) > 0))) - { - hexchat_set_context(ph, (hexchat_context *)hexchat_list_str(ph, xl, "context")); - xs.push_back(hexchat_list_int(ph, xl, "id")); - - char *network = _strdup(hexchat_list_str(ph, xl, "network")); - char *server = _strdup(hexchat_list_str(ph, xl, "server")); - char *nick = _strdup(hexchat_get_info(ph, "nick")); - - if(network != NULL) - { - ConvertString(network, wszServer, 128); - } - else - { - ConvertString(server, wszServer, 128); - } - - if(server != NULL) - { - ConvertString(nick, wszNick, 128); - _sntprintf(wszMenuEntry, 256, _T("%s @ %s\0"), wszNick, wszServer); - - if(!hexchat_get_info(ph, "away")) - { - AppendMenu(sTemp, MF_STRING, (hexchat_list_int(ph, xl, "id") + 1), wszMenuEntry); - } - else - { - AppendMenu(sTemp, (MF_CHECKED | MF_STRING), (hexchat_list_int(ph, xl, "id") + 1), wszMenuEntry); - } - } - - free(network); - free(server); - free(nick); - } - } - - hexchat_list_free(ph, xl); - } - - return sTemp; -} - -struct _hexchat_context *hexchat_find_server(int find_id) -{ - hexchat_context *xc; - hexchat_list *xl = hexchat_list_get(ph, "channels"); - int id; - - if(!xl) - return NULL; - - while(hexchat_list_next(ph, xl)) - { - id = hexchat_list_int(ph, xl, "id"); - - if(id == -1) - { - return NULL; - } - else if(id == find_id) - { - xc = (hexchat_context *)hexchat_list_str(ph, xl, "context"); - - hexchat_list_free(ph, xl); - - return xc; - } - } - - hexchat_list_free(ph, xl); - - return NULL; -} - -void hexchat_exec(char *command) -{ - hexchat_set_context(ph, hexchat_find_context(ph, NULL, NULL)); - hexchat_command(ph, command); -} diff --git a/plugins/hextray/hexchat.h b/plugins/hextray/hexchat.h deleted file mode 100644 index bae633b2..00000000 --- a/plugins/hextray/hexchat.h +++ /dev/null @@ -1,32 +0,0 @@ -/* X-Tray - * Copyright (C) 2005 Michael Hotaling - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef _H_XCHAT_H -#define _H_XCHAT_H - -void hexchat_exec (char *); -char *hexchat_strip_color (char *); -void hexchat_parse (char *); -struct _hexchat_context *hexchat_find_server (int); -void hexchat_globally_away (TCHAR *); -void hexchat_away (TCHAR *); -void hexchat_globally_back (); -void hexchat_back (); -HMENU setServerMenu (); - -#endif diff --git a/plugins/hextray/hextray.cpp b/plugins/hextray/hextray.cpp deleted file mode 100644 index bf09f736..00000000 --- a/plugins/hextray/hextray.cpp +++ /dev/null @@ -1,246 +0,0 @@ -/* X-Tray - * Copyright (C) 2005 Michael Hotaling - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#define _WIN32_IE 0x0601 - -#include -#include -#include -#include - -#include "hexchat-plugin.h" -#include "resource.h" -#include "callbacks.h" -#include "utility.h" -#include "hextray.h" -#include "sdTray.h" -#include "sdAlerts.h" - -/*****************************************************/ -/**** Don't want to pollute the namespace do we? *****/ -/*****************************************************/ -std::list g_vHooks; - -/*****************************************************/ -/************ Global Identifiers *********************/ -/*****************************************************/ -WNDPROC g_hOldProc; -hexchat_plugin *ph; - -/*****************************************************/ -/***************** Resources *************************/ -/*****************************************************/ -HWND g_hXchatWnd; -HWND g_hHotkeyWnd; -HWND g_hPrefDlg; -HMENU g_hTrayMenu; -HICON g_hIcons[24]; -HANDLE g_hInstance; -/*****************************************************/ -/***************** Preferences ***********************/ -/*****************************************************/ -unsigned int g_dwPrefs; -TCHAR g_szAway[512]; -int g_iTime; - - -BOOL WINAPI DllMain(HANDLE hModule, DWORD fdwReason, LPVOID lpVoid) -{ - if((fdwReason == DLL_PROCESS_ATTACH) || (fdwReason == DLL_THREAD_ATTACH)) - { - g_hInstance = hModule; - } - - return TRUE; -} - -int hexchat_plugin_init(hexchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) -{ - ph = plugin_handle; - - *plugin_name = "HexTray"; - *plugin_desc = "Minimize HexChat to the Windows system tray"; - *plugin_version = "1.3.0"; - - char buffer[256]; - - /***************************************************************************************************************************/ - /************************* Initialize our preferences if they don't exist yet **********************************************/ - /***************************************************************************************************************************/ - - if (hexchat_pluginpref_get_int (ph, "settings") == -1) - { - hexchat_pluginpref_set_int (ph, "settings", HT_DEF_SET); - } - if (hexchat_pluginpref_get_int (ph, "aot") == -1) - { - hexchat_pluginpref_set_int (ph, "aot", HT_DEF_AOT); - } - if (hexchat_pluginpref_get_int (ph, "key") == -1) - { - hexchat_pluginpref_set_int (ph, "key", HT_DEF_KEY); - } - if (hexchat_pluginpref_get_int (ph, "mod") == -1) - { - hexchat_pluginpref_set_int (ph, "mod", HT_DEF_MOD); - } - if (hexchat_pluginpref_get_str (ph, "away", buffer) == 0) - { - hexchat_pluginpref_set_str (ph, "away", ""); - } - - /***************************************************************************************************************************/ - /************************* Load our preferences ****************************************************************************/ - /***************************************************************************************************************************/ - LoadPrefs(); - - /***************************************************************************************************************************/ - /************************* Finds the HexChat window and saves it for later use *********************************************/ - /***************************************************************************************************************************/ - g_hXchatWnd = (HWND)hexchat_get_info(ph, "win_ptr"); - - if(g_hXchatWnd == NULL) - { - EnumThreadWindows(GetCurrentThreadId(), EnumWindowsProc, 0); - } - - g_hOldProc = (WNDPROC)GetWindowLongPtr(g_hXchatWnd, GWLP_WNDPROC); - SetWindowLongPtr(g_hXchatWnd, GWLP_WNDPROC, (LONG_PTR)WindowProc); - - /***************************************************************************************************************************/ - /************************* Grab the HexChat Icon, Load our menu, create the window to receive the hotkey messages *********/ - /************************* and register the windows message so we know if explorer crashes ***********/ - /***************************************************************************************************************************/ - g_hTrayMenu = GetSubMenu(LoadMenu((HINSTANCE)g_hInstance, MAKEINTRESOURCE(IDR_TRAY_MENU)), 0); - g_hHotkeyWnd = CreateDialog((HINSTANCE)g_hInstance, MAKEINTRESOURCE(IDD_ALERT), NULL, (DLGPROC)HotKeyProc); - g_hPrefDlg = CreateDialog((HINSTANCE)g_hInstance, MAKEINTRESOURCE(IDD_PREF), g_hXchatWnd, (DLGPROC)PrefProc); - - g_hIcons[0] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_XCHAT), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); - g_hIcons[2] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_HIGHLIGHT), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); - g_hIcons[5] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_BANNED), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); - g_hIcons[6] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_KICKED), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); - g_hIcons[8] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_PMSG), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); - g_hIcons[10]= (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_SNOTICE), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); - g_hIcons[11]= (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_DISCONNECTED), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); - g_hIcons[22] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_CHANMSG), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); - - /***************************************************************************************************************************/ - /************************* Add our icon to the tray ************************************************************************/ - /***************************************************************************************************************************/ - char szVersion[64]; - _snprintf(szVersion, 64, "HexChat %s", hexchat_get_info(ph, "version")); - AddIcon(g_hXchatWnd, 1, g_hIcons[0], szVersion, (NIF_ICON | NIF_MESSAGE | NIF_TIP), WM_TRAYMSG); - - /***************************************************************************************************************************/ - /***************************************************************************************************************************/ - /***************************************************************************************************************************/ - if(g_dwPrefs & (1< - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef _XTRAY_H -#define _XTRAY_H - -/******************** Default settings*****************/ -#define HT_DEF_SET 13814 -#define HT_DEF_AOT 5 -#define HT_DEF_KEY 84 -#define HT_DEF_MOD 6 - -/******************** Globals *************************/ -extern HWND g_hXchatWnd; -extern HWND g_hHotkeyWnd; -extern HWND g_hPrefDlg; -extern HMENU g_hTrayMenu; -extern HICON g_hIcons[24]; -extern HANDLE g_hInstance; -extern unsigned int g_dwPrefs; -extern TCHAR g_szAway[512]; -extern int g_iTime; -extern WNDPROC g_hOldProc; -extern struct _hexchat_plugin *ph; -/******************************************************/ - -/******************** Messages ************************/ -#define WM_TRAYMSG WM_APP -/******************************************************/ - -/********************* Events *************************/ -#define CHAN_HILIGHT 1 -#define CHAN_INVITE 2 -#define CHAN_TOPIC_CHANGE 3 -#define CHAN_BANNED 4 -#define CHAN_KICKED 5 - -#define CTCP_GENERIC 6 -#define PMSG_RECEIVE 7 - -#define SERV_KILLED 8 -#define SERV_NOTICE 9 -#define SERV_DISCONNECT 10 - -/* new events */ -#define CHAN_MESSAGE 21 - -#define PREF_AOM 11 // away on minimize -#define PREF_TOT 12 // Tray on Taskbar -#define PREF_AMAE 13 // alert me about events -#define PREF_OSBWM 14 // Only Show Balloon When Minimized -#define PREF_UWIOB 15 // Use Window Instead of Balloon -#define PREF_KAOI 16 // Keep alerts open indefinitely -#define PREF_MIOC 17 // Minimize instead of close -#define PREF_BLINK 18 // blink icon -#define PREF_CICO 19 // change icon - not implemented -#define PREF_DNSIT 20 // Do not show in taskbar -/******************************************************/ -#endif - -#ifdef _WIN64 -/* use replacement with the same value, and use SetWindowLongPtr instead - of SetWindowLong. more info: - - http://msdn.microsoft.com/en-us/library/ms633591.aspx - http://msdn.microsoft.com/en-us/library/ms644898.aspx */ -#define GWL_HWNDPARENT GWLP_HWNDPARENT -#endif diff --git a/plugins/hextray/hextray.vcxproj b/plugins/hextray/hextray.vcxproj deleted file mode 100644 index fc3f1e0c..00000000 --- a/plugins/hextray/hextray.vcxproj +++ /dev/null @@ -1,129 +0,0 @@ - - - - v120 - - - - Release - Win32 - - - Release - x64 - - - - {3024CF36-85E5-4E00-9608-7002E2C7EF14} - Win32Proj - hextray - - - - DynamicLibrary - false - true - MultiByte - - - DynamicLibrary - false - true - MultiByte - - - - - - - - - - - - - - - false - $(HexChatBin) - $(HexChatObj)$(ProjectName)\ - hchextray - - - false - $(HexChatBin) - $(HexChatObj)$(ProjectName)\ - hchextray - - - - - - true - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;XTRAY_EXPORTS;%(PreprocessorDefinitions) - true - ..\..\src\common;%(AdditionalIncludeDirectories) - - - Windows - true - true - true - hextray.def - - - - - - - true - true - WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;XTRAY_EXPORTS;%(PreprocessorDefinitions) - true - ..\..\src\common;%(AdditionalIncludeDirectories) - - - Windows - true - true - true - hextray.def - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/plugins/hextray/hextray.vcxproj.filters b/plugins/hextray/hextray.vcxproj.filters deleted file mode 100644 index 1f9a4057..00000000 --- a/plugins/hextray/hextray.vcxproj.filters +++ /dev/null @@ -1,103 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {448b49a5-e68b-451e-bfbc-0855da024b2e} - - - {8345128a-0635-43d6-9115-a85ad9c77ee2} - - - - - Resource Files - - - Resource Files\bitmaps - - - Resource Files\icons - - - Resource Files\icons - - - Resource Files\icons - - - Resource Files\icons - - - Resource Files\icons - - - Resource Files\icons - - - Resource Files\icons - - - Resource Files\icons - - - - - Resource Files - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/plugins/hextray/icons/ban.ico b/plugins/hextray/icons/ban.ico deleted file mode 100644 index 72630e5476bb2fdaf6c80b3f4a13162a77369fde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcma)6TWnNi5dO}#blXKrTPX_GRs_m!x4T{0OSiP!+IFwB3*8HQX}5qaO4$N2+CWUK z($rWqA^Jcx7=3Btt3fm-CK~loB&LW&yu>!eHb5d?UX0rQpK}%rHPOU5`TjX){`uz2 znSbU0np_nXko5tK6a(u4m<3`I%PqU8|0^ZpxK417V8dXO|}s_-9CD}LDsvU zRppK^73@?fwfrQ$Edu${6;ftBRpgxEW@}j48ZD~X<7Q`PC&S?ocSU=cOeU1ae_X+F zktnV>D>+oJV0((}udu-#RTi_EjV*g^W<$6|dF@5O%iI2IC=&gww|(vyD*0+z*$)PT0XDTp zh+`zG?HBOy_<2nHA^ZW!E&jXks|}&&zux43lucGMw*~i8d+Hi-pYv^}!`{>G^Rdy> zPP`!e+O}`e&=bJaO{vWgvr?nGS_dz;WgllG*sZn%2C1E1B2LS>P2E^-=t^8^cDq;? zJ*seGmN2dvllPV3kvA^8o;%0E{;Z1cNi&&9vC+F6w!8R3xw!-63Wo|7mI>ukUh9^!gqRG1;K3NzHck(XKWLc$;Z9(*&)aO^9-5NpdZM{)+B}$BiVUzoU n$SLCIwZNPa_*iy6nFLN~w@~VkftR1i-_QDV6vzL!g42*`AZ+G>z2Ab|yfMJI~Ev6%USi;7X>m?ro}I-Gln z+n5<2G(lb5VvN}q6JOBHg&DK(1qi5P;t&Yjh=pRA?F0=dea_A!m~8vBbMw3B-gD0X z-21!%3SU+$_&y8U!+@Cp(iskMWGc??|C)&lV;MW+m`1j=F%f2Sq#+Opgb5)Wp-@QW z*gq{B23tS0g8MKpe}KpmFU-YWM7%KolT+uyUS>l{$?7N~n#(;bL;3^LM=c#2OMke! zMYXTAO3yo+$FwvWevSKC%W$#Ojme>KPkx zHtD|EpZ1fnoJh&P!egm^hK<}uOXz0pYp}VNVZ#7nO^bk0-GzwsqbYm4g}r$~IBNSy zJvl*%mq%&w{)RD&Ev^F5X*DSK5sI$~)^9_`&fnqTevT|Tw>eBWOmT<9Do4n;Pf+yX zXOwnrh*lM@Jn}k_QubbD0Sb=|VDEE6+`=~GdsDwH-w{Qh8yA_aelbgb zJZ62u@qi$uFC-FpePYgc3FRDr+gYTu*2PFGL~SeKGRH6R9%&#lxZF*y^36rLt#{UD zwDtUD8zzx@T^HI}znJmv=W_kFC)%GDOrW9sN0UwAR ziTmqm$#0|Nxbv72PhB0X`u@_Mm(pn;56{U*xX0gb93nLI5-xNxfAD|x5Uvjk^pddT zy%|j2bzoifFU@8D(aYB|xZmo>4$pm5eKCj+jt{@!;8#Ap|H&X0WqY~i9VS8+|I5PV zv3+4OC-=5IyGcy)v`=6k1Cwf06onswpBis~XAD6Lpz}%owTbx{_>j|etd5UoxLX~+ P%b3hHagD5%8mavo>6MOy diff --git a/plugins/hextray/icons/hexchat.ico b/plugins/hextray/icons/hexchat.ico deleted file mode 100644 index 694937dfd470939af63631f26eb7dbb57618532d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17542 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 F{~t!l)qns1 diff --git a/plugins/hextray/icons/highlight.ico b/plugins/hextray/icons/highlight.ico deleted file mode 100644 index 8e37c87d44b427b1697ed98c6df6c04977be3e9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmaJ=3rv$&6#n`^Kok&Bz+rVpGbJe~C^$tl7Q!-hWf@@V9Aue~YCuhdWm7aRzJTHj ziBmAtxS%sxrpcD-n4mZxsDuexXcSwNmWYX+5CviO9?unvW?4LczW<#6ob#P~&%Ngd z6#N7SgWnTjR0CrHOl7c(J%fH$?-zyA8z06-C?kv!@dmPF2*Zytl*smfWj2OII1rHf zP#yG{GsBSU%J?$Zr4CH(fL~lYMvQJ_!g457{$8R&f5>YFB6w*hqDf52AmOyz$#r!% z+0U&bhqaL=XOe)nU%+?jKTP#N8pNg3j=%$R52i8!=|W5+SgR*U9Xq^3zQoXLD7z%lfnX=r7k_BK-+* zjG*VZW+gE(n<3A`7f~CVkwr98yMol&c7l;aa!EH?>-LBnr*l0zll!$#ndPA2@jFQ7 zB0zJOxl<6LO~vvK!WRu5#IOA^bo$~4Sm~snt~$l}avl9vnn>n4hk&t*LSxgqFemR6 zvbzYMo)gSpg&Avaqk!v0B(xzQbiR7cWxZmWzO%mhCjGiEfld}D(3Pe}Qbwh9`z)(k zh4Jx`NG|I@{=bAV(G6Hoa04dhhiPrl%+(D~Kb(ui)z7W>Z;2D8IdpXUOloYoE|8o* z5Rkg12n%<8h@@}tp@=z}#CwQZl!9HnpN;hc{@Twi!HaTUC@TBN)_R4^MM+e)C6*d) zT1athfCAGuzZ?;hb`jeg9u%|?d`ISS5B|umu%e=$0u5UUXGuiY2+>r3k`8auijwt{ zJk@7PDCPpMS3|-tr-D$$cJ$(Q=4u&IQc!q}@H^j4%?tXfmBinF9uf!hqk2p^liZct z_2TO`j#c-+u8*u@d4ER6&>SLGcN~B85o(`N@nsvGJ+@(>&^W>U!#9yncIL!A+y9r1 zP~9tV>H%R?m<3AJ7`d==?mDTYgky8L8@EY}zSb*hY)w>IW~3vftEsN_7DZfoF3`ez zn5Fyw`5mm0j!z5@tl9byd8ST7skuu+`Tc=MSYOzQ8S`A6W`N4)?Y;+j@4n?s%Gs9x wZX`qVMvr4X3O+t6)lPC`<^;;e*=v zm18XoKIsJ07|+1mOa3u~RD9*3ykxO~EEWsZ);_9*GUO=yxAbD&H$r4HK?ToVf=t_y(m~Ubo8&upD~3+w z=8&JCA4v*@Tz>O5!R{qEIX3oe`q8+KZ-nDC1e`ikA zCVaHt>68;oId?;$;F1}7Mi63(JCHL<2o8UN&8}xCAhI8F568#t9F`>McfMHfPRpe9 zi%%&n!%>}`eI$zWr(CsU!6XCj`VuH(D(&er<*M& zBqUNO-V)R^vpG(K)Jx5{`h#G$dvSxPxaOt2%oy^!j&UvDnYPD7 zlckzt!?v|CZ(<1BilS$P`&?5M$;+Scf6O^H5*VocTZ61ttGxbDk>K|-{`BFhnCqw= zCe-o0SP}+P9a&`_k7rb^R{uJOPwQxY0fm`N)to!Ae|QTWT$lUsj(fDOoABTxMZOuK zv*$g&y4g<|>FM&}Ja-?j*D)sdFB5D@h_$t1zpEYDg#K}H`%6&vGtkoiTM??yMUo@XlPhrv)SfP8Jl6rU@$N}W_)Al4*=TKK>b#R a8_46pyg>Gw8M^U3bM-u?0wPxAh}@t4r%@IF diff --git a/plugins/hextray/icons/message.ico b/plugins/hextray/icons/message.ico deleted file mode 100644 index a0df65677a648e4b1a9784daf41858ea47fcb4a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmZvb4NTN^7{|W{Ot>T7eM{O+=W-1FBLum%2oWRk$ja<}*+Np1CXTZCb~jzJoHe7h znYohIVl@U+0bK`n2Pe8C1G->B;2n2fc*mi<9ieh}{GOiwow#Z}|9$??@Bci%@ALcr z-T(zZ@$umIQoI`hECi6kaEK$JIJ^J1cJbf%JPyof7BLUsM=qJjL@{AZ$OVCM5*mit#?9IFofvmZbDUf6H!n73Dsi`%u`wsvv?bF_9o1g2>L_52&6o@2yvTT zNF#xje=%Odid)QWLh2MDJs^TPW$L)%As*-XQ_&A<5QXRDvh8x8iErY1Y-4R^)GmfN&ut>!8gtdi#zviK#rQh}Ckv`-52NjLrSm0NUw zHz+!f+q}J}hrF$OErFkQTdC>&L24==6sy<2Lr}#Qvshk_NTif^OZ$m>>ul6k>79pW{158v>qsrk z$HyL09_X4a*s`;IU3n#C*8Ax3MxV%PxJPSh$0@6U+l_u&tNordFK)l6Jmw*2dkK*- zdw32?6jfbQd^1C_TR$S`dH>JN2-HqdV&3bwlCt?s)Ql6yf;nYb6``8P&V1RyT8V)o zI{8_}(aVGe)*9~#n28cKZ+TVAb6$vDxlx**w`BsCIcMM+7f3{ud_juHq%xK&Wqr^x zpRR`fE}_*=(J$?o4O^J<8Iq;fpw7@lEPG;K!scRvNeI+9D17nKW)xPgnvK`6)t3C4?&q+g!H1=e~NJ6Up3@2Dc@iDd_Tgd@B1a}<$D*-ge?CM hUt3@z4sb*Qt(=iLtOzmJZSLE21TeLQ`pOzv`!{|B&LaQ- diff --git a/plugins/hextray/icons/notice.ico b/plugins/hextray/icons/notice.ico deleted file mode 100644 index 156fdf209d444b7b8a5bcea8eb82847488e2e41d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 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 - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include -#include -#include -#include "utility.h" -#include "resource.h" -#include "sdAlerts.h" - -int g_iAlerts = 0; - -void sdSystemAlert(HINSTANCE hModule, UINT uiDialog, char *szMsg, char *szName, unsigned int iTime) -{ - TCHAR wszMsg[256]; - TCHAR wszName[64]; - - HWND hDialog; - RECT rcWorkArea, rcDlg; - int ixPos, iyPos; - int iNumPerCol; - - hDialog = CreateDialog(hModule, MAKEINTRESOURCE(uiDialog), NULL, (DLGPROC)sdAlertProc); - - SystemParametersInfo(SPI_GETWORKAREA, 0, &rcWorkArea, 0); - GetWindowRect(hDialog, &rcDlg); - - iNumPerCol = ((rcWorkArea.bottom - rcWorkArea.top) / (rcDlg.bottom - rcDlg.top)); - ixPos = rcWorkArea.right - (rcDlg.right - rcDlg.left) + 1; - iyPos = rcWorkArea.bottom - (rcDlg.bottom - rcDlg.top); - - if((g_iAlerts >= iNumPerCol) && (iNumPerCol > 0)) - { - ixPos -= ((g_iAlerts / iNumPerCol) * (rcDlg.right - rcDlg.left)); - iyPos -= ((g_iAlerts - (iNumPerCol * (g_iAlerts / iNumPerCol))) * (rcDlg.bottom - rcDlg.top)); - } - else - { - iyPos -= (g_iAlerts * (rcDlg.bottom - rcDlg.top)); - } - SetWindowPos(hDialog, HWND_TOPMOST, ixPos, iyPos, 0, 0, SWP_NOSIZE | SWP_NOACTIVATE); - - ConvertString(szName, wszName, 64); - ConvertString(szMsg, wszMsg, 256); - - SetWindowText(hDialog, wszName); - SetDlgItemText(hDialog, IDC_ALERT_MSG, wszMsg); - ShowWindow(hDialog, SW_SHOWNA); - - if(iTime > 0) - { - SetTimer(hDialog, 1, iTime, NULL); - } - - g_iAlerts++; -} - -void sdCloseAlerts() -{ - PostMessage(HWND_BROADCAST, RegisterWindowMessage(TEXT("xTray:CloseAllAlertWindows")), 0, 0); -} - -LRESULT CALLBACK sdAlertProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) -{ - switch(msg) - { - case WM_CLOSE: - if(g_iAlerts > 0){ g_iAlerts--; } - DestroyWindow(hwnd); - return TRUE; - break; - case WM_TIMER: - if(g_iAlerts > 0){ g_iAlerts--; } - AnimateWindow(hwnd, 600, AW_SLIDE | AW_HIDE | AW_VER_POSITIVE); - DestroyWindow(hwnd); - return TRUE; - break; - default: - if(msg == RegisterWindowMessage(TEXT("xTray:CloseAllAlertWindows"))) - { - if(g_iAlerts > 0){ g_iAlerts--; } - DestroyWindow(hwnd); - return TRUE; - } - break; - } - - return FALSE; -} - -int sdAlertNum() -{ - return g_iAlerts; -} diff --git a/plugins/hextray/sdAlerts.h b/plugins/hextray/sdAlerts.h deleted file mode 100644 index 6c2a3dc0..00000000 --- a/plugins/hextray/sdAlerts.h +++ /dev/null @@ -1,26 +0,0 @@ -/* X-Tray - * Copyright (C) 2005 Michael Hotaling - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef _H_SDALERTS_H -#define _H_SDALERTS_H - -void sdSystemAlert (HINSTANCE, UINT, char *, char *, UINT); -LRESULT CALLBACK sdAlertProc (HWND, UINT, WPARAM, LPARAM); -int sdAlertNum (); -void sdCloseAlerts (); -#endif diff --git a/plugins/hextray/sdTray.cpp b/plugins/hextray/sdTray.cpp deleted file mode 100644 index 953fcf4a..00000000 --- a/plugins/hextray/sdTray.cpp +++ /dev/null @@ -1,207 +0,0 @@ -/* X-Tray - * Copyright (C) 2005 Michael Hotaling - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ -#define _WIN32_IE 0x601 -#include -#include -#include -#include "sdTray.h" -#include "utility.h" - -HANDLE hThread; -iBlink *tData = NULL; - -int AddIcon(HWND hwnd, UINT id, HICON hicon, char *szTip, unsigned short flags, unsigned int cbMsg) -{ - NOTIFYICONDATA nidata; - - nidata.cbSize = NOTIFYICONDATA_V2_SIZE; - nidata.hIcon = hicon; - nidata.hWnd = hwnd; - nidata.uCallbackMessage = cbMsg; - nidata.uFlags = flags; - nidata.uID = id; - - if(szTip != NULL) - { - TCHAR *szTemp = new TCHAR[64]; - - ConvertString(szTip, szTemp, 64); - _tcsncpy(nidata.szTip, szTemp, 64); - - delete[] szTemp; - } - - return Shell_NotifyIcon(NIM_ADD, &nidata); -} - -int RemoveIcon(HWND hwnd, UINT id) -{ - if(hThread != NULL) - { - TerminateThread(hThread, 0); - hThread = NULL; - - delete tData; - } - - NOTIFYICONDATA nidata; - - nidata.cbSize = NOTIFYICONDATA_V2_SIZE; - nidata.hWnd = hwnd; - nidata.uID = id; - - return Shell_NotifyIcon(NIM_DELETE, &nidata); -} - -int SetIcon(HWND hwnd, UINT id, HICON hicon) -{ - NOTIFYICONDATA nidata; - - nidata.cbSize = NOTIFYICONDATA_V2_SIZE; - nidata.hWnd = hwnd; - nidata.uID = id; - nidata.hIcon = hicon; - nidata.uFlags = NIF_ICON; - - return Shell_NotifyIcon(NIM_MODIFY, &nidata); -} - -int SetTooltip(HWND hwnd, UINT id, char *szTip) -{ - NOTIFYICONDATA nidata; - - nidata.cbSize = NOTIFYICONDATA_V2_SIZE; - nidata.hWnd = hwnd; - nidata.uID = id; - nidata.uFlags = NIF_TIP; - - if(szTip != NULL) - { - TCHAR *szTemp = new TCHAR[64]; - ConvertString(szTip, szTemp, 64); - _tcsncpy(nidata.szTip, szTemp, 64); - delete[] szTemp; - } - - return Shell_NotifyIcon(NIM_MODIFY, &nidata); -} - -int ShowBalloon(HWND hwnd, UINT id, char *szInfo, char *szTitle, UINT time, UINT infoFlags) -{ - NOTIFYICONDATA nidata; - - nidata.cbSize = NOTIFYICONDATA_V2_SIZE; - nidata.hWnd = hwnd; - nidata.uID = id; - nidata.uFlags = NIF_INFO; - nidata.dwInfoFlags = infoFlags; - - if(time > 0) - nidata.uTimeout = time; - else - nidata.uTimeout = 500000; - - if(szInfo != NULL) - { - TCHAR *szTemp = new TCHAR[255]; - - ConvertString(szInfo, szTemp, 251); - szTemp[250] = 0; - - if(strlen(szInfo) > 255) - { - _sntprintf(szTemp, 255, _T("%s..."), szTemp); - } - _tcsncpy(nidata.szInfo, szTemp, 255); - - delete[] szTemp; - } - if(szTitle != NULL) - { - TCHAR *wszTitle = new TCHAR[64]; - ConvertString(szTitle, wszTitle, 64); - _tcsncpy(nidata.szInfoTitle, wszTitle, 64); - delete[] wszTitle; - } - - return Shell_NotifyIcon(NIM_MODIFY, &nidata); -} - - -DWORD WINAPI BlinkThread(LPVOID lpParam) -{ - NOTIFYICONDATA nidata; - - nidata.cbSize = NOTIFYICONDATA_V2_SIZE; - nidata.hWnd = tData->hwnd; - nidata.uID = tData->id; - nidata.uFlags = NIF_ICON; - - for(UINT i = 0; i < tData->num; i++) - { - nidata.hIcon = tData->hBlink; - Shell_NotifyIcon(NIM_MODIFY, &nidata); - - Sleep(tData->time); - - nidata.hIcon = tData->hBase; - Shell_NotifyIcon(NIM_MODIFY, &nidata); - - Sleep(tData->time); - } - - delete tData; - hThread = NULL; - - return 0; -} - -int BlinkIcon(HWND hwnd, UINT id, HICON hBase, HICON hBlink, UINT time, UINT num) -{ - if(hThread != NULL) - { - StopBlink(hwnd, id, hBase); - } - - DWORD dwThreadID; - tData = new iBlink; - - tData->hwnd = hwnd; - tData->id = id; - tData->hBase = hBase; - tData->hBlink = hBlink; - tData->time = time; - tData->num = num; - - hThread = CreateThread(NULL, 0, BlinkThread, tData, 0, &dwThreadID); - - return 0; -} - -void StopBlink(HWND hwnd, UINT id, HICON hBase) -{ - if(hThread != NULL) - { - TerminateThread(hThread, 0); - hThread = NULL; - - delete tData; - } - - SetIcon(hwnd, id, hBase); -} diff --git a/plugins/hextray/sdTray.h b/plugins/hextray/sdTray.h deleted file mode 100644 index 82dc016b..00000000 --- a/plugins/hextray/sdTray.h +++ /dev/null @@ -1,39 +0,0 @@ -/* X-Tray - * Copyright (C) 2005 Michael Hotaling - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef _H_SDTRAY_H -#define _H_SDTRAY_H - -int AddIcon (HWND, UINT, HICON, char *, unsigned short, UINT); -int ShowBalloon (HWND, UINT, char *, char *, UINT, UINT); -int BlinkIcon (HWND, UINT, HICON, HICON, UINT, UINT); -int SetTooltip (HWND, UINT, char *); -int SetIcon (HWND, UINT, HICON); -void StopBlink (HWND, UINT, HICON); -int RemoveIcon (HWND, UINT); - -typedef struct IBLINK -{ - HICON hBase; - HICON hBlink; - HWND hwnd; - UINT id; - UINT time; - UINT num; -}iBlink; -#endif diff --git a/plugins/hextray/utility.cpp b/plugins/hextray/utility.cpp deleted file mode 100644 index e7500161..00000000 --- a/plugins/hextray/utility.cpp +++ /dev/null @@ -1,410 +0,0 @@ -/* X-Tray - * Copyright (C) 2005 Michael Hotaling - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include -#include -#include -#include - -#include "hexchat-plugin.h" -#include "utility.h" -#include "hextray.h" -#include "callbacks.h" -#include "resource.h" - -struct HOTKEY g_hHotKey; - -/* we need to convert ALT and SHIFT modifiers -// from -#define MOD_ALT 0x0001 -#define MOD_CONTROL 0x0002 -#define MOD_SHIFT 0x0004 -// from -#define HOTKEYF_SHIFT 0x01 -#define HOTKEYF_CONTROL 0x02 -#define HOTKEYF_ALT 0x04 -*/ - -WORD HotkeyfToMod(WORD modifiers) -{ - WORD newmods = 0; - - if (modifiers & HOTKEYF_SHIFT) - newmods |= MOD_SHIFT; - - if (modifiers & HOTKEYF_CONTROL) - newmods |= MOD_CONTROL; - - if (modifiers & HOTKEYF_ALT) - newmods |= MOD_ALT; - - return newmods; -} - -WORD ModToHotkeyf(WORD modifiers) -{ - WORD newmods = 0; - - if (modifiers & MOD_SHIFT) - newmods |= HOTKEYF_SHIFT; - - if (modifiers & MOD_CONTROL) - newmods |= HOTKEYF_CONTROL; - - if (modifiers & MOD_ALT) - newmods |= HOTKEYF_ALT; - - return newmods; -} - -void SavePrefs(int iDlg) -{ - hexchat_pluginpref_set_int (ph, "settings", g_dwPrefs); - hexchat_pluginpref_set_int (ph, "aot", g_iTime); - hexchat_pluginpref_set_int (ph, "key", g_hHotKey.key); - hexchat_pluginpref_set_int (ph, "mod", g_hHotKey.mod); - hexchat_pluginpref_set_str (ph, "away", (const char*) g_szAway); -} - -void LoadPrefs() -{ - /**************************************************************************************************/ - /*********************** Our Settings Section *****************************************************/ - /**************************************************************************************************/ - - /**************************************************************************************************/ - /*************************** Get the value for each of our preferances ****************************/ - /**************************************************************************************************/ - - g_dwPrefs = hexchat_pluginpref_get_int (ph, "settings"); - g_iTime = hexchat_pluginpref_get_int (ph, "aot"); - g_hHotKey.key = hexchat_pluginpref_get_int (ph, "key"); - g_hHotKey.mod = hexchat_pluginpref_get_int (ph, "mod"); - hexchat_pluginpref_get_str (ph, "away", (char *) g_szAway); - - /**************************************************************************************************/ - /******************************** Register our hotkey with windows ********************************/ - /**************************************************************************************************/ - if(g_dwPrefs & (1< - * - * X-Tray 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 your option) any later version. - * - * X-Tray is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with X-Tray; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef _H_UTILITY_H -#define _H_UTILITY_H - -WORD HotkeyfToMod (WORD); -WORD ModToHotkeyf (WORD); - -int SetOption (HWND, unsigned int, unsigned int); -int SetCheck (HWND, unsigned int, unsigned int); -int SetToggle (HWND, unsigned int, unsigned int, bool); -void ErrorDebug (LPTSTR lpszFunction); -void SetDialog (HWND, int); -void CheckPrefs (HWND, int); -bool FileExists (TCHAR *); -DWORD WINAPI HoldCloseThread (LPVOID); -void SavePrefs (int); -void LoadPrefs (); -void HoldClose (); - -void ConvertString(const char *in, wchar_t *out, int size); -void ConvertString(const wchar_t *in, char *out, int size); -void ConvertString(const char *in, char *out, int size); - -struct HOTKEY -{ - WORD key; - WORD mod; -}; -#endif diff --git a/win32/hexchat.sln b/win32/hexchat.sln index ac889427..e6e34685 100644 --- a/win32/hexchat.sln +++ b/win32/hexchat.sln @@ -52,8 +52,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winamp", "..\plugins\winamp EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sysinfo", "..\plugins\sysinfo\sysinfo.vcxproj", "{6C0CA980-97C5-427A-BE61-5BCECAFABBDA}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hextray", "..\plugins\hextray\hextray.vcxproj", "{3024CF36-85E5-4E00-9608-7002E2C7EF14}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "release", "release", "{0FD996A7-464F-4981-8380-3DCA3A244A13}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nls", "nls\nls.vcxproj", "{B10A2C41-344C-43E0-A32D-B9587C198D8B}" @@ -63,7 +61,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy", "copy\copy.vcxproj", {C2321A03-0BA7-45B3-8740-ABD82B36B0BF} = {C2321A03-0BA7-45B3-8740-ABD82B36B0BF} {19C52A0A-A790-409E-A28A-9745FF990F5C} = {19C52A0A-A790-409E-A28A-9745FF990F5C} {4980AF24-9D42-427D-A8E6-0DF3B97C455D} = {4980AF24-9D42-427D-A8E6-0DF3B97C455D} - {3024CF36-85E5-4E00-9608-7002E2C7EF14} = {3024CF36-85E5-4E00-9608-7002E2C7EF14} {17E4BE39-76F7-4A06-AD21-EFD0C5091F76} = {17E4BE39-76F7-4A06-AD21-EFD0C5091F76} {B10A2C41-344C-43E0-A32D-B9587C198D8B} = {B10A2C41-344C-43E0-A32D-B9587C198D8B} {461DC24A-A410-4171-8C02-CCDBF3702C2A} = {461DC24A-A410-4171-8C02-CCDBF3702C2A} @@ -158,8 +155,6 @@ Global {6C0CA980-97C5-427A-BE61-5BCECAFABBDA}.Release|Win32.Build.0 = Release|Win32 {6C0CA980-97C5-427A-BE61-5BCECAFABBDA}.Release|x64.ActiveCfg = Release|x64 {6C0CA980-97C5-427A-BE61-5BCECAFABBDA}.Release|x64.Build.0 = Release|x64 - {3024CF36-85E5-4E00-9608-7002E2C7EF14}.Release|Win32.ActiveCfg = Release|Win32 - {3024CF36-85E5-4E00-9608-7002E2C7EF14}.Release|x64.ActiveCfg = Release|x64 {B10A2C41-344C-43E0-A32D-B9587C198D8B}.Release|Win32.ActiveCfg = Release|Win32 {B10A2C41-344C-43E0-A32D-B9587C198D8B}.Release|Win32.Build.0 = Release|Win32 {B10A2C41-344C-43E0-A32D-B9587C198D8B}.Release|x64.ActiveCfg = Release|x64 @@ -209,7 +204,6 @@ Global {461DC24A-A410-4171-8C02-CCDBF3702C2A} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} {E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} {6C0CA980-97C5-427A-BE61-5BCECAFABBDA} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} - {3024CF36-85E5-4E00-9608-7002E2C7EF14} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} {19C52A0A-A790-409E-A28A-9745FF990F5C} = {D237DA6B-BD5F-46C0-8BEA-50E9A1340240} {D90BC3E3-1341-4849-9354-5F40489D39D1} = {D237DA6B-BD5F-46C0-8BEA-50E9A1340240} {C2321A03-0BA7-45B3-8740-ABD82B36B0BF} = {D237DA6B-BD5F-46C0-8BEA-50E9A1340240}