Example #1
0
BOOL CPageAdvanced::DlgProcInternal(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam)
{
	switch (message)
	{
	case WM_NOTIFY:
		{
			// Property Sheet notifications

			switch (((LPPSHNOTIFY)lparam)->hdr.code)
			{
			case PSN_SETACTIVE:
				// About to become the active page
				m_PropertySheetHelper.SetLastPage(m_Page);
				InitOptions(hWnd);
				break;
			case PSN_KILLACTIVE:
				SetWindowLong(hWnd, DWL_MSGRESULT, FALSE);			// Changes are valid
				break;
			case PSN_APPLY:
				DlgOK(hWnd);
				SetWindowLong(hWnd, DWL_MSGRESULT, PSNRET_NOERROR);	// Changes are valid
				break;
			case PSN_QUERYCANCEL:
				// Can use this to ask user to confirm cancel
				break;
			case PSN_RESET:
				DlgCANCEL(hWnd);
				break;
			}
		}
		break;

	case WM_COMMAND:
		switch (LOWORD(wparam))
		{
		case IDC_SAVESTATE_FILENAME:
			break;
		case IDC_SAVESTATE_BROWSE:
			if(m_PropertySheetHelper.SaveStateSelectImage(hWnd, TEXT("Select Save State file"), false))
				SendDlgItemMessage(hWnd, IDC_SAVESTATE_FILENAME, WM_SETTEXT, 0, (LPARAM)m_PropertySheetHelper.GetSSNewFilename());
			break;
		case IDC_PRINTER_DUMP_FILENAME_BROWSE:
			{				
				std::string strPrinterDumpLoc = m_PropertySheetHelper.BrowseToFile(hWnd, TEXT("Select printer dump file"), REGVALUE_PRINTER_FILENAME, TEXT("Text files (*.txt)\0*.txt\0") TEXT("All Files\0*.*\0"));
				SendDlgItemMessage(hWnd, IDC_PRINTER_DUMP_FILENAME, WM_SETTEXT, 0, (LPARAM)strPrinterDumpLoc.c_str());
			}
			break;
		case IDC_SAVESTATE_ON_EXIT:
			break;
		case IDC_SAVESTATE:
			m_PropertySheetHelper.GetConfigNew().m_uSaveLoadStateMsg = WM_USER_SAVESTATE;
			break;
		case IDC_LOADSTATE:
			m_PropertySheetHelper.GetConfigNew().m_uSaveLoadStateMsg = WM_USER_LOADSTATE;
			break;

		//

		case IDC_THE_FREEZES_F8_ROM_FW:
			{
				const UINT uNewState = IsDlgButtonChecked(hWnd, IDC_THE_FREEZES_F8_ROM_FW) ? 1 : 0;
				m_PropertySheetHelper.GetConfigNew().m_bEnableTheFreezesF8Rom = uNewState;
			}
			break;

		case IDC_CLONETYPE:
			if(HIWORD(wparam) == CBN_SELCHANGE)
			{
				const DWORD NewCloneMenuItem = (DWORD) SendDlgItemMessage(hWnd, IDC_CLONETYPE, CB_GETCURSEL, 0, 0);
				const eApple2Type NewCloneType = GetCloneType(NewCloneMenuItem);
				m_PropertySheetHelper.GetConfigNew().m_Apple2Type = NewCloneType;
			}
			break;
		}
		break;

	case WM_INITDIALOG:
		{
			SendDlgItemMessage(hWnd,IDC_SAVESTATE_FILENAME,WM_SETTEXT,0,(LPARAM)Snapshot_GetFilename());

			CheckDlgButton(hWnd, IDC_SAVESTATE_ON_EXIT, g_bSaveStateOnExit ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hWnd, IDC_DUMPTOPRINTER, g_bDumpToPrinter ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hWnd, IDC_PRINTER_CONVERT_ENCODING, g_bConvertEncoding ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hWnd, IDC_PRINTER_FILTER_UNPRINTABLE, g_bFilterUnprintable ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hWnd, IDC_PRINTER_APPEND, g_bPrinterAppend ? BST_CHECKED : BST_UNCHECKED);
			SendDlgItemMessage(hWnd, IDC_SPIN_PRINTER_IDLE, UDM_SETRANGE, 0, MAKELONG(999,0));
			SendDlgItemMessage(hWnd, IDC_SPIN_PRINTER_IDLE, UDM_SETPOS, 0, MAKELONG(Printer_GetIdleLimit (),0));
			SendDlgItemMessage(hWnd, IDC_PRINTER_DUMP_FILENAME, WM_SETTEXT, 0, (LPARAM)Printer_GetFilename());

			InitOptions(hWnd);

			m_PropertySheetHelper.ClearSSNewDirectory();

			// Need to specify cmd-line switch: -printer-real to enable this control
			EnableWindow(GetDlgItem(hWnd, IDC_DUMPTOPRINTER), g_bEnableDumpToRealPrinter ? TRUE : FALSE);

			break;
		}
	}

	return FALSE;
}
BOOL OnNotify(HWND hDlg, LPNMHDR lpNMHdr)
{
    //DEBUGMESSAGE(("OnNotify"));

    UINT uiCode = lpNMHdr->code;
    switch (uiCode)
    {
    case PSN_APPLY:
        {
            DEBUGMESSAGE(("OnNotify - PSN_APPLY"));

            DocumentPropDialogData *data = 
                (DocumentPropDialogData *) GetWindowLongPtr(hDlg, DWL_USER);
            if (data == NULL) {
                DEBUGMESSAGE(("DocPropDlgProc - invalid internal data pointer"));
                return FALSE;
            }

            // which format combo should we use?
            LPTSTR format = NULL;
            if (IsDlgButtonChecked(hDlg, IDC_VECTOR_FORMAT_RADIOBOX) == BST_CHECKED)
            {
                INT sel = GetComboCurSel(GetDlgItem(hDlg, IDC_COMBO_VECTOR_FORMAT));
                format = strDuplicate(g_vectorFormats[sel].strName);
            }
            else if (IsDlgButtonChecked(hDlg, IDC_RASTER_FORMAT_RADIOBOX) == BST_CHECKED)
            {
                INT sel = GetComboCurSel(GetDlgItem(hDlg, IDC_COMBO_RASTER_FORMAT));
                format = strDuplicate(g_rasterFormats[sel].strName);
            }
            else
            {
                DEBUGMESSAGE(("DocPropDlgProc - unexpected condition"));
                return FALSE;
            }

            // get the output folder & validate it
            LPTSTR folder = NULL;
            if (!GetEditControlText(&folder, GetDlgItem(hDlg, IDC_OUTPUT_FOLDER))) {
                DEBUGMESSAGE(("DocPropDlgProc - could not get output folder text"));
                return FALSE;
            }
            if (!FolderExists(folder)) {
                ErrorMessage(hDlg, TEXT("Warning"),
                       TEXT("The given output directory does not exist!"));
                return FALSE;
            }

            // get the output filename & validate it
            LPTSTR filename = NULL;
            if (!GetEditControlText(&filename, GetDlgItem(hDlg, IDC_OUTPUT_FILENAME))) {
                DEBUGMESSAGE(("DocPropDlgProc - could not get output filename text"));
                return FALSE;
            }
            if (!IsValidFilename(filename)) {
                LPTSTR temp = strCat(TEXT("The given output filename is not valid!\n"),
                                     TEXT("It should not contain any of the '"),
                                     g_strFileNameForbiddenChars,
                                     TEXT("' characters."),
                                     NULL);
                ErrorMessage(hDlg, TEXT("Warning"), temp);
                strFree(temp);
                return FALSE;
            }

            // get the raster conv options
            LPTSTR rasteropt = NULL;
            if (!GetEditControlText(&rasteropt, GetDlgItem(hDlg, IDC_IMAGEMAGICK_OPTIONS))) {
                DEBUGMESSAGE(("DocPropDlgProc - could not get raster conv opt text"));
                return FALSE;
            }

            // get the postgen cmd
            LPTSTR postgen = NULL;
            if (!GetEditControlText(&postgen, GetDlgItem(hDlg, IDC_POSTGEN_CMD))) {
                DEBUGMESSAGE(("DocPropDlgProc - could not get postgen cmd text"));
                return FALSE;
            }

            // get override checkbox status
            BOOL override = 
                IsDlgButtonChecked(hDlg, IDC_OVERRIDE_CHECKBOX) == BST_CHECKED;

            // get crop checkbox
            BOOL crop = 
                IsDlgButtonChecked(hDlg, IDC_CROP_CHECKBOX) == BST_CHECKED;

            // get open-output checkbox
            BOOL openout = 
                IsDlgButtonChecked(hDlg, IDC_OPEN_VIEWER_CHECKBOX) == BST_CHECKED;

            // save all data in the EXTDEVMODE
            extdmSetPrivateData(data->m_pExtdmCurrent, 
                                format, filename, folder, rasteropt, postgen, 
                                override, openout, crop);

            // cleanup
            strFree(format);  
            strFree(filename);  
            strFree(folder);
            strFree(postgen);
            strFree(rasteropt);

            // call the _SET_RESULT callback
            PFNCOMPROPSHEET pfnComPropSheet = data->m_pfnComPropSheet;
            LONG lTemp = pfnComPropSheet(
                                        data->m_hComPropSheet, 
                                        CPSFUNC_SET_RESULT,
                                        (LPARAM) data->m_hPropSheetAdded,
                                        CPSUI_OK
                                        );

            return TRUE;
        }
        break;

    case PSN_RESET:
        break;

    case PSN_SETACTIVE:
        break;

    default:
        break;
    }

    return FALSE;
}
Example #3
0
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *
 *           DIALOG_PROGRAM_DlgProc
 */
static INT_PTR CALLBACK DIALOG_PROGRAM_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
  CHAR buffer[MAX_STRING_LEN];
  switch (msg)
    {
    case WM_INITDIALOG:
      SetDlgItemText(hDlg, PM_DESCRIPTION, ProgramAttributes.lpszTitle);
      SetDlgItemText(hDlg, PM_COMMAND_LINE, ProgramAttributes.lpszCmdLine);
      SetDlgItemText(hDlg, PM_DIRECTORY, ProgramAttributes.lpszWorkDir);
      if (!*ProgramAttributes.lpnHotKey)
	{
	  LoadString(Globals.hInstance, IDS_NO_HOT_KEY, buffer, sizeof(buffer));
	  SetDlgItemText(hDlg, PM_HOT_KEY, buffer);
	}

      CheckDlgButton(hDlg, PM_SYMBOL,
		     (*ProgramAttributes.lpnCmdShow == SW_SHOWMINIMIZED));
      SendDlgItemMessage(hDlg, PM_ICON, STM_SETICON,
			 (WPARAM) ProgramAttributes.hTmpIcon, 0);
      break;

    case WM_COMMAND:
      switch (wParam)
	{
	case PM_SYMBOL:
	  CheckDlgButton(hDlg, PM_SYMBOL, !IsDlgButtonChecked(hDlg, PM_SYMBOL));
	  return TRUE;

	case PM_BROWSE:
	  {
	    CHAR filename[MAX_PATHNAME_LEN];
	    filename[0] = 0;
	    if (DIALOG_BrowsePrograms(hDlg, filename, sizeof(filename)))
	      SetDlgItemText(hDlg, PM_COMMAND_LINE, filename);
	    return TRUE;
	  }

	case PM_OTHER_SYMBOL:
	  {
	    DIALOG_Symbol(&ProgramAttributes.hTmpIcon,
			  ProgramAttributes.lpszTmpIconFile,
			  &ProgramAttributes.nTmpIconIndex,
			  MAX_PATHNAME_LEN);

	    SendDlgItemMessage(hDlg, PM_ICON, STM_SETICON,
			       (WPARAM) ProgramAttributes.hTmpIcon, 0);
	    return TRUE;
	  }

	case IDOK:
	  GetDlgItemText(hDlg, PM_DESCRIPTION,
			 ProgramAttributes.lpszTitle,
			 ProgramAttributes.nSize);
	  GetDlgItemText(hDlg, PM_COMMAND_LINE,
			 ProgramAttributes.lpszCmdLine,
			 ProgramAttributes.nSize);
	  GetDlgItemText(hDlg, PM_DIRECTORY,
			 ProgramAttributes.lpszWorkDir,
			 ProgramAttributes.nSize);

	  if (ProgramAttributes.hTmpIcon)
	    {
#if 0
	      if (*ProgramAttributes.lphIcon)
		DestroyIcon(*ProgramAttributes.lphIcon);
#endif
	      *ProgramAttributes.lphIcon = ProgramAttributes.hTmpIcon;
	      *ProgramAttributes.lpnIconIndex = ProgramAttributes.nTmpIconIndex;
	      lstrcpyn(ProgramAttributes.lpszIconFile,
		       ProgramAttributes.lpszTmpIconFile,
		       ProgramAttributes.nSize);
	    }

	  *ProgramAttributes.lpnCmdShow =
	    IsDlgButtonChecked(hDlg, PM_SYMBOL) ?
	    SW_SHOWMINIMIZED : SW_SHOWNORMAL;
	  EndDialog(hDlg, IDOK);
	  return TRUE;

	case IDCANCEL:
	  EndDialog(hDlg, IDCANCEL);
	  return TRUE;
	}
      return FALSE;
    }
  return FALSE;
}
Example #4
0
void CAERDlg::OnResume() 
{
	m_enAER = AER_RESUME;
	m_bDontAskAgain = IsDlgButtonChecked (IDC_DONTASKAGAIN) == BST_CHECKED;
	EndDialog (IDOK);	
}
Example #5
0
static INT_PTR CALLBACK DlgProcGenOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
	switch (msg) {
	case WM_USER + 1:
		{
			HANDLE hContact = (HANDLE) wParam;
			DBCONTACTWRITESETTING *ws = (DBCONTACTWRITESETTING *) lParam;
			if (hContact == NULL && ws != NULL && ws->szModule != NULL && ws->szSetting != NULL
				&& lstrcmpiA(ws->szModule, "CList") == 0 && lstrcmpiA(ws->szSetting, "UseGroups") == 0 && IsWindowVisible(hwndDlg)) {
					CheckDlgButton(hwndDlg, IDC_DISABLEGROUPS, ws->value.bVal == 0);
				}
				break;
		}
	case WM_DESTROY:
		{
			UnhookEvent((HANDLE) GetWindowLongPtr(hwndDlg, GWLP_USERDATA));
			break;
		}
	case WM_INITDIALOG:
		TranslateDialogDefault(hwndDlg);
		SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR) HookEventMessage(ME_DB_CONTACT_SETTINGCHANGED, hwndDlg, WM_USER + 1));
		CheckDlgButton(hwndDlg, IDC_ONTOP, DBGetContactSettingByte(NULL, "CList", "OnTop", SETTING_ONTOP_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_HIDEOFFLINE,
			DBGetContactSettingByte(NULL, "CList", "HideOffline", SETTING_HIDEOFFLINE_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_HIDEEMPTYGROUPS,
			DBGetContactSettingByte(NULL, "CList", "HideEmptyGroups", SETTING_HIDEEMPTYGROUPS_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_DISABLEGROUPS,
			DBGetContactSettingByte(NULL, "CList", "UseGroups", SETTING_USEGROUPS_DEFAULT) ? BST_UNCHECKED : BST_CHECKED);
		CheckDlgButton(hwndDlg, IDC_SORTBYNAME, !DBGetContactSettingByte(NULL, "CList", "SortByStatus", SETTING_SORTBYSTATUS_DEFAULT)
			&& !DBGetContactSettingByte(NULL, "CList", "SortByProto", SETTING_SORTBYPROTO_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_SORTBYSTATUS,
			DBGetContactSettingByte(NULL, "CList", "SortByStatus", SETTING_SORTBYSTATUS_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_SORTBYPROTO,
			DBGetContactSettingByte(NULL, "CList", "SortByProto", SETTING_SORTBYPROTO_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_CONFIRMDELETE,
			DBGetContactSettingByte(NULL, "CList", "ConfirmDelete", SETTING_CONFIRMDELETE_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_AUTOHIDE,
			DBGetContactSettingByte(NULL, "CList", "AutoHide", SETTING_AUTOHIDE_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
		EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIME), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
		EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIMESPIN), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
		{
			DWORD caps = CallService(MS_CLUI_GETCAPS, CLUICAPS_FLAGS1, 0);
			if (!(caps & CLUIF_HIDEEMPTYGROUPS))
				ShowWindow(GetDlgItem(hwndDlg, IDC_HIDEEMPTYGROUPS), SW_HIDE);
			if (!(caps & CLUIF_DISABLEGROUPS))
				ShowWindow(GetDlgItem(hwndDlg, IDC_DISABLEGROUPS), SW_HIDE);
			if (caps & CLUIF_HASONTOPOPTION)
				ShowWindow(GetDlgItem(hwndDlg, IDC_ONTOP), SW_HIDE);
			if (caps & CLUIF_HASAUTOHIDEOPTION) {
				ShowWindow(GetDlgItem(hwndDlg, IDC_AUTOHIDE), SW_HIDE);
				ShowWindow(GetDlgItem(hwndDlg, IDC_HIDETIME), SW_HIDE);
				ShowWindow(GetDlgItem(hwndDlg, IDC_HIDETIMESPIN), SW_HIDE);
				ShowWindow(GetDlgItem(hwndDlg, IDC_STAUTOHIDESECS), SW_HIDE);
			}
		}
		SendDlgItemMessage(hwndDlg, IDC_HIDETIMESPIN, UDM_SETRANGE, 0, MAKELONG(900, 1));
		SendDlgItemMessage(hwndDlg, IDC_HIDETIMESPIN, UDM_SETPOS, 0,
			MAKELONG(DBGetContactSettingWord(NULL, "CList", "HideTime", SETTING_HIDETIME_DEFAULT), 0));
		CheckDlgButton(hwndDlg, IDC_ONECLK,
			DBGetContactSettingByte(NULL, "CList", "Tray1Click", SETTING_TRAY1CLICK_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_ALWAYSSTATUS,
			DBGetContactSettingByte(NULL, "CList", "AlwaysStatus", SETTING_ALWAYSSTATUS_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_ALWAYSMULTI,
			!DBGetContactSettingByte(NULL, "CList", "AlwaysMulti", SETTING_ALWAYSMULTI_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_DONTCYCLE,
			DBGetContactSettingByte(NULL, "CList", "TrayIcon",
			SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_SINGLE ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_CYCLE,
			DBGetContactSettingByte(NULL, "CList", "TrayIcon",
			SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_CYCLE ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_MULTITRAY,
			DBGetContactSettingByte(NULL, "CList", "TrayIcon",
			SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_MULTI ? BST_CHECKED : BST_UNCHECKED);
		CheckDlgButton(hwndDlg, IDC_DISABLEBLINK,
			DBGetContactSettingByte(NULL, "CList", "DisableTrayFlash", 0) == 1 ? BST_CHECKED : BST_UNCHECKED);
		EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKTIME), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
		EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKSPIN), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
		EnableWindow(GetDlgItem(hwndDlg, IDC_STMSDELAY), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
		CheckDlgButton(hwndDlg, IDC_ICONBLINK, DBGetContactSettingByte(NULL, "CList", "NoIconBlink", 0) == 1 ? BST_CHECKED : BST_UNCHECKED);
		if (IsDlgButtonChecked(hwndDlg, IDC_DONTCYCLE)) {
			EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIMESPIN), FALSE);
			EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIME), FALSE);
			EnableWindow(GetDlgItem(hwndDlg, IDC_ALWAYSMULTI), FALSE);
		}
		if (IsDlgButtonChecked(hwndDlg, IDC_CYCLE)) {
			EnableWindow(GetDlgItem(hwndDlg, IDC_PRIMARYSTATUS), FALSE);
			EnableWindow(GetDlgItem(hwndDlg, IDC_ALWAYSMULTI), FALSE);
		}
		if (IsDlgButtonChecked(hwndDlg, IDC_MULTITRAY)) {
			EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIMESPIN), FALSE);
			EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIME), FALSE);
			EnableWindow(GetDlgItem(hwndDlg, IDC_PRIMARYSTATUS), FALSE);
		}
		SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_SETRANGE, 0, MAKELONG(120, 1));
		SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_SETPOS, 0,
			MAKELONG(DBGetContactSettingWord(NULL, "CList", "CycleTime", SETTING_CYCLETIME_DEFAULT), 0));
		{
			int i, count, item;
			PROTOACCOUNT **accs;
			DBVARIANT dbv = { DBVT_DELETED };
			DBGetContactSetting(NULL, "CList", "PrimaryStatus", &dbv);
			CallService( MS_PROTO_ENUMACCOUNTS, (WPARAM)&count, (LPARAM)&accs);
			item = SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_ADDSTRING, 0, (LPARAM) TranslateT("Global"));
			SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETITEMDATA, item, (LPARAM) 0);
			for (i = 0; i < count; i++) {
                if (!IsAccountEnabled(accs[i]) || CallProtoService( accs[i]->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0) == 0)
					continue;
                item = SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_ADDSTRING, 0, (LPARAM) accs[i]->tszAccountName);
				SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETITEMDATA, item, (LPARAM) accs[i]);
				if (dbv.type == DBVT_ASCIIZ && !lstrcmpA(dbv.pszVal, accs[i]->szModuleName))
					SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETCURSEL, item, 0);
			}
			DBFreeVariant(&dbv);
		}
		if (-1 == (int) SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_GETCURSEL, 0, 0))
			SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETCURSEL, 0, 0);
		SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETBUDDY, (WPARAM) GetDlgItem(hwndDlg, IDC_BLINKTIME), 0);   // set buddy                    
		SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETRANGE, 0, MAKELONG(0x3FFF, 250));
		SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETPOS, 0, MAKELONG(DBGetContactSettingWord(NULL, "CList", "IconFlashTime", 550), 0));
		return TRUE;
	case WM_COMMAND:
		if (LOWORD(wParam) == IDC_AUTOHIDE) {
			EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIME), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
			EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIMESPIN), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
		}
		if (LOWORD(wParam) == IDC_DONTCYCLE || LOWORD(wParam) == IDC_CYCLE || LOWORD(wParam) == IDC_MULTITRAY) {
			EnableWindow(GetDlgItem(hwndDlg, IDC_PRIMARYSTATUS), IsDlgButtonChecked(hwndDlg, IDC_DONTCYCLE));
			EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIME), IsDlgButtonChecked(hwndDlg, IDC_CYCLE));
			EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIMESPIN), IsDlgButtonChecked(hwndDlg, IDC_CYCLE));
			EnableWindow(GetDlgItem(hwndDlg, IDC_ALWAYSMULTI), IsDlgButtonChecked(hwndDlg, IDC_MULTITRAY));
		}
		if (LOWORD(wParam) == IDC_DISABLEBLINK) {
			EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKTIME), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
			EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKSPIN), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
			EnableWindow(GetDlgItem(hwndDlg, IDC_STMSDELAY), !IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
		}
		if ((LOWORD(wParam) == IDC_HIDETIME || LOWORD(wParam) == IDC_CYCLETIME) && HIWORD(wParam) != EN_CHANGE)
			break;
		if (LOWORD(wParam) == IDC_PRIMARYSTATUS && HIWORD(wParam) != CBN_SELCHANGE)
			break;
		if ((LOWORD(wParam) == IDC_HIDETIME || LOWORD(wParam) == IDC_CYCLETIME) && (HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus()))
			return 0;
		if (LOWORD(wParam) == IDC_BLINKTIME && HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus())
			return 0;       // dont make apply enabled during buddy set crap
		SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
		break;
	case WM_NOTIFY:
		switch (((LPNMHDR) lParam)->idFrom) {
		case 0:
			switch (((LPNMHDR) lParam)->code) {
			case PSN_APPLY:
				DBWriteContactSettingByte(NULL, "CList", "HideOffline", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_HIDEOFFLINE));
				{
					DWORD caps = CallService(MS_CLUI_GETCAPS, CLUICAPS_FLAGS1, 0);
					if (caps & CLUIF_HIDEEMPTYGROUPS)
						DBWriteContactSettingByte(NULL, "CList", "HideEmptyGroups",
						(BYTE) IsDlgButtonChecked(hwndDlg, IDC_HIDEEMPTYGROUPS));
					if (caps & CLUIF_DISABLEGROUPS)
						DBWriteContactSettingByte(NULL, "CList", "UseGroups", (BYTE) ! IsDlgButtonChecked(hwndDlg, IDC_DISABLEGROUPS));
					if (!(caps & CLUIF_HASONTOPOPTION)) {
						DBWriteContactSettingByte(NULL, "CList", "OnTop", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_ONTOP));
						SetWindowPos( pcli->hwndContactList,
							IsDlgButtonChecked(hwndDlg, IDC_ONTOP) ? HWND_TOPMOST : HWND_NOTOPMOST, 0, 0, 0, 0,
							SWP_NOMOVE | SWP_NOSIZE);
					}
					if (!(caps & CLUIF_HASAUTOHIDEOPTION)) {
						DBWriteContactSettingByte(NULL, "CList", "AutoHide", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
						DBWriteContactSettingWord(NULL, "CList", "HideTime",
							(WORD) SendDlgItemMessage(hwndDlg, IDC_HIDETIMESPIN, UDM_GETPOS, 0, 0));
					}
				}
				DBWriteContactSettingByte(NULL, "CList", "SortByStatus", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_SORTBYSTATUS));
				DBWriteContactSettingByte(NULL, "CList", "SortByProto", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_SORTBYPROTO));
				DBWriteContactSettingByte(NULL, "CList", "ConfirmDelete", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_CONFIRMDELETE));
				DBWriteContactSettingByte(NULL, "CList", "Tray1Click", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_ONECLK));
				DBWriteContactSettingByte(NULL, "CList", "AlwaysStatus", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_ALWAYSSTATUS));
				DBWriteContactSettingByte(NULL, "CList", "AlwaysMulti", (BYTE) ! IsDlgButtonChecked(hwndDlg, IDC_ALWAYSMULTI));
				DBWriteContactSettingByte(NULL, "CList", "TrayIcon",
					(BYTE) (IsDlgButtonChecked(hwndDlg, IDC_DONTCYCLE) ? SETTING_TRAYICON_SINGLE
					: (IsDlgButtonChecked(hwndDlg, IDC_CYCLE) ? SETTING_TRAYICON_CYCLE :
				SETTING_TRAYICON_MULTI)));
				DBWriteContactSettingWord(NULL, "CList", "CycleTime",
					(WORD) SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_GETPOS, 0, 0));
				DBWriteContactSettingWord(NULL, "CList", "IconFlashTime",
					(WORD) SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_GETPOS, 0, 0));
				DBWriteContactSettingByte(NULL, "CList", "DisableTrayFlash", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
				DBWriteContactSettingByte(NULL, "CList", "NoIconBlink", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_ICONBLINK));
				{
					int cur = SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_GETCURSEL, 0, 0);
					PROTOACCOUNT* pa = ( PROTOACCOUNT* )SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_GETITEMDATA, cur, 0 );
					if ( pa == NULL )
						DBDeleteContactSetting(NULL, "CList", "PrimaryStatus");
					else 
						DBWriteContactSettingString(NULL, "CList", "PrimaryStatus", pa->szModuleName );
				}

				pcli->pfnTrayIconIconsChanged();
				pcli->pfnLoadContactTree();  /* this won't do job properly since it only really works when changes happen */
				pcli->pfnInvalidateDisplayNameCacheEntry( INVALID_HANDLE_VALUE );        /* force reshuffle */
				return TRUE;
			}
			break;
		}
		break;
	}
	return FALSE;
}
Example #6
0
void CPPagePlayback::OnUpdateLoopNum(CCmdUI* pCmdUI)
{
	pCmdUI->Enable(!!IsDlgButtonChecked(IDC_RADIO1));
}
Example #7
0
void CPPagePlayback::OnUpdateTrackOrder(CCmdUI* pCmdUI)
{
	pCmdUI->Enable(!!IsDlgButtonChecked(IDC_CHECK4));
}
Example #8
0
INT_PTR CALLBACK CConfig::NotificationsDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	char buf[128];

	switch (uMsg) {
	case WM_INITDIALOG:
		{
			m_bInitializingDialog = true;

			// Translate the dialog
			TranslateDialogDefault(hwndDlg);

			// Initialize the protocol filter list
			SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_PROTOCOLS), GWL_STYLE, GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_PROTOCOLS), GWL_STYLE) | TVS_NOHSCROLL);
			int iRes = 0;

			HIMAGELIST himlCheckBoxes;
			himlCheckBoxes = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLOR32 | ILC_MASK, 2, 2);
			iRes = ImageList_AddIcon(himlCheckBoxes, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_NOTICK)));
			iRes = ImageList_AddIcon(himlCheckBoxes, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_TICK)));
			TreeView_SetImageList(GetDlgItem(hwndDlg, IDC_PROTOCOLS), himlCheckBoxes, TVSIL_NORMAL);

			FillTree(GetDlgItem(hwndDlg, IDC_PROTOCOLS));

			CheckDlgButton(hwndDlg, IDC_NOTIFY_TIMESTAMPS, m_abBoolSettings[NOTIFY_TIMESTAMPS] ? BST_CHECKED : BST_UNCHECKED);

			CheckDlgButton(hwndDlg, IDC_NOTIFY_SHOWPROTO, m_abBoolSettings[NOTIFY_SHOWPROTO] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF, m_abBoolSettings[NOTIFY_CHANNELCUTOFF] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_NICKCUTOFF, m_abBoolSettings[NOTIFY_NICKCUTOFF] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_MESSAGES, m_abBoolSettings[NOTIFY_IRC_MESSAGES] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_USERS, m_abBoolSettings[NOTIFY_IRC_USERS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_EMOTES, m_abBoolSettings[NOTIFY_IRC_EMOTES] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_NOTICES, m_abBoolSettings[NOTIFY_IRC_NOTICES] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_CHANNEL, m_abBoolSettings[NOTIFY_IRC_CHANNEL] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_STATUS, m_abBoolSettings[NOTIFY_IRC_STATUS] ? BST_CHECKED : BST_UNCHECKED);

			CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_STATUS, m_abBoolSettings[NOTIFY_PROTO_STATUS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_SIGNON, m_abBoolSettings[NOTIFY_PROTO_SIGNON] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_SIGNOFF, m_abBoolSettings[NOTIFY_PROTO_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_SIGNON, m_abBoolSettings[NOTIFY_SIGNON] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_SIGNOFF, m_abBoolSettings[NOTIFY_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_STATUS, m_abBoolSettings[NOTIFY_STATUS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_MESSAGES, m_abBoolSettings[NOTIFY_MESSAGES] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_FILE, m_abBoolSettings[NOTIFY_FILE] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_CONTACTS, m_abBoolSettings[NOTIFY_CONTACTS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_URL, m_abBoolSettings[NOTIFY_URL] ? BST_CHECKED : BST_UNCHECKED);

			CheckDlgButton(hwndDlg, IDC_NOTIFY_NO_SKIP_REPLY, m_abBoolSettings[NOTIFY_NO_SKIP_REPLY] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_SIGNON, m_abBoolSettings[NOTIFY_SKIP_SIGNON] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_SIGNOFF, m_abBoolSettings[NOTIFY_SKIP_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_STATUS, m_abBoolSettings[NOTIFY_SKIP_STATUS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_MESSAGES, m_abBoolSettings[NOTIFY_SKIP_MESSAGES] ? BST_CHECKED : BST_UNCHECKED);

			_itoa_s(m_aiIntSettings[NOTIFY_CHANNELCUTOFF_OFFSET], buf, _countof(buf), 10);
			SetDlgItemTextA(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF_OFFSET, buf);

			_itoa_s(m_aiIntSettings[NOTIFY_NICKCUTOFF_OFFSET], buf, _countof(buf), 10);
			SetDlgItemTextA(hwndDlg, IDC_NOTIFY_NICKCUTOFF_OFFSET, buf);

			_itoa_s(m_aiIntSettings[NOTIFY_LOGSIZE], buf, _countof(buf), 10);
			SetDlgItemTextA(hwndDlg, IDC_NOTIFY_LOGSIZE, buf);

			_itoa_s(m_aiIntSettings[NOTIFY_DURATION], buf, _countof(buf), 10);
			SetDlgItemTextA(hwndDlg, IDC_NOTIFY_DURATION, buf);

			CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLEHIDE, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_HIDE ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLENAME, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_NAME ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLEINFO, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_INFO ? BST_CHECKED : BST_UNCHECKED);

			m_bInitializingDialog = false;
			break;
		}
	case WM_NOTIFY:
		{
			if (((LPNMHDR)lParam)->idFrom == IDC_PROTOCOLS) {
				if (((LPNMHDR)lParam)->code != NM_CLICK)
					return 0;

				TVHITTESTINFO hti;
				hti.pt.x = (short)LOWORD(GetMessagePos());
				hti.pt.y = (short)HIWORD(GetMessagePos());
				ScreenToClient(((LPNMHDR)lParam)->hwndFrom, &hti.pt);
				if (TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom, &hti))
					if (hti.flags&TVHT_ONITEMICON) {
						TVITEM tvi;
						tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
						tvi.hItem = hti.hItem;
						TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom, &tvi);
						tvi.iImage = tvi.iSelectedImage = !tvi.iImage;
						((CProtoFilter *)tvi.lParam)->bTempNotificationFilter = tvi.iImage != 0;
						TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom, &tvi);
						SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);

					}
				break;
			}
			switch (((LPNMHDR)lParam)->code) {
			case PSN_APPLY:
				{
					m_abBoolSettings[NOTIFY_TIMESTAMPS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_TIMESTAMPS) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_CHANNELCUTOFF] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_NICKCUTOFF] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_NICKCUTOFF) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_SHOWPROTO] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SHOWPROTO) == BST_CHECKED ? true : false;

					m_abBoolSettings[NOTIFY_IRC_MESSAGES] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_MESSAGES) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_IRC_USERS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_USERS) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_IRC_EMOTES] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_EMOTES) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_IRC_NOTICES] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_NOTICES) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_IRC_CHANNEL] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_CHANNEL) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_IRC_STATUS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_IRC_STATUS) == BST_CHECKED ? true : false;

					m_abBoolSettings[NOTIFY_PROTO_STATUS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_PROTO_STATUS) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_PROTO_SIGNON] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_PROTO_SIGNON) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_PROTO_SIGNOFF] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_PROTO_SIGNOFF) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_MESSAGES] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_MESSAGES) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_SIGNON] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SIGNON) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_SIGNOFF] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SIGNOFF) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_STATUS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_STATUS) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_URL] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_URL) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_FILE] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_FILE) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_CONTACTS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_CONTACTS) == BST_CHECKED ? true : false;

					m_abBoolSettings[NOTIFY_NO_SKIP_REPLY] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_NO_SKIP_REPLY) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_SKIP_MESSAGES] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SKIP_MESSAGES) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_SKIP_SIGNON] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SKIP_SIGNON) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_SKIP_SIGNOFF] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SKIP_SIGNOFF) == BST_CHECKED ? true : false;
					m_abBoolSettings[NOTIFY_SKIP_STATUS] = IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_SKIP_STATUS) == BST_CHECKED ? true : false;

					GetDlgItemTextA(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF_OFFSET, buf, _countof(buf));
					m_aiIntSettings[NOTIFY_CHANNELCUTOFF_OFFSET] = atoi(buf) > 0 ? atoi(buf) : 1;

					GetDlgItemTextA(hwndDlg, IDC_NOTIFY_NICKCUTOFF_OFFSET, buf, _countof(buf));
					m_aiIntSettings[NOTIFY_NICKCUTOFF_OFFSET] = atoi(buf) > 0 ? atoi(buf) : 1;

					GetDlgItemTextA(hwndDlg, IDC_NOTIFY_DURATION, buf, _countof(buf));
					m_aiIntSettings[NOTIFY_DURATION] = atoi(buf) > 0 ? atoi(buf) : 1;

					GetDlgItemTextA(hwndDlg, IDC_NOTIFY_LOGSIZE, buf, _countof(buf));
					m_aiIntSettings[NOTIFY_LOGSIZE] = atoi(buf) > 0 ? atoi(buf) : 1;

					if (IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_TITLEHIDE) == BST_CHECKED)
						m_aiIntSettings[NOTIFY_TITLE] = NOTIFY_TITLE_HIDE;
					else if (IsDlgButtonChecked(hwndDlg, IDC_NOTIFY_TITLENAME) == BST_CHECKED)
						m_aiIntSettings[NOTIFY_TITLE] = NOTIFY_TITLE_NAME;
					else
						m_aiIntSettings[NOTIFY_TITLE] = NOTIFY_TITLE_INFO;

					// apply all contactlist protocol filters
					vector<CProtoFilter*>::iterator iter = m_ProtoList.begin();
					while (iter != m_ProtoList.end()) {
						(*iter)->bNotificationFilter = (*iter)->bTempNotificationFilter;
						iter++;
					}

					CConfig::SaveSettings();
					SendMessage(hwndDlg, WM_INITDIALOG, 0, 0);
					break;
				}
			}
			break;
		}
	case WM_COMMAND:
		{
			// Activate the apply button
			if (!m_bInitializingDialog && ((HIWORD(wParam) == EN_CHANGE) || (HIWORD(wParam) == BN_CLICKED)))
				SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);

			break;
		}
	}
	return 0;
}
Example #9
0
INT_PTR CALLBACK CConfig::ContactlistDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	switch (uMsg) {
	case WM_INITDIALOG:
		{
			m_bInitializingDialog = true;

			// Translate the dialog
			TranslateDialogDefault(hwndDlg);

			// Initialize the protocol filter list
			SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_CLIST_PROTOFILTER), GWL_STYLE, GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_CLIST_PROTOFILTER), GWL_STYLE) | TVS_NOHSCROLL);
			int iRes = 0;

			HIMAGELIST himlCheckBoxes;
			himlCheckBoxes = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLOR32 | ILC_MASK, 2, 2);
			iRes = ImageList_AddIcon(himlCheckBoxes, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_NOTICK)));
			iRes = ImageList_AddIcon(himlCheckBoxes, LoadIcon(hInstance, MAKEINTRESOURCE(IDI_TICK)));
			TreeView_SetImageList(GetDlgItem(hwndDlg, IDC_CLIST_PROTOFILTER), himlCheckBoxes, TVSIL_NORMAL);

			FillTree(GetDlgItem(hwndDlg, IDC_CLIST_PROTOFILTER), true);

			CheckDlgButton(hwndDlg, IDC_CLIST_SELECTION, m_abBoolSettings[CLIST_SELECTION] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_CLIST_COLUMNS, m_abBoolSettings[CLIST_COLUMNS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_CLIST_HIDEOFFLINE, m_abBoolSettings[CLIST_HIDEOFFLINE] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_CLIST_USEIGNORE, m_abBoolSettings[CLIST_USEIGNORE] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_CLIST_USEGROUPS, m_abBoolSettings[CLIST_USEGROUPS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_CLIST_SHOWPROTO, m_abBoolSettings[CLIST_SHOWPROTO] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_CLIST_DRAWLINES, m_abBoolSettings[CLIST_DRAWLINES] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_CLIST_POSITION, m_abBoolSettings[CLIST_POSITION] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_CLIST_COUNTERS, m_abBoolSettings[CLIST_COUNTERS] ? BST_CHECKED : BST_UNCHECKED);

			if (m_aiIntSettings[CLIST_GA] == CLIST_GA_NONE)
				CheckDlgButton(hwndDlg, IDC_CLIST_GA_NONE, BST_CHECKED);
			else if (m_aiIntSettings[CLIST_GA] == CLIST_GA_COLLAPSE)
				CheckDlgButton(hwndDlg, IDC_CLIST_GA_COLLAPSE, BST_CHECKED);
			else
				CheckDlgButton(hwndDlg, IDC_CLIST_GA_EXPAND, BST_CHECKED);

			m_bInitializingDialog = false;
			break;
		}
	case WM_NOTIFY:
		{
			if (((LPNMHDR)lParam)->idFrom == IDC_CLIST_PROTOFILTER) {
				if (((LPNMHDR)lParam)->code != NM_CLICK)
					return 0;

				TVHITTESTINFO hti;
				hti.pt.x = (short)LOWORD(GetMessagePos());
				hti.pt.y = (short)HIWORD(GetMessagePos());
				ScreenToClient(((LPNMHDR)lParam)->hwndFrom, &hti.pt);
				if (TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom, &hti))
					if (hti.flags&TVHT_ONITEMICON) {
						TVITEM tvi;
						tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
						tvi.hItem = hti.hItem;
						TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom, &tvi);
						tvi.iImage = tvi.iSelectedImage = !tvi.iImage;
						((CProtoFilter *)tvi.lParam)->bTempContactlistFilter = tvi.iImage != 0;
						TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom, &tvi);
						SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
					}
				break;
			}
			switch (((LPNMHDR)lParam)->code) {
			case PSN_APPLY:
				{
					m_abBoolSettings[CLIST_SELECTION] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_SELECTION) == BST_CHECKED ? true : false;
					m_abBoolSettings[CLIST_COLUMNS] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_COLUMNS) == BST_CHECKED ? true : false;
					m_abBoolSettings[CLIST_HIDEOFFLINE] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_HIDEOFFLINE) == BST_CHECKED ? true : false;
					m_abBoolSettings[CLIST_USEGROUPS] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_USEGROUPS) == BST_CHECKED ? true : false;
					m_abBoolSettings[CLIST_USEIGNORE] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_USEIGNORE) == BST_CHECKED ? true : false;
					m_abBoolSettings[CLIST_SHOWPROTO] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_SHOWPROTO) == BST_CHECKED ? true : false;
					m_abBoolSettings[CLIST_DRAWLINES] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_DRAWLINES) == BST_CHECKED ? true : false;
					m_abBoolSettings[CLIST_POSITION] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_POSITION) == BST_CHECKED ? true : false;
					m_abBoolSettings[CLIST_COUNTERS] = IsDlgButtonChecked(hwndDlg, IDC_CLIST_COUNTERS) == BST_CHECKED ? true : false;

					if (IsDlgButtonChecked(hwndDlg, IDC_CLIST_GA_NONE) == BST_CHECKED)
						m_aiIntSettings[CLIST_GA] = CLIST_GA_NONE;
					else if (IsDlgButtonChecked(hwndDlg, IDC_CLIST_GA_COLLAPSE) == BST_CHECKED)
						m_aiIntSettings[CLIST_GA] = CLIST_GA_COLLAPSE;
					else
						m_aiIntSettings[CLIST_GA] = CLIST_GA_EXPAND;

					// apply all contactlist protocol filters
					vector<CProtoFilter*>::iterator iter = m_ProtoList.begin();
					while (iter != m_ProtoList.end()) {
						(*iter)->bContactlistFilter = (*iter)->bTempContactlistFilter;
						iter++;
					}
					CConfig::SaveSettings();
					SendMessage(hwndDlg, WM_INITDIALOG, 0, 0);
					break;
				}
			}
			break;
		}
	case WM_COMMAND:
		{
			// Activate the apply button
			if (!m_bInitializingDialog && ((HIWORD(wParam) == EN_CHANGE) || (HIWORD(wParam) == BN_CLICKED)))
				SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);

			break;
		}
	}
	return 0;
}
Example #10
0
INT_PTR CALLBACK CConfig::AppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	switch (uMsg) {
	case WM_INITDIALOG:
		{
			m_bInitializingDialog = true;

			// Translate the dialog
			TranslateDialogDefault(hwndDlg);

			CheckDlgButton(hwndDlg, IDC_SKIP_DRIVER_ERROR, m_abBoolSettings[SKIP_DRIVER_ERROR] ? BST_CHECKED : BST_UNCHECKED);

			CheckDlgButton(hwndDlg, IDC_SCREENSAVER_LOCK, m_abBoolSettings[SCREENSAVER_LOCK] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_TRANSITIONS, m_abBoolSettings[TRANSITIONS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_CONTROL_BACKLIGHTS, m_abBoolSettings[CONTROL_BACKLIGHTS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_SHOW_LABELS, m_abBoolSettings[SHOW_LABELS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_HOOK_VOLUMEWHEEL, m_abBoolSettings[HOOK_VOLUMEWHEEL] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_TIMESTAMP_SECONDS, m_abBoolSettings[TIMESTAMP_SECONDS] ? BST_CHECKED : BST_UNCHECKED);

			for (int i = 0; i < FONT_SETTINGS; i++) {
				m_templogfont[i] = m_logfont[i];
				SendDlgItemMessage(hwndDlg, CConfig::GetSampleField(i), WM_SETFONT, (WPARAM)m_hSampleFont[i], (LPARAM)true);
			}

			// fill device box
			CConfig::hDeviceBox = GetDlgItem(hwndDlg, IDC_DEVICE);
			FillDeviceBox(CConfig::hDeviceBox);

			m_bInitializingDialog = false;
			break;
		}
	case WM_NOTIFY:
		{
			switch (((LPNMHDR)lParam)->code) {
			case PSN_APPLY:
				{
					m_abBoolSettings[SKIP_DRIVER_ERROR] = IsDlgButtonChecked(hwndDlg, IDC_SKIP_DRIVER_ERROR) == BST_CHECKED ? true : false;

					m_abBoolSettings[SCREENSAVER_LOCK] = IsDlgButtonChecked(hwndDlg, IDC_SCREENSAVER_LOCK) == BST_CHECKED ? true : false;
					m_abBoolSettings[TRANSITIONS] = IsDlgButtonChecked(hwndDlg, IDC_TRANSITIONS) == BST_CHECKED ? true : false;
					m_abBoolSettings[SHOW_LABELS] = IsDlgButtonChecked(hwndDlg, IDC_SHOW_LABELS) == BST_CHECKED ? true : false;
					m_abBoolSettings[CONTROL_BACKLIGHTS] = IsDlgButtonChecked(hwndDlg, IDC_CONTROL_BACKLIGHTS) == BST_CHECKED ? true : false;
					m_abBoolSettings[HOOK_VOLUMEWHEEL] = IsDlgButtonChecked(hwndDlg, IDC_HOOK_VOLUMEWHEEL) == BST_CHECKED ? true : false;
					m_abBoolSettings[TIMESTAMP_SECONDS] = IsDlgButtonChecked(hwndDlg, IDC_TIMESTAMP_SECONDS) == BST_CHECKED ? true : false;
					m_aiIntSettings[DEVICE] = SendDlgItemMessage(hwndDlg, IDC_DEVICE, CB_GETCURSEL, 0, 0);

					for (int i = 0; i < FONT_SETTINGS; i++)
						m_logfont[i] = m_templogfont[i];

					CConfig::SaveSettings();
					SendMessage(hwndDlg, WM_INITDIALOG, 0, 0);
					break;
				}
			}
			break;
		}
	case WM_COMMAND:
		{
			if (LOWORD(wParam) == IDC_CREDITS) {
				CAppletManager::GetInstance()->ActivateCreditsScreen();
				break;
			}

			int iFont = LOWORD(wParam);
			switch (iFont) {
			case IDC_CHOOSEFONT1: iFont = 0; break;
			case IDC_CHOOSEFONT2: iFont = 1; break;
			case IDC_CHOOSEFONT3: iFont = 2; break;
			case IDC_CHOOSEFONT4: iFont = 3; break;
			case IDC_CHOOSEFONT5: iFont = 4; break;
			default: iFont = -1;
			};

			if (iFont >= 0) {
				CHOOSEFONT cf = { 0 };
				cf.lStructSize = sizeof(cf);
				cf.hwndOwner = hwndDlg;
				cf.lpLogFont = &m_templogfont[iFont];
				cf.Flags = CF_FORCEFONTEXIST | CF_INITTOLOGFONTSTRUCT | CF_SCREENFONTS;
				if (ChooseFont(&cf)) {
					if (m_hSampleFont[iFont])
						DeleteObject(m_hSampleFont[iFont]);
					m_hSampleFont[iFont] = CreateFontIndirect(&m_templogfont[iFont]);
					SendDlgItemMessage(hwndDlg, CConfig::GetSampleField(iFont), WM_SETFONT, (WPARAM)m_hSampleFont[iFont], (LPARAM)true);
					TRACE(_T("Font selected!"));
				}
			}
			if (LOWORD(wParam) == IDC_DEVICE && SendDlgItemMessage(hwndDlg, IDC_DEVICE, CB_GETCURSEL, 0, 0) != m_aiIntSettings[DEVICE]) {
				SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
			}

			// Activate the apply button
			if (!m_bInitializingDialog && ((HIWORD(wParam) == EN_CHANGE) || (HIWORD(wParam) == BN_CLICKED))) {
				SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
			}
			break;
		}
	}
	return 0;
}
Example #11
0
INT_PTR CALLBACK CConfig::ChatDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	char buf[128];

	switch (uMsg) {
	case WM_INITDIALOG:
		{
			m_bInitializingDialog = true;

			// Translate the dialog
			TranslateDialogDefault(hwndDlg);

			CheckDlgButton(hwndDlg, IDC_MAXIMIZED_TITLE, m_abBoolSettings[MAXIMIZED_TITLE] ? BST_UNCHECKED : BST_CHECKED);
			CheckDlgButton(hwndDlg, IDC_MAXIMIZED_LABELS, m_abBoolSettings[MAXIMIZED_LABELS] ? BST_UNCHECKED : BST_CHECKED);
			CheckDlgButton(hwndDlg, IDC_SESSION_REPLY_MAXIMIZED, m_abBoolSettings[SESSION_REPLY_MAXIMIZED] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_SESSION_SCROLL_MAXIMIZED, m_abBoolSettings[SESSION_SCROLL_MAXIMIZED] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_SESSION_SHOWTYPING, m_abBoolSettings[SESSION_SHOWTYPING] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_SESSION_SENDTYPING, m_abBoolSettings[SESSION_SENDTYPING] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_SESSION_LOADDB, m_abBoolSettings[SESSION_LOADDB] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_SESSION_MARKREAD, m_abBoolSettings[SESSION_MARKREAD] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_SESSION_SYMBOLS, m_abBoolSettings[SESSION_SYMBOLS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_SESSION_TIMESTAMPS, m_abBoolSettings[SESSION_TIMESTAMPS] ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_SESSION_CLOSE, m_abBoolSettings[SESSION_CLOSE] ? BST_CHECKED : BST_UNCHECKED);

			CheckDlgButton(hwndDlg, IDC_SESSION_SENDRETURN, m_abBoolSettings[SESSION_SENDRETURN] ? BST_CHECKED : BST_UNCHECKED);

			CheckDlgButton(hwndDlg, IDC_SESSION_SCROLLNONE, m_aiIntSettings[SESSION_AUTOSCROLL] == SESSION_AUTOSCROLL_NONE ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_SESSION_SCROLLFIRST, m_aiIntSettings[SESSION_AUTOSCROLL] == SESSION_AUTOSCROLL_FIRST ? BST_CHECKED : BST_UNCHECKED);
			CheckDlgButton(hwndDlg, IDC_SESSION_SCROLLLAST, m_aiIntSettings[SESSION_AUTOSCROLL] == SESSION_AUTOSCROLL_LAST ? BST_CHECKED : BST_UNCHECKED);

			_itoa_s(m_aiIntSettings[SESSION_LOGSIZE], buf, _countof(buf), 10);
			SetDlgItemTextA(hwndDlg, IDC_SESSION_LOGSIZE, buf);

			_itoa_s(m_aiIntSettings[SESSION_CLOSETIMER], buf, _countof(buf), 10);
			SetDlgItemTextA(hwndDlg, IDC_SESSION_CLOSETIMER, buf);

			m_bInitializingDialog = false;
			break;
		}
	case WM_NOTIFY:
		{
			switch (((LPNMHDR)lParam)->code) {
			case PSN_APPLY:
				{
					m_abBoolSettings[SESSION_SCROLL_MAXIMIZED] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_SCROLL_MAXIMIZED) == BST_CHECKED ? true : false;
					m_abBoolSettings[SESSION_REPLY_MAXIMIZED] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_REPLY_MAXIMIZED) == BST_CHECKED ? true : false;
					m_abBoolSettings[SESSION_SHOWTYPING] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_SHOWTYPING) == BST_CHECKED ? true : false;
					m_abBoolSettings[SESSION_SENDTYPING] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_SENDTYPING) == BST_CHECKED ? true : false;
					m_abBoolSettings[SESSION_LOADDB] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_LOADDB) == BST_CHECKED ? true : false;
					m_abBoolSettings[SESSION_SENDRETURN] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_SENDRETURN) == BST_CHECKED ? true : false;
					m_abBoolSettings[SESSION_MARKREAD] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_MARKREAD) == BST_CHECKED ? true : false;
					m_abBoolSettings[SESSION_SYMBOLS] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_SYMBOLS) == BST_CHECKED ? true : false;
					m_abBoolSettings[SESSION_TIMESTAMPS] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_TIMESTAMPS) == BST_CHECKED ? true : false;
					m_abBoolSettings[SESSION_CLOSE] = IsDlgButtonChecked(hwndDlg, IDC_SESSION_CLOSE) == BST_CHECKED ? true : false;

					if (IsDlgButtonChecked(hwndDlg, IDC_SESSION_SCROLLNONE) == BST_CHECKED)
						m_aiIntSettings[SESSION_AUTOSCROLL] = SESSION_AUTOSCROLL_NONE;
					else if (IsDlgButtonChecked(hwndDlg, IDC_SESSION_SCROLLFIRST) == BST_CHECKED)
						m_aiIntSettings[SESSION_AUTOSCROLL] = SESSION_AUTOSCROLL_FIRST;
					else
						m_aiIntSettings[SESSION_AUTOSCROLL] = SESSION_AUTOSCROLL_LAST;

					m_abBoolSettings[MAXIMIZED_TITLE] = IsDlgButtonChecked(hwndDlg, IDC_MAXIMIZED_TITLE) == BST_UNCHECKED ? true : false;
					m_abBoolSettings[MAXIMIZED_LABELS] = IsDlgButtonChecked(hwndDlg, IDC_MAXIMIZED_LABELS) == BST_UNCHECKED ? true : false;

					GetDlgItemTextA(hwndDlg, IDC_SESSION_LOGSIZE, buf, _countof(buf));
					m_aiIntSettings[SESSION_LOGSIZE] = atoi(buf) > 0 ? atoi(buf) : 1;

					GetDlgItemTextA(hwndDlg, IDC_SESSION_CLOSETIMER, buf, _countof(buf));
					m_aiIntSettings[SESSION_CLOSETIMER] = atoi(buf) >= 0 ? atoi(buf) : 1;

					CConfig::SaveSettings();
					SendMessage(hwndDlg, WM_INITDIALOG, 0, 0);
					break;
				}
			}
			break;
		}
	case WM_COMMAND:
		{
			// Activate the apply button
			if (!m_bInitializingDialog && ((HIWORD(wParam) == EN_CHANGE) || (HIWORD(wParam) == BN_CLICKED)))
				SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);

			break;
		}
	}
	return 0;
}
Example #12
0
BOOL CPPgWebServer::OnApply()
{	
	if(m_bModified)
	{
		CString sBuf;

		// get and check templatefile existance...
		GetDlgItem(IDC_TMPLPATH)->GetWindowText(sBuf);
		if ( IsDlgButtonChecked(IDC_WSENABLED) && !PathFileExists(sBuf)) {
			CString buffer;
			buffer.Format(GetResString(IDS_WEB_ERR_CANTLOAD),sBuf);
			AfxMessageBox(buffer,MB_OK);
			return FALSE;
		}
		thePrefs.SetTemplate(sBuf);
		theApp.webserver->ReloadTemplates();


		uint16 oldPort=thePrefs.GetWSPort();

		GetDlgItem(IDC_WSPASS)->GetWindowText(sBuf);
		if(sBuf != HIDDEN_PASSWORD)
			thePrefs.SetWSPass(sBuf);
		
		GetDlgItem(IDC_WSPASSLOW)->GetWindowText(sBuf);
		if(sBuf != HIDDEN_PASSWORD)
			thePrefs.SetWSLowPass(sBuf);

		GetDlgItem(IDC_WSPORT)->GetWindowText(sBuf);
		if (_tstoi(sBuf)!=oldPort) {
			thePrefs.SetWSPort((uint16)_tstoi(sBuf));
			theApp.webserver->RestartServer();
		}

		GetDlgItemText(IDC_WSTIMEOUT,sBuf);
		thePrefs.m_iWebTimeoutMins=_tstoi(sBuf);

		thePrefs.SetWSIsEnabled(IsDlgButtonChecked(IDC_WSENABLED)!=0);
		thePrefs.SetWSIsLowUserEnabled(IsDlgButtonChecked(IDC_WSENABLEDLOW)!=0);
		thePrefs.SetWebUseGzip(IsDlgButtonChecked(IDC_WS_GZIP)!=0);
		theApp.webserver->StartServer();
		thePrefs.m_bAllowAdminHiLevFunc= (IsDlgButtonChecked(IDC_WS_ALLOWHILEVFUNC)!=0);

		// mobilemule
		GetDlgItem(IDC_MMPORT_FIELD)->GetWindowText(sBuf);
		if (_tstoi(sBuf)!= thePrefs.GetMMPort() ) {
			thePrefs.SetMMPort((uint16)_tstoi(sBuf));
			theApp.mmserver->StopServer();
			theApp.mmserver->Init();
		}
		thePrefs.SetMMIsEnabled(IsDlgButtonChecked(IDC_MMENABLED)!=0);
		if (IsDlgButtonChecked(IDC_MMENABLED))
			theApp.mmserver->Init();
		else
			theApp.mmserver->StopServer();
		GetDlgItem(IDC_MMPASSWORDFIELD)->GetWindowText(sBuf);
		if(sBuf != HIDDEN_PASSWORD)
			thePrefs.SetMMPass(sBuf);

	//MORPH START - UPnP
#ifdef USE_OFFICIAL_UPNP
		if (IsDlgButtonChecked(IDC_WSUPNP))
		{
			ASSERT( thePrefs.IsUPnPEnabled() );
			if (!thePrefs.m_bWebUseUPnP && thePrefs.GetWSIsEnabled() && theApp.m_pUPnPFinder != NULL) // add the port to existing mapping without having šMule restarting (if all conditions are met)
				theApp.m_pUPnPFinder->GetImplementation()->LateEnableWebServerPort(thePrefs.GetWSPort());
			thePrefs.m_bWebUseUPnP = true;
		}
		else
			thePrefs.m_bWebUseUPnP = false;
#else
		if ((UINT)thePrefs.GetUPnPNatWeb() != IsDlgButtonChecked(IDC_WSUPNP))
		{
			theApp.m_UPnP_IGDControlPoint->SetUPnPNat(thePrefs.IsUPnPNat()); // and start/stop nat. 
			thePrefs.SetUPnPNatWeb(IsDlgButtonChecked(IDC_WSUPNP)!=0);
		}
#endif
	//MORPH END   - UPnP

		theApp.emuledlg->serverwnd->UpdateMyInfo();
		SetModified(FALSE);
		SetTmplButtonState();
	}

	return CPropertyPage::OnApply();
}
Example #13
0
static BOOL StoreDBCheckState(FacebookProto* ppro, HWND hwnd, int idCtrl, const char* szSetting)
{
	BOOL state = IsDlgButtonChecked(hwnd, idCtrl);
	ppro->setByte(szSetting, (BYTE)state);
	return state;
}
Example #14
0
//
//  Page Layout Dialog Box
//
BOOL FAR PASCAL _export PAGE::PageDialog ( HWND hDlg, WORD message, WORD wParam, LONG lParam )
{

	PAGE *page;

	switch ( message )
	{
	case WM_INITDIALOG:
		page = (PAGE*)AObjGetRuntimeInfo((OBJECTID)lParam);
		SetWindowLong(hDlg, DWL_USER, (long)page);
		page->SetDialog(hDlg);
		page->hPen1 = CreatePen(PS_SOLID, 1, 0x00808080L);
		page->hPen2 = CreatePen(PS_SOLID, 2, 0x00808080L);

		page->InitDlgControl();
		AUtlSetTitleFont(OTYPE_PAGE, NULL, GetDlgItem(hDlg, IDD_OBJECT));
		AUtlCenterDialog(hDlg, 0);

		return TRUE;

	case WM_MOVE:
		page = (PAGE*)GetWindowLong(hDlg, DWL_USER);
		GetWindowRect(page->hLayout, &page->layoutRect);
		return 0;

	case WM_COMMAND:
		page = (PAGE*)GetWindowLong(hDlg, DWL_USER);
		switch ( wParam )
		{
		case PAGEOK:
			SetFocus(GetDlgItem(hDlg, PAGEOK));
			page->UpdateObject();
			page->DeleteListData();
			EndDialog(hDlg, 0);
			return TRUE;

		case PAGECANCEL:
			SetFocus(GetDlgItem(hDlg, PAGECANCEL));
			page->DeleteListData();
			EndDialog(hDlg, 0);
			return TRUE;

		case PAGEHELP:
//			WinHelp(hDlg, HELPFILE, HELP_CONTEXT, HELPID_OBJD_Page);
			return TRUE;

		case PAGEADD:
			page->Add();
			return TRUE;

		case PAGEGRID:
			page->snap = IsDlgButtonChecked(hDlg, PAGEGRID);
			return TRUE;

		case PAGEREMOVE:
			page->Remove();
			page->UpdateRemoveButton();
			page->UpdateEditButton();
			return TRUE;

		case PAGEEDIT:
			page->Edit();
			return TRUE;

		case PAGEAVAIL:
			if (HIWORD(lParam) == LBN_SELCHANGE)
				page->UpdateAddButton();

			if (HIWORD(lParam) == LBN_DBLCLK)
				page->Add();
			return TRUE;

		case PAGESELECT:
			if (HIWORD(lParam) == LBN_SELCHANGE)
			{
				page->MakeWindowTop();
				page->UpdateRemoveButton();
				page->UpdateEditButton();
			}

			if (HIWORD(lParam) == LBN_DBLCLK)
				page->Edit();
			return TRUE;
		}
		break;

	case WM_PAINT:
		page = (PAGE*)GetWindowLong(hDlg, DWL_USER);
		page->DrawObjectName();
   	return FALSE;
	}
	return FALSE;
}
Example #15
0
INT_PTR CALLBACK DlgProcColorToolWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
    static COLORCHOOSER* pCC = NULL;
    static int iCurrentHotTrack;
    static BOOL bChoosing;
    static int iRows;
    static int iColumns;
    static HWND hPreviousActiveWindow;

    switch(msg) {
    case WM_INITDIALOG:
    {
        RECT rc;
        int iSquareRoot;
        int width ;
        int height;

        TranslateDialogDefault(hwndDlg);
        pCC = (COLORCHOOSER*) lParam;

        iCurrentHotTrack = -2;
        bChoosing = FALSE;

        iSquareRoot = (int)sqrt(pCC->pModule->nColorCount);

        iColumns = iSquareRoot * iSquareRoot == pCC->pModule->nColorCount?iSquareRoot:iSquareRoot+1;
        iRows = iSquareRoot;

        rc.top = rc.left = 100;
        rc.right =  100 +  iColumns * 25 + 1;
        rc.bottom = iRows * 20 + 100 + 20;

        AdjustWindowRectEx(&rc, GetWindowLongPtr(hwndDlg, GWL_STYLE), FALSE, GetWindowLongPtr(hwndDlg, GWL_EXSTYLE));

        width = rc.right - rc.left;
        height = rc.bottom - rc.top;

        pCC->yPosition -= height;


        SetDlgItemText(hwndDlg, IDC_COLORTEXT, pCC->bForeground?TranslateT("Text colour"):TranslateT("Background colour"));
        SetWindowPos(GetDlgItem(hwndDlg, IDC_COLORTEXT), NULL,  0, 0, width, 20, 0);
        SetWindowPos(hwndDlg, NULL, pCC->xPosition, pCC->yPosition, width, height, SWP_SHOWWINDOW);
    }
    break;

    case WM_CTLCOLOREDIT:
    case WM_CTLCOLORSTATIC:
        if (( HWND )lParam == GetDlgItem( hwndDlg, IDC_COLORTEXT )) {
            SetTextColor((HDC)wParam,RGB(60,60,150));
            SetBkColor((HDC)wParam,GetSysColor(COLOR_WINDOW));
            return (INT_PTR)GetSysColorBrush(COLOR_WINDOW);
        }
        break;

    case WM_COMMAND:
        switch ( LOWORD( wParam )) {
        case IDOK:
            if (iCurrentHotTrack >= 0)
                PostMessage(hwndDlg, WM_LBUTTONUP, 0, 0);
            break;
        case IDCANCEL:
            DestroyWindow(hwndDlg);
            break;
        }
        break;

    case WM_LBUTTONUP:
        if (iCurrentHotTrack >= 0 && iCurrentHotTrack < pCC->pModule->nColorCount && pCC->hWndTarget != NULL) {
            HWND hWindow;
            CHARFORMAT2 cf;
            cf.cbSize = sizeof(CHARFORMAT2);
            cf.dwMask = 0;
            cf.dwEffects = 0;
            hWindow = GetParent( pCC->hWndTarget );

            if ( pCC->bForeground ) {
                pCC->si->bFGSet = TRUE;
                pCC->si->iFG = iCurrentHotTrack;
                if ( IsDlgButtonChecked( hWindow, IDC_COLOR )) {
                    cf.dwMask = CFM_COLOR;
                    cf.crTextColor = pCC->pModule->crColors[iCurrentHotTrack];
                    SendMessage(pCC->hWndTarget, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf);
                }
            }
            else {
                pCC->si->bBGSet = TRUE;
                pCC->si->iBG = iCurrentHotTrack;
                if ( IsDlgButtonChecked( hWindow, IDC_BKGCOLOR )) {
                    cf.dwMask = CFM_BACKCOLOR;
                    cf.crBackColor = pCC->pModule->crColors[iCurrentHotTrack];
                    SendMessage(pCC->hWndTarget, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf);
                }
            }
        }
        PostMessage(hwndDlg, WM_CLOSE, 0, 0);
        break;

    case WM_ACTIVATE:
        if (wParam == WA_INACTIVE)
            PostMessage(hwndDlg, WM_CLOSE, 0, 0);
        else if ((wParam == WA_ACTIVE) || (wParam == WA_CLICKACTIVE))
            hPreviousActiveWindow = (HWND)lParam;
        break;

    case WM_MOUSEMOVE:
    {
        HDC hdc = GetDC(hwndDlg);
        POINT pt;
        RECT rect;
        int but;

        pt.x = LOWORD(lParam);
        pt.y = HIWORD(lParam);

        if (iCurrentHotTrack == -2)
            return 0; // prevent focussing when not drawn yet!

        but = CalculateCoordinatesToButton(pCC, pt);

        // weird stuff
        if (but != iCurrentHotTrack) {
            if (iCurrentHotTrack >= 0) {
                rect = CalculateButtonToCoordinates(pCC, iCurrentHotTrack);
                DrawFocusRect(hdc, &rect);
                iCurrentHotTrack = -1;
            }
            iCurrentHotTrack = but;

            if (iCurrentHotTrack >= 0) {
                rect = CalculateButtonToCoordinates(pCC, iCurrentHotTrack);
                DrawFocusRect(hdc, &rect);
            }
        }
        ReleaseDC(hwndDlg, hdc);
    }
    break;

    case WM_PAINT:
    {
        PAINTSTRUCT ps;
        HDC hdc;
        RECT rc;
        int i = 0;
        int iThisRow = 1;
        int iThisColumn = 0;

        GetClientRect(hwndDlg, &rc);

        rc.top += 20;

        hdc = BeginPaint(hwndDlg, &ps);

        // fill background
        FillRect(hdc, &rc, GetSysColorBrush(COLOR_WINDOW));

        for (i; i < pCC->pModule->nColorCount; i++) {
            HBRUSH hbr;

            // decide place to draw the color block in the window
            iThisColumn ++;
            if (iThisColumn > iColumns) {
                iThisColumn = 1;
                iThisRow++;
            }

            if ( pCC->bForeground && pCC->si->bFGSet && pCC->si->iFG == i ||
                    !pCC->bForeground && pCC->si->bBGSet && pCC->si->iBG == i ) {
                rc.top = (iThisRow-1) * 20+ 1 +20 ;
                rc.left = (iThisColumn-1) * 25 + 1 + 1 ;
                rc.bottom = iThisRow * 20- 1 + 20 ;
                rc.right = iThisColumn * 25-1 ;

                DrawEdge(hdc, &rc, EDGE_RAISED, BF_TOP|BF_LEFT|BF_RIGHT|BF_BOTTOM);
            }

            rc.top = (iThisRow-1) * 20+ 3 +20 ;
            rc.left = (iThisColumn-1) * 25 + 3 + 1 ;
            rc.bottom = iThisRow * 20- 3 + 20 ;
            rc.right = iThisColumn * 25-3 ;

            FillRect(hdc, &rc, GetStockObject(BLACK_BRUSH));

            hbr = CreateSolidBrush(pCC->pModule->crColors[i]);

            rc.top = (iThisRow-1) * 20+4 +20;
            rc.left = (iThisColumn-1) * 25+ 4 + 1;
            rc.bottom = iThisRow * 20-4 + 20;
            rc.right = iThisColumn * 25-4;

            FillRect(hdc, &rc, hbr);
            DeleteObject(hbr);
        }

        EndPaint(hwndDlg, &ps);
        iCurrentHotTrack = -1;
    }
    break;

    case WM_CLOSE:
        SetFocus(pCC->hWndTarget);
        DestroyWindow(hwndDlg);
        break;

    case WM_DESTROY:
        mir_free( pCC );
        return TRUE;
    }

    return FALSE;
}
BOOL CPPgGeneral::OnApply()
{
	CString strNick;
	GetDlgItem(IDC_NICK)->GetWindowText(strNick);
	strNick.Trim();
	if (!IsValidEd2kString(strNick))
		strNick.Empty();
	if (strNick.IsEmpty())
	{
		strNick = DEFAULT_NICK;
		GetDlgItem(IDC_NICK)->SetWindowText(strNick);
	}
	//Xman DLP check the nick
	CString strNicktocheck=strNick + _T(" [xxx]");
	if(theApp.dlp->IsDLPavailable() && (theApp.dlp->DLPCheckUsername_Hard(strNicktocheck) || theApp.dlp->DLPCheckUsername_Soft(strNicktocheck)))
	{
		AfxMessageBox(_T("This nick is not allowed"));
		strNick = DEFAULT_NICK;
		GetDlgItem(IDC_NICK)->SetWindowText(strNick);
	}
	//Xman end
	thePrefs.SetUserNick(strNick);

	if (m_language.GetCurSel() != CB_ERR)
	{
		WORD wNewLang = (WORD)m_language.GetItemData(m_language.GetCurSel());
		if (thePrefs.GetLanguageID() != wNewLang)
		{
			thePrefs.SetLanguageID(wNewLang);
			thePrefs.SetLanguage();

#ifdef _DEBUG
			// Can't yet be switched on-the-fly, too much unresolved issues..
			if (thePrefs.GetRTLWindowsLayout())
			{
				ModifyAllWindowStyles(theApp.emuledlg, WS_EX_LAYOUTRTL | WS_EX_RTLREADING | WS_EX_RIGHT | WS_EX_LEFTSCROLLBAR, 0);
				ModifyAllWindowStyles(theApp.emuledlg->preferenceswnd, WS_EX_LAYOUTRTL | WS_EX_RTLREADING | WS_EX_RIGHT | WS_EX_LEFTSCROLLBAR, 0);
				theApp.DisableRTLWindowsLayout();
				thePrefs.m_bRTLWindowsLayout = false;
			}
#endif
			theApp.emuledlg->preferenceswnd->Localize();
			theApp.emuledlg->statisticswnd->CreateMyTree();
			theApp.emuledlg->statisticswnd->Localize();
			theApp.emuledlg->statisticswnd->ShowStatistics(true);
			theApp.emuledlg->serverwnd->Localize();
			theApp.emuledlg->transferwnd->Localize();
			theApp.emuledlg->transferwnd->UpdateCatTabTitles();
			theApp.emuledlg->searchwnd->Localize();
			theApp.emuledlg->sharedfileswnd->Localize();
			theApp.emuledlg->chatwnd->Localize();
			theApp.emuledlg->Localize();
			theApp.emuledlg->ircwnd->Localize();
			theApp.emuledlg->kademliawnd->Localize();
		}
	}

	thePrefs.startMinimized = IsDlgButtonChecked(IDC_STARTMIN)!=0;
	thePrefs.m_bAutoStart = IsDlgButtonChecked(IDC_STARTWIN)!=0;
	if( thePrefs.m_bAutoStart )
		AddAutoStart();
	else
		RemAutoStart();
	thePrefs.confirmExit = IsDlgButtonChecked(IDC_EXIT)!=0;
	thePrefs.splashscreen = IsDlgButtonChecked(IDC_SPLASHON)!=0;
	thePrefs.bringtoforeground = IsDlgButtonChecked(IDC_BRINGTOFOREGROUND)!=0;
	thePrefs.updatenotify = IsDlgButtonChecked(IDC_CHECK4UPDATE)!=0;
	//Xman versions check
	thePrefs.updatenotifymod= IsDlgButtonChecked(IDC_CHECK4UPDATEMOD)!=0;
	//Xman end
	thePrefs.onlineSig = IsDlgButtonChecked(IDC_ONLINESIG)!=0;
	thePrefs.versioncheckdays = ((CSliderCtrl*)GetDlgItem(IDC_CHECKDAYS))->GetPos();
	thePrefs.m_bEnableMiniMule = IsDlgButtonChecked(IDC_MINIMULE) != 0;
	thePrefs.m_bPreventStandby = IsDlgButtonChecked(IDC_PREVENTSTANDBY) != 0;

	LoadSettings();

	SetModified(FALSE);
	return CPropertyPage::OnApply();
}
Example #17
0
/*------------------------------------------------------------------------------*
| <<< ダイアログのイベント処理 >>>
*------------------------------------------------------------------------------*/
static	BOOL	CALLBACK	D3CtrlProc(HWND	hWnd, UINT msg,	WPARAM wParam, LPARAM lParam)
{
#ifdef	IDC_ADAPTER_COMBO
	switch(msg)
	{
	case WM_INITDIALOG:
		//static	bool	isLocked = false;		// 初期化時にはスイッチの動作を抑制
		//isLocked = true;
		CTRL_WINDOW_RECT_SET(hWnd);					// ウィンドウの中央へ
		hDialog	   = hWnd;
		d3.bWindow = true;							// 起動時は強制時にウィンドウとする
		CtrlSet(d3.bWindow);
		//isLocked	 = false;
		break;
	case WM_COMMAND:
		switch(LOWORD(wParam))
		{
		case IDC_ADAPTER_COMBO:				// アダプター
		case IDC_ADAPTERFORMAT_COMBO:		// アダプターの画像フォーマット
		case IDC_RESOLUTION_COMBO:			// 描画サイズ
		//case IDC_VERTEXPROCESSING_COMBO:	// 頂点の計算方法
			if(CBN_SELCHANGE ==	HIWORD(wParam))
			{
				ComboSet(LOWORD(wParam));	
				CtrlSet(IsDlgButtonChecked(hWnd, IDC_WINDOW) ==	BST_CHECKED);
			}
			break;
		case IDC_WINDOW:
			d3.fmtBackBuffer = d3.fmtDisplay = d3.deskTopDisplayMode.Format;
			ComboSet(LOWORD(wParam));
			CtrlSet(true);
			EnableWindow(GetDlgItem(hWnd, IDC_ADAPTERFORMAT_COMBO),	false);
			CheckRadioButton(hWnd, IDC_WINDOW, IDC_FULLSCREEN, IDC_WINDOW);
			break;
		case IDC_FULLSCREEN:
			d3.fmtBackBuffer = d3.fmtDisplay = d3.deskTopDisplayMode.Format;
			ComboSet(LOWORD(wParam));
			CtrlSet(false);
			EnableWindow(GetDlgItem(hWnd, IDC_ADAPTERFORMAT_COMBO),	true);
			CheckRadioButton(hWnd, IDC_WINDOW, IDC_FULLSCREEN, IDC_FULLSCREEN);
			break;
		case IDOK:							// OK ボタンを押した
			ChangeSet();
			SendMessage(hDialog, WM_CLOSE, 0, 0L);
			break;
		case IDCANCEL:						// CANCEL を押した
			memcpy(&d3,	&d3_bak, sizeof(D3_WORK));
			SendMessage(hDialog, WM_CLOSE, 0, 0L);
			break;
		}
		break;
	case WM_CLOSE:
		EndDialog(hDialog, IDOK);
		hDialog	= NULL;
		break;
	default:
		return FALSE;
	}
#endif
	return TRUE;
}
Example #18
0
HRESULT CALLBACK DlgProc_Browse (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
{
   BROWSEDIALOGPARAMS *pbdp;

   if (AfsAppLib_HandleHelp (IDD_APPLIB_BROWSE, hDlg, msg, wp, lp))
   {
      return FALSE;
   }

   if (msg == WM_INITDIALOG)
   {
      SetWindowLongPtr (hDlg, DWLP_USER, lp);
   }

   if ((pbdp = (BROWSEDIALOGPARAMS *)GetWindowLongPtr (hDlg, DWLP_USER)) != NULL)
   {
      switch (msg)
      {
         case WM_INITDIALOG:
            DlgProc_Browse_OnInitDialog (hDlg, pbdp);
            break;

         case WM_NOTIFY:
            switch (((LPNMHDR)lp)->code)
            {
               case LVN_ITEMCHANGED:
                  if ( ((LPNM_LISTVIEW)lp)->uNewState & LVIS_SELECTED )
                  {
                     DlgProc_Browse_SelectedEntry (hDlg, pbdp);
                  }
                  break;

               case NM_DBLCLK:
                  PostMessage (hDlg, WM_COMMAND, MAKELONG(IDC_BROWSE_SELECT,BN_CLICKED), (LPARAM)GetDlgItem(hDlg,IDC_BROWSE_SELECT));
                  break;
            }
            break;

         case WM_DESTROY:
            DlgProc_Browse_StopSearch (pbdp);

            if (pbdp->hImages != NULL)
            {
               ListView_SetImageList (GetDlgItem (hDlg, IDC_BROWSE_LIST), 0, 0);
               ImageList_Destroy (pbdp->hImages);
            }
            break;

         case WM_FOUNDNAME:
         {
            LPTSTR pszName = (LPTSTR)lp;
            if (pszName != NULL)
            {
               HWND hList = GetDlgItem (hDlg, IDC_BROWSE_LIST);
               LV_AddItem (hList, 1, INDEX_SORT, 0, 0, pszName);
               FreeString (pszName);
            }
            break;
         }

         case WM_THREADSTART:
         {
            TCHAR szText[ cchRESOURCE ];
            GetString (szText, IDS_BROWSE_WAITING);
            SetDlgItemText (pbdp->hDlg, IDC_BROWSE_STATUS, szText);
            break;
         }

         case WM_THREADDONE:
         {
            SetDlgItemText (pbdp->hDlg, IDC_BROWSE_STATUS, TEXT(""));
            break;
         }

         case WM_COMMAND:
            switch (LOWORD(wp))
            {
               case IDCANCEL:
                  EndDialog (hDlg, LOWORD(wp));
                  break;

               case IDC_BROWSE_SELECT:
                  if ( (GetDlgItem (pbdp->hDlg, IDC_BROWSE_NONE) != NULL) &&
                       (IsDlgButtonChecked (pbdp->hDlg, IDC_BROWSE_NONE)) )
                  {
                     pbdp->szCell[0] = TEXT('\0');
                     pbdp->szNamed[0] = TEXT('\0');
                  }
                  else
                  {
                     GetDlgItemText (hDlg, IDC_BROWSE_CELL,  pbdp->szCell,  cchNAME);
                     GetDlgItemText (hDlg, IDC_BROWSE_NAMED, pbdp->szNamed, cchRESOURCE);
                  }
                  EndDialog (hDlg, IDOK);
                  break;

               case IDC_BROWSE_CELL:
                  if (HIWORD(wp) == CBN_SELCHANGE)
                  {
                     GetDlgItemText (hDlg, IDC_BROWSE_CELL, pbdp->szCell, cchNAME);
                     DlgProc_Browse_StartSearch (pbdp, FALSE);
                  }
                  break;

               case IDC_BROWSE_RESTART:
                  GetDlgItemText (hDlg, IDC_BROWSE_CELL, pbdp->szCell, cchNAME);
                  DlgProc_Browse_StartSearch (pbdp, FALSE);
                  PostMessage (hDlg, WM_NEXTDLGCTL, (WPARAM)GetDlgItem (hDlg, IDC_BROWSE_NAMED), (LPARAM)TRUE);
                  break;

               case IDC_BROWSE_NAMED:
                  if (HIWORD(wp) == EN_UPDATE)  // has the user hit Enter here?
                  {
                     TCHAR szTest[ cchRESOURCE ];

                     GetDlgItemText (hDlg, IDC_BROWSE_NAMED, szTest, cchRESOURCE);

                     if ( (lstrlen (szTest) > 0) &&
                          (szTest[ lstrlen(szTest)-1 ] == TEXT('\n')) )
                     {
                        szTest[ lstrlen(szTest)-1 ] = TEXT('\0');

                        if ( (lstrlen (szTest) > 0) &&
                             (szTest[ lstrlen(szTest)-1 ] == TEXT('\r')) )
                        {
                           szTest[ lstrlen(szTest)-1 ] = TEXT('\0');
                        }

                        SetDlgItemText (hDlg, IDC_BROWSE_NAMED, szTest);
                        PostMessage (hDlg, WM_COMMAND, MAKELONG(IDC_BROWSE_SELECT,BN_CLICKED), (LPARAM)GetDlgItem(hDlg,IDC_BROWSE_SELECT));
                     }
                  }
                  break;

               case IDC_BROWSE_NONE:
                  DlgProc_Browse_OnNone (hDlg, pbdp);
                  break;
            }
            break;
      }
   }

   return FALSE;
}
Example #19
0
void CPPagePlayback::OnUpdateAutoZoomCombo(CCmdUI* pCmdUI)
{
	pCmdUI->Enable(!!IsDlgButtonChecked(IDC_CHECK5));
}
Example #20
0
void CPPgScheduler::OnDisableTime2() {
	GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow( IsDlgButtonChecked(IDC_CHECKNOENDTIME)==0 );
}
Example #21
0
void CAERDlg::OnStop() 
{
	m_enAER = AER_STOP;
	m_bDontAskAgain = IsDlgButtonChecked (IDC_DONTASKAGAIN) == BST_CHECKED;
	EndDialog (IDOK);	
}
BOOL CALLBACK PreferencesDialog1Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  switch (uMsg)
  {
    case WM_COMMAND:      /* Process control messages */
    {
      switch (LOWORD(wParam))
      {
        case ID_AUTOUPDATECHK:
        case ID_OVERWRITEEMPTYDOCSCHK:
        case ID_HIDEEXPLORERCHK:
        case ID_OPENEXPFILEONSELCHK:
        case ID_RENAMEEXPONSELCHK:
        {
          if (HIWORD(wParam) == BN_CLICKED)
          {
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
        case ID_AUTOHIDEEXPLORERCHK:
        {
          if (HIWORD(wParam) == BN_CLICKED)
          {
            bool Checked = IsDlgButtonChecked(hDlg, LOWORD(wParam)) == BST_CHECKED;
            EnableWindow(GetDlgItem(hDlg, ID_AUTOHIDEDELAYEDT), Checked);
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
        case ID_DEFAULTBROWSERCHK:
        {
          if (HIWORD(wParam) == BN_CLICKED)
          {
            bool Checked = IsDlgButtonChecked(hDlg, LOWORD(wParam)) == BST_CHECKED;
            EnableWindow(GetDlgItem(hDlg, ID_INTERNETBROWSEREDT), !Checked);
            EnableWindow(GetDlgItem(hDlg, ID_INTERNETBROWSERBTN), !Checked);
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
        case ID_AUTOHIDEDELAYEDT:
        case ID_INTERNETBROWSEREDT:
        {
          if (HIWORD(wParam) == EN_CHANGE)
          {
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
      }
      return TRUE;
    }
    case WM_INITDIALOG:
    {
      /* Set up controls */
      MakeEditScrollable(GetDlgItem(hDlg, ID_AUTOHIDEDELAYEDT));
      /* Display Preferences */
      CheckDlgButton(hDlg, ID_MULTIPLEINSTANCESCHK, AllowMultipleInstance ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_AUTOUPDATECHK, AutoUpdate ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_OVERWRITEEMPTYDOCSCHK, Editor->OverwriteEmptyDocs ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_OPENUNSUPPORTEDDOCSCHK, OpenUnsupportedFiles ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_HIDEEXPLORERCHK, (Explorer->GetHide() & HideSplitter) ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_OPENEXPFILEONSELCHK, Explorer->SingleClickOpen ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_RENAMEEXPONSELCHK, Explorer->RenameOnClick ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_AUTOHIDEEXPLORERCHK, Explorer->GetAutoHide() ? BST_CHECKED : BST_UNCHECKED);
      SetDlgItemInt(hDlg, ID_AUTOHIDEDELAYEDT, Explorer->AutoHideDelay/1000, TRUE);
      CheckDlgButton(hDlg, ID_DEFAULTBROWSERCHK, DefaultInternetBrowser ? BST_CHECKED : BST_UNCHECKED);
      SetWindowText(GetDlgItem(hDlg, ID_INTERNETBROWSEREDT), InternetBrowser.c_str());
      /* Apply control modifiations */
      SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_DEFAULTBROWSERCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_DEFAULTBROWSERCHK));
      SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_AUTOHIDEEXPLORERCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_AUTOHIDEEXPLORERCHK));
      return TRUE;
    }
    case WM_NOTIFY:
    {
      switch (((NMHDR *)lParam)->code)
      {
        case PSN_APPLY:
        {
          /* Save Preferences */
          AllowMultipleInstance = IsDlgButtonChecked(hDlg, ID_MULTIPLEINSTANCESCHK) == BST_CHECKED;
          AutoUpdate = IsDlgButtonChecked(hDlg, ID_AUTOUPDATECHK) == BST_CHECKED;
          Editor->OverwriteEmptyDocs = IsDlgButtonChecked(hDlg, ID_OVERWRITEEMPTYDOCSCHK) == BST_CHECKED;
          OpenUnsupportedFiles = IsDlgButtonChecked(hDlg, ID_OPENUNSUPPORTEDDOCSCHK) == BST_CHECKED;
          HideSplitter = IsDlgButtonChecked(hDlg, ID_HIDEEXPLORERCHK) == BST_CHECKED;
          Explorer->SetHide(HideSplitter);
          Explorer->SingleClickOpen = IsDlgButtonChecked(hDlg, ID_OPENEXPFILEONSELCHK) == BST_CHECKED;
          Explorer->RenameOnClick = IsDlgButtonChecked(hDlg, ID_RENAMEEXPONSELCHK) == BST_CHECKED;
          Explorer->SetAutoHide(IsDlgButtonChecked(hDlg, ID_AUTOHIDEEXPLORERCHK) == BST_CHECKED);
          Explorer->AutoHideDelay = GetDlgItemInt(hDlg, ID_AUTOHIDEDELAYEDT, NULL, FALSE)*1000;
          DefaultInternetBrowser = IsDlgButtonChecked(hDlg, ID_DEFAULTBROWSERCHK) == BST_CHECKED;
          InternetBrowser = GetWindowText(GetDlgItem(hDlg, ID_INTERNETBROWSEREDT));
          return TRUE;
        }
      }
      return FALSE;
    }
    default:
      return FALSE;
  }
}
Example #23
0
void CLuzj_ZTEDlg::OnStart() 
{
	UpdateStatus(TRUE);

	//////////////////////////////////////////////////////////////////////////
	//		先存放设置参数
	CString strTemp;

	//取得用户名密码
	GetDlgItem(IDC_USERNAME)->GetWindowText((char*)m_username, sizeof(m_username));
	m_usernameLen=strlen((char*)m_username);
	GetDlgItem(IDC_PWD)->GetWindowText((char*)m_password, sizeof(m_password));
	m_passwordLen=strlen((char*)m_password);

	if (m_usernameLen<1 || m_passwordLen<1)	{
		this->Log(I_ERR, "用户名或者密码太短!"); UpdateStatus(FALSE); return;	
	}
	
	Config.m_csNetCard=m_csAdapters[((CComboBox*)GetDlgItem(IDC_NETCARD))->GetCurSel()];
	
	if (IsDlgButtonChecked(IDC_REMEMBER)) {		
		Config.m_bRememberPWD=TRUE;
	} else {		
		Config.m_bRememberPWD=FALSE;
	}

	Config.m_csLastUser=(char*)m_username;
	if(Config.m_bRememberPWD)
		Config.m_UserInfo[(char*)m_username]=(char*)m_password;

	Config.SaveConfig();
	//////////////////////////////////////////////////////////////////////////
	SetBubble("提示",STR_AppName" 开始联网认证……");
		
	char m_errorBuffer[PCAP_ERRBUF_SIZE];
	int retcode = 0;
		
	/////////////////////////////////////////////////////////////////////////
	//寻找所选的网卡的MAC	
	if (GetMacIP(Config.m_csNetCard, NULL, m_MacAdd) != 0)	{
		if(m_MacAdd[0] == 0 && m_MacAdd[1] == 0 && m_MacAdd[2] == 0 && 
			m_MacAdd[3] == 0 && m_MacAdd[4] == 0 && m_MacAdd[5] == 0) {
			Log(I_ERR, "GetMacIP:no mac address."); UpdateStatus(FALSE);
			return;
		}
	} else {
		Log(I_INFO, "MAC:%02X-%02X-%02X-%02X-%02X-%02X", m_MacAdd[0], m_MacAdd[1], m_MacAdd[2], 
			m_MacAdd[3], m_MacAdd[4], m_MacAdd[5]);
	}
	//////////////////////////////////////////////////////////////////////////
	// 打开指定适配器
	m_adapterHandle=pcap_open_live(ToNPFName(Config.m_csNetCard),65536,1,Config.m_iTimeout,m_errorBuffer);
    if(m_adapterHandle == NULL) {	
		Log(I_INFO, "pcap_open_live:%s", m_errorBuffer); UpdateStatus(FALSE);
		return;
    }

	char	FilterStr[100];		//包过滤字符串
	struct bpf_program	mfcode;	

	sprintf(FilterStr, "(ether proto 0x888e) and (ether dst host %02x:%02x:%02x:%02x:%02x:%02x)",
			m_MacAdd[0],m_MacAdd[1],m_MacAdd[2],m_MacAdd[3],m_MacAdd[4],m_MacAdd[5]);

    if((retcode=pcap_compile(m_adapterHandle, &mfcode, FilterStr, 1, 0xff))==-1
		||(retcode=pcap_setfilter(m_adapterHandle, &mfcode))==-1)
    {
		Log(I_INFO, "pcap_compile & pcap_setfilter:%s", pcap_strerror(retcode));
		pcap_close(m_adapterHandle); UpdateStatus(FALSE);
		return;
    }

	status = AUTHING;

	CPacket packet;	
	//////////////////////////////////////////////////////////////////////////
	///开始认证包
    if(!(retcode=packet.send_packet_start(m_adapterHandle,m_MacAdd))) {   
		Log(I_INFO, "send_packet_start:(%d)%s", retcode, pcap_geterr(m_adapterHandle));	 UpdateStatus(FALSE);	
		return;
    }
	Log(I_INFO, "Client:EAPOL_START...");

	m_AuthThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)eap_thread, this, 0, 0);
	if(m_AuthThread == NULL) Log(I_INFO, "CreateThread:(%d)", GetLastError());
}
BOOL CALLBACK PreferencesDialog2Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  switch (uMsg)
  {
    case WM_COMMAND:      /* Process control messages */
    {
      switch (LOWORD(wParam))
      {
        case ID_OVERWRITESELECTIONCHK:
        case ID_OVERWRITETEXTCHK:
        case ID_AUTOINDENTCHK:
        case ID_GROUPUNDOCHK:
        case ID_DBLCLKSELLINECHK:
        case ID_SPACESEPARATEDWORDSCHK:
        case ID_TABINDENTSLINESCHK:
        {
          if (HIWORD(wParam) == BN_CLICKED)
          {
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
        case ID_DEFAULTSCROLLCOUNTCHK:
        {
          if (HIWORD(wParam) == BN_CLICKED)
          {
            bool Checked = IsDlgButtonChecked(hDlg, LOWORD(wParam)) == BST_CHECKED;
            EnableWindow(GetDlgItem(hDlg, ID_SCROLLLINECOUNTEDT), !Checked);
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
        case ID_INDENTSIZEEDT:
        case ID_SCROLLLINECOUNTEDT:
        {
          if (HIWORD(wParam) == EN_CHANGE)
          {
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
      }
      return TRUE;
    }
    case WM_INITDIALOG:
    {
      /* Set up controls */
      MakeEditScrollable(GetDlgItem(hDlg, ID_INDENTSIZEEDT));
      MakeEditScrollable(GetDlgItem(hDlg, ID_SCROLLLINECOUNTEDT));
      /* Display Preferences */
      CheckDlgButton(hDlg, ID_OVERWRITESELECTIONCHK, Editor->OverwriteSelection ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_OVERWRITETEXTCHK, Editor->OverwriteMode ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_AUTOINDENTCHK, Editor->AutoIndent ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_GROUPUNDOCHK, Editor->GroupUndo ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_DBLCLKSELLINECHK, Editor->DoubleClickLine ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_SPACESEPARATEDWORDSCHK, Editor->SpaceSeparatedWords ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_TABINDENTSLINESCHK, Editor->TabIndentsLines ? BST_CHECKED : BST_UNCHECKED);
      SetDlgItemInt(hDlg, ID_INDENTSIZEEDT, Editor->TabSize, TRUE);
      CheckDlgButton(hDlg, ID_DEFAULTSCROLLCOUNTCHK, Editor->DefaultScrollLineCount ? BST_CHECKED : BST_UNCHECKED);
      char* Str = IntToStr(Editor->ScrollLineCount);
      SetWindowText(GetDlgItem(hDlg, ID_SCROLLLINECOUNTEDT), Str);
      delete[] Str;
      /* Apply control modifiations */
      SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_DEFAULTSCROLLCOUNTCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_DEFAULTSCROLLCOUNTCHK));
      return TRUE;
    }
    case WM_NOTIFY:
    {
      switch (((NMHDR *)lParam)->code)
      {
        case PSN_APPLY:
        {
          /* Save Preferences */
          Editor->OverwriteSelection = IsDlgButtonChecked(hDlg, ID_OVERWRITESELECTIONCHK) == BST_CHECKED;
          Editor->OverwriteMode = IsDlgButtonChecked(hDlg, ID_OVERWRITETEXTCHK) == BST_CHECKED;
          Editor->AutoIndent = IsDlgButtonChecked(hDlg, ID_AUTOINDENTCHK) == BST_CHECKED;
          Editor->GroupUndo = IsDlgButtonChecked(hDlg, ID_GROUPUNDOCHK) == BST_CHECKED;
          Editor->DoubleClickLine = IsDlgButtonChecked(hDlg, ID_DBLCLKSELLINECHK) == BST_CHECKED;
          Editor->SpaceSeparatedWords = IsDlgButtonChecked(hDlg, ID_SPACESEPARATEDWORDSCHK) == BST_CHECKED;
          Editor->TabIndentsLines = IsDlgButtonChecked(hDlg, ID_TABINDENTSLINESCHK) == BST_CHECKED;
          Editor->TabSize = GetDlgItemInt(hDlg, ID_INDENTSIZEEDT, NULL, FALSE);
          Editor->DefaultScrollLineCount = IsDlgButtonChecked(hDlg, ID_DEFAULTSCROLLCOUNTCHK) == BST_CHECKED;
          Editor->ScrollLineCount = GetDlgItemInt(hDlg, ID_SCROLLLINECOUNTEDT, NULL, FALSE);
          return TRUE;
        }
      }
      return FALSE;
    }
    default:
      return FALSE;
  }
}
Example #25
0
static INT_PTR CALLBACK BombParamProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
	{
   BombObject *bo = DLGetWindowLongPtr<BombObject *>(hWnd);
	if (!bo && message != WM_INITDIALOG) return FALSE;
	
	switch ( message ) {
		case WM_INITDIALOG:
			bo = (BombObject *)lParam;
         DLSetWindowLongPtr(hWnd, bo);       
			
			bo->strengthSpin = GetISpinner(GetDlgItem(hWnd,IDC_STRENGTHSPIN));			
			bo->strengthSpin->SetLimits(-9999999, 9999999, FALSE);
			bo->strengthSpin->SetAutoScale();
			bo->strengthSpin->SetValue(bo->GetStrength(bo->ip->GetTime()),FALSE);
			bo->strengthSpin->LinkToEdit(GetDlgItem(hWnd,IDC_STRENGTH),EDITTYPE_FLOAT);
			
			bo->gravSpin = GetISpinner(GetDlgItem(hWnd,IDC_GRAVITYSPIN));			
			bo->gravSpin->SetLimits( -9999999, 9999999, FALSE);
			bo->gravSpin->SetScale(0.01f);
			bo->gravSpin->SetValue(bo->GetGravity(bo->ip->GetTime()),FALSE);
			bo->gravSpin->LinkToEdit(GetDlgItem(hWnd,IDC_GRAVITY),EDITTYPE_FLOAT);
			
			bo->detSpin = GetISpinner(GetDlgItem(hWnd,IDC_DETONATIONSPIN));
			bo->detSpin->SetLimits(-9999999,9999999,FALSE);
			bo->detSpin->SetScale(10.0f);
			bo->detSpin->SetValue(bo->GetDetonation(bo->ip->GetTime()), FALSE);
			bo->detSpin->LinkToEdit(GetDlgItem(hWnd,IDC_DETONATION),EDITTYPE_TIME);
			
			bo->chaosSpin = GetISpinner(GetDlgItem(hWnd,IDC_BOMB_CHAOSSPIN));
			bo->chaosSpin->SetLimits(0,10,FALSE);
			bo->chaosSpin->SetScale(0.01f);
			bo->chaosSpin->SetValue(bo->GetChaos(bo->ip->GetTime()), FALSE);
			bo->chaosSpin->LinkToEdit(GetDlgItem(hWnd,IDC_BOMB_CHAOS),EDITTYPE_FLOAT);

			bo->spinSpin = GetISpinner(GetDlgItem(hWnd,IDC_SPINSPIN));
			bo->spinSpin->SetLimits(0.0f,9999999.0f,FALSE);
			bo->spinSpin->SetScale(0.01f);			
			bo->spinSpin->LinkToEdit(GetDlgItem(hWnd,IDC_SPIN),EDITTYPE_FLOAT);
			bo->spinSpin->SetValue(bo->GetSpin(bo->ip->GetTime()), FALSE);

			bo->falloffSpin = GetISpinner(GetDlgItem(hWnd,IDC_FALLOFFSPIN));
			bo->falloffSpin->SetLimits(0.0f,9999999.0f,FALSE);
			bo->falloffSpin->SetAutoScale();
			bo->falloffSpin->LinkToEdit(GetDlgItem(hWnd,IDC_FALLOFF),EDITTYPE_UNIVERSE);
			bo->falloffSpin->SetValue(bo->GetFalloff(bo->ip->GetTime()), FALSE);

			bo->minFragSpin = GetISpinner(GetDlgItem(hWnd,IDC_MINFRAGSPIN));
			bo->minFragSpin->SetLimits(1,9999999,FALSE);
			bo->minFragSpin->SetScale(0.1f);
			bo->minFragSpin->LinkToEdit(GetDlgItem(hWnd,IDC_MINFRAG),EDITTYPE_INT);
			bo->minFragSpin->SetValue(bo->GetMinFrag(bo->ip->GetTime()), FALSE);
			
			bo->maxFragSpin = GetISpinner(GetDlgItem(hWnd,IDC_MAXFRAGSPIN));
			bo->maxFragSpin->SetLimits(1,9999999,FALSE);
			bo->maxFragSpin->SetScale(0.1f);
			bo->maxFragSpin->LinkToEdit(GetDlgItem(hWnd,IDC_MAXFRAG),EDITTYPE_INT);
			bo->maxFragSpin->SetValue(bo->GetMaxFrag(bo->ip->GetTime()), FALSE);

			bo->seedSpin = GetISpinner(GetDlgItem(hWnd,IDC_SEEDSPIN));
			bo->seedSpin->SetLimits(0,9999999,FALSE);
			bo->seedSpin->SetScale(0.1f);
			bo->seedSpin->LinkToEdit(GetDlgItem(hWnd,IDC_SEED),EDITTYPE_INT);
			bo->seedSpin->SetValue(bo->GetSeed(bo->ip->GetTime()), FALSE);

			CheckDlgButton(hWnd,IDC_FALLOFF_ON,bo->GetFalloffOn(bo->ip->GetTime()));
			bo->EnableControls();
			return TRUE;

		case WM_DESTROY:
			ReleaseISpinner(bo->strengthSpin);
			ReleaseISpinner(bo->gravSpin);
			ReleaseISpinner(bo->detSpin);			
			ReleaseISpinner(bo->chaosSpin);
			ReleaseISpinner(bo->spinSpin);
			ReleaseISpinner(bo->falloffSpin);
			ReleaseISpinner(bo->minFragSpin);
			ReleaseISpinner(bo->maxFragSpin);
			ReleaseISpinner(bo->seedSpin);
			return FALSE;

		case CC_SPINNER_BUTTONDOWN:
			theHold.Begin();
			return TRUE;

		case CC_SPINNER_CHANGE:
			if (!theHold.Holding()) theHold.Begin();

			switch (LOWORD(wParam) ) {
				case IDC_STRENGTHSPIN:
					bo->SetStrength(bo->ip->GetTime(),bo->strengthSpin->GetFVal());						
					break;
				case IDC_GRAVITYSPIN:
					bo->SetGravity(bo->ip->GetTime(),bo->gravSpin->GetFVal());
					break;
				case IDC_DETONATIONSPIN:
					bo->SetDetonation(bo->ip->GetTime(),bo->detSpin->GetIVal());
					break;
				case IDC_BOMB_CHAOSSPIN:
					bo->SetChaos(bo->ip->GetTime(),bo->chaosSpin->GetFVal());
					break;

				case IDC_SPINSPIN:
					bo->SetSpin(bo->ip->GetTime(),bo->spinSpin->GetFVal());
					break;

				case IDC_FALLOFFSPIN:
					bo->SetFalloff(bo->ip->GetTime(),bo->falloffSpin->GetFVal());
					break;

				case IDC_MINFRAGSPIN:
					bo->SetMinFrag(bo->ip->GetTime(),bo->minFragSpin->GetIVal());
					break;

				case IDC_MAXFRAGSPIN:
					bo->SetMaxFrag(bo->ip->GetTime(),bo->maxFragSpin->GetIVal());
					break;

				case IDC_SEEDSPIN:
					bo->SetSeed(bo->ip->GetTime(),bo->seedSpin->GetIVal());
					break;

				}
			bo->ip->RedrawViews(bo->ip->GetTime(),REDRAW_INTERACTIVE);
			return TRUE;
		
		case WM_CUSTEDIT_ENTER:
		case CC_SPINNER_BUTTONUP:
			if (!HIWORD(wParam) && message!=WM_CUSTEDIT_ENTER) {
				theHold.Cancel();
			} else {
				theHold.Accept(GetString (IDS_PARAM_CHANGE));				
				}
			bo->ip->RedrawViews(bo->ip->GetTime(),REDRAW_END);
			return TRUE;

		case WM_COMMAND:
			switch (LOWORD(wParam)) {
				case IDC_FALLOFF_ON:
					bo->SetFalloffOn(bo->ip->GetTime(),IsDlgButtonChecked(hWnd,IDC_FALLOFF_ON));
					bo->ip->RedrawViews(bo->ip->GetTime(),REDRAW_END);
					bo->EnableControls();
					break;
				}
			return TRUE;
		
		case WM_LBUTTONDOWN:
		case WM_LBUTTONUP:
		case WM_MOUSEMOVE:
			bo->ip->RollupMouseMessage(hWnd,message,wParam,lParam);
			return FALSE;

		default:
			return FALSE;
		}
	}
BOOL CALLBACK PreferencesDialog3Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  switch (uMsg)
  {
    case WM_COMMAND:      /* Process control messages */
    {
      switch (LOWORD(wParam))
      {
        case ID_SHOWGUTTERCHK:
        case ID_SHOWMARGINCHK:
        case ID_SHOWLINENUMBERSCHK:
        case ID_AUTOSIZEGUTTERCHK:
        {
          if (HIWORD(wParam) == BN_CLICKED)
          {
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
        case ID_GUTTERSIZEEDT:
        case ID_MARGINSIZEEDT:
        {
          if (HIWORD(wParam) == EN_CHANGE)
          {
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
        case ID_EDITORFONTCMB:
        {
          if (HIWORD(wParam) == CBN_SELCHANGE)
          {
            int Index = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
            if (SendMessage((HWND)lParam, CB_GETLBTEXTLEN, Index, 0) <= 32)
            {
              SendMessage((HWND)lParam, CB_GETLBTEXT, Index, (LPARAM)EditorFont.Name);
              ListFontSizes(GetDlgItem(hDlg, ID_EDITORFONTSIZECMB), EditorFont.Name);
              PreviewFont(GetDlgItem(hDlg, ID_EDITORFONTPREVIEWLBL), &EditorFont);
              SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
            }
          }
          break;
        }
        case ID_EDITORFONTSIZECMB:
        {
          if (HIWORD(wParam) == CBN_SELCHANGE)
          {
            int Index = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
            char* Size = new char[33];
            SendMessage((HWND)lParam, CB_GETLBTEXT, Index, (LPARAM)Size);
            EditorFont.Size = atoi(Size);
            delete[] Size;
            PreviewFont(GetDlgItem(hDlg, ID_EDITORFONTPREVIEWLBL), &EditorFont);
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          else if (HIWORD(wParam) == CBN_EDITCHANGE)
          {
            char* Size = GetWindowText((HWND)lParam);
            EditorFont.Size = atoi(Size);
            delete[] Size;
            PreviewFont(GetDlgItem(hDlg, ID_EDITORFONTPREVIEWLBL), &EditorFont);
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
        case ID_GUTTERFONTCMB:
        {
          if (HIWORD(wParam) == CBN_SELCHANGE)
          {
            int Index = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
            if (SendMessage((HWND)lParam, CB_GETLBTEXTLEN, Index, 0) <= 32)
            {
              SendMessage((HWND)lParam, CB_GETLBTEXT, Index, (LPARAM)GutterFont.Name);
              ListFontSizes(GetDlgItem(hDlg, ID_GUTTERFONTSIZECMB), GutterFont.Name);
              PreviewFont(GetDlgItem(hDlg, ID_GUTTERFONTPREVIEWLBL), &GutterFont);
              SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
            }
          }
          break;
        }
        case ID_GUTTERFONTSIZECMB:
        {
          if (HIWORD(wParam) == CBN_SELCHANGE)
          {
            int Index = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
            char* Size = new char[33];
            SendMessage((HWND)lParam, CB_GETLBTEXT, Index, (LPARAM)Size);
            GutterFont.Size = atoi(Size);
            delete[] Size;
            PreviewFont(GetDlgItem(hDlg, ID_GUTTERFONTPREVIEWLBL), &GutterFont);
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          else if (HIWORD(wParam) == CBN_EDITCHANGE)
          {
            char* Size = GetWindowText((HWND)lParam);
            GutterFont.Size = atoi(Size);
            delete[] Size;
            PreviewFont(GetDlgItem(hDlg, ID_GUTTERFONTPREVIEWLBL), &GutterFont);
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
      }
      return TRUE;
    }
    case WM_INITDIALOG:
    {
      EditorFont = Editor->GetFont();
      GutterFont = Editor->GetGutterFont();
      /* Set up controls */
      MakeEditScrollable(GetDlgItem(hDlg, ID_GUTTERSIZEEDT));
      MakeEditScrollable(GetDlgItem(hDlg, ID_MARGINSIZEEDT));
      ListFonts(GetDlgItem(hDlg, ID_EDITORFONTCMB));
      ListFontSizes(GetDlgItem(hDlg, ID_EDITORFONTSIZECMB), EditorFont.Name);
      PreviewFont(GetDlgItem(hDlg, ID_EDITORFONTPREVIEWLBL), &EditorFont);
      ListFonts(GetDlgItem(hDlg, ID_GUTTERFONTCMB));
      ListFontSizes(GetDlgItem(hDlg, ID_GUTTERFONTSIZECMB), GutterFont.Name);
      PreviewFont(GetDlgItem(hDlg, ID_GUTTERFONTPREVIEWLBL), &GutterFont);
      /* Display Preferences */
      CheckDlgButton(hDlg, ID_SHOWGUTTERCHK, Editor->GetGutterVisible() ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_SHOWMARGINCHK, Editor->GetMarginVisible() ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_SHOWLINENUMBERSCHK, Editor->GetLineNumbersVisible() ? BST_CHECKED : BST_UNCHECKED);
      CheckDlgButton(hDlg, ID_AUTOSIZEGUTTERCHK, Editor->GetAutoSizeGutter() ? BST_CHECKED : BST_UNCHECKED);
      SetDlgItemInt(hDlg, ID_GUTTERSIZEEDT, Editor->GetGutterSize(), FALSE);
      SetDlgItemInt(hDlg, ID_MARGINSIZEEDT, Editor->GetMarginSize(), FALSE);
      SendDlgItemMessage(hDlg, ID_EDITORFONTCMB, CB_SELECTSTRING, (WPARAM)-1, (LPARAM)EditorFont.Name);
      char* Str = IntToStr(EditorFont.Size);
      if (SendDlgItemMessage(hDlg, ID_EDITORFONTSIZECMB, CB_SELECTSTRING, (WPARAM)0, (LPARAM)Str) == CB_ERR)
        SetDlgItemText(hDlg, ID_EDITORFONTSIZECMB, Str);
      delete[] Str;
      SendDlgItemMessage(hDlg, ID_GUTTERFONTCMB, CB_SELECTSTRING, (WPARAM)-1, (LPARAM)GutterFont.Name);
      Str = IntToStr(GutterFont.Size);
      if (SendDlgItemMessage(hDlg, ID_GUTTERFONTSIZECMB, CB_SELECTSTRING, (WPARAM)0, (LPARAM)Str) == CB_ERR)
        SetDlgItemText(hDlg, ID_GUTTERFONTSIZECMB, Str);
      delete[] Str;
      /* Apply control modifiations */
      SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_SHOWMARGINCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_SHOWMARGINCHK));
      SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_SHOWGUTTERCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_SHOWGUTTERCHK));
      SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_SHOWLINENUMBERSCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_SHOWLINENUMBERSCHK));
      SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(ID_AUTOSIZEGUTTERCHK, BN_CLICKED), (LPARAM)GetDlgItem(hDlg, ID_AUTOSIZEGUTTERCHK));
      return TRUE;
    }
    case WM_NOTIFY:
    {
      switch (((NMHDR *)lParam)->code)
      {
        case PSN_APPLY:
        {
          /* Save Preferences */
          Editor->SetGutterVisible(IsDlgButtonChecked(hDlg, ID_SHOWGUTTERCHK) == BST_CHECKED);
          Editor->SetMarginVisible(IsDlgButtonChecked(hDlg, ID_SHOWMARGINCHK) == BST_CHECKED);
          Editor->SetLineNumbersVisible(IsDlgButtonChecked(hDlg, ID_SHOWLINENUMBERSCHK) == BST_CHECKED);
          Editor->SetAutoSizeGutter(IsDlgButtonChecked(hDlg, ID_AUTOSIZEGUTTERCHK) == BST_CHECKED);
          Editor->SetGutterSize(GetDlgItemInt(hDlg, ID_GUTTERSIZEEDT, NULL, FALSE));
          Editor->SetMarginSize(GetDlgItemInt(hDlg, ID_MARGINSIZEEDT, NULL, FALSE));
          Editor->SetFont(EditorFont);
          Editor->SetGutterFont(GutterFont);
          return TRUE;
        }
      }
      return FALSE;
    }
    default:
      return FALSE;
  }
}
Example #27
0
/*
 * AliasDialogProc:  Dialog procedure for alias dialog.
 */
BOOL CALLBACK AliasDialogProc(HWND hDlg, UINT message, UINT wParam, LONG lParam)
{
   int i;
   HWND hEdit;
   WORD command;

   switch (message)
   {
   case WM_INITDIALOG:
      // Show current aliases
      for (i=0; i < NUM_ALIASES; i++)
      {
	 hEdit = GetDlgItem(hDlg, IDC_ALIASF1 + i);
	 SetWindowText(hEdit, aliases[i].text);
	 Edit_LimitText(hEdit, MAX_ALIASLEN - 1);
	 SetWindowFont(hEdit, GetFont(FONT_LIST), FALSE);

	 CheckDlgButton(hDlg, IDC_CHECK_F1 + i, aliases[i].cr);
      }

      hAliasDialog = hDlg;
      hAliasDialog1 = hDlg;
      if (hAliasDialog2)
	 DestroyWindow(GetDlgItem(hDlg, IDC_TUNNEL));

      CenterWindow(hDlg, GetParent(hDlg));
      return TRUE;

   case WM_COMMAND:
      switch(GET_WM_COMMAND_ID(wParam, lParam))
      {
      case IDOK:
	 // Read aliases
	 for (i=0; i < NUM_ALIASES; i++)
	 {
	    GetDlgItemText(hDlg, IDC_ALIASF1 + i, aliases[i].text, MAX_ALIASLEN - 1);
	    aliases[i].cr = IsDlgButtonChecked(hDlg, IDC_CHECK_F1 + i);
	    if (aliases[i].cr)
	       command = A_TEXTCOMMAND;
	    else command = A_TEXTINSERT;
	    AliasSetKey(interface_key_table, aliases[i].key, KEY_NONE, command, aliases[i].text);
	    AliasSetKey(inventory_key_table, aliases[i].key, KEY_NONE, command, aliases[i].text);
	 }

	 EndDialog(hDlg, IDOK);
	 return TRUE;

      case IDCANCEL:
	 EndDialog(hDlg, IDCANCEL);
	 return TRUE;

      case IDC_TUNNEL:
	 if (!hAliasDialog2 &&
	     IDOK == DialogBox(hInst, MAKEINTRESOURCE(IDD_CMDALIAS), hDlg, VerbAliasDialogProc))
	 {
	    AliasSave();
	    SetFocus(GetDlgItem(hDlg, IDOK));
	 }
      }
      break;

   case WM_DESTROY:
      hAliasDialog = NULL;
      hAliasDialog1 = NULL;
      return TRUE;
   }
   
   return FALSE;
}
BOOL CALLBACK PreferencesDialog5Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  switch (uMsg)
  {
    case WM_COMMAND:      /* Process control messages */
    {
      switch (LOWORD(wParam))
      {
        case ID_TEXTFILESCHK:
        case ID_HTMLFILESCHK:
        case ID_STYLESHEETFILESCHK:
        case ID_JAVASCRIPTFILESCHK:
        case ID_PHPFILESCHK:
        {
          if (HIWORD(wParam) == BN_CLICKED)
          {
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
        case ID_ALLFILESBTN:
        {
          if (HIWORD(wParam) == BN_CLICKED)
          {
            CheckDlgButton(hDlg, ID_TEXTFILESCHK, BST_CHECKED);
            CheckDlgButton(hDlg, ID_HTMLFILESCHK, BST_CHECKED);
            CheckDlgButton(hDlg, ID_STYLESHEETFILESCHK, BST_CHECKED);
            CheckDlgButton(hDlg, ID_JAVASCRIPTFILESCHK, BST_CHECKED);
            CheckDlgButton(hDlg, ID_PHPFILESCHK, BST_CHECKED);
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
        case ID_NOFILESBTN:
        {
          if (HIWORD(wParam) == BN_CLICKED)
          {
            CheckDlgButton(hDlg, ID_TEXTFILESCHK, BST_UNCHECKED);
            CheckDlgButton(hDlg, ID_HTMLFILESCHK, BST_UNCHECKED);
            CheckDlgButton(hDlg, ID_STYLESHEETFILESCHK, BST_UNCHECKED);
            CheckDlgButton(hDlg, ID_JAVASCRIPTFILESCHK, BST_UNCHECKED);
            CheckDlgButton(hDlg, ID_PHPFILESCHK, BST_UNCHECKED);
            SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM)hDlg, 0);
          }
          break;
        }
      }
      return TRUE;
    }
    case WM_INITDIALOG:
    {
      /* Set up controls */
      /* Display Preferences */
      int Count = IsAssociateTo(".txt", true) + IsAssociateTo(".ini", true) +
                  IsAssociateTo(".inf", true) + IsAssociateTo(".log", true);
      if (Count == 4)
        CheckDlgButton(hDlg, ID_TEXTFILESCHK, BST_CHECKED);
      else if (Count > 0)
        CheckDlgButton(hDlg, ID_TEXTFILESCHK, BST_INDETERMINATE);
      else
        CheckDlgButton(hDlg, ID_TEXTFILESCHK, BST_UNCHECKED);

      Count = IsAssociateTo(".html", true) + IsAssociateTo(".htm", true) +
              IsAssociateTo(".htt", true) + IsAssociateTo(".shtml", true) +
              IsAssociateTo(".xht", true) + IsAssociateTo(".xhtml", true) +
              IsAssociateTo(".xml", true);
      if (Count == 7)
        CheckDlgButton(hDlg, ID_HTMLFILESCHK, BST_CHECKED);
      else if (Count > 0)
        CheckDlgButton(hDlg, ID_HTMLFILESCHK, BST_INDETERMINATE);
      else
        CheckDlgButton(hDlg, ID_HTMLFILESCHK, BST_UNCHECKED);

      Count = IsAssociateTo(".css", true) + IsAssociateTo(".xsl", true);
      if (Count == 2)
        CheckDlgButton(hDlg, ID_STYLESHEETFILESCHK, BST_CHECKED);
      else if (Count > 0)
        CheckDlgButton(hDlg, ID_STYLESHEETFILESCHK, BST_INDETERMINATE);
      else
        CheckDlgButton(hDlg, ID_STYLESHEETFILESCHK, BST_UNCHECKED);

      Count = IsAssociateTo(".js", true);
      if (Count == 1)
        CheckDlgButton(hDlg, ID_JAVASCRIPTFILESCHK, BST_CHECKED);
      else if (Count > 0)
        CheckDlgButton(hDlg, ID_JAVASCRIPTFILESCHK, BST_INDETERMINATE);
      else
        CheckDlgButton(hDlg, ID_JAVASCRIPTFILESCHK, BST_UNCHECKED);

      Count = IsAssociateTo(".php", true) + IsAssociateTo(".php4", true);
      if (Count == 2)
        CheckDlgButton(hDlg, ID_PHPFILESCHK, BST_CHECKED);
      else if (Count > 0)
        CheckDlgButton(hDlg, ID_PHPFILESCHK, BST_INDETERMINATE);
      else
        CheckDlgButton(hDlg, ID_PHPFILESCHK, BST_UNCHECKED);
      return TRUE;
    }
    case WM_NOTIFY:
    {
      switch (((NMHDR *)lParam)->code)
      {
        case PSN_APPLY:
        {
          /* Save file associations*/
          AssociateTo(".lpg", true);
          if (IsDlgButtonChecked(hDlg, ID_TEXTFILESCHK) == BST_CHECKED)
          {
            AssociateTo(".txt", true);
            AssociateTo(".ini", true);
            AssociateTo(".inf", true);
            AssociateTo(".log", true);
          }
          else if (IsDlgButtonChecked(hDlg, ID_TEXTFILESCHK) == BST_UNCHECKED)
          {
            RemoveAssociation(".txt", true);
            RemoveAssociation(".ini", true);
            RemoveAssociation(".inf", true);
            RemoveAssociation(".log", true);
          }
          if (IsDlgButtonChecked(hDlg, ID_HTMLFILESCHK) == BST_CHECKED)
          {
            AssociateTo(".html", false);
            AssociateTo(".htm", false);
            AssociateTo(".htt", true);
            AssociateTo(".shtml", false);
            AssociateTo(".xht", false);
            AssociateTo(".xhtml", false);
            AssociateTo(".xml", false);
          }
          else if (IsDlgButtonChecked(hDlg, ID_HTMLFILESCHK) == BST_UNCHECKED)
          {
            RemoveAssociation(".html", false);
            RemoveAssociation(".htm", false);
            RemoveAssociation(".htt", true);
            RemoveAssociation(".shtml", false);
            RemoveAssociation(".xht", false);
            RemoveAssociation(".xhtml", false);
            RemoveAssociation(".xml", false);
          }
          if (IsDlgButtonChecked(hDlg, ID_STYLESHEETFILESCHK) == BST_CHECKED)
          {
            AssociateTo(".css", true);
            AssociateTo(".xsl", false);
          }
          else if (IsDlgButtonChecked(hDlg, ID_STYLESHEETFILESCHK) == BST_UNCHECKED)
          {
            RemoveAssociation(".css", true);
            RemoveAssociation(".xsl", false);
          }
          if (IsDlgButtonChecked(hDlg, ID_JAVASCRIPTFILESCHK) == BST_CHECKED)
          {
            AssociateTo(".js", true);
          }
          else if (IsDlgButtonChecked(hDlg, ID_JAVASCRIPTFILESCHK) == BST_UNCHECKED)
          {
            RemoveAssociation(".js", true);
          }
          if (IsDlgButtonChecked(hDlg, ID_PHPFILESCHK) == BST_CHECKED)
          {
            AssociateTo(".php", true);
            AssociateTo(".php4", true);
          }
          else if (IsDlgButtonChecked(hDlg, ID_PHPFILESCHK) == BST_UNCHECKED)
          {
            RemoveAssociation(".php", true);
            RemoveAssociation(".php4", true);
          }
          return TRUE;
        }
      }
      return FALSE;
    }
    default:
      return FALSE;
  }
}
Example #29
0
static INT_PTR CALLBACK DlgProcMsnConnOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
	DBVARIANT dbv;

	switch (msg) {
	case WM_INITDIALOG:
		TranslateDialogDefault(hwndDlg);
		{
			SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam);
			CMsnProto* proto = (CMsnProto*)lParam;

			if (!proto->getString("DirectServer", &dbv)) {
				SetDlgItemTextA(hwndDlg, IDC_DIRECTSERVER, dbv.pszVal);
				db_free(&dbv);
			}
			else SetDlgItemTextA(hwndDlg, IDC_DIRECTSERVER, MSN_DEFAULT_LOGIN_SERVER);

			if (!proto->getString("GatewayServer", &dbv)) {
				SetDlgItemTextA(hwndDlg, IDC_GATEWAYSERVER, dbv.pszVal);
				db_free(&dbv);
			}
			else SetDlgItemTextA(hwndDlg, IDC_GATEWAYSERVER, MSN_DEFAULT_GATEWAY);

			CheckDlgButton(hwndDlg, IDC_SLOWSEND, proto->getByte("SlowSend", 0) ? BST_CHECKED : BST_UNCHECKED);

			SendDlgItemMessage(hwndDlg, IDC_HOSTOPT, CB_ADDSTRING, 0, (LPARAM)TranslateT("Automatically obtain host/port"));
			SendDlgItemMessage(hwndDlg, IDC_HOSTOPT, CB_ADDSTRING, 0, (LPARAM)TranslateT("Manually specify host/port"));
			SendDlgItemMessage(hwndDlg, IDC_HOSTOPT, CB_ADDSTRING, 0, (LPARAM)TranslateT("Disable"));

			unsigned gethst = proto->getByte("AutoGetHost", 1);
			if (gethst < 2) gethst = !gethst;

			char ipaddr[256] = "";
			if (gethst == 1)
				if (db_get_static(NULL, proto->m_szModuleName, "YourHost", ipaddr, sizeof(ipaddr)))
					gethst = 0;

			if (gethst == 0)
				strncpy_s(ipaddr, (proto->msnLoggedIn ? proto->MyConnection.GetMyExtIPStr() : ""), _TRUNCATE);

			SendDlgItemMessage(hwndDlg, IDC_HOSTOPT, CB_SETCURSEL, gethst, 0);
			if (ipaddr[0])
				SetDlgItemTextA(hwndDlg, IDC_YOURHOST, ipaddr);
			else
				SetDlgItemText(hwndDlg, IDC_YOURHOST, TranslateT("IP info available only after login"));
			EnableWindow(GetDlgItem(hwndDlg, IDC_YOURHOST), gethst == 1);
		}
		return TRUE;

	case WM_COMMAND:
		switch (LOWORD(wParam)) {
		case IDC_RESETSERVER:
			SetDlgItemTextA(hwndDlg, IDC_DIRECTSERVER, MSN_DEFAULT_LOGIN_SERVER);
			SetDlgItemTextA(hwndDlg, IDC_GATEWAYSERVER, MSN_DEFAULT_GATEWAY);
			SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
			break;
		}

		if (HIWORD(wParam) == EN_CHANGE && (HWND)lParam == GetFocus())
			switch (LOWORD(wParam)) {
			case IDC_DIRECTSERVER:
			case IDC_GATEWAYSERVER:
			case IDC_YOURHOST:
				SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
		}

		if (HIWORD(wParam) == CBN_SELCHANGE && LOWORD(wParam) == IDC_HOSTOPT) {
			unsigned gethst = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
			EnableWindow(GetDlgItem(hwndDlg, IDC_YOURHOST), gethst == 1);
			SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
		}

		if (HIWORD(wParam) == BN_CLICKED) {
			switch (LOWORD(wParam)) {
			case IDC_SLOWSEND:
				SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
				break;
			}
		}
		break;

	case WM_NOTIFY:
		if (((LPNMHDR)lParam)->code == (UINT)PSN_APPLY) {
			char str[MAX_PATH];

			CMsnProto* proto = (CMsnProto*)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);

			GetDlgItemTextA(hwndDlg, IDC_DIRECTSERVER, str, _countof(str));
			if (mir_strcmp(str, MSN_DEFAULT_LOGIN_SERVER))
				proto->setString("DirectServer", str);
			else
				proto->delSetting("DirectServer");

			GetDlgItemTextA(hwndDlg, IDC_GATEWAYSERVER, str, _countof(str));
			if (mir_strcmp(str, MSN_DEFAULT_GATEWAY))
				proto->setString("GatewayServer", str);
			else
				proto->delSetting("GatewayServer");

			proto->setByte("SlowSend", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_SLOWSEND));
			if (proto->getByte("SlowSend", FALSE)) {
				if (db_get_dw(NULL, "SRMsg", "MessageTimeout", 60000) < 60000 ||
					db_get_dw(NULL, "SRMM", "MessageTimeout", 60000) < 60000) {
					MessageBox(NULL, TranslateT("MSN Protocol requires message timeout to be not less then 60 sec. Correct the timeout value."),
						TranslateT("MSN Protocol"), MB_OK | MB_ICONINFORMATION);
				}
			}
			
#ifdef OBSOLETE
			unsigned gethst2 = proto->getByte("AutoGetHost", 1);

#endif
			unsigned gethst = SendDlgItemMessage(hwndDlg, IDC_HOSTOPT, CB_GETCURSEL, 0, 0);
			if (gethst < 2) gethst = !gethst;
			proto->setByte("AutoGetHost", (BYTE)gethst);

			if (gethst == 0) {
				GetDlgItemTextA(hwndDlg, IDC_YOURHOST, str, _countof(str));
				proto->setString("YourHost", str);
			}
			else proto->delSetting("YourHost");

#ifdef OBSOLETE
			if (gethst != gethst2)
				proto->ForkThread(&CMsnProto::MSNConnDetectThread, NULL);
#endif

			proto->LoadOptions();
			return TRUE;
		}
	}

	return FALSE;
}
Example #30
0
void GetNewsData(TCHAR *tszUrl, char **szData, MCONTACT hContact, HWND hwndDlg)
{
	Netlib_LogfT(hNetlibUser, _T("Getting feed data %s."), tszUrl);
	NETLIBHTTPREQUEST nlhr = { 0 };

	// initialize the netlib request
	nlhr.cbSize = sizeof(nlhr);
	nlhr.requestType = REQUEST_GET;
	nlhr.flags = NLHRF_DUMPASTEXT | NLHRF_HTTP11 | NLHRF_REDIRECT;
	if (_tcsstr(tszUrl, _T("https://")) != NULL)
		nlhr.flags |= NLHRF_SSL;
	char *szUrl = mir_t2a(tszUrl);
	nlhr.szUrl = szUrl;
	nlhr.nlc = hNetlibHttp;

	// change the header so the plugin is pretended to be IE 6 + WinXP
	NETLIBHTTPHEADER headers[5];
	nlhr.headersCount = 4;
	nlhr.headers = headers;
	nlhr.headers[0].szName = "User-Agent";
	nlhr.headers[0].szValue = NETLIB_USER_AGENT;
	nlhr.headers[1].szName = "Cache-Control";
	nlhr.headers[1].szValue = "no-cache";
	nlhr.headers[2].szName = "Pragma";
	nlhr.headers[2].szValue = "no-cache";
	nlhr.headers[3].szName = "Connection";
	nlhr.headers[3].szValue = "close";
	char auth[256];
	if (db_get_b(hContact, MODULE, "UseAuth", 0) || IsDlgButtonChecked(hwndDlg, IDC_USEAUTH)) {
		nlhr.headersCount++;
		nlhr.headers[4].szName = "Authorization";

		CreateAuthString(auth, hContact, hwndDlg);
		nlhr.headers[4].szValue = auth;
	}

	// download the page
	NETLIBHTTPREQUEST *nlhrReply = (NETLIBHTTPREQUEST *)CallService(MS_NETLIB_HTTPTRANSACTION, (WPARAM)hNetlibUser, (LPARAM)&nlhr);
	if (nlhrReply) {
		// if the recieved code is 200 OK
		if (nlhrReply->resultCode == 200 && nlhrReply->dataLength > 0) {
			Netlib_LogfT(hNetlibUser, _T("Code 200: Succeeded getting feed data %s."), tszUrl);
			// allocate memory and save the retrieved data
			*szData = (char *)mir_alloc((size_t)(nlhrReply->dataLength + 2));
			memcpy(*szData, nlhrReply->pData, (size_t)nlhrReply->dataLength);
			(*szData)[nlhrReply->dataLength] = 0;
		}
		else if (nlhrReply->resultCode == 401) {
			Netlib_LogfT(hNetlibUser, _T("Code 401: feed %s needs auth data."), tszUrl);
			ItemInfo SelItem = { 0 };
			SelItem.hwndList = hwndDlg;
			SelItem.hContact = hContact;
			if (DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_AUTHENTICATION), hwndDlg, AuthenticationProc, (LPARAM)&SelItem) == IDOK)
				GetNewsData(tszUrl, szData, hContact, hwndDlg);
		}
		else
			Netlib_LogfT(hNetlibUser, _T("Code %d: Failed getting feed data %s."), nlhrReply->resultCode, tszUrl);
		CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)nlhrReply);
	}
	else
		Netlib_LogfT(hNetlibUser, _T("Failed getting feed data %s, no response."), tszUrl);

	mir_free(szUrl);
}