diff --git a/Telegram/SourceFiles/config.h b/Telegram/SourceFiles/config.h index 58b7905d05..2a49ed1a9e 100644 --- a/Telegram/SourceFiles/config.h +++ b/Telegram/SourceFiles/config.h @@ -351,7 +351,7 @@ enum { }; inline const QRegularExpression &cWordSplit() { - static QRegularExpression regexp(qsl("[\\@\\s\\-\\+\\)\\(\\,\\.\\:\\!\\_\\;\\\"\\'\\x0]")); + static QRegularExpression regexp(qsl("[\\@\\s\\-\\+\\(\\)\\[\\]\\{\\}\\<\\>\\,\\.\\:\\!\\_\\;\\\"\\'\\x0]")); return regexp; } diff --git a/Telegram/SourceFiles/historywidget.cpp b/Telegram/SourceFiles/historywidget.cpp index 21d7028e7e..4398f133a0 100644 --- a/Telegram/SourceFiles/historywidget.cpp +++ b/Telegram/SourceFiles/historywidget.cpp @@ -4378,7 +4378,10 @@ DragState HistoryWidget::getDragState(const QMimeData *d) { QString file(i->toLocalFile()); if (file.startsWith(qsl("/.file/id="))) file = psConvertFileUrl(file); - quint64 s = QFileInfo(file).size(); + QFileInfo info(file); + if (info.isDir()) return DragStateNone; + + quint64 s = info.size(); if (s >= MaxUploadDocumentSize) { return DragStateNone; } @@ -4527,10 +4530,10 @@ void HistoryWidget::onFilesDrop(const QMimeData *data) { return; } - if (files.size() == 1) { + if (files.size() == 1 && !QFileInfo(files.at(0)).isDir()) { uploadFile(files.at(0), PrepareAuto); } -// uploadFiles(files, PrepareAuto); // multiple confirm with "compressed" checkbox +// uploadFiles(files, PrepareAuto); // multiple confirm with "compressed" checkbox } void HistoryWidget::onKbToggle(bool manual) { @@ -4816,7 +4819,7 @@ void HistoryWidget::uploadFile(const QString &file, PrepareMediaType type, FileL void HistoryWidget::uploadFiles(const QStringList &files, PrepareMediaType type) { if (!_history || files.isEmpty()) return; - if (files.size() == 1) return uploadFile(files.at(0), type); + if (files.size() == 1 && !QFileInfo(files.at(0)).isDir()) return uploadFile(files.at(0), type); App::wnd()->activateWindow(); diff --git a/Telegram/SourceFiles/localimageloader.cpp b/Telegram/SourceFiles/localimageloader.cpp index ba9e7a0d04..1b71de0de9 100644 --- a/Telegram/SourceFiles/localimageloader.cpp +++ b/Telegram/SourceFiles/localimageloader.cpp @@ -216,6 +216,10 @@ void FileLoadTask::process() { if (!_filepath.isEmpty()) { QFileInfo info(_filepath); + if (info.isDir()) { + _result->filesize = -1; + return; + } filesize = info.size(); filemime = mimeTypeForFile(info).name(); filename = info.fileName(); @@ -399,6 +403,11 @@ void FileLoadTask::finish() { App::wnd()->replaceLayer(new InformBox(lang(lng_send_image_empty))); return; } + if (_result->filesize == -1) { // dir + App::main()->onSendFileCancel(_result); + App::wnd()->replaceLayer(new InformBox(lng_send_folder(lt_name, QFileInfo(_filepath).fileName()))); + return; + } if (_result->filesize > MaxUploadDocumentSize) { App::main()->onSendFileCancel(_result); App::wnd()->replaceLayer(new InformBox(lang(lng_send_image_too_large)));