X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fwindow.cpp;h=15ffb0324d32000b4685b7e125b1718c254949db;hb=41d81ccd8f85da838b4ba41c7a5d2f55157ef349;hp=885b0a832cdaf51e3f35d24a3c75890cf7a97969;hpb=c2d07bc40c26223c5cf0d58e54b906154ddedf3f;p=fstl diff --git a/src/window.cpp b/src/window.cpp index 885b0a8..15ffb03 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -7,7 +7,11 @@ #include "loader.h" Window::Window(QWidget *parent) : - QMainWindow(parent) + QMainWindow(parent), + open_action(new QAction("Open", this)), + about_action(new QAction("About", this)), + quit_action(new QAction("Quit", this)) + { setWindowTitle("fstl"); @@ -22,17 +26,14 @@ Window::Window(QWidget *parent) : canvas = new Canvas(format, this); setCentralWidget(canvas); - open_action = new QAction("Open", this); open_action->setShortcut(QKeySequence::Open); QObject::connect(open_action, &QAction::triggered, this, &Window::on_open); - quit_action = new QAction("Quit", this); quit_action->setShortcut(QKeySequence::Quit); QObject::connect(quit_action, &QAction::triggered, this, &Window::close); - about_action = new QAction("About", this); QObject::connect(about_action, &QAction::triggered, this, &Window::on_about); @@ -68,6 +69,16 @@ void Window::on_about() " style=\"color: #93a1a1;\">matt.j.keeter@gmail.com

"); } +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; @@ -76,7 +87,7 @@ 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); @@ -84,14 +95,14 @@ bool Window::load_stl(const QString& filename) 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();