Use the canonical file name also for the "already open" check
[GPXSee.git] / src / GUI / mapaction.h
blobce9ba9615ab73880aa4daf3d9a5e02db945b3464
1 #ifndef MAPACTION_H
2 #define MAPACTION_H
4 #include <QAction>
5 #include "map/map.h"
7 class MapAction : public QAction
9 Q_OBJECT
11 public:
12 MapAction(Map *map, QObject *parent = 0) : QAction(map->name(), parent)
14 map->setParent(this);
16 setData(QVariant::fromValue(map));
17 setEnabled(map->isReady());
18 setMenuRole(QAction::NoRole);
19 setCheckable(true);
21 connect(map, &Map::mapLoaded, this, &MapAction::mapLoaded);
24 signals:
25 void loaded();
27 private slots:
28 void mapLoaded()
30 Map *map = data().value<Map*>();
31 setEnabled(map->isValid());
32 emit loaded();
36 #endif // MAPACTION_H