From 5b0a53a6d3f1b8d70b34631d96d3815d0a334dd3 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Mon, 16 Jul 2012 16:31:53 +0000 Subject: Clist_mw, Clist_nicer, CmdLine, Console: folder structure change git-svn-id: http://svn.miranda-ng.org/main/trunk@988 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Clist_nicer/skineditor/main.cpp | 970 -------------------------------- 1 file changed, 970 deletions(-) delete mode 100644 plugins/Clist_nicer/skineditor/main.cpp (limited to 'plugins/Clist_nicer/skineditor/main.cpp') diff --git a/plugins/Clist_nicer/skineditor/main.cpp b/plugins/Clist_nicer/skineditor/main.cpp deleted file mode 100644 index de1996f2f5..0000000000 --- a/plugins/Clist_nicer/skineditor/main.cpp +++ /dev/null @@ -1,970 +0,0 @@ -/* - -Miranda IM: the free IM client for Microsoft* Windows* - -Copyright 2000-2004 Miranda ICQ/IM project, -all portions of this codebase are copyrighted to the people -listed in contributors.txt. - -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. -*/ - -#include "commonheaders.h" -#include "skineditres.h" - -#define ID_EXTBKSEPARATOR 40200 - -PLUGININFOEX pluginInfo = { - sizeof(PLUGININFOEX), - "Skin editor for clist_nicer+", - PLUGIN_MAKE_VERSION(0, 0, 0, 4), - "Allow inline skin item editing for clist nicer+.", - "Nightwish, Pixel", - "", - "Copyright 2000-2006 Miranda-IM project", - "http://www.miranda-im.org", - UNICODE_AWARE, - {0x21948c89, 0xb549, 0x4c9d, { 0x8b, 0x4f, 0x3f, 0x37, 0x26, 0xec, 0x6b, 0x4b }} -}; - -HINSTANCE g_hInst = 0; -int hLangpack; - -StatusItems_t *StatusItems; -ChangedSItems_t ChangedSItems = {0}; - -static int LastModifiedItem = -1; -static int last_selcount = 0; -static int last_indizes[64]; -static int ID_EXTBK_LAST = 0, ID_EXTBK_FIRST = 0; - -/* - * prototypes - */ - -static void ChangeControlItems(HWND hwndDlg, int status, int except); -static BOOL CheckItem(int item, HWND hwndDlg); - -static void ReActiveCombo(HWND hwndDlg) -{ - if (IsDlgButtonChecked(hwndDlg, IDC_IGNORE)) { - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_LR), IsDlgButtonChecked(hwndDlg, IDC_GRADIENT)); - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_RL), IsDlgButtonChecked(hwndDlg, IDC_GRADIENT)); - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_TB), IsDlgButtonChecked(hwndDlg, IDC_GRADIENT)); - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_BT), IsDlgButtonChecked(hwndDlg, IDC_GRADIENT)); - - EnableWindow(GetDlgItem(hwndDlg, IDC_BASECOLOUR2), !IsDlgButtonChecked(hwndDlg, IDC_COLOR2_TRANSPARENT)); - EnableWindow(GetDlgItem(hwndDlg, IDC_COLOR2LABLE), !IsDlgButtonChecked(hwndDlg, IDC_COLOR2_TRANSPARENT)); - - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_TL), IsDlgButtonChecked(hwndDlg, IDC_CORNER)); - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_TR), IsDlgButtonChecked(hwndDlg, IDC_CORNER)); - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_BR), IsDlgButtonChecked(hwndDlg, IDC_CORNER)); - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_BL), IsDlgButtonChecked(hwndDlg, IDC_CORNER)); - ChangeControlItems(hwndDlg, !IsDlgButtonChecked(hwndDlg, IDC_IGNORE), IDC_IGNORE); - } else { - ChangeControlItems(hwndDlg, !IsDlgButtonChecked(hwndDlg, IDC_IGNORE), IDC_IGNORE); - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_LR), IsDlgButtonChecked(hwndDlg, IDC_GRADIENT)); - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_RL), IsDlgButtonChecked(hwndDlg, IDC_GRADIENT)); - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_TB), IsDlgButtonChecked(hwndDlg, IDC_GRADIENT)); - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_BT), IsDlgButtonChecked(hwndDlg, IDC_GRADIENT)); - - EnableWindow(GetDlgItem(hwndDlg, IDC_BASECOLOUR2), !IsDlgButtonChecked(hwndDlg, IDC_COLOR2_TRANSPARENT)); - EnableWindow(GetDlgItem(hwndDlg, IDC_COLOR2LABLE), !IsDlgButtonChecked(hwndDlg, IDC_COLOR2_TRANSPARENT)); - - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_TL), IsDlgButtonChecked(hwndDlg, IDC_CORNER)); - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_TR), IsDlgButtonChecked(hwndDlg, IDC_CORNER)); - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_BR), IsDlgButtonChecked(hwndDlg, IDC_CORNER)); - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_BL), IsDlgButtonChecked(hwndDlg, IDC_CORNER)); - } -} - -// enabled or disabled the whole status controlitems group (with exceptional control) -static void ChangeControlItems(HWND hwndDlg, int status, int except) -{ - if (except != IDC_GRADIENT) - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT), status); - if (except != IDC_GRADIENT_LR) - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_LR), status); - if (except != IDC_GRADIENT_RL) - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_RL), status); - if (except != IDC_GRADIENT_TB) - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_TB), status); - if (except != IDC_GRADIENT_BT) - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_BT), status); - if (except != IDC_CORNER) - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER), status); - if (except != IDC_CORNER_TL) - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_TL), status); - if (except != IDC_CORNER_TR) - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_TR), status); - if (except != IDC_CORNER_BR) - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_BR), status); - if (except != IDC_CORNER_BL) - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_BL), status); - if (except != IDC_CORNER_TL) - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_TL), status); - if (except != IDC_MARGINLABLE) - EnableWindow(GetDlgItem(hwndDlg, IDC_MARGINLABLE), status); - if (except != IDC_MRGN_TOP) - EnableWindow(GetDlgItem(hwndDlg, IDC_MRGN_TOP), status); - if (except != IDC_MRGN_RIGHT) - EnableWindow(GetDlgItem(hwndDlg, IDC_MRGN_RIGHT), status); - if (except != IDC_MRGN_BOTTOM) - EnableWindow(GetDlgItem(hwndDlg, IDC_MRGN_BOTTOM), status); - if (except != IDC_MRGN_LEFT) - EnableWindow(GetDlgItem(hwndDlg, IDC_MRGN_LEFT), status); - if (except != IDC_MRGN_TOP_SPIN) - EnableWindow(GetDlgItem(hwndDlg, IDC_MRGN_TOP_SPIN), status); - if (except != IDC_MRGN_RIGHT_SPIN) - EnableWindow(GetDlgItem(hwndDlg, IDC_MRGN_RIGHT_SPIN), status); - if (except != IDC_MRGN_BOTTOM_SPIN) - EnableWindow(GetDlgItem(hwndDlg, IDC_MRGN_BOTTOM_SPIN), status); - if (except != IDC_MRGN_LEFT_SPIN) - EnableWindow(GetDlgItem(hwndDlg, IDC_MRGN_LEFT_SPIN), status); - if (except != IDC_BASECOLOUR) - EnableWindow(GetDlgItem(hwndDlg, IDC_BASECOLOUR), status); - if (except != IDC_COLORLABLE) - EnableWindow(GetDlgItem(hwndDlg, IDC_COLORLABLE), status); - if (except != IDC_BASECOLOUR2) - EnableWindow(GetDlgItem(hwndDlg, IDC_BASECOLOUR2), status); - if (except != IDC_COLOR2LABLE) - EnableWindow(GetDlgItem(hwndDlg, IDC_COLOR2LABLE), status); - if (except != IDC_COLOR2_TRANSPARENT) - EnableWindow(GetDlgItem(hwndDlg, IDC_COLOR2_TRANSPARENT), status); - if (except != IDC_TEXTCOLOUR) - EnableWindow(GetDlgItem(hwndDlg, IDC_TEXTCOLOUR), status); - if (except != IDC_TEXTCOLOURLABLE) - EnableWindow(GetDlgItem(hwndDlg, IDC_TEXTCOLOURLABLE), status); - - if (except != IDC_ALPHA) - EnableWindow(GetDlgItem(hwndDlg, IDC_ALPHA), status); - if (except != IDC_ALPHASPIN) - EnableWindow(GetDlgItem(hwndDlg, IDC_ALPHASPIN), status); - if (except != IDC_ALPHALABLE) - EnableWindow(GetDlgItem(hwndDlg, IDC_ALPHALABLE), status); - if (except != IDC_IGNORE) - EnableWindow(GetDlgItem(hwndDlg, IDC_IGNORE), status); - - if (except != IDC_BORDERTYPE) - EnableWindow(GetDlgItem(hwndDlg, IDC_BORDERTYPE), status); - -} - -static void FillOptionDialogByStatusItem(HWND hwndDlg, StatusItems_t *item) -{ - char itoabuf[15]; - DWORD ret; - int index; - - CheckDlgButton(hwndDlg, IDC_IGNORE, (item->IGNORED) ? BST_CHECKED : BST_UNCHECKED); - - CheckDlgButton(hwndDlg, IDC_GRADIENT, (item->GRADIENT & GRADIENT_ACTIVE) ? BST_CHECKED : BST_UNCHECKED); - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_LR), item->GRADIENT & GRADIENT_ACTIVE); - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_RL), item->GRADIENT & GRADIENT_ACTIVE); - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_TB), item->GRADIENT & GRADIENT_ACTIVE); - EnableWindow(GetDlgItem(hwndDlg, IDC_GRADIENT_BT), item->GRADIENT & GRADIENT_ACTIVE); - CheckDlgButton(hwndDlg, IDC_GRADIENT_LR, (item->GRADIENT & GRADIENT_LR) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_GRADIENT_RL, (item->GRADIENT & GRADIENT_RL) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_GRADIENT_TB, (item->GRADIENT & GRADIENT_TB) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_GRADIENT_BT, (item->GRADIENT & GRADIENT_BT) ? BST_CHECKED : BST_UNCHECKED); - - CheckDlgButton(hwndDlg, IDC_CORNER, (item->CORNER & CORNER_ACTIVE) ? BST_CHECKED : BST_UNCHECKED); - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_TL), item->CORNER & CORNER_ACTIVE); - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_TR), item->CORNER & CORNER_ACTIVE); - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_BR), item->CORNER & CORNER_ACTIVE); - EnableWindow(GetDlgItem(hwndDlg, IDC_CORNER_BL), item->CORNER & CORNER_ACTIVE); - - CheckDlgButton(hwndDlg, IDC_CORNER_TL, (item->CORNER & CORNER_TL) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CORNER_TR, (item->CORNER & CORNER_TR) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CORNER_BR, (item->CORNER & CORNER_BR) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CORNER_BL, (item->CORNER & CORNER_BL) ? BST_CHECKED : BST_UNCHECKED); - - ret = item->COLOR; - SendDlgItemMessage(hwndDlg, IDC_BASECOLOUR, CPM_SETDEFAULTCOLOUR, 0, CLCDEFAULT_COLOR); - SendDlgItemMessage(hwndDlg, IDC_BASECOLOUR, CPM_SETCOLOUR, 0, ret); - - ret = item->COLOR2; - SendDlgItemMessage(hwndDlg, IDC_BASECOLOUR2, CPM_SETDEFAULTCOLOUR, 0, CLCDEFAULT_COLOR2); - SendDlgItemMessage(hwndDlg, IDC_BASECOLOUR2, CPM_SETCOLOUR, 0, ret); - - CheckDlgButton(hwndDlg, IDC_COLOR2_TRANSPARENT, (item->COLOR2_TRANSPARENT) ? BST_CHECKED : BST_UNCHECKED); - - ret = item->TEXTCOLOR; - SendDlgItemMessage(hwndDlg, IDC_TEXTCOLOUR, CPM_SETDEFAULTCOLOUR, 0, CLCDEFAULT_TEXTCOLOR); - SendDlgItemMessage(hwndDlg, IDC_TEXTCOLOUR, CPM_SETCOLOUR, 0, ret); - - if (item->ALPHA == -1) { - SetDlgItemTextA(hwndDlg, IDC_ALPHA, ""); - } else { - ret = item->ALPHA; - _itoa(ret, itoabuf, 10); - SetDlgItemTextA(hwndDlg, IDC_ALPHA, itoabuf); - } - - if (item->MARGIN_LEFT == -1) - SetDlgItemTextA(hwndDlg, IDC_MRGN_LEFT, ""); - else { - ret = item->MARGIN_LEFT; - _itoa(ret, itoabuf, 10); - SetDlgItemTextA(hwndDlg, IDC_MRGN_LEFT, itoabuf); - } - - if (item->MARGIN_TOP == -1) - SetDlgItemTextA(hwndDlg, IDC_MRGN_TOP, ""); - else { - ret = item->MARGIN_TOP; - _itoa(ret, itoabuf, 10); - SetDlgItemTextA(hwndDlg, IDC_MRGN_TOP, itoabuf); - } - - if (item->MARGIN_RIGHT == -1) - SetDlgItemTextA(hwndDlg, IDC_MRGN_RIGHT, ""); - else { - ret = item->MARGIN_RIGHT; - _itoa(ret, itoabuf, 10); - SetDlgItemTextA(hwndDlg, IDC_MRGN_RIGHT, itoabuf); - } - - if (item->MARGIN_BOTTOM == -1) - SetDlgItemTextA(hwndDlg, IDC_MRGN_BOTTOM, ""); - else { - ret = item->MARGIN_BOTTOM; - _itoa(ret, itoabuf, 10); - SetDlgItemTextA(hwndDlg, IDC_MRGN_BOTTOM, itoabuf); - } - if(item->BORDERSTYLE == -1) - SendDlgItemMessage(hwndDlg, IDC_BORDERTYPE, CB_SETCURSEL, 0, 0); - else { - index = 0; - switch(item->BORDERSTYLE) { - case 0: - case -1: - index = 0; - break; - case BDR_RAISEDOUTER: - index = 1; - break; - case BDR_SUNKENINNER: - index = 2; - break; - case EDGE_BUMP: - index = 3; - break; - case EDGE_ETCHED: - index = 4; - break; - } - SendDlgItemMessage(hwndDlg, IDC_BORDERTYPE, CB_SETCURSEL, (WPARAM)index, 0); - } - ReActiveCombo(hwndDlg); -} -// update dlg with selected item -static void FillOptionDialogByCurrentSel(HWND hwndDlg) -{ - int index = SendDlgItemMessage(hwndDlg, IDC_ITEMS, LB_GETCURSEL, 0, 0); - int itemData = SendDlgItemMessage(hwndDlg, IDC_ITEMS, LB_GETITEMDATA, index, 0); - if(itemData != ID_EXTBKSEPARATOR) { - LastModifiedItem = itemData - ID_EXTBK_FIRST; - - if (CheckItem(itemData - ID_EXTBK_FIRST, hwndDlg)) { - FillOptionDialogByStatusItem(hwndDlg, &StatusItems[itemData - ID_EXTBK_FIRST]); - } - } -} - - -// enabled all status controls if the selected item is a separator -static BOOL CheckItem(int item, HWND hwndDlg) -{ - if (StatusItems[item].statusID == ID_EXTBKSEPARATOR) { - ChangeControlItems(hwndDlg, 0, 0); - return FALSE; - } else { - ChangeControlItems(hwndDlg, 1, 0); - return TRUE; - } -} - -static void SetChangedStatusItemFlag(WPARAM wParam, HWND hwndDlg) -{ - if (LOWORD(wParam) != IDC_ITEMS - && (GetDlgItem(hwndDlg, LOWORD(wParam)) == GetFocus() || HIWORD(wParam) == CPN_COLOURCHANGED) - && (HIWORD(wParam) == BN_CLICKED || HIWORD(wParam) == EN_CHANGE || HIWORD(wParam) == CPN_COLOURCHANGED)) { - switch (LOWORD(wParam)) { - case IDC_IGNORE: - ChangedSItems.bIGNORED = TRUE; break; - case IDC_GRADIENT: - ChangedSItems.bGRADIENT = TRUE; break; - case IDC_GRADIENT_LR: - ChangedSItems.bGRADIENT = TRUE;break; - case IDC_GRADIENT_RL: - ChangedSItems.bGRADIENT = TRUE; break; - case IDC_GRADIENT_BT: - ChangedSItems.bGRADIENT = TRUE; break; - case IDC_GRADIENT_TB: - ChangedSItems.bGRADIENT = TRUE; break; - - case IDC_CORNER: - ChangedSItems.bCORNER = TRUE; break; - case IDC_CORNER_TL: - ChangedSItems.bCORNER = TRUE; break; - case IDC_CORNER_TR: - ChangedSItems.bCORNER = TRUE; break; - case IDC_CORNER_BR: - ChangedSItems.bCORNER = TRUE; break; - case IDC_CORNER_BL: - ChangedSItems.bCORNER = TRUE; break; - - case IDC_BASECOLOUR: - ChangedSItems.bCOLOR = TRUE; break; - case IDC_BASECOLOUR2: - ChangedSItems.bCOLOR2 = TRUE; break; - case IDC_COLOR2_TRANSPARENT: - ChangedSItems.bCOLOR2_TRANSPARENT = TRUE; break; - case IDC_TEXTCOLOUR: - ChangedSItems.bTEXTCOLOR = TRUE; break; - - case IDC_ALPHA: - ChangedSItems.bALPHA = TRUE; break; - case IDC_ALPHASPIN: - ChangedSItems.bALPHA = TRUE; break; - - case IDC_MRGN_LEFT: - ChangedSItems.bMARGIN_LEFT = TRUE; break; - case IDC_MRGN_LEFT_SPIN: - ChangedSItems.bMARGIN_LEFT = TRUE; break; - - case IDC_MRGN_TOP: - ChangedSItems.bMARGIN_TOP = TRUE; break; - case IDC_MRGN_TOP_SPIN: - ChangedSItems.bMARGIN_TOP = TRUE; break; - - case IDC_MRGN_RIGHT: - ChangedSItems.bMARGIN_RIGHT = TRUE; break; - case IDC_MRGN_RIGHT_SPIN: - ChangedSItems.bMARGIN_RIGHT = TRUE; break; - - case IDC_MRGN_BOTTOM: - ChangedSItems.bMARGIN_BOTTOM = TRUE; break; - case IDC_MRGN_BOTTOM_SPIN: - ChangedSItems.bMARGIN_BOTTOM = TRUE; break; - - case IDC_BORDERTYPE: - ChangedSItems.bBORDERSTYLE = TRUE; break; - } - } -} - -static BOOL isValidItem(void) -{ - if (StatusItems[LastModifiedItem].statusID == ID_EXTBKSEPARATOR) - return FALSE; - - return TRUE; -} - -// updates the struct with the changed dlg item -static void UpdateStatusStructSettingsFromOptDlg(HWND hwndDlg, int index) -{ - char buf[15]; - ULONG bdrtype; - - if (ChangedSItems.bIGNORED) - StatusItems[index]. IGNORED = IsDlgButtonChecked(hwndDlg, IDC_IGNORE); - - if (ChangedSItems.bGRADIENT) { - StatusItems[index]. GRADIENT = GRADIENT_NONE; - if (IsDlgButtonChecked(hwndDlg, IDC_GRADIENT)) - StatusItems[index].GRADIENT |= GRADIENT_ACTIVE; - if (IsDlgButtonChecked(hwndDlg, IDC_GRADIENT_LR)) - StatusItems[index].GRADIENT |= GRADIENT_LR; - if (IsDlgButtonChecked(hwndDlg, IDC_GRADIENT_RL)) - StatusItems[index].GRADIENT |= GRADIENT_RL; - if (IsDlgButtonChecked(hwndDlg, IDC_GRADIENT_TB)) - StatusItems[index].GRADIENT |= GRADIENT_TB; - if (IsDlgButtonChecked(hwndDlg, IDC_GRADIENT_BT)) - StatusItems[index].GRADIENT |= GRADIENT_BT; - } - if (ChangedSItems.bCORNER) { - StatusItems[index]. CORNER = CORNER_NONE; - if (IsDlgButtonChecked(hwndDlg, IDC_CORNER)) - StatusItems[index].CORNER |= CORNER_ACTIVE ; - if (IsDlgButtonChecked(hwndDlg, IDC_CORNER_TL)) - StatusItems[index].CORNER |= CORNER_TL ; - if (IsDlgButtonChecked(hwndDlg, IDC_CORNER_TR)) - StatusItems[index].CORNER |= CORNER_TR; - if (IsDlgButtonChecked(hwndDlg, IDC_CORNER_BR)) - StatusItems[index].CORNER |= CORNER_BR; - if (IsDlgButtonChecked(hwndDlg, IDC_CORNER_BL)) - StatusItems[index].CORNER |= CORNER_BL; - } - - if (ChangedSItems.bCOLOR) - StatusItems[index]. COLOR = SendDlgItemMessage(hwndDlg, IDC_BASECOLOUR, CPM_GETCOLOUR, 0, 0); - - if (ChangedSItems.bCOLOR2) - StatusItems[index]. COLOR2 = SendDlgItemMessage(hwndDlg, IDC_BASECOLOUR2, CPM_GETCOLOUR, 0, 0); - - if (ChangedSItems.bCOLOR2_TRANSPARENT) - StatusItems[index]. COLOR2_TRANSPARENT = IsDlgButtonChecked(hwndDlg, IDC_COLOR2_TRANSPARENT); - - if (ChangedSItems.bTEXTCOLOR) - StatusItems[index]. TEXTCOLOR = SendDlgItemMessage(hwndDlg, IDC_TEXTCOLOUR, CPM_GETCOLOUR, 0, 0); - - if (ChangedSItems.bALPHA) { - GetWindowTextA(GetDlgItem(hwndDlg, IDC_ALPHA), buf, 10); // can be removed now - if (lstrlenA(buf) > 0) - StatusItems[index]. ALPHA = (BYTE) SendDlgItemMessage(hwndDlg, IDC_ALPHASPIN, UDM_GETPOS, 0, 0); - } - - if (ChangedSItems.bMARGIN_LEFT) { - GetWindowTextA(GetDlgItem(hwndDlg, IDC_MRGN_LEFT), buf, 10); - if (lstrlenA(buf) > 0) - StatusItems[index]. MARGIN_LEFT = (BYTE) SendDlgItemMessage(hwndDlg, IDC_MRGN_LEFT_SPIN, UDM_GETPOS, 0, 0); - } - - if (ChangedSItems.bMARGIN_TOP) { - GetWindowTextA(GetDlgItem(hwndDlg, IDC_MRGN_TOP), buf, 10); - if (lstrlenA(buf) > 0) - StatusItems[index]. MARGIN_TOP = (BYTE) SendDlgItemMessage(hwndDlg, IDC_MRGN_TOP_SPIN, UDM_GETPOS, 0, 0); - } - - if (ChangedSItems.bMARGIN_RIGHT) { - GetWindowTextA(GetDlgItem(hwndDlg, IDC_MRGN_RIGHT), buf, 10); - if (lstrlenA(buf) > 0) - StatusItems[index]. MARGIN_RIGHT = (BYTE) SendDlgItemMessage(hwndDlg, IDC_MRGN_RIGHT_SPIN, UDM_GETPOS, 0, 0); - } - - if (ChangedSItems.bMARGIN_BOTTOM) { - GetWindowTextA(GetDlgItem(hwndDlg, IDC_MRGN_BOTTOM), buf, 10); - if (lstrlenA(buf) > 0) - StatusItems[index]. MARGIN_BOTTOM = (BYTE) SendDlgItemMessage(hwndDlg, IDC_MRGN_BOTTOM_SPIN, UDM_GETPOS, 0, 0); - } - if (ChangedSItems.bBORDERSTYLE) { - bdrtype = SendDlgItemMessage(hwndDlg, IDC_BORDERTYPE, CB_GETCURSEL, 0, 0); - if(bdrtype == CB_ERR) - StatusItems[index].BORDERSTYLE = 0; - else { - switch(bdrtype) { - case 0: - StatusItems[index].BORDERSTYLE = 0; - break; - case 1: - StatusItems[index].BORDERSTYLE = BDR_RAISEDOUTER; - break; - case 2: - StatusItems[index].BORDERSTYLE = BDR_SUNKENINNER; - break; - case 3: - StatusItems[index].BORDERSTYLE = EDGE_BUMP; - break; - case 4: - StatusItems[index].BORDERSTYLE = EDGE_ETCHED; - break; - default: - StatusItems[index].BORDERSTYLE = 0; - break; - } - } - } -} - -static void SaveLatestChanges(HWND hwndDlg) -{ - int n, itemData; - // process old selection - if (last_selcount > 0) { - for (n = 0; n < last_selcount; n++) { - itemData = SendDlgItemMessage(hwndDlg, IDC_ITEMS, LB_GETITEMDATA, last_indizes[n], 0); - if (itemData != ID_EXTBKSEPARATOR) { - UpdateStatusStructSettingsFromOptDlg(hwndDlg, itemData - ID_EXTBK_FIRST); - } - } - } - - // reset bChange - ChangedSItems.bALPHA = FALSE; - ChangedSItems.bGRADIENT = FALSE; - ChangedSItems.bCORNER = FALSE; - ChangedSItems.bCOLOR = FALSE; - ChangedSItems.bCOLOR2 = FALSE; - ChangedSItems.bCOLOR2_TRANSPARENT = FALSE; - ChangedSItems.bTEXTCOLOR = FALSE; - ChangedSItems.bALPHA = FALSE; - ChangedSItems.bMARGIN_LEFT = FALSE; - ChangedSItems.bMARGIN_TOP = FALSE; - ChangedSItems.bMARGIN_RIGHT = FALSE; - ChangedSItems.bMARGIN_BOTTOM = FALSE; - ChangedSItems.bIGNORED = FALSE; - ChangedSItems.bBORDERSTYLE = FALSE; -} - -static UINT _controls_to_refresh[] = { - IDC_BORDERTYPE, - IDC_3DDARKCOLOR, - IDC_3DLIGHTCOLOR, - IDC_MRGN_BOTTOM, - IDC_MRGN_LEFT, - IDC_ALPHASPIN, - IDC_CORNER, - IDC_MRGN_TOP_SPIN, - IDC_MRGN_RIGHT_SPIN, - IDC_MRGN_BOTTOM_SPIN, - IDC_MRGN_LEFT_SPIN, - IDC_GRADIENT, - IDC_GRADIENT_LR, - IDC_GRADIENT_RL, - IDC_GRADIENT_TB, - IDC_BASECOLOUR, - IDC_ALPHA, - IDC_MRGN_TOP, - IDC_MRGN_RIGHT, - IDC_GRADIENT_BT, - IDC_BASECOLOUR2, - IDC_TEXTCOLOUR, - IDC_CORNER_TL, - IDC_CORNER_TR, - IDC_CORNER_BR, - IDC_CORNER_BL, - IDC_IGNORE, - IDC_ALPHALABLE, - IDC_COLOR2LABLE, - IDC_COLORLABLE, - IDC_TEXTCOLOURLABLE, - IDC_COLOR2_TRANSPARENT, - 0 -}; - -static void RefreshControls(HWND hwnd) -{ - for(int i = 0; _controls_to_refresh[i]; i++) - InvalidateRect(GetDlgItem(hwnd, _controls_to_refresh[i]), NULL, FALSE); -} - -// wenn die listbox geändert wurde -static void OnListItemsChange(HWND hwndDlg) -{ - SendMessage(hwndDlg, WM_SETREDRAW, FALSE, 0); - SaveLatestChanges(hwndDlg); - - // set new selection - last_selcount = SendMessage(GetDlgItem(hwndDlg, IDC_ITEMS), LB_GETSELCOUNT, 0, 0); - if (last_selcount > 0) { - int n, real_index, itemData, first_item; - StatusItems_t DialogSettingForMultiSel; - - // get selected indizes - SendMessage(GetDlgItem(hwndDlg, IDC_ITEMS), LB_GETSELITEMS, 64, (LPARAM) last_indizes); - - // initialize with first items value - - first_item = SendDlgItemMessage(hwndDlg, IDC_ITEMS, LB_GETITEMDATA, last_indizes[0], 0) - ID_EXTBK_FIRST; - DialogSettingForMultiSel = StatusItems[first_item]; - for (n = 0; n < last_selcount; n++) { - itemData = SendDlgItemMessage(hwndDlg, IDC_ITEMS, LB_GETITEMDATA, last_indizes[n], 0); - if (itemData != ID_EXTBKSEPARATOR) { - real_index = itemData - ID_EXTBK_FIRST; - if (StatusItems[real_index].ALPHA != StatusItems[first_item].ALPHA) - DialogSettingForMultiSel.ALPHA = -1; - if (StatusItems[real_index].COLOR != StatusItems[first_item].COLOR) - DialogSettingForMultiSel.COLOR = CLCDEFAULT_COLOR; - if (StatusItems[real_index].COLOR2 != StatusItems[first_item].COLOR2) - DialogSettingForMultiSel.COLOR2 = CLCDEFAULT_COLOR2; - if (StatusItems[real_index].COLOR2_TRANSPARENT != StatusItems[first_item].COLOR2_TRANSPARENT) - DialogSettingForMultiSel.COLOR2_TRANSPARENT = CLCDEFAULT_COLOR2_TRANSPARENT; - if (StatusItems[real_index].TEXTCOLOR != StatusItems[first_item].TEXTCOLOR) - DialogSettingForMultiSel.TEXTCOLOR = CLCDEFAULT_TEXTCOLOR; - if (StatusItems[real_index].CORNER != StatusItems[first_item].CORNER) - DialogSettingForMultiSel.CORNER = CLCDEFAULT_CORNER; - if (StatusItems[real_index].GRADIENT != StatusItems[first_item].GRADIENT) - DialogSettingForMultiSel.GRADIENT = CLCDEFAULT_GRADIENT; - if (StatusItems[real_index].IGNORED != StatusItems[first_item].IGNORED) - DialogSettingForMultiSel.IGNORED = CLCDEFAULT_IGNORE; - if (StatusItems[real_index].MARGIN_BOTTOM != StatusItems[first_item].MARGIN_BOTTOM) - DialogSettingForMultiSel.MARGIN_BOTTOM = -1; - if (StatusItems[real_index].MARGIN_LEFT != StatusItems[first_item].MARGIN_LEFT) - DialogSettingForMultiSel.MARGIN_LEFT = -1; - if (StatusItems[real_index].MARGIN_RIGHT != StatusItems[first_item].MARGIN_RIGHT) - DialogSettingForMultiSel.MARGIN_RIGHT = -1; - if (StatusItems[real_index].MARGIN_TOP != StatusItems[first_item].MARGIN_TOP) - DialogSettingForMultiSel.MARGIN_TOP = -1; - if (StatusItems[real_index].BORDERSTYLE != StatusItems[first_item].BORDERSTYLE) - DialogSettingForMultiSel.BORDERSTYLE = -1; - } - } - - if (last_selcount == 1 && StatusItems[first_item].statusID == ID_EXTBKSEPARATOR) { - ChangeControlItems(hwndDlg, 0, 0); - last_selcount = 0; - } else - ChangeControlItems(hwndDlg, 1, 0); - FillOptionDialogByStatusItem(hwndDlg, &DialogSettingForMultiSel); - InvalidateRect(GetDlgItem(hwndDlg, IDC_ITEMS), NULL, FALSE); - } - SendMessage(hwndDlg, WM_SETREDRAW, TRUE, 0); - RefreshControls(hwndDlg); -} - -// fills the combobox of the options dlg for the first time -static void FillItemList(HWND hwndDlg) -{ - int n, iOff; - UINT item; - - for (n = 0; n <= ID_EXTBK_LAST - ID_EXTBK_FIRST; n++) { - iOff = 0; - if(strstr(StatusItems[n].szName, "{-}")) { - item = SendDlgItemMessageA(hwndDlg, IDC_ITEMS, LB_ADDSTRING, 0, (LPARAM)"------------------------"); - SendDlgItemMessageA(hwndDlg, IDC_ITEMS, LB_SETITEMDATA, item, ID_EXTBKSEPARATOR); - iOff = 3; - } - item = SendDlgItemMessageA(hwndDlg, IDC_ITEMS, LB_ADDSTRING, 0, (LPARAM)&StatusItems[n].szName[iOff]); - SendDlgItemMessage(hwndDlg, IDC_ITEMS, LB_SETITEMDATA, item, ID_EXTBK_FIRST + n); - } -} - -static BOOL CALLBACK SkinEdit_ExtBkDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) -{ - SKINDESCRIPTION *psd = (SKINDESCRIPTION *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA); - - if(psd) { - ID_EXTBK_FIRST = psd->firstItem; - ID_EXTBK_LAST = psd->lastItem; - StatusItems = psd->StatusItems; - } - switch (msg) { - case WM_INITDIALOG: - psd = (SKINDESCRIPTION *)malloc(sizeof(SKINDESCRIPTION)); - ZeroMemory(psd, sizeof(SKINDESCRIPTION)); - CopyMemory(psd, (void *)lParam, sizeof(SKINDESCRIPTION)); - SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)psd); - - if(psd) { - ID_EXTBK_FIRST = psd->firstItem; - ID_EXTBK_LAST = psd->lastItem; - StatusItems = psd->StatusItems; - } - - TranslateDialogDefault(hwndDlg); - FillItemList(hwndDlg); - SendMessage(hwndDlg, WM_USER + 101, 0, 0); - - psd->hMenuItems = CreatePopupMenu(); - AppendMenu(psd->hMenuItems, MF_STRING | MF_DISABLED, (UINT_PTR)0, _T("Copy from")); - AppendMenuA(psd->hMenuItems, MF_SEPARATOR, (UINT_PTR)0, NULL); - - { - int i; - - for(i = ID_EXTBK_FIRST; i <= ID_EXTBK_LAST; i++) { - int iOff = StatusItems[i - ID_EXTBK_FIRST].szName[0] == '{' ? 3 : 0; - if(iOff) - AppendMenuA(psd->hMenuItems, MF_SEPARATOR, (UINT_PTR)0, NULL); - AppendMenuA(psd->hMenuItems, MF_STRING, (UINT_PTR)i, &StatusItems[i - ID_EXTBK_FIRST].szName[iOff]); - } - } - return TRUE; - case WM_USER + 101: - { - DBVARIANT dbv = {0}; - - SendDlgItemMessage(hwndDlg, IDC_MRGN_LEFT_SPIN, UDM_SETRANGE, 0, MAKELONG(100, 0)); - SendDlgItemMessage(hwndDlg, IDC_MRGN_TOP_SPIN, UDM_SETRANGE, 0, MAKELONG(100, 0)); - SendDlgItemMessage(hwndDlg, IDC_MRGN_RIGHT_SPIN, UDM_SETRANGE, 0, MAKELONG(100, 0)); - SendDlgItemMessage(hwndDlg, IDC_MRGN_BOTTOM_SPIN, UDM_SETRANGE, 0, MAKELONG(100, 0)); - SendDlgItemMessage(hwndDlg, IDC_ALPHASPIN, UDM_SETRANGE, 0, MAKELONG(100, 0)); - - SendDlgItemMessage(hwndDlg, IDC_BORDERTYPE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("")); - SendDlgItemMessage(hwndDlg, IDC_BORDERTYPE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Raised")); - SendDlgItemMessage(hwndDlg, IDC_BORDERTYPE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Sunken")); - SendDlgItemMessage(hwndDlg, IDC_BORDERTYPE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Bumped")); - SendDlgItemMessage(hwndDlg, IDC_BORDERTYPE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Etched")); - - SendDlgItemMessage(hwndDlg, IDC_3DDARKCOLOR, CPM_SETCOLOUR, 0, DBGetContactSettingDword(NULL, "CLCExt", "3ddark", RGB(224,224,224))); - SendDlgItemMessage(hwndDlg, IDC_3DLIGHTCOLOR, CPM_SETCOLOUR, 0, DBGetContactSettingDword(NULL, "CLCExt", "3dbright", RGB(224,224,224))); - return 0; - } - - case WM_DRAWITEM: - { - DRAWITEMSTRUCT *dis = (DRAWITEMSTRUCT *) lParam; - int iItem = dis->itemData; - StatusItems_t *item = 0; - - SetBkMode(dis->hDC, TRANSPARENT); - FillRect(dis->hDC, &dis->rcItem, GetSysColorBrush(COLOR_WINDOW)); - - if(iItem >= ID_EXTBK_FIRST && iItem <= ID_EXTBK_LAST) - item = &StatusItems[iItem - ID_EXTBK_FIRST]; - - if (dis->itemState & ODS_SELECTED && iItem != ID_EXTBKSEPARATOR) { - FillRect(dis->hDC, &dis->rcItem, GetSysColorBrush(COLOR_HIGHLIGHT)); - SetTextColor(dis->hDC, GetSysColor(COLOR_HIGHLIGHTTEXT)); - } - else { - FillRect(dis->hDC, &dis->rcItem, GetSysColorBrush(COLOR_WINDOW)); - if(item && item->IGNORED) - SetTextColor(dis->hDC, RGB(255, 0, 0)); - else - SetTextColor(dis->hDC, GetSysColor(COLOR_WINDOWTEXT)); - } - if(iItem == ID_EXTBKSEPARATOR) { - HPEN hPen, hPenOld; - POINT pt; - - hPen = CreatePen(PS_SOLID, 2, GetSysColor(COLOR_WINDOWTEXT)); - hPenOld = (HPEN)SelectObject(dis->hDC, hPen); - - MoveToEx(dis->hDC, dis->rcItem.left, (dis->rcItem.top + dis->rcItem.bottom) / 2, &pt); - LineTo(dis->hDC, dis->rcItem.right, (dis->rcItem.top + dis->rcItem.bottom) / 2); - SelectObject(dis->hDC, hPenOld); - DeleteObject((HGDIOBJ)hPen); - } - else if(dis->itemID >= 0 && item) { - char *szName = item->szName[0] == '{' ? &item->szName[3] : item->szName; - - TextOutA(dis->hDC, dis->rcItem.left, dis->rcItem.top, szName, lstrlenA(szName)); - } - return TRUE; - } - - case WM_CONTEXTMENU: - { - POINT pt; - RECT rc; - HWND hwndList = GetDlgItem(hwndDlg, IDC_ITEMS); - - GetCursorPos(&pt); - GetWindowRect(hwndList, &rc); - if(PtInRect(&rc, pt)) { - int iSelection = (int)TrackPopupMenu(psd->hMenuItems, TPM_RETURNCMD, pt.x, pt.y, 0, hwndDlg, NULL); - - if(iSelection >= ID_EXTBK_FIRST && iSelection <= ID_EXTBK_LAST) { - iSelection -= ID_EXTBK_FIRST; - - for(int i = ID_EXTBK_FIRST; i <= ID_EXTBK_LAST; i++) { - if(SendMessage(hwndList, LB_GETSEL, i - ID_EXTBK_FIRST, 0) > 0) { - int iIndex = SendMessage(hwndList, LB_GETITEMDATA, i - ID_EXTBK_FIRST, 0); - iIndex -= ID_EXTBK_FIRST; - - if(iIndex >= 0) { - StatusItems[iIndex].ALPHA = StatusItems[iSelection].ALPHA; - StatusItems[iIndex].BORDERSTYLE = StatusItems[iSelection].BORDERSTYLE; - StatusItems[iIndex].COLOR = StatusItems[iSelection].COLOR; - StatusItems[iIndex].COLOR2 = StatusItems[iSelection].COLOR2; - StatusItems[iIndex].COLOR2_TRANSPARENT = StatusItems[iSelection].COLOR2_TRANSPARENT; - StatusItems[iIndex].CORNER = StatusItems[iSelection].CORNER; - StatusItems[iIndex].GRADIENT = StatusItems[iSelection].GRADIENT; - StatusItems[iIndex].IGNORED = StatusItems[iSelection].IGNORED; - StatusItems[iIndex].imageItem = StatusItems[iSelection].imageItem; - StatusItems[iIndex].MARGIN_BOTTOM = StatusItems[iSelection].MARGIN_BOTTOM; - StatusItems[iIndex].MARGIN_LEFT = StatusItems[iSelection].MARGIN_LEFT; - StatusItems[iIndex].MARGIN_RIGHT = StatusItems[iSelection].MARGIN_RIGHT; - StatusItems[iIndex].MARGIN_TOP = StatusItems[iSelection].MARGIN_TOP; - StatusItems[iIndex].TEXTCOLOR = StatusItems[iSelection].TEXTCOLOR; - } - } - } - OnListItemsChange(hwndDlg); - } - } - break; - } - case WM_COMMAND: - // this will check if the user changed some actual statusitems values - // if yes the flag bChanged will be set to TRUE - SetChangedStatusItemFlag(wParam, hwndDlg); - switch(LOWORD(wParam)) { - case IDC_ITEMS: - if (HIWORD(wParam) != LBN_SELCHANGE) - return FALSE; - { - int iItem = SendDlgItemMessage(hwndDlg, IDC_ITEMS, LB_GETITEMDATA, SendDlgItemMessage(hwndDlg, IDC_ITEMS, LB_GETCURSEL, 0, 0), 0); - if(iItem == ID_EXTBKSEPARATOR) - return FALSE; - } - OnListItemsChange(hwndDlg); - if(psd->pfnClcOptionsChanged) - psd->pfnClcOptionsChanged(); - break; - case IDC_GRADIENT: - ReActiveCombo(hwndDlg); - break; - case IDC_CORNER: - ReActiveCombo(hwndDlg); - break; - case IDC_IGNORE: - ReActiveCombo(hwndDlg); - break; - case IDC_COLOR2_TRANSPARENT: - ReActiveCombo(hwndDlg); - break; - case IDC_BORDERTYPE: - break; - } - if ((LOWORD(wParam) == IDC_ALPHA || LOWORD(wParam) == IDC_MRGN_LEFT || LOWORD(wParam) == IDC_MRGN_BOTTOM || LOWORD(wParam) == IDC_MRGN_TOP || LOWORD(wParam) == IDC_MRGN_RIGHT) && (HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus())) - return 0; - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - - case WM_NOTIFY: - switch (((LPNMHDR) lParam)->idFrom) { - case 0: - switch (((LPNMHDR) lParam)->code) { - case PSN_APPLY: - // save user made changes - SaveLatestChanges(hwndDlg); - // save struct to DB - if(psd->pfnSaveCompleteStruct) - psd->pfnSaveCompleteStruct(); - DBWriteContactSettingDword(NULL, "CLCExt", "3dbright", SendDlgItemMessage(hwndDlg, IDC_3DLIGHTCOLOR, CPM_GETCOLOUR, 0, 0)); - DBWriteContactSettingDword(NULL, "CLCExt", "3ddark", SendDlgItemMessage(hwndDlg, IDC_3DDARKCOLOR, CPM_GETCOLOUR, 0, 0)); - - if(psd->pfnClcOptionsChanged) - psd->pfnClcOptionsChanged(); - if(psd->hwndCLUI) { - SendMessage(psd->hwndCLUI, WM_SIZE, 0, 0); - PostMessage(psd->hwndCLUI, WM_USER+100, 0, 0); // CLUIINTM_REDRAW - } - break; - } - } - break; - case WM_DESTROY: - DestroyMenu(psd->hMenuItems); - break; - case WM_NCDESTROY: - free(psd); - SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)0); - break; - } - return FALSE; -} - -/* - * unimplemented -*/ - -static BOOL CALLBACK SkinEdit_ImageItemEditProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) -{ - return FALSE; -} - -static INT_PTR SkinEdit_FillByCurrentSel(WPARAM wParam, LPARAM lParam) -{ - if(wParam) - FillOptionDialogByCurrentSel((HWND)wParam); - return 0; -} - -/* - * service function - * creates additional tab pages under the given parent window handle - * expects a SKINDESCRIPTON * in lParam -*/ - -static INT_PTR SkinEdit_Invoke(WPARAM wParam, LPARAM lParam) -{ - SKINDESCRIPTION *psd = (SKINDESCRIPTION *)lParam; - TCITEM tci = {0}; - RECT rcClient; - int iTabs; - - if(psd->cbSize != sizeof(SKINDESCRIPTION)) - return 0; - - iTabs = TabCtrl_GetItemCount(psd->hWndTab); - GetClientRect(psd->hWndParent, &rcClient); - - tci.mask = TCIF_PARAM|TCIF_TEXT; - tci.lParam = (LPARAM)CreateDialogParam(g_hInst, MAKEINTRESOURCE(IDD_SKINITEMEDIT), psd->hWndParent, (DLGPROC)SkinEdit_ExtBkDlgProc, (LPARAM)psd); - - tci.pszText = TranslateT("Skin items"); - TabCtrl_InsertItem(psd->hWndTab, iTabs++, &tci); - MoveWindow((HWND)tci.lParam, 5, 25, rcClient.right - 9, rcClient.bottom - 60, 1); - psd->hwndSkinEdit = (HWND)tci.lParam; - - /* - tci.lParam = (LPARAM)CreateDialogParam(g_hInst, MAKEINTRESOURCE(IDD_IMAGEITEMEDIT), psd->hWndParent, (DLGPROC)SkinEdit_ImageItemEditProc, (LPARAM)psd); - tci.pszText = TranslateT("Image items"); - TabCtrl_InsertItem(psd->hWndTab, iTabs++, &tci); - MoveWindow((HWND)tci.lParam, 5, 25, rcClient.right - 9, rcClient.bottom - 60, 1); - psd->hwndImageEdit = (HWND)tci.lParam; - */ - - return (INT_PTR)psd->hwndSkinEdit; -} - -static HANDLE hSvc_invoke = 0, hSvc_fillby = 0; - -static int LoadModule() -{ - hSvc_invoke = CreateServiceFunction(MS_CLNSE_INVOKE, (MIRANDASERVICE)SkinEdit_Invoke); - hSvc_fillby = CreateServiceFunction(MS_CLNSE_FILLBYCURRENTSEL, (MIRANDASERVICE)SkinEdit_FillByCurrentSel); - return 0; -} - -extern "C" __declspec(dllexport) PLUGININFOEX * MirandaPluginInfoEx(DWORD mirandaVersion) -{ - return &pluginInfo; -} - -/* - * define our own MUUID, since this is a special plugin... - */ -extern "C" static const MUUID interfaces[] = {MIID_TESTPLUGIN, { 0x70ff4eef, 0xcb7b, 0x4d88, { 0x85, 0x60, 0x7d, 0xe3, 0xa6, 0x68, 0x5c, 0xe3 }}, MIID_LAST}; -extern "C" __declspec(dllexport) const MUUID * MirandaPluginInterfaces(void) -{ - return interfaces; -} - -static int ModulesLoaded(WPARAM wParam, LPARAM lParam) -{ - return 0; -} - -static int systemModulesLoaded(WPARAM wParam, LPARAM lParam) -{ - ModulesLoaded(wParam, lParam); - return 0; -} - -extern "C" int __declspec(dllexport) Load(void) -{ - mir_getLP(&pluginInfo); - return(LoadModule()); -} - -static int ShutdownProc(WPARAM wParam, LPARAM lParam) -{ - if(hSvc_invoke) - DestroyServiceFunction(hSvc_invoke); - if(hSvc_fillby) - DestroyServiceFunction(hSvc_fillby); - return 0; -} - -extern "C" int __declspec(dllexport) Unload(void) -{ - return ShutdownProc(0, 0); -} - -BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD dwReason, LPVOID reserved) -{ - g_hInst = hInstDLL; - DisableThreadLibraryCalls(g_hInst); - return TRUE; -} - -- cgit v1.2.3