Support drag&drop for setting a custom cover in the properties dialog

This commit is contained in:
Luis Ángel San Martín
2025-05-09 19:58:52 +02:00
parent 28952180ab
commit 8b159c9da6
7 changed files with 115 additions and 5 deletions

View File

@ -0,0 +1,31 @@
#include "yacreader_cover_label.h"
#include "yacreader_global_gui.h"
YACReader::CoverLabel::CoverLabel(QWidget *parent)
: QLabel(parent)
{
setAcceptDrops(true);
}
void YACReader::CoverLabel::dragEnterEvent(QDragEnterEvent *event)
{
if (event->mimeData()->hasUrls() && !YACReader::imagePathFromMimeData(event->mimeData()).isEmpty()) {
event->acceptProposedAction();
}
}
void YACReader::CoverLabel::dragMoveEvent(QDragMoveEvent *event)
{
if (event->mimeData()->hasUrls()) {
event->acceptProposedAction();
}
}
void YACReader::CoverLabel::dropEvent(QDropEvent *event)
{
QString path = YACReader::imagePathFromMimeData(event->mimeData());
if (!path.isEmpty()) {
emit imageDropped(path);
event->acceptProposedAction();
}
}