1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-07-29 18:04:24 +02:00

Open map files passed as program arguments

closes #327
This commit is contained in:
2020-12-06 19:17:09 +01:00
parent 07fa377e38
commit 10e1b5c4fb
5 changed files with 110 additions and 82 deletions

View File

@ -16,6 +16,7 @@
#include "opengl.h"
#include "gui.h"
#include "settings.h"
#include "mapaction.h"
#include "app.h"
@ -79,8 +80,17 @@ int App::run()
_gui->show();
QStringList args(arguments());
for (int i = 1; i < args.count(); i++)
_gui->openFile(args.at(i));
for (int i = 1; i < args.count(); i++) {
if (!_gui->openFile(args.at(i), true)) {
MapAction *a;
if (!_gui->loadMap(args.at(i), a, true))
_gui->openFile(args.at(i), false);
else {
if (a)
a->trigger();
}
}
}
return exec();
}
@ -89,6 +99,19 @@ bool App::event(QEvent *event)
{
if (event->type() == QEvent::FileOpen) {
QFileOpenEvent *e = static_cast<QFileOpenEvent *>(event);
if (!_gui->openFile(e->file(), true)) {
MapAction *a;
if (!_gui->loadMap(e->file(), a, true))
return _gui->openFile(e->file(), false);
else {
if (a)
a->trigger();
return true;
}
} else
return true;
return _gui->openFile(e->file());
}