added drag and drop support for image list
This commit is contained in:
parent
f86c5ba39c
commit
da6dc580be
2 changed files with 34 additions and 2 deletions
|
@ -1,8 +1,8 @@
|
|||
#include "mainwindow.h"
|
||||
#include <QMimeData>
|
||||
|
||||
#include "tabimages.h"
|
||||
#include "ui_tabimages.h"
|
||||
|
||||
extern MainWindow *mwindow;
|
||||
extern ImageList *images;
|
||||
|
||||
TabImages::TabImages(QWidget *parent) :
|
||||
|
@ -17,6 +17,8 @@ TabImages::TabImages(QWidget *parent) :
|
|||
ui->tblImages->resizeColumnsToContents();
|
||||
ui->tblImages->resizeRowsToContents();
|
||||
|
||||
setAcceptDrops(true);
|
||||
|
||||
connect(ui->tblImages->verticalHeader(), &QHeaderView::sectionCountChanged, [&]() {
|
||||
ui->tblImages->resizeColumnsToContents();
|
||||
ui->tblImages->resizeRowsToContents();
|
||||
|
@ -27,6 +29,30 @@ TabImages::TabImages(QWidget *parent) :
|
|||
connect(ui->btnSave, &QPushButton::clicked, images, &ImageList::saveFilePicker);
|
||||
}
|
||||
|
||||
void TabImages::dragEnterEvent(QDragEnterEvent *dee)
|
||||
{
|
||||
dee->acceptProposedAction();
|
||||
}
|
||||
|
||||
void TabImages::dropEvent(QDropEvent *de)
|
||||
{
|
||||
const QMimeData* mimeData = de->mimeData();
|
||||
|
||||
// check for our needed mime type, here a file or a list of files
|
||||
if (mimeData->hasUrls())
|
||||
{
|
||||
QStringList pathList;
|
||||
QList<QUrl> urlList = mimeData->urls();
|
||||
|
||||
// extract the local paths of the files
|
||||
for (QUrl url : urlList)
|
||||
pathList += url.toLocalFile();
|
||||
|
||||
// call a function to open the files
|
||||
images->load(pathList);
|
||||
}
|
||||
}
|
||||
|
||||
TabImages::~TabImages()
|
||||
{
|
||||
delete ui;
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
#define TABIMAGES_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QDragEnterEvent>
|
||||
#include <QDropEvent>
|
||||
|
||||
#include "imagelist.h"
|
||||
|
||||
|
@ -17,6 +19,10 @@ class TabImages : public QWidget
|
|||
explicit TabImages(QWidget *parent = 0);
|
||||
~TabImages();
|
||||
|
||||
protected:
|
||||
void dropEvent(QDropEvent *de);
|
||||
void dragEnterEvent(QDragEnterEvent *dee);
|
||||
|
||||
private:
|
||||
Ui::TabImages *ui;
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue