Exemplo n.º 1
0
INT_PTR svcExIm_MainImport_Service(WPARAM, LPARAM lParam)
{
	ExImParam ExIm;
	memset(&ExIm, 0, sizeof(ExIm));
	ExIm.hContact = INVALID_CONTACT_ID;
	ExIm.Typ = EXIM_ALL;
	return SvcExImport_Import(&ExIm, (HWND)lParam);
}
Exemplo n.º 2
0
INT_PTR svcExIm_ContactImport_Service(WPARAM hContact, LPARAM lParam)
{
	ExImParam ExIm;
	memset(&ExIm, 0, sizeof(ExIm));
	ExIm.hContact = hContact;
	ExIm.Typ = EXIM_CONTACT;
	return SvcExImport_Import(&ExIm, (HWND)lParam);
}
Exemplo n.º 3
0
INT_PTR svcExIm_Account_Service(WPARAM, LPARAM lParam)
{
	ExImParam ExIm;
	memset(&ExIm, 0, sizeof(ExIm));
	HWND hClist = pcli->hwndContactTree;
	lpStatusMenuExecParam smep = (lpStatusMenuExecParam)Menu_GetItemData((HGENMENU)lParam);
	ExIm.pszName = mir_strdup(smep->proto);
	ExIm.Typ = EXIM_ACCOUNT;

	if (strstr( smep->svc, "/ExportAccount" )) {
		//Export	"/ExportAccount"
		SvcExImport_Export(&ExIm, hClist);
	}
	else {
		//Import	"/ImportAccount"
		SvcExImport_Import(&ExIm, hClist);
	}
	mir_free(ExIm.pszName);
	return 0;
};
Exemplo n.º 4
0
/**
 * This service is call by Account MenuItem Export and MenuItem Import
 *
 * @param	wParam				- not used
 * @param	lParam				- MenuItem from MS_CLIST_ADDSTATUSMENUITEM
 *
 * @return	always 0
 **/
INT_PTR svcExIm_Account_Service(WPARAM wParam, LPARAM lParam)
{
	ExImParam ExIm;
	memset(&ExIm, 0, sizeof(ExIm));
	HWND hClist = (HWND)CallService(MS_CLUI_GETHWNDTREE,0,0);
	lpStatusMenuExecParam smep = (lpStatusMenuExecParam) CallService(MO_MENUITEMGETOWNERDATA, (WPARAM) lParam, NULL);
	ExIm.pszName = mir_strdup(smep->proto);
	ExIm.Typ = EXIM_ACCOUNT;

	if (strstr( smep->svc, "/ExportAccount" )) {
		//Export	"/ExportAccount"
		SvcExImport_Export(&ExIm, hClist);
	}
	else {
		//Import	"/ImportAccount"
		SvcExImport_Import(&ExIm, hClist);
	}
	mir_free(ExIm.pszName);
	return 0;
};
Exemplo n.º 5
0
/**
 * This service is call by (Sub)Group MenuItem Export and MenuItem Import
 *
 * @param	wParam				- gmp.wParam  = 0 ->Import
 * @param	wParam				- gmp.wParam != 0 ->Export
 * @param	lParam				- gmp.lParam not used
  *
 * @return	always 0
 **/
INT_PTR svcExIm_Group_Service(WPARAM wParam, LPARAM)
{
	ExImParam ExIm;
	INT_PTR hItem = 0, hRoot = 0, hParent = 0;
	TCHAR tszGroup[120], tszItem[120];
	memset(&tszGroup, 0, sizeof(tszGroup));
	memset(&tszItem, 0, sizeof(tszItem));
	memset(&ExIm, 0, sizeof(ExIm));
	LPTSTR ptszGroup = tszGroup;
	LPTSTR ptszItem = tszItem;

	HWND hClist = pcli->hwndContactTree;
	// get clist selection
	hItem = SendMessage(hClist,CLM_GETSELECTION,0,0);
	hRoot = SendMessage(hClist,CLM_GETNEXTITEM, (WPARAM)CLGN_ROOT, (LPARAM)hItem);
	while (hItem) {
		if (SendMessage(hClist,CLM_GETITEMTYPE, (WPARAM)hItem, 0) == CLCIT_GROUP) {
			SendMessage(hClist,CLM_GETITEMTEXT, (WPARAM)hItem, (LPARAM)ptszItem);
			LPTSTR temp = mir_tstrdup(ptszGroup);
			mir_sntprintf(tszGroup, _T("%s%s%s"), ptszItem, mir_tstrlen(temp)? _T("\\"):_T(""), temp);
			mir_free (temp);
		}
		hParent = SendMessage(hClist,CLM_GETNEXTITEM, (WPARAM)CLGN_PARENT, (LPARAM)hItem);
		hItem = (hParent != hRoot) ? hParent : 0;
	}
	ExIm.ptszName = ptszGroup;
	ExIm.Typ = EXIM_SUBGROUP;

	if (wParam) {
		//Export	"/ExportGroup"
		SvcExImport_Export(&ExIm, hClist);
	}
	else {
		//Import	"/ImportGroup"
		SvcExImport_Import(&ExIm, hClist);
	}

	return 0;
};