From e44e7d0d204198d771a328d1553f6c3fcc548395 Mon Sep 17 00:00:00 2001 From: kreol13 Date: Thu, 21 Apr 2011 13:05:15 +0000 Subject: ups... git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@5 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- ex_import/dlg_ExImModules.cpp | 464 ------------------------------------------ 1 file changed, 464 deletions(-) delete mode 100644 ex_import/dlg_ExImModules.cpp (limited to 'ex_import/dlg_ExImModules.cpp') diff --git a/ex_import/dlg_ExImModules.cpp b/ex_import/dlg_ExImModules.cpp deleted file mode 100644 index ba026e2..0000000 --- a/ex_import/dlg_ExImModules.cpp +++ /dev/null @@ -1,464 +0,0 @@ -/* -UserinfoEx plugin for Miranda IM - -Copyright: -ฉ 2006-2010 DeathAxe, Yasnovidyashii, Merlin, K. Romanov, Kreol - -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 : $HeadURL: https://userinfoex.googlecode.com/svn/trunk/ex_import/dlg_ExImModules.cpp $ -Revision : $Revision: 187 $ -Last change on : $Date: 2010-09-08 16:05:54 +0400 (ะกั€, 08 ัะตะฝ 2010) $ -Last change by : $Author: ing.u.horn $ - -=============================================================================== -*/ - -#include "commonheaders.h" -//#include "svc_ExImport.h" -#include "dlg_ExImModules.h" - -/*********************************************************************************************************** - * typedefs - ***********************************************************************************************************/ - -typedef struct { - lpExImParam ExImContact; - DB::CEnumList* pModules; -} EXPORTDATA, *LPEXPORTDATA; - -/*********************************************************************************************************** - * modules stuff - ***********************************************************************************************************/ - -/** - * name: ExportTree_AppendModuleList - * desc: according to the checked list items create the module list for exporting - * param: hTree - handle to the window of the treeview - * hParent - parent tree item for the item to add - * pModules - module list to fill - * return: nothing - **/ -void ExportTree_AppendModuleList(HWND hTree, HTREEITEM hParent, DB::CEnumList* pModules) -{ - TVITEMA tvi; - - // add all checked modules - if (tvi.hItem = TreeView_GetChild(hTree, hParent)) { - CHAR szModule[MAXSETTING]; - - // add optional items - tvi.mask = TVIF_STATE|TVIF_TEXT; - tvi.stateMask = TVIS_STATEIMAGEMASK; - tvi.pszText = szModule; - tvi.cchTextMax = MAXSETTING; - - do { - if ( - SendMessageA(hTree, TVM_GETITEMA, 0, (LPARAM)&tvi) && - ( - tvi.state == INDEXTOSTATEIMAGEMASK(0) || - tvi.state == INDEXTOSTATEIMAGEMASK(2) - ) - ) - { - pModules->Insert(tvi.pszText); - } - } - while (tvi.hItem = TreeView_GetNextSibling(hTree, tvi.hItem)); - } -} - -/** - * name: ExportTree_FindItem - * desc: find a item by its label - * param: hTree - handle to the window of the treeview - * hParent - parent tree item for the item to add - * pszText - text to match the label against - * return: a handle to the found treeitem or NULL - **/ -HTREEITEM ExportTree_FindItem(HWND hTree, HTREEITEM hParent, LPSTR pszText) -{ - TVITEMA tvi; - CHAR szBuf[128]; - - if (!pszText || !*pszText) return NULL; - - tvi.mask = TVIF_TEXT; - tvi.pszText = szBuf; - tvi.cchTextMax = SIZEOF(szBuf); - - for (tvi.hItem = TreeView_GetChild(hTree, hParent); - tvi.hItem != NULL; - tvi.hItem = TreeView_GetNextSibling(hTree, tvi.hItem)) - { - if (SendMessageA(hTree, TVM_GETITEMA, NULL, (LPARAM)&tvi) && !mir_stricmp(tvi.pszText, pszText)) - return tvi.hItem; - } - return NULL; -} - -/** - * name: ExportTree_AddItem - * desc: add an item to the tree view with given options - * param: hTree - handle to the window of the treeview - * hParent - parent tree item for the item to add - * pszDesc - item label - * bUseImages - icons are loaded - * bState - 0-hide checkbox/1-unchecked/2-checked - * return: return handle to added treeitem - **/ -HTREEITEM ExportTree_AddItem(HWND hTree, HTREEITEM hParent, LPSTR pszDesc, BOOLEAN bUseImages, BYTE bState) -{ - TVINSERTSTRUCTA tvii; - HTREEITEM hItem = NULL; - - tvii.hParent = hParent; - tvii.hInsertAfter = TVI_SORT; - tvii.itemex.mask = TVIF_TEXT; - if (bUseImages) { - tvii.itemex.mask |= TVIF_IMAGE|TVIF_SELECTEDIMAGE; - tvii.itemex.iImage = tvii.itemex.iSelectedImage = 1; - } - tvii.itemex.pszText = pszDesc; - if (hItem = (HTREEITEM)SendMessageA(hTree, TVM_INSERTITEMA, NULL, (LPARAM)&tvii)) - TreeView_SetItemState(hTree, hItem, INDEXTOSTATEIMAGEMASK(bState), TVIS_STATEIMAGEMASK); - return hItem; -} - -/** - * name: SelectModulesToExport_DlgProc - * desc: dialog procedure for a dialogbox, which lists modules for a specific contact - * param: hDlg - handle to the window of the dialogbox - * uMsg - message to handle - * wParam - message specific parameter - * lParam - message specific parameter - * return: message specific - **/ -INT_PTR CALLBACK SelectModulesToExport_DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) -{ - LPEXPORTDATA pDat = (LPEXPORTDATA)GetUserData(hDlg); - - switch (uMsg) { - - case WM_INITDIALOG: - { - HWND hTree; - BOOLEAN bImagesLoaded = 0; - - // get tree handle and set treeview style - if (!(hTree = GetDlgItem(hDlg, IDC_TREE))) break; - SetWindowLongPtr(hTree, GWL_STYLE, GetWindowLongPtr(hTree, GWL_STYLE) | TVS_NOHSCROLL | TVS_CHECKBOXES); - - // init the datastructure - if (!(pDat = (LPEXPORTDATA)mir_alloc(sizeof(EXPORTDATA)))) - return FALSE; - pDat->ExImContact = ((LPEXPORTDATA)lParam)->ExImContact; - pDat->pModules = ((LPEXPORTDATA)lParam)->pModules; - SetUserData(hDlg, pDat); - - // set icons - { - HICON hIcon; - HIMAGELIST hImages; - OSVERSIONINFO osvi; - const ICONCTRL idIcon[] = { - { ICO_DLG_EXPORT, WM_SETICON, NULL }, - { ICO_DLG_EXPORT, STM_SETIMAGE, ICO_DLGLOGO }, - { ICO_BTN_EXPORT, BM_SETIMAGE, IDOK }, - { ICO_BTN_CANCEL, BM_SETIMAGE, IDCANCEL } - }; - const INT numIconsToSet = DB::Setting::GetByte(SET_ICONS_BUTTONS, 1) ? SIZEOF(idIcon) : 2; - IcoLib_SetCtrlIcons(hDlg, idIcon, numIconsToSet); - - // create imagelist for treeview - osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&osvi); - if ((hImages = ImageList_Create( - GetSystemMetrics(SM_CXSMICON), - GetSystemMetrics(SM_CYSMICON), - ((osvi.dwPlatformId == VER_PLATFORM_WIN32_NT && osvi.dwMajorVersion >= 5 && osvi.dwMinorVersion >= 1) ? ILC_COLOR32 : ILC_COLOR16)|ILC_MASK, - 0, 1) - ) != NULL) - { - SendMessage(hTree, TVM_SETIMAGELIST, TVSIL_NORMAL, (LPARAM)hImages); - - bImagesLoaded - = ((((hIcon = IcoLib_GetIcon(ICO_LST_MODULES)) != NULL) && 0 == ImageList_AddIcon(hImages, hIcon)) - && (((hIcon = IcoLib_GetIcon(ICO_LST_FOLDER)) != NULL) && 1 == ImageList_AddIcon(hImages, hIcon))); - } - } - // do the translation stuff - { - SendDlgItemMessage(hDlg, BTN_CHECK, BUTTONTRANSLATE, NULL, NULL); - SendDlgItemMessage(hDlg, BTN_UNCHECK, BUTTONTRANSLATE, NULL, NULL); - SendDlgItemMessage(hDlg, IDOK, BUTTONTRANSLATE, NULL, NULL); - SendDlgItemMessage(hDlg, IDCANCEL, BUTTONTRANSLATE, NULL, NULL); - } - // Set the Window Title and description - { - LPCTSTR name = NULL; - TCHAR oldTitle[MAXDATASIZE], - newTitle[MAXDATASIZE]; - switch (pDat->ExImContact->Typ) { - case EXIM_ALL: - case EXIM_GROUP: - name = TranslateT("All Contacts"); - break; - case EXIM_CONTACT: - if (pDat->ExImContact->hContact == NULL) { - name = TranslateT("Owner"); - } - else { - name = DB::Contact::DisplayName(pDat->ExImContact->hContact); - } - break; - case EXIM_SUBGROUP: - name = (LPCTSTR) pDat->ExImContact->ptszName; - break; - case EXIM_ACCOUNT: - PROTOACCOUNT* acc = ProtoGetAccount(pDat->ExImContact->pszName); - name = (LPCTSTR) acc->tszAccountName; - break; - } - TranslateDialogDefault(hDlg); //to translate oldTitle - GetWindowText(hDlg, oldTitle, MAXSETTING); - mir_sntprintf(newTitle, MAXDATASIZE - 1, _T("%s - %s"), name, oldTitle); - SetWindowText(hDlg, newTitle); - } - - { - LPSTR pszProto; - TVINSERTSTRUCT tviiT; - DB::CEnumList Modules; - HTREEITEM hItemEssential, hItemOptional; - - TreeView_SetIndent(hTree, 6); - TreeView_SetItemHeight(hTree, 18); - - pszProto = (pDat->ExImContact->Typ == EXIM_CONTACT && pDat->ExImContact->hContact != NULL) - ? (LPSTR)DB::Contact::Proto(pDat->ExImContact->hContact) - : NULL; - - // add items that are always exported - tviiT.hParent = TVI_ROOT; - tviiT.hInsertAfter = TVI_FIRST; - tviiT.itemex.mask = TVIF_TEXT|TVIF_STATE; - tviiT.itemex.pszText = TranslateT("Required modules"); - tviiT.itemex.state = tviiT.itemex.stateMask = TVIS_EXPANDED; - if (bImagesLoaded) { - tviiT.itemex.mask |= TVIF_IMAGE|TVIF_SELECTEDIMAGE; - tviiT.itemex.iImage = tviiT.itemex.iSelectedImage = 0; - } - if (hItemEssential = TreeView_InsertItem(hTree, &tviiT)) { - // disable state images - TreeView_SetItemState(hTree, hItemEssential, INDEXTOSTATEIMAGEMASK(0), TVIS_STATEIMAGEMASK); - - // insert essential items (modul from UIEX) - ExportTree_AddItem(hTree, hItemEssential, USERINFO, bImagesLoaded, 0); - ExportTree_AddItem(hTree, hItemEssential, MOD_MBIRTHDAY, bImagesLoaded, 0); - - /*Filter/ protocol module is ignored for owner contact - if (pDat->hContact != NULL) { - ExportTree_AddItem(hTree, hItemEssential, "Protocol", bImagesLoaded, 0); - }*/ - - // base protocol is only valid for single exported contact at this position - if (pszProto) { - ExportTree_AddItem(hTree, hItemEssential, pszProto, bImagesLoaded, 0); - } - } - - // add items that are optional (and more essential) - tviiT.hInsertAfter = TVI_LAST; - tviiT.itemex.pszText = TranslateT("Optional modules"); - if (hItemOptional = TreeView_InsertItem(hTree, &tviiT)) { - TreeView_SetItemState(hTree, hItemOptional, INDEXTOSTATEIMAGEMASK(0), TVIS_STATEIMAGEMASK); - - if (!Modules.EnumModules()) // init Modul list - { - INT i; - LPSTR p; - - for (i = 0; i < Modules.getCount(); i++) - { - p = Modules[i]; - /*Filter/ - if (!DB::Module::IsMeta(p))/end Filter*/ - { - // module must exist in at least one contact - if (pDat->ExImContact->Typ != EXIM_CONTACT) // TRUE = All Contacts - { - HANDLE hContact; - - for (hContact = DB::Contact::FindFirst(); - hContact != NULL; - hContact = DB::Contact::FindNext(hContact)) - { - // ignore empty modules - if (!DB::Module::IsEmpty(hContact, p)) { - pszProto = DB::Contact::Proto(hContact); - // Filter by mode - switch (pDat->ExImContact->Typ) - { - case EXIM_ALL: - case EXIM_GROUP: - break; - case EXIM_SUBGROUP: - if (mir_tcsncmp(pDat->ExImContact->ptszName, DB::Setting::GetTString(hContact, "CList", "Group"), mir_tcslen(pDat->ExImContact->ptszName))) { - continue; - } - break; - case EXIM_ACCOUNT: - if (mir_strcmp(pDat->ExImContact->pszName, pszProto)) { - continue; - } - break; - } - - // contact's base protocol is to be added to the treeview uniquely - if (!mir_stricmp(p, pszProto)) - { - if (!ExportTree_FindItem(hTree, hItemEssential, p)) - { - ExportTree_AddItem(hTree, hItemEssential, p, bImagesLoaded, 0); - } - break; - } - - // add optional module, which is valid for at least one contact - /*/Filter/*/ - if ( mir_stricmp(p, USERINFO) && - mir_stricmp(p, MOD_MBIRTHDAY) && - // Meta is only valid as base Proto at this point - mir_stricmp(p, myGlobals.szMetaProto) /*&& - mir_stricmp(p, "Protocol")*/ - ) - { - ExportTree_AddItem(hTree, hItemOptional, p, bImagesLoaded, 1); - break; - } - } - } // end for - } // end TRUE = All Contacts - - // module must exist in the selected contact - else if ( - /*Filter/*/ - !DB::Module::IsEmpty(pDat->ExImContact->hContact, p) && - (!pDat->ExImContact->hContact || mir_stricmp(p, pszProto)) && - //mir_stricmp(p, "Protocol") && - mir_stricmp(p, USERINFO) && - mir_stricmp(p, MOD_MBIRTHDAY) ) - { - ExportTree_AddItem(hTree, hItemOptional, (LPSTR)p, bImagesLoaded, 1); - } - } // end - } - } - } - } - TranslateDialogDefault(hDlg); - return TRUE; - } - case WM_CTLCOLORSTATIC: - if (GetDlgItem(hDlg, STATIC_WHITERECT) == (HWND)lParam || GetDlgItem(hDlg, ICO_DLGLOGO) == (HWND)lParam) { - SetBkColor((HDC)wParam, RGB(255, 255, 255)); - return (INT_PTR)GetStockObject(WHITE_BRUSH); - } - SetBkMode((HDC)wParam, TRANSPARENT); - return (INT_PTR)GetStockObject(NULL_BRUSH); - - case WM_COMMAND: - switch (LOWORD(wParam)) { - case IDOK: - { - HWND hTree = GetDlgItem(hDlg, IDC_TREE); - HTREEITEM hParent; - - // search the tree item of optional items - for (hParent = TreeView_GetRoot(hTree); - hParent != NULL; - hParent = TreeView_GetNextSibling(hTree, hParent)) - { - ExportTree_AppendModuleList(hTree, hParent, pDat->pModules); - } - return EndDialog(hDlg, IDOK); - } - case IDCANCEL: - return EndDialog(hDlg, IDCANCEL); - - case BTN_CHECK: - case BTN_UNCHECK: - { - HWND hTree = GetDlgItem(hDlg, IDC_TREE); - LPCSTR pszRoot = Translate("Optional modules"); - TVITEMA tvi; - CHAR szText[128]; - - tvi.mask = TVIF_TEXT; - tvi.pszText = szText; - tvi.cchTextMax = sizeof(szText); - - // search the tree item of optional items - for (tvi.hItem = (HTREEITEM)SendMessageA(hTree, TVM_GETNEXTITEM, TVGN_ROOT, NULL); - tvi.hItem != NULL && SendMessageA(hTree, TVM_GETITEMA, 0, (LPARAM)&tvi); - tvi.hItem = (HTREEITEM)SendMessageA(hTree, TVM_GETNEXTITEM, TVGN_NEXT, (LPARAM)tvi.hItem)) - { - if (!mir_stricmp(tvi.pszText, pszRoot)) { - tvi.mask = TVIF_STATE; - tvi.state = INDEXTOSTATEIMAGEMASK(LOWORD(wParam) == BTN_UNCHECK ? 1 : 2); - tvi.stateMask = TVIS_STATEIMAGEMASK; - - for (tvi.hItem = (HTREEITEM)SendMessageA(hTree, TVM_GETNEXTITEM, TVGN_CHILD, (LPARAM)tvi.hItem); - tvi.hItem != NULL; - tvi.hItem = (HTREEITEM)SendMessageA(hTree, TVM_GETNEXTITEM, TVGN_NEXT, (LPARAM)tvi.hItem)) - { - SendMessageA(hTree, TVM_SETITEMA, NULL, (LPARAM)&tvi); - } - break; - } - } - break; - } - } - break; - - case WM_DESTROY: - mir_free(pDat); - break; - } - return 0; -} - -/** - * name: DlgExImModules_SelectModulesToExport - * desc: calls a dialog box that lists all modules for a specific contact - * param: ExImContact - lpExImParam - * pModules - pointer to an ENUMLIST structure that retrieves the resulting list of modules - * hParent - handle to a window which should act as the parent of the created dialog - * return: 0 if user pressed ok, 1 on cancel - **/ -INT DlgExImModules_SelectModulesToExport(lpExImParam ExImContact, DB::CEnumList* pModules, HWND hParent) -{ - EXPORTDATA dat; - - dat.ExImContact = ExImContact; - dat.pModules = pModules; - return (IDOK != DialogBoxParam(ghInst, MAKEINTRESOURCE(IDD_EXPORT), hParent, SelectModulesToExport_DlgProc, (LPARAM)&dat)); -} - -- cgit v1.2.3