void CoverWidget::dropEvent(QDropEvent *e) { auto mimeData = e->mimeData(); QImage img; if (mimeData->hasImage()) { img = qvariant_cast<QImage>(mimeData->imageData()); } else { auto urls = mimeData->urls(); if (urls.size() == 1) { auto &url = urls.at(0); if (url.isLocalFile()) { img = App::readImage(Platform::File::UrlToLocal(url)); } } } if (!_dropArea->hiding()) { _dropArea->hideAnimated([this](Profile::CoverDropArea *area) { dropAreaHidden(area); }); } e->acceptProposedAction(); showSetPhotoBox(img); App::wnd()->activateWindow(); }
void CoverWidget::chooseNewPhoto() { auto imageExtensions = cImgExtensions(); auto filter = qsl("Image files (*") + imageExtensions.join(qsl(" *")) + qsl(");;") + FileDialog::AllFilesFilter(); FileDialog::GetOpenPath(lang(lng_choose_image), filter, base::lambda_guarded(this, [this](const FileDialog::OpenResult &result) { if (result.paths.isEmpty() && result.remoteContent.isEmpty()) { return; } QImage img; if (!result.remoteContent.isEmpty()) { img = App::readImage(result.remoteContent); } else { img = App::readImage(result.paths.front()); } showSetPhotoBox(img); })); }
void CoverWidget::notifyFileQueryUpdated(const FileDialog::QueryUpdate &update) { if (_setPhotoFileQueryId != update.queryId) { return; } _setPhotoFileQueryId = 0; if (update.filePaths.isEmpty() && update.remoteContent.isEmpty()) { return; } QImage img; if (!update.remoteContent.isEmpty()) { img = App::readImage(update.remoteContent); } else { img = App::readImage(update.filePaths.front()); } showSetPhotoBox(img); }
void CoverWidget::dropEvent(QDropEvent *e) { auto mimeData = e->mimeData(); QImage img; if (mimeData->hasImage()) { img = qvariant_cast<QImage>(mimeData->imageData()); } else { const auto &urls = mimeData->urls(); if (urls.size() == 1) { auto &url = urls.at(0); if (url.isLocalFile()) { img = App::readImage(psConvertFileUrl(url)); } } } if (!_dropArea->hiding()) { _dropArea->hideAnimated(func(this, &CoverWidget::dropAreaHidden)); } e->acceptProposedAction(); showSetPhotoBox(img); }