quit_action = new QAction("Quit", this);
quit_action->setShortcut(QKeySequence::Quit);
QObject::connect(quit_action, &QAction::triggered,
- this, &Window::on_open);
+ this, &Window::close);
about_action = new QAction("About", this);
QObject::connect(about_action, &QAction::triggered,
- this, &Window::on_open);
+ this, &Window::on_about);
auto file_menu = menuBar()->addMenu("File");
file_menu->addAction(open_action);
void Window::load_stl(const QString &filename)
{
+ canvas->set_status("Loading " + filename);
+
Loader* loader = new Loader(this, filename);
connect(loader, &Loader::started,
[=](){ open_action->setEnabled(false); });
+
connect(loader, &Loader::got_mesh,
canvas, &Canvas::load_mesh);
+
connect(loader, &Loader::finished,
loader, &Loader::deleteLater);
connect(loader, &Loader::finished,
[=](){ open_action->setEnabled(true); });
+ connect(loader, &Loader::finished,
+ [=](){ canvas->set_status(""); });
+
connect(loader, &Loader::loaded_file,
this, &Window::setWindowTitle);
+
loader->start();
}