add ability to drop images
This commit is contained in:
parent
a8db3985a2
commit
81ea0490cf
3 changed files with 31 additions and 10 deletions
|
@ -26,26 +26,32 @@
|
|||
|
||||
UiModWidget::UiModWidget(QWidget *parent) : QWidget(parent)
|
||||
{
|
||||
filesMode = false;
|
||||
filesDropEnabled = false;
|
||||
imageDropEnabled = false;
|
||||
}
|
||||
|
||||
UiModWidget::~UiModWidget()
|
||||
{
|
||||
}
|
||||
|
||||
void UiModWidget::setFilesMode(bool filesModeEnabled)
|
||||
void UiModWidget::setFilesDropEnabled(bool enabled)
|
||||
{
|
||||
filesMode = filesModeEnabled;
|
||||
filesDropEnabled = enabled;
|
||||
}
|
||||
|
||||
void UiModWidget::setImageDropEnabled(bool enabled)
|
||||
{
|
||||
imageDropEnabled = enabled;
|
||||
}
|
||||
|
||||
void UiModWidget::dragEnterEvent(QDragEnterEvent *dragEnterEvent)
|
||||
{
|
||||
if (filesMode && dragEnterEvent->mimeData()->hasUrls())
|
||||
if (filesDropEnabled && dragEnterEvent->mimeData()->hasUrls())
|
||||
{
|
||||
QStringList pathList;
|
||||
QList<QUrl> urlList = dragEnterEvent->mimeData()->urls();
|
||||
const QList<QUrl> urlList = dragEnterEvent->mimeData()->urls();
|
||||
|
||||
foreach(const QUrl ¤tUrl, urlList)
|
||||
for (const QUrl ¤tUrl : urlList)
|
||||
{
|
||||
if (currentUrl.isLocalFile())
|
||||
{
|
||||
|
@ -58,6 +64,10 @@ void UiModWidget::dragEnterEvent(QDragEnterEvent *dragEnterEvent)
|
|||
dragEnterEvent->acceptProposedAction();
|
||||
}
|
||||
}
|
||||
else if (imageDropEnabled && dragEnterEvent->mimeData()->hasImage())
|
||||
{
|
||||
dragEnterEvent->acceptProposedAction();
|
||||
}
|
||||
}
|
||||
|
||||
void UiModWidget::dropEvent(QDropEvent *dropEvent)
|
||||
|
|
|
@ -29,7 +29,8 @@ class UiModWidget : public QWidget
|
|||
Q_OBJECT
|
||||
public:
|
||||
UiModWidget(QWidget *parent = 0);
|
||||
void setFilesMode(bool enabled);
|
||||
void setFilesDropEnabled(bool enabled);
|
||||
void setImageDropEnabled(bool enabled);
|
||||
~UiModWidget();
|
||||
|
||||
protected:
|
||||
|
@ -38,7 +39,8 @@ protected:
|
|||
void paintEvent(QPaintEvent *paintEvent);
|
||||
|
||||
private:
|
||||
bool filesMode;
|
||||
bool filesDropEnabled;
|
||||
bool imageDropEnabled;
|
||||
|
||||
signals:
|
||||
void dropped(const QMimeData *mimeData);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue