Disable open when load is in progress

This commit is contained in:
Matt Keeter 2014-03-07 11:30:18 -06:00
parent 26a0a6eaf2
commit 4ec6bf9f95
2 changed files with 24 additions and 2 deletions

View file

@ -17,12 +17,12 @@ Window::Window(QWidget *parent) :
canvas = new Canvas(format, this);
setCentralWidget(canvas);
QAction* open_action = new QAction("Open", this);
open_action = new QAction("Open", this);
open_action->setShortcut(QKeySequence::Open);
QObject::connect(open_action, SIGNAL(triggered()),
this, SLOT(on_open()));
QAction* quit_action = new QAction("Quit", this);
quit_action = new QAction("Quit", this);
quit_action->setShortcut(QKeySequence::Quit);
QObject::connect(quit_action, SIGNAL(triggered()),
this, SLOT(close()));
@ -44,12 +44,29 @@ void Window::on_open()
}
}
void Window::enable_open_action()
{
open_action->setEnabled(true);
}
void Window::disable_open_action()
{
open_action->setEnabled(false);
}
void Window::load_stl(const QString &filename)
{
disable_open_action();
Loader* loader = new Loader(this, filename);
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()));
loader->start();
}

View file

@ -14,8 +14,13 @@ public:
public slots:
void on_open();
void disable_open_action();
void enable_open_action();
private:
QAction* open_action;
QAction* quit_action;
Canvas* canvas;
};