Exemplo n.º 1
0
void GetExceptionPathName(const char * sz_Name, std::string & OnlyFileName)
{
	GetOnlyFileName(sz_Name, OnlyFileName);
}
Exemplo n.º 2
0
void CFloatingWindow::UploadScreenshot(const CString& realName, const CString& displayName)
{
	delete m_FileQueueUploader;
	m_FileQueueUploader =  0;
	lastUploadedItem_.fileListItem = CFileQueueUploader::FileListItem();
	lastUploadedItem_.imageUrlShortened.Empty();
	lastUploadedItem_.downloadUrlShortened.Empty();

	m_FileQueueUploader = new CFileQueueUploader();
	m_FileQueueUploader->setCallback(this);
	ServerProfile &serverProfile = Settings.quickScreenshotServer;
	CUploadEngineData* engineData = serverProfile.uploadEngineData();
	if (!engineData)
		engineData = _EngineList->byIndex(_EngineList->getRandomImageServer());
	if (!engineData)
		return;

	CImageConverter imageConverter;
	Thumbnail thumb;
	CString templateName = Settings.quickScreenshotServer.getImageUploadParams().getThumb().TemplateName;
	if ( templateName.IsEmpty() ) {
		templateName = _T("default");
	}
	CString thumbTemplateFileName = IuCommonFunctions::GetDataFolder() + _T("\\Thumbnails\\") + templateName +
		_T(".xml");

	if (!thumb.LoadFromFile(WCstringToUtf8(thumbTemplateFileName)))
	{
		WriteLog(logError, _T("CFloatingWindow"), TR("Не могу загрузить файл миниатюры!")+CString(_T("\r\n")) + thumbTemplateFileName);
		return;
	}
	imageConverter.setEnableProcessing(Settings.quickScreenshotServer.getImageUploadParams().ProcessImages);
	imageConverter.setImageConvertingParams(Settings.ConvertProfiles[Settings.quickScreenshotServer.getImageUploadParams().ImageProfileName]);
	imageConverter.setThumbCreatingParams(Settings.quickScreenshotServer.getImageUploadParams().getThumb());
	bool GenThumbs = Settings.quickScreenshotServer.getImageUploadParams().CreateThumbs &&
	   ((!Settings.quickScreenshotServer.getImageUploadParams().UseServerThumbs) || (!engineData->SupportThumbnails));
	imageConverter.setThumbnail(&thumb);
	imageConverter.setGenerateThumb(GenThumbs);
	imageConverter.Convert(realName);

	CAbstractUploadEngine* engine = _EngineList->getUploadEngine(engineData, serverProfile.serverSettings());
	if (!engine)
		return;

	m_FileQueueUploader->setUploadSettings(engine);

	source_file_name_ = WCstringToUtf8(realName);
	server_name_ = engineData->Name;
	std::string utf8FileName = WCstringToUtf8(imageConverter.getImageFileName());
	lastUploadedItem_.fileListItem.fileSize = IuCoreUtils::getFileSize(utf8FileName);
	m_FileQueueUploader->AddFile(utf8FileName, WCstringToUtf8(displayName), 0, engine);
	
	CString thumbFileName = imageConverter.getThumbFileName();
	if (!thumbFileName.IsEmpty())
		m_FileQueueUploader->AddFile(WCstringToUtf8(thumbFileName), WCstringToUtf8(thumbFileName),
		                             reinterpret_cast<void*>(1), engine);

	m_bIsUploading = true;
	uploadType_ = utImage;
	m_FileQueueUploader->start();
	CString msg;
	msg.Format(TR("Идет загрузка \"%s\" на сервер %s"), (LPCTSTR) GetOnlyFileName(displayName),
	           (LPCTSTR)Utf8ToWstring(engineData->Name).c_str());
	ShowBaloonTip(msg, TR("Загрузка снимка"));
}