X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fwindow.cpp;h=a3c94d06cea48488abc8b66c67974ce8fee5a196;hb=9803286d2661f0a0b089352a2a50a920b4457a52;hp=280dad5fb70747fd498b98936c45a17d81e37f73;hpb=907a76b4adfdaa36db28bb1b780f3074a0abbdcf;p=fstl diff --git a/src/window.cpp b/src/window.cpp index 280dad5..a3c94d0 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -11,7 +11,7 @@ Window::Window(QWidget *parent) : { setWindowTitle("fstl"); - QFile styleFile( ":/style.qss" ); + QFile styleFile(":/qt/style.qss"); styleFile.open( QFile::ReadOnly ); setStyleSheet(styleFile.readAll()); @@ -24,17 +24,17 @@ Window::Window(QWidget *parent) : open_action = new QAction("Open", this); open_action->setShortcut(QKeySequence::Open); - QObject::connect(open_action, SIGNAL(triggered()), - this, SLOT(on_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, SIGNAL(triggered()), - this, SLOT(close())); + QObject::connect(quit_action, &QAction::triggered, + this, &Window::close); about_action = new QAction("About", this); - QObject::connect(about_action, SIGNAL(triggered()), - this, SLOT(on_about())); + QObject::connect(about_action, &QAction::triggered, + this, &Window::on_about); auto file_menu = menuBar()->addMenu("File"); file_menu->addAction(open_action); @@ -58,38 +58,39 @@ void Window::on_open() void Window::on_about() { - QMessageBox::about(this, "", "

fstl

" - "

A fast viewer for .stl files.
" - "https://github.com/mkeeter/fstl

" - "

© 2014 Matthew Keeter
" - "matt.j.keeter@gmail.com

"); + QMessageBox::about(this, "", + "

fstl

" + "

A fast viewer for .stl files.
" + "https://github.com/mkeeter/fstl

" + "

© 2014 Matthew Keeter
" + "matt.j.keeter@gmail.com

"); } - -void Window::enable_open_action() +bool Window::load_stl(const QString& filename) { - open_action->setEnabled(true); -} + if (!open_action->isEnabled()) return false; + canvas->set_status("Loading " + filename); -void Window::disable_open_action() -{ - open_action->setEnabled(false); -} + 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); -void Window::load_stl(const QString &filename) -{ - Loader* loader = new Loader(this, filename); - connect(loader, SIGNAL(started()), - this, SLOT(disable_open_action())); - connect(loader, SIGNAL(got_mesh(Mesh*)), - canvas, SLOT(load_mesh(Mesh*))); - connect(loader, SIGNAL(finished()), - loader, SLOT(deleteLater())); - connect(loader, SIGNAL(finished()), - this, SLOT(enable_open_action())); - connect(loader, SIGNAL(loaded_file(QString)), - this, SLOT(setWindowTitle(QString))); loader->start(); + return true; }