Compare commits

..

2 commits

Author SHA1 Message Date
Matt Keeter
5a38a2db97 Allow dropping of files onto window 2014-03-26 21:51:58 -04:00
Matt Keeter
d9301bbba0 Fix double-click to open .stl on windows 2014-03-26 21:50:47 -04:00
3 changed files with 24 additions and 1 deletions

View file

@ -8,7 +8,10 @@ App::App(int argc, char *argv[]) :
QApplication(argc, argv), window(new Window())
{
window->show();
window->load_stl(":gl/sphere.stl");
if (argc > 1)
window->load_stl(argv[1]);
else
window->load_stl(":gl/sphere.stl");
}
bool App::event(QEvent* e)

View file

@ -14,6 +14,7 @@ Window::Window(QWidget *parent) :
{
setWindowTitle("fstl");
setAcceptDrops(true);
QFile styleFile(":/qt/style.qss");
styleFile.open( QFile::ReadOnly );
@ -128,3 +129,18 @@ bool Window::load_stl(const QString& filename)
loader->start();
return true;
}
void Window::dragEnterEvent(QDragEnterEvent *event)
{
if (event->mimeData()->hasUrls())
{
auto urls = event->mimeData()->urls();
if (urls.size() == 1 && urls.front().path().endsWith(".stl"))
event->acceptProposedAction();
}
}
void Window::dropEvent(QDropEvent *event)
{
load_stl(event->mimeData()->urls().front().toLocalFile());
}

View file

@ -12,6 +12,10 @@ public:
explicit Window(QWidget* parent=0);
bool load_stl(const QString& filename);
protected:
void dragEnterEvent(QDragEnterEvent* event);
void dropEvent(QDropEvent* event);
public slots:
void on_open();
void on_about();