LRESULT CNewFolderDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { TRC(IDC_FOLDERNAMELABEL, "Название папки/альбома:"); TRC(IDC_FOLDERDESCRLABEL, "Описание:"); TRC(IDC_ACCESSTYPELABEL, "Доступ:"); TRC(IDCANCEL, "Отмена"); TRC(IDOK, "OK"); DlgResize_Init(); CenterWindow(GetParent()); if(m_bCreateNewFolder) SetWindowText(TR("Новая папка (альбом)")); else SetWindowText(TR("Редактирование папки")); SetDlgItemText(IDC_FOLDERTITLEEDIT, Utf8ToWCstring(m_folder.title)); CString text = Utf8ToWCstring(m_folder.summary); text.Replace(_T("\r"), _T("")); text.Replace(_T("\n"), _T("\r\n")); SetDlgItemText(IDC_FOLDERDESCREDIT, text); for(size_t i=0; i< m_accessTypeList.size(); i++) { SendDlgItemMessage(IDC_ACCESSTYPECOMBO, CB_ADDSTRING, 0, (LPARAM) (LPCTSTR)Utf8ToWCstring(m_accessTypeList[i].c_str())); } SendDlgItemMessage(IDC_ACCESSTYPECOMBO, CB_SETCURSEL, m_folder.accessType); ::SetFocus(GetDlgItem(IDC_FOLDERTITLEEDIT)); return 0; // Let the system set the focus }
LRESULT CLoginDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { CenterWindow(GetParent()); LoginInfo li = serverProfile_.serverSettings().authData; SetWindowText(TR("Параметры авторизации")); TRC(IDC_LOGINLABEL, "Логин:"); TRC(IDC_PASSWORDLABEL, "Пароль:"); TRC(IDC_DOAUTH, "Выполнять авторизацию"); TRC(IDC_DOLOGINLABEL, "Выполнить авторизацию..."); TRC(IDCANCEL, "Отмена"); TRC(IDC_DELETEACCOUNTLABEL, "Удалить аккаунт"); HWND hWnd = GetDlgItem(IDC_ANIMATIONSTATIC); if (hWnd) { wndAnimation_.SubclassWindow(hWnd); if (wndAnimation_.Load(MAKEINTRESOURCE(IDR_PROGRESSGIF), _T("GIF"))) wndAnimation_.Draw(); wndAnimation_.ShowWindow(SW_HIDE); } doLoginLabel_.SubclassWindow(GetDlgItem(IDC_DOLOGINLABEL)); doLoginLabel_.m_dwExtendedStyle |= HLINK_UNDERLINEHOVER | HLINK_COMMANDBUTTON; doLoginLabel_.SetLabel(TR("Выполнить авторизацию...")); doLoginLabel_.m_clrLink = CSettings::DefaultLinkColor; doLoginLabel_.ShowWindow(serverSupportsBeforehandAuthorization_?SW_SHOW:SW_HIDE); CString deleteAccountLabelText; accountName_ = Utf8ToWCstring(li.Login); //deleteAccountLabelText.Format(R( "Удалить учетную запись \"%s\" из списка"), (LPCTSTR)accountName_); SetDlgItemText(IDC_LOGINEDIT, accountName_); SetDlgItemText(IDC_PASSWORDEDIT, Utf8ToWCstring(li.Password)); SetDlgItemText(IDC_LOGINFRAME, Utf8ToWCstring(m_UploadEngine->Name)); SendDlgItemMessage(IDC_DOAUTH, BM_SETCHECK, /*((li.DoAuth||createNew_)?BST_CHECKED:BST_UNCHECKED)*/true); ::EnableWindow(GetDlgItem(IDC_DOAUTH),false); ::EnableWindow(GetDlgItem(IDC_PASSWORDEDIT),m_UploadEngine->NeedPassword); ::EnableWindow(GetDlgItem(IDC_PASSWORDLABEL),m_UploadEngine->NeedPassword); deleteAccountLabel_.SubclassWindow(GetDlgItem(IDC_DELETEACCOUNTLABEL)); deleteAccountLabel_.m_dwExtendedStyle |= HLINK_UNDERLINEHOVER | HLINK_COMMANDBUTTON; // deleteAccountLabel_.SetLabel(deleteAccountLabelText); deleteAccountLabel_.m_clrLink = CSettings::DefaultLinkColor; deleteAccountLabel_.ShowWindow((createNew_ || accountName_.IsEmpty()) ? SW_HIDE : SW_SHOW); OnClickedUseIeCookies(0, 0, 0, bHandled); ::SetFocus(GetDlgItem(IDC_LOGINEDIT)); return 0; }
bool CSettings::SaveAccounts(SimpleXmlNode root) { ServerSettingsMap::iterator it1; for (it1 = ServersSettings.begin(); it1 != ServersSettings.end(); ++it1) { std::map <std::string, ServerSettingsStruct>::iterator it; for (it = it1->second.begin(); it !=it1->second.end(); ++it) { ServerSettingsStruct & sss = it->second; if ( sss.isEmpty() ) { continue; } SimpleXmlNode serverNode = root.CreateChild("Server"); serverNode.SetAttribute("Name", it1->first); std::map <std::string, std::string>::iterator param; for (param = it->second.params.begin(); param != sss.params.end(); ++param) { if ( param->first == "FolderID" || param->first == "FolderUrl" || param->first == "FolderTitle") { continue; } serverNode.SetAttribute("_" + param->first, param->second); } serverNode.SetAttributeBool("Auth", sss.authData.DoAuth); #if !defined (IU_CLI) && !defined(IU_SHELLEXT) CEncodedPassword login(Utf8ToWCstring(sss.authData.Login)); serverNode.SetAttribute("Login", WCstringToUtf8(login.toEncodedData())); CUploadEngineData* ued = _EngineList->byName(Utf8ToWCstring(it->first)); if ( !ued || ued->NeedPassword ) { CEncodedPassword pass(Utf8ToWCstring(it->second.authData.Password)); serverNode.SetAttribute("Password", WCstringToUtf8(pass.toEncodedData())); } #else serverNode.SetAttribute("Login", sss.authData.Login); #endif if ( !it->second.defaultFolder.getId().empty() ) { serverNode.SetAttributeString("DefaultFolderId", sss.defaultFolder.getId()); serverNode.SetAttributeString("DefaultFolderUrl", sss.defaultFolder.viewUrl); serverNode.SetAttributeString("DefaultFolderTitle", sss.defaultFolder.getTitle()); } } } return true; }
LRESULT CServerParamsDlg::OnBrowseServerFolders(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { CString login = GuiTools::GetDlgItemText(m_hWnd, IDC_LOGINEDIT); serverProfile_.setProfileName(login); ServerSettingsStruct& serverSettings = serverProfile_.serverSettings(); CString password = GuiTools::GetDlgItemText(m_hWnd, IDC_PASSWORDEDIT); serverSettings.authData.Login = WCstringToUtf8(login); serverSettings.authData.Password = WCstringToUtf8(password); serverSettings.authData.DoAuth = GuiTools::GetCheck(m_hWnd, IDC_DOAUTH); CServerFolderSelect folderSelectDlg(serverProfile_); folderSelectDlg.m_SelectedFolder.id = serverProfile_.folderId(); if ( folderSelectDlg.DoModal() == IDOK ) { CFolderItem folder = folderSelectDlg.m_SelectedFolder; if(!folder.id.empty()){ serverProfile_.setFolderId(folder.getId()); serverProfile_.setFolderTitle(folder.getTitle()); serverProfile_.setFolderUrl(folder.viewUrl); } else { serverProfile_.setFolderId(""); serverProfile_.setFolderTitle(""); serverProfile_.setFolderUrl(""); } SetDlgItemText(IDC_FOLDERNAMELABEL, Utf8ToWCstring( folder.getTitle() )); }; if(!m_pluginLoader) { return 0; } m_wndParamList.ResetContent(); m_pluginLoader->getServerParamList(m_paramNameList); std::map<std::string,std::string>::iterator it; for( it = m_paramNameList.begin(); it!= m_paramNameList.end(); ++it) { CString name = it->first.c_str(); CString humanName = it->second.c_str(); m_wndParamList.AddItem( PropCreateSimple(humanName, Utf8ToWCstring(serverSettings.params[WCstringToUtf8(name)])) ); } return 0; }
void CQuickSetupDlg::serverChanged() { int serverComboElementIndex = serverComboBox_.GetCurSel(); if ( serverComboElementIndex > 0 ) { std::string serverNameA = reinterpret_cast<char*>(serverComboBox_.GetItemData(serverComboElementIndex)); CUploadEngineData * uploadEngineData =( (CUploadEngineList *)_EngineList)->byName( serverNameA ); if ( !uploadEngineData ) { return ; } CString serverName = Utf8ToWCstring( uploadEngineData->Name ); bool isFtpServer = serverName.Find(_T("FTP")) != -1; showFtpButton(isFtpServer); bool authorizationAvailable = uploadEngineData->NeedAuthorization != 0; showAuthorizationControls( authorizationAvailable ); bool forceAuthorization = uploadEngineData->NeedAuthorization == 2; CString doAuthCheckboxText = forceAuthorization ? TR("Выполнять авторизацию") : CString(TR("У меня есть учетная запись на этом сервере") ); //+ (forceAuthorization? _T("") : TR(" (необязательно)")); SetDlgItemText( IDC_DOAUTHCHECKBOX, doAuthCheckboxText ); ::EnableWindow( GetDlgItem( IDC_DOAUTHCHECKBOX), !forceAuthorization); SendDlgItemMessage( IDC_DOAUTHCHECKBOX, BM_SETCHECK, forceAuthorization? BST_CHECKED : BST_UNCHECKED ); CString loginLabelText = uploadEngineData->LoginLabel.empty()? CString(TR("Логин:")) : CString(Utf8ToWCstring( uploadEngineData->LoginLabel )) + _T(":"); SetDlgItemText( IDC_LOGINLABEL, loginLabelText ); doAuthCheckboxChanged(); bool isDoAuthChecked = SendDlgItemMessage(IDC_DOAUTHCHECKBOX, BM_GETCHECK) == BST_CHECKED; ::EnableWindow( GetDlgItem( IDC_PASSWORDEDIT),isDoAuthChecked && uploadEngineData->NeedPassword); } else { showAuthorizationControls(false); } }
void CContextMenuItemDlg::generateTitle() { if ( !titleEdited_ ) { ServerProfile sp = imageServerSelector_->serverProfile(); CString title; title.Format(TR("Загрузить на %s"), (LPCTSTR)sp.serverName()); CString additional; if ( !sp.profileName().IsEmpty()) { additional+= sp.profileName(); } if ( !sp.folderId().empty() && !sp.folderTitle().empty() ) { if ( !additional.IsEmpty() ) { additional += _T(", "); } CString temp; temp.Format(TR("папка \"%s\""), (LPCTSTR) Utf8ToWCstring(sp.folderTitle()) ); additional+= temp; } if ( !additional.IsEmpty() ) { title += _T(" (") + additional + _T(")"); } SetDlgItemText(IDC_MENUITEMTITLEEDIT, title); } }
void DebugMessage(const std::string& msg, bool isResponseBody) { if (!isResponseBody) MessageBox(0, Utf8ToWCstring(msg.c_str()), _T("Uploader"), MB_ICONINFORMATION); else { CTextViewDlg TextViewDlg(Utf8ToWstring(msg).c_str(), CString(_T("Server reponse")), CString(_T("Server reponse:")), _T("Save to file?")); if (TextViewDlg.DoModal(GetActiveWindow()) == IDOK) { CFileDialog fd(false, 0, 0, 4 | 2, _T("*.*\0*.*\0\0"), GetActiveWindow()); lstrcpy(fd.m_szFileName, _T("file.html")); if (fd.DoModal() == IDOK) { FILE* f = _tfopen(fd.m_szFileName, _T("wb")); if (f) { // WORD BOM = 0xFEFF; // fwrite(&BOM, sizeof(BOM),1,f); fwrite(msg.c_str(), msg.size(), sizeof(char), f); fclose(f); } } } } }
void ErrorMessage(ErrorInfo errorInfo) { LogMsgType type = errorInfo.messageType == (ErrorInfo::mtWarning) ? logWarning : logError; CString errorMsg; CString infoText; if (!errorInfo.FileName.empty()) infoText += TR("Файл: ") + Utf8ToWCstring(errorInfo.FileName) + _T("\n"); if (!errorInfo.ServerName.empty()) { CString serverName = Utf8ToWCstring(errorInfo.ServerName); if (!errorInfo.sender.empty()) serverName += _T("(") + Utf8ToWCstring(errorInfo.sender) + _T(")"); infoText += TR("Сервер: ") + serverName + _T("\n"); } if (!errorInfo.Url.empty()) infoText += _T("URL: ") + Utf8ToWCstring(errorInfo.Url) + _T("\n"); if (errorInfo.ActionIndex != -1) infoText += _T("Действие:") + CString(_T(" #")) + IntToStr(errorInfo.ActionIndex); if (infoText.Right(1) == _T("\n")) infoText.Delete(infoText.GetLength() - 1); if (!errorInfo.error.empty()) { errorMsg += Utf8ToWCstring(errorInfo.error); } else { if (errorInfo.errorType == etRepeating) { errorMsg.Format(TR("Загрузка на сервер не удалась. Повторяю (%d)..."), errorInfo.RetryIndex ); } else if (errorInfo.errorType == etRetriesLimitReached) { errorMsg = TR("Загрузка не сервер удалась! (лимит попыток исчерпан)"); } } CString sender = TR("Модуль загрузки"); if (!errorMsg.IsEmpty()) WriteLog(type, sender, errorMsg, infoText); }
LRESULT CHistoryWindow::OnCopyToClipboard(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { TreeItem* item = m_treeView.selectedItem(); if(!item) return 0; HistoryItem* historyItem = reinterpret_cast<HistoryItem*>(item->userData()); std::string url = historyItem->directUrl.length()?historyItem->directUrl:historyItem->viewUrl; IU_CopyTextToClipboard(Utf8ToWCstring(url)); return 0; }
LRESULT CHistoryWindow::OnOpenInBrowser(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { TreeItem* item = m_treeView.selectedItem(); if(!item) return 0; HistoryItem* historyItem = reinterpret_cast<HistoryItem*>(item->userData()); std::string url = historyItem->directUrl.length()?historyItem->directUrl:historyItem->viewUrl; ShellExecute(NULL, _T("open"), Utf8ToWCstring(url), NULL, NULL, SW_SHOWNORMAL); return 0; }
LRESULT CHistoryWindow::OnOpenFolder(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { TreeItem* item = m_treeView.selectedItem(); if(!item) return 0; HistoryItem* historyItem = reinterpret_cast<HistoryItem*>(item->userData()); std::string fileName = historyItem->localFilePath; if(fileName.empty()) return 0; std::string directory = IuCoreUtils::ExtractFilePath(fileName); if(IuCoreUtils::FileExists(fileName)) { ShellExecuteW(NULL, NULL, L"explorer.exe", CString(_T("/select, ")) + Utf8ToWCstring(fileName), NULL, SW_SHOWNORMAL); } else if(IuCoreUtils::DirectoryExists(directory)) { ShellExecute(NULL, _T("open"), Utf8ToWCstring(directory), NULL, NULL, SW_SHOWNORMAL); } return 0; }
LRESULT CQuickSetupDlg::OnClickedOK(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { int serverComboElementIndex = serverComboBox_.GetCurSel(); if ( serverComboElementIndex > 0 ) { std::string serverNameA = reinterpret_cast<char*>(serverComboBox_.GetItemData(serverComboElementIndex)); CUploadEngineData * uploadEngineData =( (CUploadEngineList *)_EngineList)->byName( serverNameA ); Settings.imageServer.setServerName(Utf8ToWCstring( uploadEngineData->Name )) ; bool needAuth = GuiTools::GetCheck( m_hWnd, IDC_DOAUTHCHECKBOX ); if ( needAuth ) { CString login = GuiTools::GetDlgItemText( m_hWnd, IDC_LOGINEDIT ); Settings.imageServer.setProfileName(login); CString password = GuiTools::GetDlgItemText( m_hWnd, IDC_PASSWORDEDIT ); if ( login.IsEmpty() ) { MessageBox(TR("Введите данные учетной записи"), APPNAME, MB_ICONEXCLAMATION); return 0; } LoginInfo& loginInfo = Settings.ServersSettings[WCstringToUtf8((LPCTSTR)Settings.getServerName())][WCstringToUtf8((LPCTSTR)(login))].authData; loginInfo.DoAuth = true; loginInfo.Login = WCstringToUtf8( login ); loginInfo.Password = WCstringToUtf8( password ); } Settings.quickScreenshotServer = Settings.imageServer; Settings.contextMenuServer = Settings.imageServer; Settings.fileServer.setServerName("zippyshare.com"); } else { } GuiTools::GetCheck(m_hWnd, IDC_AUTOSTARTUPCHECKBOX, Settings.AutoStartup); Settings.AutoStartup_changed = true; Settings.ExplorerContextMenu = GuiTools::GetCheck(m_hWnd, IDC_EXPLORERINTEGRATION); Settings.ExplorerContextMenu_changed = Settings.ExplorerContextMenu; bool capturePrintScreen = GuiTools::GetCheck( m_hWnd, IDC_CAPTUREPRINTSCREENCHECKBOX ); if ( capturePrintScreen ) { Settings.Hotkeys.getByFunc( _T("regionscreenshot") ).globalKey.DeSerialize("44"); // PrintScreen Settings.Hotkeys.getByFunc( _T("windowscreenshot") ).globalKey.DeSerialize("65580"); // Alt + PrintScreen } else { Settings.Hotkeys.getByFunc( _T("regionscreenshot") ).Clear(); Settings.Hotkeys.getByFunc( _T("windowscreenshot") ).Clear(); } if ( Settings.AutoStartup || capturePrintScreen ) { Settings.ShowTrayIcon = true; Settings.ShowTrayIcon_changed = true; } Settings.SaveSettings(); EndDialog(wID); return 0; }
void CHistoryWindow::FillList(CHistoryReader * mgr) { bool enabledDownload = SendDlgItemMessage(IDC_DOWNLOADTHUMBS, BM_GETCHECK) == BST_CHECKED; m_treeView.setDownloadingEnabled(enabledDownload); int nSessionsCount = mgr->getSessionCount(); m_treeView.SetRedraw(false); TreeItem* res = 0; int nFilesCount = 0; int64_t totalFileSize = 0; for(int i=0; i<nSessionsCount; i++) { CHistorySession* ses = mgr->getSession(i); std::string serverName = ses->serverName(); if(serverName.empty()) serverName = "n/a"; std::string label = IuCoreUtils::timeStampToString(ses->timeStamp())+ "\r\n Server: "+ serverName+ " Files: " + IuCoreUtils::toString(ses->entriesCount()); res = m_treeView.addEntry(ses, Utf8ToWCstring(label)); int nCount = ses->entriesCount(); for(int j=0; j<nCount; j++) { nFilesCount++; totalFileSize += ses->entry(j).uploadFileSize; if ( totalFileSize > 1000000000 ) { totalFileSize = totalFileSize; } m_treeView.addSubEntry(res, ses->entry(j),nCount<4); } //m_treeView.ExpandItem(res); } if(res) { m_treeView.SetCurSel(m_treeView.GetCount()-1); m_treeView.SetCurSel(-1); } m_treeView.SetRedraw(true); SetDlgItemInt(IDC_FILESCOUNTLABEL, nFilesCount, false); SetDlgItemInt(IDC_SESSIONSCOUNTLABEL, nSessionsCount, false); SetDlgItemText(IDC_UPLOADTRAFFICLABEL, Utf8ToWCstring(IuCoreUtils::fileSizeToString(totalFileSize))); }
bool CSettings::LoadConvertProfile(const CString& name, SimpleXmlNode profileNode) { SettingsManager mgr; ImageConvertingParams params; std::string saveTo = profileNode.Attribute("Name"); if (!name.IsEmpty()) saveTo = WCstringToUtf8(name); SettingsNode& image = mgr["Image"]; BindConvertProfile(image, params); mgr.loadFromXmlNode(profileNode); ConvertProfiles[Utf8ToWCstring( saveTo)] = params; return true; }
bool CFloatingWindow::OnFileFinished(bool ok, CFileQueueUploader::FileListItem& result) { if ( uploadType_ == utUrl ) { if ( ok ) { CString url = Utf8ToWCstring(result.imageUrl); IU_CopyTextToClipboard(url); ShowBaloonTip( TrimString(url, 70) + CString("\r\n") + TR("(адрес был автоматически помещен в буфер обмена)"), TR("Короткая ссылка")); } else { ShowBaloonTip( TR("Для подробностей смотрите лог."), TR("Не удалось сократить ссылку...") ); } } else if ( uploadType_ == utShorteningImageUrl) { if ( ok ) { CString url = Utf8ToWCstring(result.imageUrl); UploadTaskUserData *uploadTaskUserData = reinterpret_cast<UploadTaskUserData*>(result.uploadTask->userData); if ( uploadTaskUserData->linkTypeToShorten == "ImageUrl" ) { lastUploadedItem_.imageUrlShortened = url; } else if ( uploadTaskUserData->linkTypeToShorten == "DownloadUrl" ) { lastUploadedItem_.downloadUrlShortened = url; } ShowImageUploadedMessage(url); } else { UrlShorteningTask *urlShorteningTask = (UrlShorteningTask*) result.uploadTask; CString url = Utf8ToWCstring(urlShorteningTask->getUrl()); ShowImageUploadedMessage(url); } } else { if (ok) { if (result.uploadTask->userData == 0) lastUploadedItem_.fileListItem = result; else if (int(result.uploadTask->userData) == 1) lastUploadedItem_.fileListItem.thumbUrl = result.imageUrl; } } return true; }
bool CSettings::LoadServerProfiles(SimpleXmlNode root) { std::vector<SimpleXmlNode> servers; root.GetChilds("ServerProfile", servers); for (size_t i = 0; i < servers.size(); i++) { SimpleXmlNode serverProfileNode = servers[i]; std::string profileName = serverProfileNode.Attribute("ServerProfileId"); ServerProfile sp; SettingsManager mgr; sp.bind(mgr.root()); mgr.loadFromXmlNode(serverProfileNode); ServerProfiles[Utf8ToWCstring(profileName)] = sp; } return true; }
LRESULT CHistoryWindow::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { CenterWindow(); DlgResize_Init(); m_treeView.SubclassWindow(GetDlgItem(IDC_HISTORYTREE)); m_treeView.onThreadsFinished.bind(this, &CHistoryWindow::threadsFinished); m_treeView.onThreadsStarted.bind(this, &CHistoryWindow::threadsStarted); TRC(IDCANCEL, "Закрыть"); TRC(IDC_SESSIONSCOUNTDESCR, "Всего сессий:"); TRC(IDC_FILESCOUNTDESCR, "Всего файлов:"); TRC(IDC_UPLOADTRAFFICDESCR, "Общий объем:"); SetWindowText(TR("История загрузок")); TRC(IDC_TIMEPERIODLABEL, "Период времени:"); TRC(IDC_DOWNLOADTHUMBS, "Загружать миниатюры из Интернета"); HWND hWnd = GetDlgItem(IDC_ANIMATIONSTATIC); if (hWnd) { m_wndAnimation.SubclassWindow(hWnd); if (m_wndAnimation.Load(MAKEINTRESOURCE(IDR_PROGRESSGIF),_T("GIF"))) m_wndAnimation.Draw(); m_wndAnimation.ShowWindow(SW_HIDE); } std::string fName = ZBase::get()->historyManager()->makeFileName(); std::vector<CString> files; historyFolder = IuCoreUtils::Utf8ToWstring(Settings.SettingsFolder).c_str()+CString(_T("\\History\\")); WinUtils::GetFolderFileList(files, historyFolder , _T("history*.xml")); pcrepp::Pcre regExp("history_(\\d+)_(\\d+)", "imcu"); for(size_t i=0; i<files.size(); i++) { m_HistoryFiles.push_back(files[i]); CString monthLabel = Utf8ToWCstring( IuCoreUtils::ExtractFileNameNoExt(WCstringToUtf8 (files[i]))); size_t pos = 0; if ( regExp.search(WCstringToUtf8(monthLabel), pos) ) { std::string yearStr = regExp[0]; std::string monthStr = regExp[1]; int year = atoi(yearStr.c_str()); int month = atoi(monthStr.c_str()); monthLabel.Format(_T("%d/%02d"), year, month); } else { monthLabel.Replace(_T("history_"), _T("")); monthLabel.Replace(_T("_"), _T("/")); } int newItemIndex = SendDlgItemMessage(IDC_MONTHCOMBO, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)monthLabel); if ( newItemIndex >=0 ) { SendDlgItemMessage(IDC_MONTHCOMBO, CB_SETITEMDATA, newItemIndex, (LPARAM)i); } } int selectedIndex = files.size()-1; SendDlgItemMessage(IDC_MONTHCOMBO, CB_SETCURSEL, selectedIndex, 0); SendDlgItemMessage(IDC_DOWNLOADTHUMBS, BM_SETCHECK, (WPARAM)Settings.HistorySettings.EnableDownloading); BOOL bDummy; OnMonthChanged(0,0, 0,bDummy); m_treeView.SetFocus(); return 1; // Let the system set the focus }
inline void myFromString(const std::string& text, CHotkeyList& value) { value.DeSerialize(Utf8ToWCstring(text)); }
inline void myFromString(const std::string& text, CEncodedPassword& value) { value.fromEncodedData(Utf8ToWCstring(text)); }
inline void myFromString(const std::string& text, LOGFONT& value) { CString wide_text = Utf8ToWCstring(text); LOGFONT font; StringToFont(wide_text, &font); value = font; }
void CSettings::setFileServerID(int id) { CUploadEngineData *ued = _EngineList->byIndex(id); fileServer.setServerName (ued ? Utf8ToWCstring(ued->Name.c_str()) : CString() ); }
LRESULT CQuickSetupDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled){ TRC(IDC_FTPSETTINGSBUTTON, "Настройки FTP"); TRC(IDOK, "Продолжить"); TRC(IDCANCEL, "Отмена"); TRC(IDC_LOGINLABEL, "Логин:"); TRC(IDC_PASSWORDLABEL, "Пароль:"); TRC(IDC_SERVERLABEL, "На какой сервер будем загружать картинки?"); TRC(IDC_AUTOSTARTUPCHECKBOX, "Запуск программы при старте Windows"); TRC(IDC_CAPTUREPRINTSCREENCHECKBOX, "Перехватывать нажатия PrintScreen и Alt+PrintScreen"); TRC(IDC_EXPLORERINTEGRATION, "Добавить пункт в контекстное меню проводника Windows"); SetWindowText( APPNAME ); CString titleText; titleText.Format(TR("%s - быстрая настройка"), APPNAME ); SetDlgItemText(IDC_TITLE, titleText ); CenterWindow(); hIcon = (HICON)::LoadImage(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDR_MAINFRAME), IMAGE_ICON, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON), LR_DEFAULTCOLOR); SetIcon(hIcon, TRUE); hIconSmall = GuiTools::LoadSmallIcon(IDR_MAINFRAME); SetIcon(hIconSmall, FALSE); serverComboBox_.Attach( GetDlgItem( IDC_SERVERCOMBOBOX ) ); if ( !Settings.IsPortable ) { SendDlgItemMessage( IDC_AUTOSTARTUPCHECKBOX, BM_SETCHECK, BST_CHECKED, 0); SendDlgItemMessage( IDC_CAPTUREPRINTSCREENCHECKBOX, BM_SETCHECK, BST_CHECKED, 0); SendDlgItemMessage( IDC_EXPLORERINTEGRATION, BM_SETCHECK, BST_CHECKED, 0); } LogoImage.SubclassWindow(GetDlgItem( IDC_STATICLOGO ) ); LogoImage.SetWindowPos(0, 0,0, 48, 48, SWP_NOMOVE ); LogoImage.LoadImage(0, 0, Settings.UseNewIcon ? IDR_ICONMAINNEW : IDR_PNG1, false, GetSysColor(COLOR_BTNFACE)); HFONT font = GetFont(); LOGFONT alf; bool ok = ::GetObject(font, sizeof(LOGFONT), &alf) == sizeof(LOGFONT); if(ok) { alf.lfWeight = FW_BOLD; NewFont=CreateFontIndirect(&alf); HDC dc = ::GetDC(0); alf.lfHeight = - MulDiv(11, GetDeviceCaps(dc, LOGPIXELSY), 72); ReleaseDC(dc); NewFont = CreateFontIndirect(&alf); SendDlgItemMessage(IDC_TITLE,WM_SETFONT,(WPARAM)(HFONT)NewFont,MAKELPARAM(false, 0)); } comboBoxImageList_.Create(16,16,ILC_COLOR32 | ILC_MASK,0,6); //serverComboBox_.AddItem( _T("<") + CString(TR("Случайный сервер")) + _T(">"), -1, -1, 0, static_cast<LPARAM>( -1 ) ); HICON hImageIcon = NULL, hFileIcon = NULL; int selectedIndex = 0; //CUploadEngineData *uploadEngine = _EngineList->byIndex( Settings.getServerID() ); std::string selectedServerName = "directupload.net" ; for( int i = 0; i < _EngineList->count(); i++) { CUploadEngineData * ue = _EngineList->byIndex( i ); if ( ue->Type != CUploadEngineData::TypeImageServer && ue->Type != CUploadEngineData::TypeFileServer ) { continue; } HICON hImageIcon = _EngineList->getIconForServer(ue->Name); int nImageIndex = -1; if ( hImageIcon) { nImageIndex = comboBoxImageList_.AddIcon( hImageIcon); } char *serverName = new char[ue->Name.length() + 1]; lstrcpyA( serverName, ue->Name.c_str() ); int itemIndex = serverComboBox_.AddItem( Utf8ToWCstring( ue->Name ), nImageIndex, nImageIndex, 1, reinterpret_cast<LPARAM>( serverName ) ); if ( ue->Name == selectedServerName ){ selectedIndex = itemIndex; } } serverComboBox_.SetImageList( comboBoxImageList_ ); serverComboBox_.SetCurSel( selectedIndex ); doAuthCheckboxChanged(); serverChanged(); return 1; }
void CThumbEditor::LoadParams() { StringToFont(_T("Tahoma,7,b,204"), &ThumbFont); if(thumb_->existsParam("Font")) { std::string font = thumb_->getParamString("Font"); CString wide_text = Utf8ToWCstring(font); StringToFont(wide_text, &ThumbFont); } if(thumb_->existsParam("FrameWidth")) SetDlgItemInt(IDC_FRAMEWIDTH, thumb_->getParam("FrameWidth")); else ::EnableWindow(GetDlgItem(IDC_FRAMEWIDTH), false); if(thumb_->existsParam("DrawFrame")) { bool DrawFrame = thumb_->getParam("DrawFrame")!=0; SendDlgItemMessage(IDC_DRAWFRAME, BM_SETCHECK, DrawFrame); } else { GuiTools::EnableNextN(GetDlgItem(IDC_DRAWFRAME), 3, false); ::EnableWindow(GetDlgItem(IDC_DRAWFRAME), false); } bool DrawText = thumb_->getParam("DrawText")!=0; SendDlgItemMessage(IDC_ADDFILESIZE, BM_SETCHECK, DrawText); if(thumb_->existsParam("FrameColor")) FrameColor.SetColor(RGB2COLORREF(thumb_->getColor("FrameColor"))); else { FrameColor.EnableWindow(false); ::EnableWindow(GetDlgItem(IDC_FRAMECOLORLABEL), false); } if(thumb_->existsParam("GradientColor1")) Color1.SetColor(RGB2COLORREF(thumb_->getColor("GradientColor1"))); else { Color1.EnableWindow(false); ::EnableWindow(GetDlgItem(IDC_GRADIENTCOLOR1LABEL), false); } if(thumb_->existsParam("TextColor")) { ThumbTextColor.SetColor(RGB2COLORREF(thumb_->getColor("TextColor"))); } else { ThumbTextColor.EnableWindow(false); ::EnableWindow(GetDlgItem(IDC_THUMBTEXTCOLORLABEL), false); } if(thumb_->existsParam("StrokeColor")) { StrokeColor.SetColor(RGB2COLORREF(thumb_->getColor("StrokeColor"))); } else { StrokeColor.EnableWindow(false); ::EnableWindow(GetDlgItem(IDC_THUMBSTROKECOLORLABEL), false); } if(thumb_->existsParam("GradientColor2")) Color2.SetColor(RGB2COLORREF(thumb_->getColor("GradientColor2"))); else { Color2.EnableWindow(false); ::EnableWindow(GetDlgItem(IDC_GRADIENTCOLOR2LABEL), false); } SetDlgItemText(IDC_THUMBTEXT, Utf8ToWCstring(thumb_->getParamString("Text"))); }
LRESULT CServerParamsDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { CenterWindow(GetParent()); TRC(IDCANCEL, "Отмена"); TRC(IDOK, "OK"); TRC(IDC_LOGINLABEL, "Логин:"); TRC(IDC_PASSWORDLABEL, "Пароль:"); TRC(IDC_DOAUTH, "Выполнять авторизацию"); TRC(IDC_FOLDERLABEL, "Папка/альбом:"); TRC(IDC_BROWSESERVERFOLDERS, "Выбрать..."); TRC(IDC_PARAMETERSLABEL, "Параметры:"); DlgResize_Init(); CString WindowTitle; CString serverName = Utf8ToWCstring(m_ue->Name); WindowTitle.Format(TR("Параметры сервера %s"),(LPCTSTR)serverName); SetWindowText(WindowTitle); GuiTools::ShowDialogItem(m_hWnd, IDC_BROWSESERVERFOLDERS, m_ue->SupportsFolders); GuiTools::ShowDialogItem(m_hWnd, IDC_FOLDERLABEL, m_ue->SupportsFolders); GuiTools::ShowDialogItem(m_hWnd, IDC_FOLDERNAMELABEL, m_ue->SupportsFolders); ::EnableWindow(GetDlgItem(IDC_BROWSESERVERFOLDERS), m_ue->SupportsFolders); GuiTools::ShowDialogItem(m_hWnd, IDC_DOAUTH, m_ue->NeedAuthorization == CUploadEngineData::naAvailable ); GuiTools::ShowDialogItem(m_hWnd, IDC_FOLDERLABEL, m_ue->SupportsFolders ); GuiTools::ShowDialogItem(m_hWnd, IDC_FOLDERNAMELABEL, m_ue->SupportsFolders ); GuiTools::ShowDialogItem(m_hWnd, IDC_BROWSESERVERFOLDERS, m_ue->SupportsFolders ); GuiTools::ShowDialogItem(m_hWnd, IDC_FOLDERICON, m_ue->SupportsFolders ); ServerSettingsStruct &serverSettings = serverProfile_.serverSettings(); LoginInfo li = serverSettings.authData; SetDlgItemText(IDC_LOGINEDIT, Utf8ToWCstring(li.Login)); oldLogin_ = Utf8ToWCstring(li.Login); SetDlgItemText(IDC_PASSWORDEDIT, Utf8ToWCstring(li.Password)); SendDlgItemMessage(IDC_DOAUTH, BM_SETCHECK, (li.DoAuth ? BST_CHECKED : BST_UNCHECKED)); doAuthChanged(); int result = 1; if ( focusOnLoginControl_ && m_ue->NeedAuthorization ) { GuiTools::SetCheck(m_hWnd, IDC_DOAUTH, true); doAuthChanged(); ::SetFocus(GetDlgItem(IDC_LOGINEDIT) ); SendDlgItemMessage(IDC_LOGINEDIT, EM_SETSEL, 0, -1); result = 0; } GuiTools::EnableDialogItem(m_hWnd, IDC_BROWSESERVERFOLDERS, !oldLogin_.IsEmpty()); m_wndParamList.SubclassWindow(GetDlgItem(IDC_PARAMLIST)); m_wndParamList.SetExtendedListStyle(PLS_EX_SHOWSELALWAYS | PLS_EX_SINGLECLICKEDIT); m_pluginLoader = iuPluginManager.getPlugin(m_ue->Name, m_ue->PluginName,serverSettings); if(!m_pluginLoader) { return 0; } m_pluginLoader->getServerParamList(m_paramNameList); std::map<std::string,std::string>::iterator it; for( it = m_paramNameList.begin(); it!= m_paramNameList.end(); ++it) { CString name = it->first.c_str(); CString humanName = it->second.c_str(); m_wndParamList.AddItem( PropCreateSimple(humanName, Utf8ToWCstring(serverSettings.params[WCstringToUtf8(name)])) ); } CString folderTitle = Utf8ToWCstring( serverProfile_.folderTitle()) ; SetDlgItemText(IDC_FOLDERNAMELABEL, folderTitle.IsEmpty() ? (CString("<") + TR("не выбран") + CString(">")) : folderTitle); return 1; // Let the system set the focus }