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; }
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; }
void CFloatingWindow::ShowImageUploadedMessage(const CString& url) { IU_CopyTextToClipboard(url); ShowBaloonTip(TrimString(url, 70) + CString("\r\n") + TR("(адрес был автоматически помещен в буфер обмена)")+ + CString("\r\n") + TR("Нажмите на это сообщение для открытия окна с кодом...") , TR("Снимок успешно загружен")); }