]> git.sur5r.net Git - fstl/blobdiff - src/window.cpp
and compress the app and the README into a zip file
[fstl] / src / window.cpp
index 203fff93533c6d4776810b91e3b0b6614b7f493d..5f8ac9e2667198fdf21daaed05cca7393b85d735 100644 (file)
@@ -69,6 +69,24 @@ void Window::on_about()
         "   style=\"color: #93a1a1;\">matt.j.keeter@gmail.com</a></p>");
 }
 
+void Window::on_ascii_stl()
+{
+    QMessageBox::critical(this, "Error",
+                          "<b>Error:</b><br>"
+                          "Cannot open ASCII <code>.stl</code> file<br>"
+                          "Please convert to binary <code>.stl</code> and retry");
+}
+
+void Window::enable_open()
+{
+    open_action->setEnabled(true);
+}
+
+void Window::disable_open()
+{
+    open_action->setEnabled(false);
+}
+
 bool Window::load_stl(const QString& filename)
 {
     if (!open_action->isEnabled())  return false;
@@ -77,22 +95,24 @@ bool Window::load_stl(const QString& filename)
 
     Loader* loader = new Loader(this, filename);
     connect(loader, &Loader::started,
-            [=](){ open_action->setEnabled(false); });
+              this, &Window::disable_open);
 
     connect(loader, &Loader::got_mesh,
             canvas, &Canvas::load_mesh);
+    connect(loader, &Loader::error_ascii_stl,
+              this, &Window::on_ascii_stl);
 
     connect(loader, &Loader::finished,
             loader, &Loader::deleteLater);
     connect(loader, &Loader::finished,
-            [=](){ open_action->setEnabled(true); });
+              this, &Window::enable_open);
     connect(loader, &Loader::finished,
-            [=](){ canvas->set_status(""); });
+            canvas, &Canvas::clear_status);
 
     if (filename[0] != ':')
     {
         connect(loader, &Loader::loaded_file,
-                this, &Window::setWindowTitle);
+                  this, &Window::setWindowTitle);
     }
 
     loader->start();