summaryrefslogtreecommitdiff
path: root/plugins/SeenPlugin/missed.cpp
diff options
context:
space:
mode:
authorVadim Dashevskiy <watcherhd@gmail.com>2012-07-23 13:49:28 +0000
committerVadim Dashevskiy <watcherhd@gmail.com>2012-07-23 13:49:28 +0000
commita9580df150d799246eaecbf3c1fb5cecf9f8ab49 (patch)
treece046b1cd432d65718c9f6af80521d533ce6d4ca /plugins/SeenPlugin/missed.cpp
parent60338d55bb73d0c45b6e092703c4bb88a3c49755 (diff)
SecureIM, SeenPlugin, SendSS, Sessions: changed folder structure
git-svn-id: http://svn.miranda-ng.org/main/trunk@1122 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/SeenPlugin/missed.cpp')
-rw-r--r--plugins/SeenPlugin/missed.cpp301
1 files changed, 0 insertions, 301 deletions
diff --git a/plugins/SeenPlugin/missed.cpp b/plugins/SeenPlugin/missed.cpp
deleted file mode 100644
index 179dd8ee4d..0000000000
--- a/plugins/SeenPlugin/missed.cpp
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
-"Last Seen mod" plugin for Miranda IM
-Copyright ( C ) 2002-03 micron-x
-Copyright ( C ) 2005-07 Y.B.
-
-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.
-
-File name : $URL: http://svn.berlios.de/svnroot/repos/mgoodies/trunk/lastseen-mod/missed.c $
-Revision : $Rev: 1570 $
-Last change on : $Date: 2007-12-30 01:30:07 +0300 (Вс, 30 дек 2007) $
-Last change by : $Author: y_b $
-*/
-#include "seen.h"
-
-#include <m_ignore.h>
-
-
-
-MISSEDCONTACTS mcs;
-extern HANDLE ehmissed;
-extern HINSTANCE hInstance;
-
-
-
-WPARAM IsUserMissed(WPARAM contact)
-{
- int loop=0;
-
- for (;loop<mcs.count;loop++)
- {
- if(mcs.wpcontact[loop]==contact)
- return MAKEWPARAM(1,loop);
- }
-
- return 0;
-}
-
-
-
-int RemoveUser(int pos)
-{
- int loop;
-
- for(loop=pos;loop<mcs.count-1;loop++)
- mcs.wpcontact[loop]=mcs.wpcontact[loop+1];
-
- mcs.count--;
-
- return 0;
-}
-
-
-
-int ResetMissed(void)
-{
- HANDLE hcontact=NULL;
-
- hcontact=(HANDLE)CallService(MS_DB_CONTACT_FINDFIRST,0,0);
- while(hcontact!=NULL)
- {
- DBWriteContactSettingByte(hcontact,S_MOD,"Missed",0);
- hcontact=(HANDLE)CallService(MS_DB_CONTACT_FINDNEXT,(WPARAM)hcontact,0);
- }
-
- ZeroMemory(&mcs,sizeof(mcs));
-
- return 0;
-}
-
-
-int CheckIfOnline(void)
-{
- HANDLE hcontact;
-// char *szProto;
-// WORD status;
-
- hcontact=(HANDLE)CallService(MS_DB_CONTACT_FINDFIRST,0,0);
- while(hcontact!=NULL)
- {
-/* szProto=(char *)CallService(MS_PROTO_GETCONTACTBASEPROTO,(WPARAM)hcontact,0);
- status=(szProto==NULL)?ID_STATUS_OFFLINE:DBGetContactSettingWord(hcontact,szProto,"Status",ID_STATUS_OFFLINE);
- if(status!=ID_STATUS_OFFLINE)
-*/
- if(CallService(MS_CLIST_GETCONTACTICON,(WPARAM)hcontact,0)!=ICON_OFFLINE)
- DBWriteContactSettingByte(hcontact,S_MOD,"Missed",2);
-
- hcontact=(HANDLE)CallService(MS_DB_CONTACT_FINDNEXT,(WPARAM)hcontact,0);
- }
-
- return 0;
-}
-
-
-
-INT_PTR CALLBACK MissedDlgProc(HWND hdlg,UINT msg,WPARAM wparam,LPARAM lparam)
-{
- POINT pt;
- RECT rcinit,rcresized,rcb,rcd;
- HWND htemp;
-
- switch(msg){
-
- case WM_INITDIALOG:
- TranslateDialogDefault(hdlg);
-
- htemp=GetDlgItem(hdlg,IDC_CONTACTS);
- GetWindowRect(htemp,&rcinit);
- SetWindowPos(htemp,NULL,0,0,rcinit.right-rcinit.left,mcs.count*(rcinit.bottom-rcinit.top)/2,SWP_NOZORDER|SWP_NOMOVE|SWP_NOACTIVATE);
- GetWindowRect(htemp,&rcresized);
-
- htemp=GetDlgItem(hdlg,IDOK);
- GetWindowRect(htemp,&rcb);
- pt.x=rcb.left;
- pt.y=rcb.top;
-
- ScreenToClient(hdlg,&pt);
- MoveWindow(htemp,pt.x,pt.y+(rcresized.bottom-rcinit.bottom),(rcb.right-rcb.left),(rcb.bottom-rcb.top),FALSE);
- GetWindowRect(hdlg,&rcd);
- SetWindowPos(hdlg,NULL,0,0,rcd.right-rcd.left,rcd.bottom-rcd.top+(rcresized.bottom-rcinit.bottom),SWP_NOZORDER|SWP_NOMOVE|SWP_NOACTIVATE);
-
- SetDlgItemText(hdlg,IDC_CONTACTS,(LPCSTR)lparam);
- ShowWindow(hdlg,SW_SHOWNOACTIVATE);
- break;
-
- case WM_CLOSE:
- EndDialog(hdlg,0);
- break;
-
- case WM_COMMAND:
- if(LOWORD(wparam)==IDOK)
- SendMessage(hdlg,WM_CLOSE,0,0);
- break;
- }
-
- return 0;
-}
-
-
-
-
-int ShowMissed(void)
-{
- int loop=0;
- char sztemp[1024]="",szcount[7];
-
- if (!mcs.count) return 0;
-
- for (;loop<mcs.count;loop++)
- {
- strcat(sztemp,(const char *)CallService(MS_CLIST_GETCONTACTDISPLAYNAME,mcs.wpcontact[loop],0));
- if(DBGetContactSettingByte(NULL,S_MOD,"MissedOnes_Count",0))
- {
- wsprintf(szcount," [%i]",mcs.times[loop]);
- strcat(sztemp,szcount);
- }
-
- strcat(sztemp,"\n");
- }
-
- CreateDialogParam(hInstance,MAKEINTRESOURCE(IDD_MISSED),NULL,MissedDlgProc,(LPARAM)&sztemp[0]);
-
- return 0;
-}
-
-/*
-
-int LogStatus(WPARAM wparam,LPARAM lparam)
-{
- DBCONTACTWRITESETTING *cws;
- WPARAM wpvar;
-
- cws=(DBCONTACTWRITESETTING *)lparam;
-
- if(strcmp(cws->szSetting,"Status") || (strcmp(cws->szModule,"ICQ") && strcmp(cws->szModule,"MSN")) || (HANDLE)wparam==NULL) return 0;
-
- if(CallService(MS_IGNORE_ISIGNORED,wparam,IGNOREEVENT_USERONLINE))
- return 0;
-
- if(cws->value.wVal==ID_STATUS_OFFLINE)
- {
- if(DBGetContactSettingByte((HANDLE)wparam,S_MOD,"Missed",0)==1)
- {
- mcs.times[mcs.count]++;
- mcs.wpcontact[mcs.count++]=wparam;
- DBWriteContactSettingByte((HANDLE)wparam,S_MOD,"Missed",0);
- }
-
- else if(DBGetContactSettingByte((HANDLE)wparam,S_MOD,"Missed",0)==3)
- mcs.times[HIWORD(IsUserMissed(wparam))]++;
-
- return 0;
- }
-
- wpvar=IsUserMissed(wparam);
- if(LOWORD(wpvar))
- DBWriteContactSettingByte((HANDLE)wparam,S_MOD,"Missed",3);
-
- else
- DBWriteContactSettingByte((HANDLE)wparam,S_MOD,"Missed",1);
-
- return 0;
-}
-
-*/
-
-int Test(WPARAM wparam,LPARAM lparam)
-{
- if(lparam<ICON_OFFLINE || lparam>ICON_INVIS)
- return 0;
-
- if(CallService(MS_IGNORE_ISIGNORED,wparam,IGNOREEVENT_USERONLINE))
- return 0;
-
- if(DBGetContactSettingByte((HANDLE)wparam,S_MOD,"Missed",0)==2)
- return 0;
-
- switch(lparam){
-
- case ICON_OFFLINE:
- if(DBGetContactSettingByte((HANDLE)wparam,S_MOD,"Missed",0)==1)
- {
- WORD missed=IsUserMissed(wparam);
-
- if (!LOWORD(missed))
- {
- mcs.times[mcs.count]=1;
- mcs.wpcontact[mcs.count++]=wparam;
- }
- else
- mcs.times[HIWORD(missed)]++;
-
- DBWriteContactSettingByte((HANDLE)wparam,S_MOD,"Missed",0);
- }
- break;
-
- case ICON_ONLINE:
- case ICON_AWAY:
- case ICON_NA:
- case ICON_OCC:
- case ICON_DND:
- case ICON_FREE:
- case ICON_INVIS:
- DBWriteContactSettingByte((HANDLE)wparam,S_MOD,"Missed",1);
- break;
- }
-
- return 0;
-}
-
-
-
-int ModeChange_mo(WPARAM wparam,LPARAM lparam)
-{
- ACKDATA *ack;
- int isetting=0;
-
- ack=(ACKDATA *)lparam;
-
- if(ack->type!=ACKTYPE_STATUS || ack->result!=ACKRESULT_SUCCESS || ack->hContact!=NULL) return 0;
-
- isetting=CallProtoService(ack->szModule,PS_GETSTATUS,0,0);
-
- switch(isetting){
-
- case ID_STATUS_AWAY:
- case ID_STATUS_DND:
- case ID_STATUS_NA:
- if(ehmissed==NULL)
- {
- ZeroMemory(&mcs,sizeof(mcs));
- CheckIfOnline();
- //ehmissed=HookEvent(ME_DB_CONTACT_SETTINGCHANGED,LogStatus);
- ehmissed=HookEvent(ME_CLIST_CONTACTICONCHANGED,Test);
- }
- break;
-
- default:
- if(ehmissed!=NULL)
- {
- UnhookEvent(ehmissed);
- ehmissed=NULL;
- ShowMissed();
- ResetMissed();
- }
- break;
- }
-
- return 0;
-}