INT_PTR CALLBACK WizardDlgProc(HWND hdlg,UINT message,WPARAM wParam,LPARAM lParam) { static HWND hdlgPage; switch(message) { case WM_INITDIALOG: SendMessage(hdlg,WM_SETICON,ICON_SMALL,(LPARAM)LoadIcon(hInst,MAKEINTRESOURCE(IDI_DBTOOL))); hdlgPage=NULL; SendMessage(hdlg,WZM_GOTOPAGE,IDD_WELCOME,(LPARAM)WelcomeDlgProc); TranslateDialog(hdlg); return TRUE; case WZM_GOTOPAGE: if(hdlgPage!=NULL) DestroyWindow(hdlgPage); EnableWindow(GetDlgItem(hdlg,IDC_BACK),TRUE); EnableWindow(GetDlgItem(hdlg,IDOK),TRUE); EnableWindow(GetDlgItem(hdlg,IDCANCEL),TRUE); SetDlgItemText(hdlg,IDCANCEL,TranslateT("Cancel")); hdlgPage=CreateDialog(hInst,MAKEINTRESOURCE(wParam),hdlg,(DLGPROC)lParam); TranslateDialog(hdlgPage); SetWindowPos(hdlgPage,0,0,0,0,0,SWP_NOZORDER|SWP_NOSIZE); ShowWindow(hdlgPage,SW_SHOW); break; case WM_COMMAND: switch(LOWORD(wParam)) { case IDC_BACK: case IDOK: SendMessage(hdlgPage,WZN_PAGECHANGING,wParam,0); SendMessage(hdlgPage,message,wParam,lParam); break; case IDCANCEL: if(SendMessage(hdlgPage,WZN_CANCELCLICKED,0,0)) break; EndDialog(hdlg,0); break; } break; case WM_DESTROY: if (opts.hFile) CloseHandle(opts.hFile); if (opts.hOutFile) CloseHandle(opts.hOutFile); DestroyWindow(hdlgPage); UnloadLangPackModule(); if(hBoldFont!=NULL) DeleteObject(hBoldFont); if(hEmfHeaderLogo!=NULL) DeleteEnhMetaFile(hEmfHeaderLogo); break; } return FALSE; }
BOOL Transfer::OnInitDialog() { CDialog::OnInitDialog(); TranslateDialog(this->m_hWnd); return TRUE; }
INT_PTR CALLBACK OpenErrorDlgProc(HWND hdlg,UINT message,WPARAM wParam,LPARAM lParam) { INT_PTR bReturn; if(DoMyControlProcessing(hdlg,message,wParam,lParam,&bReturn)) return bReturn; switch(message) { case WM_INITDIALOG: { TCHAR szError[256]; FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,NULL,opts.error,0,szError,SIZEOF(szError),NULL); SetDlgItemText(hdlg,IDC_ERRORTEXT,szError); } if(opts.error==ERROR_SHARING_VIOLATION) ShowWindow(GetDlgItem(hdlg,IDC_INUSE),SW_SHOW); SetWindowLong( GetDlgItem( hdlg, IDC_FILE ), GWL_STYLE, GetWindowLong( GetDlgItem( hdlg, IDC_FILE ), GWL_STYLE ) | SS_PATHELLIPSIS ); TranslateDialog( hdlg ); SetDlgItemText( hdlg, IDC_FILE, opts.filename ); return TRUE; case WM_COMMAND: switch(LOWORD(wParam)) { case IDC_BACK: SendMessage(GetParent(hdlg),WZM_GOTOPAGE,IDD_SELECTDB,(LPARAM)SelectDbDlgProc); break; case IDOK: opts.hFile = CreateFile( opts.filename, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL ); if ( opts.hFile == INVALID_HANDLE_VALUE ) { opts.hFile = NULL; opts.error = GetLastError(); SendMessage( GetParent( hdlg ), WZM_GOTOPAGE, IDD_OPENERROR, ( LPARAM )OpenErrorDlgProc ); } else SendMessage( GetParent( hdlg ), WZM_GOTOPAGE, IDD_FILEACCESS, ( LPARAM )FileAccessDlgProc ); break; } break; } return FALSE; }
BOOL AccountDlg::OnInitDialog() { CDialog::OnInitDialog(); TranslateDialog(this->m_hWnd); GetDlgItem(IDC_SYSLINK_DELETE)->ShowWindow(SW_HIDE); CString str; str.Format(_T("<a>%s</a>"),Translate(_T("Remove account"))); GetDlgItem(IDC_SYSLINK_DELETE)->SetWindowText(str); str.Format(_T("<a>%s</a>"),Translate(_T("display password"))); GetDlgItem(IDC_SYSLINK_DISPLAY_PASSWORD)->SetWindowText(str); CComboBox *combobox; combobox= (CComboBox*)GetDlgItem(IDC_TRANSPORT); combobox->AddString(Translate(_T("Auto"))); combobox->AddString(_T("UDP")); combobox->AddString(_T("TCP")); combobox->AddString(_T("TLS")); combobox->SetCurSel(0); CEdit* edit; combobox= (CComboBox*)GetDlgItem(IDC_SRTP); combobox->AddString(Translate(_T("Disabled"))); combobox->AddString(Translate(_T("Optional"))); combobox->AddString(Translate(_T("Mandatory"))); combobox->SetCurSel(0); combobox= (CComboBox*)GetDlgItem(IDC_PUBLIC_ADDR); combobox->AddString(Translate(_T("Auto"))); char buf[256]={0}; if ( gethostname(buf, 256) == 0) { struct addrinfo* l_addrInfo = NULL; struct addrinfo l_addrInfoHints; ZeroMemory(&l_addrInfoHints, sizeof(addrinfo)); l_addrInfoHints.ai_socktype = SOCK_STREAM; l_addrInfoHints.ai_family = PF_INET; if ( getaddrinfo(buf,NULL, &l_addrInfoHints,&l_addrInfo) == 0 ) { if (l_addrInfo) { struct addrinfo* l_addrInfoCurrent = l_addrInfo; for (l_addrInfoCurrent = l_addrInfo; l_addrInfoCurrent; l_addrInfoCurrent=l_addrInfoCurrent->ai_next) { struct sockaddr_in *ipv4 = (struct sockaddr_in *)l_addrInfoCurrent->ai_addr; char * ip = inet_ntoa(ipv4->sin_addr); combobox->AddString(CString(ip)); } } } } combobox->SetCurSel(0); return TRUE; }
BOOL MessagesDlg::OnInitDialog() { CBaseDialog::OnInitDialog(); AutoMove(IDC_TAB,0,0,100,0); AutoMove(IDC_LAST_CALL,100,0,0,0); AutoMove(IDC_CLOSE_ALL,100,0,0,0); AutoMove(IDC_TRANSFER,100,0,0,0); AutoMove(IDC_HOLD,100,0,0,0); AutoMove(IDC_END,100,0,0,0); AutoMove(IDC_LIST,0,0,100,80); AutoMove(IDC_MESSAGE,0,80,100,20); lastCall = NULL; tab = &tabComponent; HICON m_hIcon = theApp.LoadIcon(IDR_MAINFRAME); SetIcon(m_hIcon, FALSE); TranslateDialog(this->m_hWnd); #ifndef _GLOBAL_VIDEO GetDlgItem(IDC_VIDEO_CALL)->ShowWindow(SW_HIDE); #endif CRichEditCtrl* richEdit = (CRichEditCtrl*)GetDlgItem(IDC_MESSAGE); richEdit->SetEventMask(richEdit->GetEventMask() | ENM_KEYEVENTS); CRichEditCtrl* richEditList = (CRichEditCtrl*)GetDlgItem(IDC_LIST); richEditList->SetEventMask(richEdit->GetEventMask() | ENM_MOUSEEVENTS); CFont* font = this->GetFont(); LOGFONT lf; font->GetLogFont(&lf); lf.lfHeight = 16; _tcscpy(lf.lfFaceName, _T("Arial")); fontList.CreateFontIndirect(&lf); richEditList->SetFont(&fontList); lf.lfHeight = 18; fontMessage.CreateFontIndirect(&lf); richEdit->SetFont(&fontMessage); para.cbSize=sizeof(PARAFORMAT2); para.dwMask = PFM_STARTINDENT | PFM_LINESPACING | PFM_SPACEBEFORE | PFM_SPACEAFTER; para.dxStartIndent=100; para.dySpaceBefore=100; para.dySpaceAfter=0; para.bLineSpacingRule = 5; para.dyLineSpacing = 22; richEditList->SetParaFormat(para); return TRUE; }
BOOL RinginDlg::OnInitDialog() { CDialog::OnInitDialog(); TranslateDialog(this->m_hWnd); CFont* font = this->GetFont(); LOGFONT lf; font->GetLogFont(&lf); lf.lfHeight = 12; m_font_ignore.CreateFontIndirect(&lf); GetDlgItem(IDC_IGNORE)->SetFont(&m_font_ignore); lf.lfHeight = 24; lf.lfWeight = FW_BOLD; m_font.CreateFontIndirect(&lf); GetDlgItem(IDC_CALLER_NAME)->SetFont(&m_font); GetDlgItem(IDC_IGNORE)->EnableWindow(FALSE); GetDlgItem(IDC_CALLER_ADDR)->ModifyStyleEx(WS_EX_CLIENTEDGE,0,SWP_NOSIZE|SWP_FRAMECHANGED); int x,y; if (microsipDlg->ringinDlgs.GetCount()) { CRect rect; microsipDlg->ringinDlgs.GetAt(microsipDlg->ringinDlgs.GetCount()-1)->GetWindowRect(&rect); x=rect.left+22; y=rect.top+22; } else { CRect ringinRect; GetWindowRect(&ringinRect); CRect primaryScreenRect; SystemParametersInfo(SPI_GETWORKAREA,0,&primaryScreenRect,0); x = (primaryScreenRect.Width()-ringinRect.Width())/2; y = (primaryScreenRect.Height()-ringinRect.Height())/2; } if (microsipDlg->IsWindowVisible()) { if (microsipDlg->IsIconic()) { microsipDlg->ShowWindow(SW_RESTORE); } else { microsipDlg->ShowWindow(SW_HIDE); microsipDlg->ShowWindow(SW_MINIMIZE); microsipDlg->ShowWindow(SW_RESTORE); } } ShowWindow(SW_SHOWNORMAL); SetWindowPos( NULL, x, y, 0, 0, SWP_NOSIZE|SWP_NOZORDER); return TRUE; }
INT_PTR CALLBACK FileAccessDlgProc(HWND hdlg,UINT message,WPARAM wParam,LPARAM lParam) { INT_PTR bReturn; if(DoMyControlProcessing(hdlg,message,wParam,lParam,&bReturn)) return bReturn; switch(message) { case WM_INITDIALOG: CheckDlgButton(hdlg,IDC_CHECKONLY,opts.bCheckOnly); CheckDlgButton(hdlg,IDC_BACKUP,opts.bBackup); CheckDlgButton(hdlg,IDC_AGGRESSIVE,opts.bAggressive); SendMessage(hdlg,WM_COMMAND,MAKEWPARAM(IDC_CHECKONLY,BN_CLICKED),0); TranslateDialog(hdlg); return TRUE; case WZN_PAGECHANGING: opts.bCheckOnly=IsDlgButtonChecked(hdlg,IDC_CHECKONLY); opts.bAggressive=IsDlgButtonChecked(hdlg,IDC_AGGRESSIVE); if(opts.bCheckOnly) opts.bBackup=0; else opts.bBackup=IsDlgButtonChecked(hdlg,IDC_BACKUP); break; case WM_COMMAND: switch(LOWORD(wParam)) { case IDC_BACK: SendMessage(GetParent(hdlg),WZM_GOTOPAGE,IDD_SELECTDB,(LPARAM)SelectDbDlgProc); break; case IDOK: if(opts.bCheckOnly) { if (!opts.hFile) { opts.hFile = CreateFile( opts.filename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL ); if ( opts.hFile == INVALID_HANDLE_VALUE ) { opts.hFile = NULL; opts.error = GetLastError(); SendMessage( GetParent(hdlg), WZM_GOTOPAGE, IDD_OPENERROR, ( LPARAM )OpenErrorDlgProc ); break; } } SendMessage(GetParent(hdlg),WZM_GOTOPAGE,IDD_PROGRESS,(LPARAM)ProgressDlgProc); } else SendMessage(GetParent(hdlg),WZM_GOTOPAGE,IDD_CLEANING,(LPARAM)CleaningDlgProc); break; case IDC_CHECKONLY: EnableWindow(GetDlgItem(hdlg,IDC_BACKUP),!IsDlgButtonChecked(hdlg,IDC_CHECKONLY)); EnableWindow(GetDlgItem(hdlg,IDC_STBACKUP),!IsDlgButtonChecked(hdlg,IDC_CHECKONLY)); break; } break; } return FALSE; }
void Flasher::DoCommand(int icmd, int x, int y) { ISelect::DoCommand(icmd, x, y); switch (icmd) { case ID_WALLMENU_FLIP: { Vertex2D vCenter; GetPointCenter(&vCenter); FlipPointY(&vCenter); } break; case ID_WALLMENU_MIRROR: { Vertex2D vCenter; GetPointCenter(&vCenter); FlipPointX(&vCenter); } break; case ID_WALLMENU_ROTATE: RotateDialog(); break; case ID_WALLMENU_SCALE: ScaleDialog(); break; case ID_WALLMENU_TRANSLATE: TranslateDialog(); break; case ID_WALLMENU_ADDPOINT: { STARTUNDO const Vertex2D v = m_ptable->TransformPoint(x, y); std::vector<RenderVertex> vvertex; GetRgVertex(vvertex); Vertex2D vOut; int iSeg; ClosestPointOnPolygon(vvertex, v, &vOut, &iSeg, true); // Go through vertices (including iSeg itself) counting control points until iSeg int icp = 0; for (int i = 0; i < (iSeg + 1); i++) if (vvertex[i].fControlPoint) icp++; CComObject<DragPoint> *pdp; CComObject<DragPoint>::CreateInstance(&pdp); if (pdp) { pdp->AddRef(); pdp->Init(this, vOut.x, vOut.y); m_vdpoint.InsertElementAt(pdp, icp); // push the second point forward, and replace it with this one. Should work when index2 wraps. } SetDirtyDraw(); STOPUNDO } break; } }
INT_PTR CALLBACK FinishedDlgProc(HWND hdlg,UINT message,WPARAM wParam,LPARAM lParam) { INT_PTR bReturn; if(DoMyControlProcessing(hdlg,message,wParam,lParam,&bReturn)) return bReturn; switch(message) { case WM_INITDIALOG: EnableWindow(GetDlgItem(GetParent(hdlg),IDC_BACK),FALSE); SetDlgItemText(GetParent(hdlg),IDCANCEL,TranslateT("&Finish")); SetWindowLong(GetDlgItem(hdlg,IDC_DBFILE),GWL_STYLE,GetWindowLong(GetDlgItem(hdlg,IDC_DBFILE),GWL_STYLE)|SS_PATHELLIPSIS); SetDlgItemText( hdlg, IDC_DBFILE, opts.filename ); if(opts.bBackup) { ShowWindow(GetDlgItem(hdlg,IDC_STBACKUP),TRUE); SetWindowLong(GetDlgItem(hdlg,IDC_BACKUPFILE),GWL_STYLE,GetWindowLong(GetDlgItem(hdlg,IDC_BACKUPFILE),GWL_STYLE)|SS_PATHELLIPSIS); SetDlgItemText(hdlg,IDC_BACKUPFILE,opts.backupFilename); } else ShowWindow(GetDlgItem(hdlg,IDC_STBACKUP),FALSE); TranslateDialog(hdlg); return TRUE; case WM_LAUNCHMIRANDA: if(IsDlgButtonChecked(hdlg,IDC_LAUNCHMIRANDA)) { TCHAR dbFile[MAX_PATH],dbPath[MAX_PATH],*str2; _tcscpy(dbPath,opts.filename); str2 = _tcsrchr(dbPath,'\\'); if ( str2 == NULL ) { _tcscpy( dbFile, dbPath ); dbPath[ 0 ] = 0; } else { _tcscpy( dbFile, str2+1 ); *str2 = 0; } str2 = _tcsrchr( dbFile, '.' ); if ( str2 != NULL ) *str2 = 0; _tcscat( dbPath, _T("\\miranda32.exe")); if ( GetFileAttributes( dbPath ) == INVALID_FILE_ATTRIBUTES ) { GetModuleFileName( NULL, dbPath, SIZEOF( dbPath )); if (( str2 = _tcsrchr( dbPath, '\\' )) != NULL ) *str2 = 0; else dbPath[0] = 0; _tcscat( dbPath, _T("\\miranda32.exe")); } ShellExecute( hdlg, NULL, dbPath, dbFile, _T(""), 0 ); } break; case WZN_CANCELCLICKED: SendMessage(hdlg,WM_LAUNCHMIRANDA,0,0); break; case WM_COMMAND: switch(LOWORD(wParam)) { case IDOK: SendMessage(hdlg,WM_LAUNCHMIRANDA,0,0); SendMessage(GetParent(hdlg),WZM_GOTOPAGE,IDD_SELECTDB,(LPARAM)SelectDbDlgProc); break; } break; } return FALSE; }
BOOL AccountDlg::OnInitDialog() { CDialog::OnInitDialog(); TranslateDialog(this->m_hWnd); GetDlgItem(IDC_SYSLINK_DELETE)->ShowWindow(SW_HIDE); CString str; str.Format(_T("<a>%s</a>"),Translate(_T("Remove account"))); GetDlgItem(IDC_SYSLINK_DELETE)->SetWindowText(str); #if !defined _GLOBAL_ACCOUNT_PASSWORD && !defined _GLOBAL_NO_DISPLAY_PASSWORD #ifndef _GLOBAL_ACCOUNT_PIN str.Format(_T("<a>%s</a>"),Translate(_T("display password"))); GetDlgItem(IDC_SYSLINK_DISPLAY_PASSWORD)->SetWindowText(str); #else str.Format(_T("<a>%s</a>"),Translate(_T("display Pin No"))); GetDlgItem(IDC_SYSLINK_DISPLAY_PASSWORD)->SetWindowText(str); #endif #endif #ifdef _GLOBAL_ACCOUNT_REG str.Format(_T("<a>%s</a>"),Translate(_T("Create Account"))); GetDlgItem(IDC_SYSLINK_REG)->SetWindowText(str); #endif #ifndef _GLOBAL_ACCOUNT_MINI CEdit* edit; CComboBox *combobox; combobox= (CComboBox*)GetDlgItem(IDC_SRTP); combobox->AddString(Translate(_T("Disabled"))); combobox->AddString(Translate(_T("Optional"))); combobox->AddString(Translate(_T("Mandatory"))); combobox->SetCurSel(0); combobox= (CComboBox*)GetDlgItem(IDC_TRANSPORT); combobox->AddString(Translate(_T("Auto"))); combobox->AddString(_T("UDP")); combobox->AddString(_T("TCP")); combobox->AddString(_T("TLS")); combobox->SetCurSel(0); combobox= (CComboBox*)GetDlgItem(IDC_PUBLIC_ADDR); // Spidy - let account load handle the setting of auto string into this combo box //combobox->AddString(Translate(_T("Auto"))); combobox->AddString(CString(uPnP::instance()->getLanIPAddress())); combobox->SetCurSel(0); combobox= (CComboBox*)GetDlgItem(IDC_LISTEN_PORT); // Spidy - dont set listen port here - let account load set the dialog listen port //combobox->AddString(Translate(_T("Auto"))); //combobox->SetCurSel(0); #endif accountDlgIsActive = true; return TRUE; }
INT_PTR CALLBACK SelectDbDlgProc(HWND hdlg,UINT message,WPARAM wParam,LPARAM lParam) { INT_PTR bReturn; if ( DoMyControlProcessing( hdlg, message, wParam, lParam, &bReturn )) return bReturn; switch ( message ) { case WM_INITDIALOG: { TCHAR szMirandaPath[MAX_PATH]; szMirandaPath[ 0 ] = 0; { HIMAGELIST hIml; hIml=ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), (IsWinVerXPPlus() ? ILC_COLOR32 : ILC_COLOR16) | ILC_MASK, 3, 3); ImageList_AddIcon(hIml,LoadIcon(hInst,MAKEINTRESOURCE(IDI_PROFILEGREEN))); ImageList_AddIcon(hIml,LoadIcon(hInst,MAKEINTRESOURCE(IDI_PROFILEYELLOW))); ImageList_AddIcon(hIml,LoadIcon(hInst,MAKEINTRESOURCE(IDI_PROFILERED))); ImageList_AddIcon(hIml,LoadIcon(hInst,MAKEINTRESOURCE(IDI_BAD))); ListView_SetImageList(GetDlgItem(hdlg,IDC_DBLIST),hIml,LVSIL_SMALL); } ListView_SetExtendedListViewStyleEx(GetDlgItem(hdlg,IDC_DBLIST),LVS_EX_FULLROWSELECT,LVS_EX_FULLROWSELECT); { LV_COLUMN lvc; lvc.mask = LVCF_WIDTH | LVCF_FMT | LVCF_TEXT; lvc.cx = 205; lvc.fmt = LVCFMT_LEFT; lvc.pszText = TranslateT("Database"); ListView_InsertColumn( GetDlgItem(hdlg,IDC_DBLIST), 0, &lvc ); lvc.cx = 68; lvc.fmt = LVCFMT_RIGHT; lvc.pszText = TranslateT("Total size"); ListView_InsertColumn(GetDlgItem(hdlg,IDC_DBLIST), 1, &lvc ); lvc.pszText = TranslateT("Wasted"); ListView_InsertColumn(GetDlgItem(hdlg,IDC_DBLIST), 2, &lvc ); } { TCHAR *str2; GetModuleFileName(NULL,szMirandaPath,SIZEOF(szMirandaPath)); str2 = _tcsrchr(szMirandaPath,'\\'); if( str2 != NULL ) *str2=0; } { int i = 0; HKEY hKey; TCHAR szProfileDir[MAX_PATH]; DWORD cbData = SIZEOF(szMirandaPath); TCHAR szMirandaProfiles[MAX_PATH]; _tcscpy(szMirandaProfiles, szMirandaPath); _tcscat(szMirandaProfiles, _T("\\Profiles")); GetProfileDirectory(szMirandaPath,szProfileDir,SIZEOF(szProfileDir)); // search in profile dir (using ini file) if( lstrcmpi(szProfileDir,szMirandaProfiles) ) FindAdd(hdlg, szProfileDir, _T("[ini]\\")); FindAdd(hdlg, szMirandaProfiles, _T("[prf]\\")); // search in current dir (as DBTOOL) FindAdd(hdlg, szMirandaPath, _T("[ . ]\\")); // search in profile dir (using registry path + ini file) if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,_T("Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\miranda32.exe"),0,KEY_QUERY_VALUE,&hKey) == ERROR_SUCCESS) { if(RegQueryValueEx(hKey,_T("Path"),NULL,NULL,(PBYTE)szMirandaPath,&cbData) == ERROR_SUCCESS) { if( lstrcmp(szProfileDir,szMirandaPath) ) { GetProfileDirectory(szMirandaPath,szProfileDir,SIZEOF(szProfileDir)); FindAdd(hdlg, szProfileDir, _T("[reg]\\")); } } RegCloseKey(hKey); } // select if ( opts.filename[0] ) i = AddDatabaseToList( GetDlgItem( hdlg, IDC_DBLIST ), opts.filename, _T("") ); if ( i == -1 ) i = 0; ListView_SetItemState( GetDlgItem(hdlg,IDC_DBLIST), i, LVIS_SELECTED, LVIS_SELECTED ); } if ( opts.hFile != NULL && opts.hFile != INVALID_HANDLE_VALUE ) { CloseHandle( opts.hFile ); opts.hFile = NULL; } TranslateDialog( hdlg ); return TRUE; } case WZN_PAGECHANGING: GetDlgItemText( hdlg, IDC_FILE, opts.filename, SIZEOF(opts.filename)); break; case WM_COMMAND: switch(LOWORD(wParam)) { case IDC_FILE: if(HIWORD(wParam)==EN_CHANGE) EnableWindow(GetDlgItem(GetParent(hdlg),IDOK),GetWindowTextLength(GetDlgItem(hdlg,IDC_FILE))); break; case IDC_OTHER: { OPENFILENAME ofn={0}; TCHAR str[MAX_PATH]; // _T("Miranda Databases (*.dat)\0*.DAT\0All Files (*)\0*\0"); TCHAR *filter, *tmp, *tmp1, *tmp2; tmp1 = TranslateT("Miranda Databases (*.dat)"); tmp2 = TranslateT("All Files"); filter = tmp = (TCHAR*)_alloca((_tcslen(tmp1)+_tcslen(tmp2)+11)*sizeof(TCHAR)); tmp = addstring(tmp, tmp1); tmp = addstring(tmp, _T("*.DAT")); tmp = addstring(tmp, tmp2); tmp = addstring(tmp, _T("*")); *tmp = 0; GetDlgItemText( hdlg, IDC_FILE, str, SIZEOF( str )); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = hdlg; ofn.hInstance = NULL; ofn.lpstrFilter = filter; ofn.lpstrDefExt = _T("dat"); ofn.lpstrFile = str; ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; ofn.nMaxFile = SIZEOF(str); ofn.nMaxFileTitle = MAX_PATH; if ( GetOpenFileName( &ofn )) { int i; i = AddDatabaseToList( GetDlgItem(hdlg,IDC_DBLIST), str, _T("") ); if ( i == -1 ) i=0; ListView_SetItemState( GetDlgItem(hdlg,IDC_DBLIST), i, LVIS_SELECTED, LVIS_SELECTED ); } break; } case IDC_BACK: SendMessage(GetParent(hdlg),WZM_GOTOPAGE,IDD_WELCOME,(LPARAM)WelcomeDlgProc); break; case IDOK: opts.hFile = CreateFile( opts.filename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL ); if ( opts.hFile == INVALID_HANDLE_VALUE ) { opts.hFile = NULL; opts.error = GetLastError(); SendMessage( GetParent(hdlg), WZM_GOTOPAGE, IDD_OPENERROR, ( LPARAM )OpenErrorDlgProc ); } else SendMessage( GetParent(hdlg), WZM_GOTOPAGE, IDD_FILEACCESS, (LPARAM)FileAccessDlgProc ); break; } break; case WM_NOTIFY: switch(((LPNMHDR)lParam)->idFrom) { case IDC_DBLIST: switch(((LPNMLISTVIEW)lParam)->hdr.code) { case LVN_ITEMCHANGED: { LV_ITEM lvi; lvi.iItem=ListView_GetNextItem(GetDlgItem(hdlg,IDC_DBLIST),-1,LVNI_SELECTED); if(lvi.iItem==-1) break; lvi.mask=LVIF_PARAM; ListView_GetItem(GetDlgItem(hdlg,IDC_DBLIST),&lvi); SetDlgItemText(hdlg,IDC_FILE,(TCHAR*)lvi.lParam); SendMessage(hdlg,WM_COMMAND,MAKEWPARAM(IDC_FILE,EN_CHANGE),(LPARAM)GetDlgItem(hdlg,IDC_FILE)); break; } } break; } break; case WM_DESTROY: { LV_ITEM lvi; lvi.mask=LVIF_PARAM; for(lvi.iItem=ListView_GetItemCount(GetDlgItem(hdlg,IDC_DBLIST))-1;lvi.iItem>=0;lvi.iItem--) { ListView_GetItem(GetDlgItem(hdlg,IDC_DBLIST),&lvi); free((char*)lvi.lParam); } } break; } return FALSE; }
BOOL SettingsDlg::OnInitDialog() { CDialog::OnInitDialog(); TranslateDialog(this->m_hWnd); #ifndef _GLOBAL_NO_AUTO ((CButton*)GetDlgItem(IDC_AUTO_ANSWER))->SetCheck(accountSettings.autoAnswer); #endif ((CButton*)GetDlgItem(IDC_LOCAL_DTMF))->SetCheck(accountSettings.localDTMF); #ifndef _GLOBAL_SINGLE_MODE ((CButton*)GetDlgItem(IDC_SINGLE_MODE))->SetCheck(accountSettings.singleMode); #endif #ifndef _GLOBAL_NO_LOG ((CButton*)GetDlgItem(IDC_ENABLE_LOG))->SetCheck(accountSettings.enableLog); #endif #ifndef _GLOBAL_NO_VAD ((CButton*)GetDlgItem(IDC_DISABLE_VAD))->SetCheck(accountSettings.disableVAD); #endif #ifndef _GLOBAL_NO_RINGING_SOUND GetDlgItem(IDC_RINGING_SOUND)->SetWindowText(accountSettings.ringingSound); #endif CComboBox *combobox; unsigned count; pjmedia_aud_dev_info aud_dev_info[64]; count = 64; pjsua_enum_aud_devs(aud_dev_info, &count); combobox= (CComboBox*)GetDlgItem(IDC_MICROPHONE); combobox->AddString(Translate("Default")); combobox->SetCurSel(0); for (unsigned i=0;i<count;i++) { if (aud_dev_info[i].input_count) { combobox->AddString(aud_dev_info[i].name); if (!accountSettings.audioInputDevice.Compare(aud_dev_info[i].name)) { combobox->SetCurSel(combobox->GetCount()-1); } } } combobox= (CComboBox*)GetDlgItem(IDC_SPEAKERS); combobox->AddString(Translate("Default")); combobox->SetCurSel(0); for (unsigned i=0;i<count;i++) { if (aud_dev_info[i].output_count) { combobox->AddString(aud_dev_info[i].name); if (!accountSettings.audioOutputDevice.Compare(aud_dev_info[i].name)) { combobox->SetCurSel(combobox->GetCount()-1); } } } pjsua_codec_info codec_info[64]; CListBox *listbox; CListBox *listbox2; listbox = (CListBox*)GetDlgItem(IDC_AUDIO_CODECS_ALL); listbox2 = (CListBox*)GetDlgItem(IDC_AUDIO_CODECS); count = 64; pjsua_enum_codecs(codec_info, &count); for (unsigned i=0;i<count;i++) { #ifdef _GLOBAL_CODECS_AVAILABLE if (strstr(_GLOBAL_CODECS_AVAILABLE,PjToStr(&codec_info[i].codec_id))) { #endif if (codec_info[i].priority #ifdef _GLOBAL_CODECS_ENABLED && (accountSettings.audioCodecs!="" || strstr(_GLOBAL_CODECS_ENABLED,PjToStr(&codec_info[i].codec_id))) #endif ) { listbox2->AddString(PjToStr(&codec_info[i].codec_id)); } else { listbox->AddString(PjToStr(&codec_info[i].codec_id)); } #ifdef _GLOBAL_CODECS_AVAILABLE } #endif } #ifdef _GLOBAL_VIDEO ((CButton*)GetDlgItem(IDC_DISABLE_H264))->SetCheck(accountSettings.disableH264); ((CButton*)GetDlgItem(IDC_DISABLE_H263))->SetCheck(accountSettings.disableH263); if (accountSettings.bitrateH264=="") { const pj_str_t codec_id = {"H264", 4}; pjmedia_vid_codec_param param; pjsua_vid_codec_get_param(&codec_id, ¶m); accountSettings.bitrateH264.Format("%d",param.enc_fmt.det.vid.max_bps/1000); } if (accountSettings.bitrateH263=="") { const pj_str_t codec_id = {"H263", 4}; pjmedia_vid_codec_param param; pjsua_vid_codec_get_param(&codec_id, ¶m); accountSettings.bitrateH263.Format("%d",param.enc_fmt.det.vid.max_bps/1000); } GetDlgItem(IDC_BITRATE_264)->SetWindowText(accountSettings.bitrateH264); GetDlgItem(IDC_BITRATE_263)->SetWindowText(accountSettings.bitrateH263); combobox= (CComboBox*)GetDlgItem(IDC_VID_CAP_DEV); combobox->AddString(Translate("Default")); combobox->SetCurSel(0); pjmedia_vid_dev_info vid_dev_info[64]; count = 64; pjsua_vid_enum_devs(vid_dev_info, &count); for (unsigned i=0;i<count;i++) { if (vid_dev_info[i].fmt_cnt && (vid_dev_info[i].dir==PJMEDIA_DIR_ENCODING || vid_dev_info[i].dir==PJMEDIA_DIR_ENCODING_DECODING)) { combobox->AddString(vid_dev_info[i].name); if (!accountSettings.videoCaptureDevice.Compare(vid_dev_info[i].name)) { combobox->SetCurSel(combobox->GetCount()-1); } } } combobox= (CComboBox*)GetDlgItem(IDC_VIDEO_CODEC); combobox->AddString(Translate("Default")); combobox->SetCurSel(0); count = 64; pjsua_vid_enum_codecs(codec_info, &count); for (unsigned i=0;i<count;i++) { combobox->AddString(PjToStr(&codec_info[i].codec_id)); if (!accountSettings.videoCodec.Compare(PjToStr(&codec_info[i].codec_id))) { combobox->SetCurSel(combobox->GetCount()-1); } } #endif #ifndef _GLOBAL_CUSTOM ((CButton*)GetDlgItem(IDC_DISABLE_LOCAL))->SetCheck(accountSettings.disableLocalAccount); int i; combobox= (CComboBox*)GetDlgItem(IDC_UPDATES_INTERVAL); combobox->AddString(Translate("Daily")); combobox->AddString(Translate("Weekly")); combobox->AddString(Translate("Monthly")); combobox->AddString(Translate("Quarterly")); combobox->AddString(Translate("Never")); if (accountSettings.updatesInterval=="daily") { i=0; } else if (accountSettings.updatesInterval=="monthly") { i=2; } else if (accountSettings.updatesInterval=="quarterly") { i=3; } else if (accountSettings.updatesInterval=="never") { i=4; } else { i=1; } combobox->SetCurSel(i); #endif return TRUE; }