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
+4 -1
View File
@@ -12,8 +12,9 @@
#include "PublicKey.h"
#include "qt/utility/utilityQt.h"
#include "settings/ApplicationSettings.h"
#include "utility/file/FilePath.h"
#include "utility/AppPath.h"
#include "utility/file/FilePath.h"
#include "utility/messaging/type/MessageEnteredLicense.h"
#include "utility/ResourcePaths.h"
QtLicense::QtLicense(QWidget *parent)
@@ -152,6 +153,8 @@ void QtLicense::handleUpdateButtonPress()
FilePath p(appLocation);
appSettings->setLicenseCheck(license.hashLocation(p.absolute().str()));
appSettings->save();
MessageEnteredLicense().dispatch();
}
else
{
+3 -5
View File
@@ -62,8 +62,6 @@ bool MouseReleaseFilter::eventFilter(QObject* obj, QEvent* event)
{
QMouseEvent* mouseEvent = dynamic_cast<QMouseEvent*>(event);
if (mouseEvent->button() == m_backButton)
{
MessageUndo().dispatch();
@@ -82,7 +80,6 @@ bool MouseReleaseFilter::eventFilter(QObject* obj, QEvent* event)
MouseWheelFilter::MouseWheelFilter(QObject* parent)
: QObject(parent)
{
}
bool MouseWheelFilter::eventFilter(QObject* obj, QEvent* event)
@@ -106,6 +103,7 @@ bool MouseWheelFilter::eventFilter(QObject* obj, QEvent* event)
return QObject::eventFilter(obj, event);
}
QtMainWindow::QtMainWindow()
: m_showDockWidgetTitleBars(true)
{
@@ -300,9 +298,9 @@ void QtMainWindow::popWindow()
void QtMainWindow::clearWindows()
{
if (m_windowStack.size())
for (QWidget* window : m_windowStack)
{
m_windowStack.back()->hide();
window->hide();
}
m_windowStack.clear();
+1
View File
@@ -63,6 +63,7 @@ protected:
bool eventFilter(QObject* obj, QEvent* event);
};
class QtMainWindow
: public QMainWindow
{