예제 #1
0
파일: main.cpp 프로젝트: ybznek/miranda-ng
int onContactSettingChanged(WPARAM hContact, LPARAM lParam)
{
	DBCONTACTWRITESETTING *cws = (DBCONTACTWRITESETTING*)lParam;
	const char *proto = GetContactProto((MCONTACT)hContact);
	if (!proto) return 0;

	if (!strcmp(cws->szModule, proto))
		if (!strcmp(cws->szSetting, "Auth") || !strcmp(cws->szSetting, "Grant") || !strcmp(cws->szSetting, "ServerId") || !strcmp(cws->szSetting, "ContactType"))
			onExtraImageApplying(hContact, 1);

	return 0;
}
예제 #2
0
파일: main.cpp 프로젝트: ybznek/miranda-ng
int onModulesLoaded(WPARAM, LPARAM)
{
	// extra icons
	hExtraIcon = ExtraIcon_RegisterIcolib("authstate", LPGEN("Auth state"), iconList[ICON_BOTH].szName);

	// Set initial value for all contacts
	for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact))
		onExtraImageApplying((WPARAM)hContact, 1);

	HookEvent(ME_OPT_INITIALISE, onOptInitialise);
	HookEvent(ME_CLIST_PREBUILDCONTACTMENU, onPrebuildContactMenu);

	return 0;
}
예제 #3
0
파일: main.cpp 프로젝트: ybznek/miranda-ng
INT_PTR onAuthMenuSelected(WPARAM hContact, LPARAM)
{
	db_set_b((MCONTACT)hContact, MODULENAME, "ShowIcons", 1 - db_get_b((MCONTACT)hContact, "AuthState", "ShowIcons", 1));
	onExtraImageApplying(hContact, 0);
	return 0;
}
예제 #4
0
파일: main.cpp 프로젝트: ybznek/miranda-ng
int onDBContactAdded(WPARAM hContact, LPARAM)
{
	db_set_b((MCONTACT)hContact, MODULENAME, "ShowIcons", 1);
	onExtraImageApplying(hContact, 0);
	return 0;
}
예제 #5
0
INT_PTR CALLBACK DlgProcOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
	static int bInitializing = 0;
	switch (msg)
	{
		case WM_INITDIALOG:
		{ 
			TranslateDialogDefault(hwndDlg);
			bInitializing = 1;
			if (g_hExtraIcon == NULL)
			{
				SendMessage(GetDlgItem(hwndDlg, IDC_ADVICON), CB_ADDSTRING, 0, (LPARAM) TranslateT("Disabled"));
				for (int i = 0; i < cAdvancedIcons; i++)
				{
					SendMessage(GetDlgItem(hwndDlg, IDC_ADVICON), CB_ADDSTRING, 0, (LPARAM) TranslateTS(szAdvancedIcons[i]));
				}
				
				if (bEnableClistIcon)
					SendMessage(GetDlgItem(hwndDlg, IDC_ADVICON), CB_SETCURSEL, clistIcon, 0);
				else
					SendMessage(GetDlgItem(hwndDlg, IDC_ADVICON), CB_SETCURSEL, 0, 0);
			}
			else
			{
				ShowWindow(GetDlgItem(hwndDlg, IDC_USE_L), SW_HIDE);
				ShowWindow(GetDlgItem(hwndDlg, IDC_ADVICON), SW_HIDE);
				ShowWindow(GetDlgItem(hwndDlg, IDC_SLOT_L), SW_HIDE);
				ShowWindow(GetDlgItem(hwndDlg, IDC_NOTE_L), SW_HIDE);
			}
			CheckDlgButton(hwndDlg, IDC_MENUITEMS, DBGetContactSettingByte(NULL, MODULENAME, "MenuItems", 1) ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_DRAWUNDEFICON, bDrawNoGenderIcon ? BST_CHECKED : BST_UNCHECKED);
			
			bInitializing = 0;
			return TRUE;
		}
		
		case WM_COMMAND:
		{
			switch (LOWORD(wParam)) {
				case IDC_ADVICON:
				{
					if ((HIWORD(wParam) == EN_CHANGE) && (!bInitializing) || (HIWORD(wParam) == CBN_SELENDOK))
					{
						SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
					}
				}
				break;
				case IDC_MENUITEMS:
				case IDC_DRAWUNDEFICON:
					SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
				break;
			}
		}
		break;
		
		case WM_NOTIFY:
		{
			if (((LPNMHDR)lParam)->idFrom == 0)
			switch (((LPNMHDR)lParam)->code)
			{
				case PSN_APPLY:
				{			   
					HANDLE hContact;

					bDrawNoGenderIcon = IsDlgButtonChecked(hwndDlg, IDC_DRAWUNDEFICON);
					
					if (g_hExtraIcon == NULL)
					{
						clistIcon = SendMessage(GetDlgItem(hwndDlg, IDC_ADVICON), CB_GETCURSEL, 0, 0);
						DBWriteContactSettingByte(NULL, MODULENAME, "AdvancedIcon", clistIcon);

						if (bEnableClistIcon)
						{
							hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
							while (hContact)
							{         
								CallService(MS_CLIST_EXTRA_SET_ICON, (WPARAM)hContact, (LPARAM)&g_IECClear);
								hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0);
							}
						}

						bEnableClistIcon = (clistIcon != 0);
						
						if (bEnableClistIcon)
						{					
							g_IECClear.ColumnType = clistIcon;
							onExtraImageListRebuild(0,0);
						}
					}

					if (g_hExtraIcon != NULL || bEnableClistIcon)
					{					
						hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
						while (hContact)
						{         
							onExtraImageApplying((WPARAM)hContact,0);
							hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0);
						}
					}
					
					DBWriteContactSettingByte(NULL, MODULENAME, "ClistIcon", bEnableClistIcon);
					DBWriteContactSettingByte(NULL, MODULENAME, "NoGenderIcon", bDrawNoGenderIcon);
					DBWriteContactSettingByte(NULL, MODULENAME, "MenuItems", IsDlgButtonChecked(hwndDlg, IDC_MENUITEMS)); 
				}
				return TRUE;
			}
		}
		
		case WM_DESTROY:
		break;
	}
	return FALSE;
}