#include <QDeclarativeContext>
#include <QDeclarativeProperty>
#include <QGraphicsObject>
+#include <QDragEnterEvent>
+#include <QDropEvent>
+#include <QUrl>
#include <QGLWidget>
ui->setupUi(this);
setWindowTitle("AniAdd");
+ qRegisterMetaType<QFileInfoList>("QFileInfoList");
QDeclarativeContext *ctxt = ui->declarativeView->rootContext();
connect(ui->actionQuit, SIGNAL(triggered()), qApp, SLOT(quit()));
+ connect(this, SIGNAL(filesToBeAdded(QFileInfoList)), qApp->fileModel(), SLOT(addFiles(QFileInfoList)), Qt::QueuedConnection);
-
- QDeclarativeProperty p( ui->declarativeView->rootObject());
- qDebug() << p.read().toString();
+ setAcceptDrops(true);
}
MainWindow::~MainWindow()
emit selectedIndexChanged();
}
+void MainWindow::dragEnterEvent(QDragEnterEvent *event)
+{
+ if (event->mimeData()->hasFormat("text/uri-list"))
+ event->acceptProposedAction();
+}
+
+void MainWindow::dropEvent(QDropEvent *event)
+{
+ QList<QUrl> urls = event->mimeData()->urls();
+ QFileInfoList files;
+qDebug() << urls.count();
+ for (int i = 0; i < urls.count(); ++i)
+ {
+ qDebug() << urls[i].isLocalFile();
+ if (!urls[i].isLocalFile())
+ continue;
+ qDebug() << urls[i].toLocalFile();
+ files << QFileInfo(urls[i].toLocalFile());
+ }
+ event->acceptProposedAction();
+ emit filesToBeAdded(files);
+}
+
void MainWindow::on_actionRenameScript_triggered()
{
RenameSettingsDialog dialog;
#define MAINWINDOW_H
#include <QMainWindow>
+#include <QFileInfoList>
namespace Ui {
class MainWindow;
int selectedIndex() const;
void setSelectedIndex(int index);
+protected:
+ void dragEnterEvent(QDragEnterEvent *event);
+ void dropEvent(QDropEvent *event);
+
private slots:
void on_actionAddFiles_triggered();
void on_actionAddDirectories_triggered();
signals:
void selectedIndexChanged();
+ void filesToBeAdded(const QFileInfoList &files);
private:
void saveSettings();
QString lastDirectory;
- AniAdd *aniAdd;
-
Ui::MainWindow *ui;
int m_selectedIndex;