summaryrefslogtreecommitdiff
path: root/src/modules/clist/keyboard.cpp
diff options
context:
space:
mode:
authorVadim Dashevskiy <watcherhd@gmail.com>2012-05-15 10:38:20 +0000
committerVadim Dashevskiy <watcherhd@gmail.com>2012-05-15 10:38:20 +0000
commit48540940b6c28bb4378abfeb500ec45a625b37b6 (patch)
tree2ef294c0763e802f91d868bdef4229b6868527de /src/modules/clist/keyboard.cpp
parent5c350913f011e119127baeb32a6aedeb4f0d33bc (diff)
initial commit
git-svn-id: http://svn.miranda-ng.org/main/trunk@2 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'src/modules/clist/keyboard.cpp')
-rw-r--r--src/modules/clist/keyboard.cpp173
1 files changed, 173 insertions, 0 deletions
diff --git a/src/modules/clist/keyboard.cpp b/src/modules/clist/keyboard.cpp
new file mode 100644
index 0000000000..2c9cdce69c
--- /dev/null
+++ b/src/modules/clist/keyboard.cpp
@@ -0,0 +1,173 @@
+/*
+
+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 "commonheaders.h"
+#include "clc.h"
+#include <m_hotkeys.h>
+
+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;
+}