summaryrefslogtreecommitdiff
path: root/importtxt/importtxt.dpr
diff options
context:
space:
mode:
Diffstat (limited to 'importtxt/importtxt.dpr')
-rw-r--r--importtxt/importtxt.dpr202
1 files changed, 0 insertions, 202 deletions
diff --git a/importtxt/importtxt.dpr b/importtxt/importtxt.dpr
deleted file mode 100644
index c7a1ab3..0000000
--- a/importtxt/importtxt.dpr
+++ /dev/null
@@ -1,202 +0,0 @@
-(*
- ImportTXT plugin for Miranda IM: the free IM client for Microsoft* Windows*
-
- Copyright (Ñ) 2008 Abyss
-
- 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
-*)
-
-{$IMAGEBASE $2080000}
-library importtxt;
-
-uses
- m_api,
- Windows,
- General,
- ImportTxtDlg,
- ImportTxtWiz;
-
-{$R imptxt_ver.res}
-{$include m_helpers.inc}
-
-
-const
- PluginInfo:TPLUGININFOEX=(
- cbSize :sizeof(TPLUGININFOEX);
- shortName :'Import TXT';
- version :$0000010A;
- description:'Imports history saved in TXT files from other clients.';
- author :'Abyss';
- authorEmail:'abyss.andrey@gmail.com';
- copyright :'(C)2008 Abyss';
- homepage :'none';
- flags :UNICODE_AWARE;
- replacesDefaultModule:0;
- uuid:'{6F376B33-D3F4-4c4f-A96B-77DA08043B06}';
- );
-
-// Updater compatibility data
-const
- VersionURL = 'http://abyss.web.ur.ru/itxt_ver.htm';
- VersionPrefix = 'Current version: ';
- UpdateURL = 'http://abyss.web.ur.ru/importtxt.zip';
- BetaVersionURL = nil;
- BetaVersionPrefix = nil;
- BetaUpdateURL = nil;
- BetaChangelogURL = nil;
-
-var
- PluginInterfaces:array [0..1] of MUUID;
- hwndWizard:HWND;
- hwndDialog:HWND;
- //Services
- SrvITxt,SrvIWiz:Cardinal;
- //hooks
- onLoadHook:Cardinal;
- onAccChangHook:Cardinal;
-
-function MirandaPluginInfo(mirandaVersion:DWORD):PPLUGININFOEX; cdecl;
-begin
- MirVers:=mirandaVersion;
- result:=@PluginInfo;
- //PluginInfo.cbSize:=SizeOf(TPLUGININFO);
-end;
-
-function MirandaPluginInfoEx(mirandaVersion:DWORD):PPLUGININFOEX; cdecl;
-begin
- MirVers:=mirandaVersion;
- result:=@PluginInfo;
- //PluginInfo.cbSize:=SizeOf(TPLUGININFOEX);
-end;
-
-function ContactMenuCommand(wParam: WPARAM; lParam: LPARAM): Integer; cdecl;
-begin
- Result := 0;
- if IsWindow(hwndDialog) then
- begin
- SetForegroundWindow(hwndDialog);
- BringWindowToTop(hwndDialog);
- end
- else
- hwndDialog:=CreateDialogParamW(hInstance,MAKEINTRESOURCEW(IDD_IMPDIALOG),0,@IDMainWndProc, wParam);
-end;
-
-function MainMenuCommand(wParam: WPARAM; lParam: LPARAM): Integer; cdecl;
-begin
- Result:=0;
- if (IsWindow(hwndWizard)) then
- begin
- SetForegroundWindow(hwndWizard);
- BringWindowToTop(hwndWizard);
- end
- else
- hwndWizard:=CreateDialogW(hInstance, MAKEINTRESOURCEW(IDD_IMPWIZARD), 0, @WizardDlgProc);
-end;
-
-function OnAccountChanged(wParam:WPARAM;lParam:LPARAM):int;cdecl;
-begin
- Result:=0;
- EnumProtocols;
- if Assigned(OnAccountListChange) then OnAccountListChange;
-end;
-
-function OnModulesLoaded(wParam:WPARAM;lParam:LPARAM):int;cdecl;
-var upd: TUpdate;
- buf:array [0..63] of char;
-begin
- PluginLink^.UnhookEvent(onloadhook);
- Result:=0;
- EnumProtocols;
- // Register in updater
- if Boolean(PluginLink.ServiceExists(MS_UPDATE_REGISTER)) then
- begin
- ZeroMemory(@upd,SizeOf(upd));
- upd.cpbVersion := SizeOf(upd);
- upd.szComponentName := PluginInfo.ShortName;;
- upd.pbVersion := CreateVersionStringPlugin(@pluginInfo,buf);
- upd.cpbVersion := lstrlen(upd.pbVersion);
- upd.szUpdateURL := UpdateURL;
- upd.szVersionURL := VersionURL;
- upd.pbVersionPrefix := VersionPrefix;
- upd.cpbVersionPrefix := Length(VersionPrefix);
- upd.szBetaUpdateURL := BetaUpdateURL;
- upd.szBetaVersionURL := BetaVersionURL;
- upd.pbBetaVersionPrefix := BetaVersionPrefix;
- upd.cpbBetaVersionPrefix := length(upd.pbBetaVersionPrefix);
- upd.szBetaChangelogURL := BetaChangelogURL;
- PluginLink.CallService(MS_UPDATE_REGISTER, 0, DWORD(@upd));
- end;
- //check for AutoStart
- if (DBReadByte(0,IMPORT_TXT_MODULE,IMPORT_TXT_AS)=1) and
- (ProtoCount>0) then
- begin
- pluginLink^.CallService(IMPORT_WIZ_SERVICE,0,0);
- DBWriteByte(0,IMPORT_TXT_MODULE,IMPORT_TXT_AS,0);
- end;
-end;
-
-
-function Load(link: PPLUGINLINK): int; cdecl;
-var
- mi: TCListMenuItem;
-begin
- PLUGINLINK := Pointer(link);
- IsMirandaUnicode:=fIsMirandaUnicode;
- cp:=pluginLink^.CallService(MS_LANGPACK_GETCODEPAGE, 0, 0);
- SrvITxt:=pluginLink^.CreateServiceFunction(IMPORT_TXT_SERVICE, @ContactMenuCommand);
- SrvIWiz:=pluginLink^.CreateServiceFunction(IMPORT_WIZ_SERVICE, @MainMenuCommand);
- FillChar(mi, sizeof(mi), 0);
- mi.cbSize := sizeof(mi);
- mi.flags := 0;
- mi.position := 1000090050;
- mi.hIcon := LoadIcon(hInstance,MAKEINTRESOURCE(IDI_DEFAULT));
- mi.szName.a := 'Import history';
- mi.pszService := IMPORT_TXT_SERVICE;
- mi.pszContactOwner:=nil; //All contacts
- pluginLink^.CallService(MS_CLIST_ADDCONTACTMENUITEM, 0, int(@mi));
- mi.position := 500050010;
- mi.pszService := IMPORT_WIZ_SERVICE;
- mi.pszContactOwner:=nil;
- pluginLink^.CallService(MS_CLIST_ADDMAINMENUITEM, 0, int(@mi));
- onloadhook:=PluginLink^.HookEvent(ME_SYSTEM_MODULESLOADED,@OnModulesLoaded);
- if MirVers>080000 then onAccChangHook:=pluginLink^.HookEvent(ME_PROTO_ACCLISTCHANGED,@OnAccountChanged);
- Result := 0;
-end;
-
-function Unload: int; cdecl;
-begin
- if MirVers>080000 then pluginLink^.UnhookEvent(onAccChangHook);
- pluginlink^.DestroyServiceFunction(SrvITxt);
- pluginlink^.DestroyServiceFunction(SrvIWiz);
- Result := 0;
-end;
-
-function MirandaPluginInterfaces:PMUUID; cdecl;
-begin
- PluginInterfaces[0]:=PluginInfo.uuid;
- PluginInterfaces[1]:=MIID_LAST;
- result:=@PluginInterfaces;
-end;
-
-
-exports
-
- Load, Unload,
- MirandaPluginInfo,
- MirandaPluginInfoEx,
- MirandaPluginInterfaces;
-
-begin
-end.