]> git.sur5r.net Git - fstl/blobdiff - src/window.cpp
Allow dropping of files onto window
[fstl] / src / window.cpp
index 2d809bfb0610c8a3924213148528d9693c377c22..3002ecc83daa6008dd3c42c420b933c24605008e 100644 (file)
@@ -14,6 +14,7 @@ Window::Window(QWidget *parent) :
 
 {
     setWindowTitle("fstl");
+    setAcceptDrops(true);
 
     QFile styleFile(":/qt/style.qss");
     styleFile.open( QFile::ReadOnly );
@@ -128,3 +129,18 @@ bool Window::load_stl(const QString& filename)
     loader->start();
     return true;
 }
+
+void Window::dragEnterEvent(QDragEnterEvent *event)
+{
+    if (event->mimeData()->hasUrls())
+    {
+        auto urls = event->mimeData()->urls();
+        if (urls.size() == 1 && urls.front().path().endsWith(".stl"))
+            event->acceptProposedAction();
+    }
+}
+
+void Window::dropEvent(QDropEvent *event)
+{
+    load_stl(event->mimeData()->urls().front().toLocalFile());
+}