logic: file associations for Mac and opening project files via Mac OS

* hide start screen when opening with project file
* added project icon file to bundle and file type association to plist
* listen for file open events from double click or drag and drop
* fixed crashes in window handling
This commit is contained in:
Eberhard Graether
2016-02-02 13:20:05 +01:00
parent 29a70b8f70
commit 3cbafa6456
18 changed files with 183 additions and 40 deletions
+30
View File
@@ -0,0 +1,30 @@
#include "qt/QtApplication.h"
#include <QFileOpenEvent>
#include "utility/file/FilePath.h"
#include "utility/messaging/type/MessageLoadProject.h"
QtApplication::QtApplication(int& argc, char** argv)
: QApplication(argc, argv)
{
}
// responds to FileOpenEvent specific for Mac
bool QtApplication::event(QEvent *event)
{
if (event->type() == QEvent::FileOpen)
{
QFileOpenEvent* fileEvent = dynamic_cast<QFileOpenEvent*>(event);
FilePath path(fileEvent->file().toStdString());
if (path.exists() && path.extension() == ".coatiproject")
{
MessageLoadProject(path.str(), false).dispatch();
return true;
}
}
return QApplication::event(event);
}