/* Miranda IM: the free IM client for Microsoft* Windows* Copyright 2000-2009 Miranda ICQ/IM project, all portions of this codebase are copyrighted to the people listed in contributors.txt. 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 your option) any later version. This program 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 this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "..\..\core\commonheaders.h" #include "clc.h" #include static INT_PTR hkHideShow(WPARAM, LPARAM) { cli.pfnShowHide(0, 0); return 0; } /* INT_PTR hkSearch(WPARAM wParam, LPARAM lParam) { DBVARIANT dbv={0}; if (!DBGetContactSettingString(NULL, "CList", "SearchUrl", &dbv)) { CallService(MS_UTILS_OPENURL, DBGetContactSettingByte(NULL, "CList", "HKSearchNewWnd", 0), (LPARAM)dbv.pszVal); DBFreeVariant(&dbv); } return 0; } */ static INT_PTR hkRead(WPARAM, LPARAM) { if (cli.pfnEventsProcessTrayDoubleClick(0) == 0) return TRUE; SetForegroundWindow(cli.hwndContactList); SetFocus(cli.hwndContactList); return 0; } static INT_PTR hkOpts(WPARAM, LPARAM) { CallService("Options/OptionsCommand", 0, 0); return 0; } /* static INT_PTR hkCloseMiranda(WPARAM wParam, LPARAM lParam) { CallService("CloseAction", 0, 0); return 0; } INT_PTR hkRestoreStatus(WPARAM wParam, LPARAM lParam) { int nStatus = DBGetContactSettingWord(NULL, "CList", "Status", ID_STATUS_OFFLINE); CallService(MS_CLIST_SETSTATUSMODE, nStatus, 0); return 0; } static INT_PTR hkAllOffline(WPARAM, LPARAM) { CallService(MS_CLIST_SETSTATUSMODE, ID_STATUS_OFFLINE, 0); return 0; } */ int InitClistHotKeys(void) { HOTKEYDESC shk = {0}; CreateServiceFunction("CLIST/HK/SHOWHIDE", hkHideShow); CreateServiceFunction("CLIST/HK/Opts", hkOpts); CreateServiceFunction("CLIST/HK/Read", hkRead); // CreateServiceFunction("CLIST/HK/CloseMiranda", hkCloseMiranda); // CreateServiceFunction("CLIST/HK/RestoreStatus", hkRestoreStatus); // CreateServiceFunction("CLIST/HK/AllOffline", hkAllOffline); shk.cbSize=sizeof(shk); shk.pszDescription="Show Hide Contact List"; shk.pszName="ShowHide"; shk.pszSection="Main"; shk.pszService="CLIST/HK/SHOWHIDE"; shk.DefHotKey = HOTKEYCODE(HOTKEYF_CONTROL|HOTKEYF_SHIFT, 'A'); CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk); shk.pszDescription="Read Message"; shk.pszName="ReadMessage"; shk.pszSection="Main"; shk.pszService="CLIST/HK/Read"; shk.DefHotKey = HOTKEYCODE(HOTKEYF_CONTROL|HOTKEYF_SHIFT, 'I'); CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk); /* shk.pszDescription="Search in site"; shk.pszName="SearchInWeb"; shk.pszSection="Main"; shk.pszService="CLIST/HK/Search"; shk.DefHotKey=846; CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk); */ shk.pszDescription = "Open Options Page"; shk.pszName = "ShowOptions"; shk.pszSection = "Main"; shk.pszService = "CLIST/HK/Opts"; shk.DefHotKey = HOTKEYCODE(HOTKEYF_CONTROL|HOTKEYF_SHIFT, 'O') | HKF_MIRANDA_LOCAL; CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk); shk.pszDescription = "Open Logging Options"; shk.pszName = "ShowLogOptions"; shk.pszSection = "Main"; shk.pszService = "Netlib/Log/Win"; shk.DefHotKey = 0; CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk); shk.pszDescription="Open Find User Dialog"; shk.pszName="FindUsers"; shk.pszSection="Main"; shk.pszService="FindAdd/FindAddCommand"; shk.DefHotKey = HOTKEYCODE(HOTKEYF_CONTROL|HOTKEYF_SHIFT, 'F') | HKF_MIRANDA_LOCAL; CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk); /* shk.pszDescription="Close Miranda"; shk.pszName="CloseMiranda"; shk.pszSection="Main"; shk.pszService="CLIST/HK/CloseMiranda"; shk.DefHotKey=0; CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk); shk.pszDescription="Restore last status"; shk.pszName="RestoreLastStatus"; shk.pszSection="Status"; shk.pszService="CLIST/HK/RestoreStatus"; shk.DefHotKey=0; CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk); shk.pszDescription="Set All Offline"; shk.pszName="AllOffline"; shk.pszSection="Status"; shk.pszService="CLIST/HK/AllOffline"; shk.DefHotKey=0; CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk); */ return 0; } int fnHotKeysRegister(HWND) { return 0; } void fnHotKeysUnregister(HWND) { } int fnHotKeysProcess(HWND, WPARAM, LPARAM) { return TRUE; } int fnHotkeysProcessMessage(WPARAM, LPARAM) { return FALSE; }