From afb1914145f007e970787d9c37a9fb5f5aff2354 Mon Sep 17 00:00:00 2001
From: George Hazan <george.hazan@gmail.com>
Date: Tue, 24 Jul 2012 19:46:34 +0000
Subject: git-svn-id: http://svn.miranda-ng.org/main/trunk@1171
 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c

---
 plugins/Import/src/import.cpp | 93 ++++++++++++++++++++++++++++++++-----------
 plugins/Import/src/import.h   |  5 ---
 plugins/Import/src/utils.cpp  | 43 --------------------
 3 files changed, 69 insertions(+), 72 deletions(-)

(limited to 'plugins')

diff --git a/plugins/Import/src/import.cpp b/plugins/Import/src/import.cpp
index 552beeefc5..6940b9c011 100644
--- a/plugins/Import/src/import.cpp
+++ b/plugins/Import/src/import.cpp
@@ -30,6 +30,8 @@ HWND hdlgProgress;
 static DWORD nDupes, nContactsCount, nMessagesCount, nGroupsCount, nSkippedEvents, nSkippedContacts;
 static MIDatabase *srcDb, *dstDb;
 
+/////////////////////////////////////////////////////////////////////////////////////////
+
 static int myGet(HANDLE hContact, const char *szModule, const char *szSetting, DBVARIANT *dbv)
 {
 	dbv->type = 0;
@@ -51,7 +53,7 @@ static char* myGetS(HANDLE hContact, const char *szModule, const char *szSetting
 	return ( srcDb->GetContactSettingStr(hContact, &dgs)) ? NULL : dbv.pszVal;
 }
 
-void mySet(HANDLE hContact, const char *module, const char *var, DBVARIANT *dbv)
+static void mySet(HANDLE hContact, const char *module, const char *var, DBVARIANT *dbv)
 {
 	DBCONTACTWRITESETTING dbw;
 	dbw.szModule = module;
@@ -60,32 +62,23 @@ void mySet(HANDLE hContact, const char *module, const char *var, DBVARIANT *dbv)
 	dstDb->WriteContactSetting(hContact, &dbw);
 }
 
-static int ImportGroup(const char* szSettingName, LPARAM lParam)
-{
-	int* pnGroups = (int*)lParam;
+/////////////////////////////////////////////////////////////////////////////////////////
 
-	TCHAR* tszGroup = myGetWs(NULL, "CListGroups", szSettingName);
-	if (tszGroup != NULL) {
-		if ( CreateGroup( tszGroup, NULL ))
-			pnGroups[0]++;
-		mir_free(tszGroup);
-	}
-	return 0;
-}
-
-static int ImportGroups()
+static HANDLE HContactFromNumericID(char* pszProtoName, char* pszSetting, DWORD dwID)
 {
-	int nGroups = 0;
-
-	DBCONTACTENUMSETTINGS param = { 0 };
-	param.szModule = "CListGroups";
-	param.pfnEnumProc = ImportGroup;
-	param.lParam = (LPARAM)&nGroups;
-	srcDb->EnumContactSettings(NULL, &param);
-	return nGroups;
+	HANDLE hContact = dstDb->FindFirstContact();
+	while (hContact != NULL) {
+		if ( db_get_dw(hContact, pszProtoName, pszSetting, 0) == dwID) {
+			char* szProto = (char*)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)hContact, 0);
+			if (szProto != NULL && !lstrcmpA(szProto, pszProtoName))
+				return hContact;
+		}
+		hContact = dstDb->FindNextContact(hContact);
+	}
+	return INVALID_HANDLE_VALUE;
 }
 
-HANDLE HContactFromID(char* pszProtoName, char* pszSetting, char* pszID)
+static HANDLE HContactFromID(char* pszProtoName, char* pszSetting, char* pszID)
 {
 	HANDLE hContact = dstDb->FindFirstContact();
 	while (hContact != NULL) {
@@ -101,7 +94,30 @@ HANDLE HContactFromID(char* pszProtoName, char* pszSetting, char* pszID)
 	return INVALID_HANDLE_VALUE;
 }
 
-HANDLE AddContact(HWND hdlgProgress, char* pszProtoName, char* pszUniqueSetting, DBVARIANT* id, TCHAR *nick, TCHAR *group)
+static HANDLE HistoryImportFindContact(HWND hdlgProgress, char* szModuleName, DWORD uin, int addUnknown)
+{
+	HANDLE hContact = HContactFromNumericID(szModuleName, "UIN", uin);
+	if (hContact == NULL) {
+		AddMessage( LPGEN("Ignored event from/to self"));
+		return INVALID_HANDLE_VALUE;
+	}
+
+	if (hContact != INVALID_HANDLE_VALUE)
+		return hContact;
+
+	if (!addUnknown)
+		return INVALID_HANDLE_VALUE;
+
+	hContact = (HANDLE)CallService(MS_DB_CONTACT_ADD, 0, 0);
+	CallService(MS_PROTO_ADDTOCONTACT, (WPARAM)hContact, (LPARAM)szModuleName);
+	DBWriteContactSettingDword(hContact, szModuleName, "UIN", uin);
+	AddMessage( LPGEN("Added contact %u (found in history)"), uin );
+	return hContact;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////
+
+static HANDLE AddContact(HWND hdlgProgress, char* pszProtoName, char* pszUniqueSetting, DBVARIANT* id, TCHAR *nick, TCHAR *group)
 {
 	HANDLE hContact;
 	char szid[ 40 ];
@@ -129,6 +145,33 @@ HANDLE AddContact(HWND hdlgProgress, char* pszProtoName, char* pszUniqueSetting,
 	return hContact;
 }
 
+static int ImportGroup(const char* szSettingName, LPARAM lParam)
+{
+	int* pnGroups = (int*)lParam;
+
+	TCHAR* tszGroup = myGetWs(NULL, "CListGroups", szSettingName);
+	if (tszGroup != NULL) {
+		if ( CreateGroup( tszGroup, NULL ))
+			pnGroups[0]++;
+		mir_free(tszGroup);
+	}
+	return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////
+
+static int ImportGroups()
+{
+	int nGroups = 0;
+
+	DBCONTACTENUMSETTINGS param = { 0 };
+	param.szModule = "CListGroups";
+	param.pfnEnumProc = ImportGroup;
+	param.lParam = (LPARAM)&nGroups;
+	srcDb->EnumContactSettings(NULL, &param);
+	return nGroups;
+}
+
 static HANDLE ImportContact(HANDLE hSrc)
 {
 	HANDLE hDst;
@@ -371,6 +414,8 @@ static void ImportHistory(HANDLE hContact, PROTOACCOUNT **protocol, int protoCou
 	}
 }
 
+/////////////////////////////////////////////////////////////////////////////////////////
+
 void MirandaImport(HWND hdlg)
 {
 	DWORD dwTimer;
diff --git a/plugins/Import/src/import.h b/plugins/Import/src/import.h
index 43effb7a0f..da42985a32 100644
--- a/plugins/Import/src/import.h
+++ b/plugins/Import/src/import.h
@@ -111,11 +111,6 @@ INT_PTR CALLBACK MirandaOptionsPageProc(HWND hdlg,UINT message,WPARAM wParam,LPA
 INT_PTR CALLBACK MirandaAdvOptionsPageProc(HWND hdlg,UINT message,WPARAM wParam,LPARAM lParam);
 INT_PTR CALLBACK FinishedPageProc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam);
 
-HANDLE HContactFromNumericID(char* pszProtoName, char* pszSetting, DWORD dwID);
-HANDLE HContactFromID(char* pszProtoName, char* pszSetting, char* pszID);
-
-HANDLE AddContact(HWND hdlgProgress, char* pszProtoName, char* pszUniqueSetting, DBVARIANT* id, TCHAR *nick, TCHAR *group);
-
 BOOL IsProtocolLoaded(char* pszProtocolName);
 BOOL IsDuplicateEvent(HANDLE hContact, DBEVENTINFO dbei);
 
diff --git a/plugins/Import/src/utils.cpp b/plugins/Import/src/utils.cpp
index 522a987e02..9d51d0f47c 100644
--- a/plugins/Import/src/utils.cpp
+++ b/plugins/Import/src/utils.cpp
@@ -24,11 +24,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include "version.h"
 #include "resource.h"
 
-int      cICQAccounts = 0;
-char  ** szICQModuleName = NULL;
-TCHAR ** tszICQAccountName = NULL;
-int      iICQAccount = 0;
-
 /////////////////////////////////////////////////////////////////////////////////////////
 
 BOOL IsProtocolLoaded(char* pszProtocolName)
@@ -36,44 +31,6 @@ BOOL IsProtocolLoaded(char* pszProtocolName)
 	return CallService(MS_PROTO_ISPROTOCOLLOADED, 0, (LPARAM)pszProtocolName) ? TRUE : FALSE;
 }
 
-HANDLE HContactFromNumericID(char* pszProtoName, char* pszSetting, DWORD dwID)
-{
-	char* szProto;
-	HANDLE hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
-	while (hContact != NULL)
-	{
-		if (DBGetContactSettingDword(hContact, pszProtoName, pszSetting, 0) == dwID)
-		{
-			szProto = (char*)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)hContact, 0);
-			if (szProto != NULL && !strcmp(szProto, pszProtoName))
-				return hContact;
-		}
-		hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0);
-	}
-	return INVALID_HANDLE_VALUE;
-}
-
-HANDLE HistoryImportFindContact(HWND hdlgProgress, char* szModuleName, DWORD uin, int addUnknown)
-{
-	HANDLE hContact = HContactFromNumericID(szModuleName, "UIN", uin);
-	if (hContact == NULL) {
-		AddMessage( LPGEN("Ignored event from/to self"));
-		return INVALID_HANDLE_VALUE;
-	}
-
-	if (hContact != INVALID_HANDLE_VALUE)
-		return hContact;
-
-	if (!addUnknown)
-		return INVALID_HANDLE_VALUE;
-
-	hContact = (HANDLE)CallService(MS_DB_CONTACT_ADD, 0, 0);
-	CallService(MS_PROTO_ADDTOCONTACT, (WPARAM)hContact, (LPARAM)szModuleName);
-	DBWriteContactSettingDword(hContact, szModuleName, "UIN", uin);
-	AddMessage( LPGEN("Added contact %u (found in history)"), uin );
-	return hContact;
-}
-
 // ------------------------------------------------
 // Creates a group with a specified name in the
 // Miranda contact list.
-- 
cgit v1.2.3