1- #include " SizeExceedFilter.h"
1+ #include " SizeExceedFilter.h"
22
33#include " Gui/Dialogs/SizeExceed.h"
44#include " Core/Upload/UploadEngine.h"
55#include " Core/Upload/FileUploadTask.h"
66#include " Core/Upload/UploadSession.h"
77#include " Core/ServiceLocator.h"
88#include " Core/Scripting/DialogProvider.h"
9+ #include " Core/Settings/WtlGuiSettings.h"
910
1011SizeExceedFilter::SizeExceedFilter (CUploadEngineList* engineList, UploadEngineManager* uploadEngineManager) {
1112 engineList_ = engineList;
1213 uploadEngineManager_ = uploadEngineManager;
1314}
1415
1516bool SizeExceedFilter::PreUpload (UploadTask* task) {
17+ auto settings = ServiceLocator::instance ()->settings <WtlGuiSettings>();
18+
19+ if (!settings->CheckFileTypesBeforeUpload ) {
20+ return true ;
21+ }
22+
1623 if (task->type () == UploadTask::TypeFile) {
1724 FileUploadTask * fileTask = dynamic_cast <FileUploadTask*>(task);
1825 if (!fileTask || !fileTask->session ()) {
1926 return true ;
2027 }
2128 CUploadEngineData* ue = fileTask->serverProfile ().uploadEngineData ();
22- if (ue && ue->MaxFileSize && fileTask->getFileSize () > ue->MaxFileSize ) {
29+ if (ue && ue->MaxFileSize > 0 && fileTask->getFileSize () > ue->MaxFileSize ) {
2330 std::lock_guard<std::mutex> g (uploadSessionDataMapMutex_);
2431 auto it = uploadSessionDataMap_.find (fileTask->session ());
2532 if (it != uploadSessionDataMap_.end () && !it->second .newImageServer .isNull ()) {
@@ -53,4 +60,4 @@ bool SizeExceedFilter::PostUpload(UploadTask* task) {
5360
5461void SizeExceedFilter::onSessionFinished (UploadSession* session) {
5562 uploadSessionDataMap_.erase (session);
56- }
63+ }
0 commit comments