mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
profile: pass dive to DiveHandler
The DiveHandler shows a context menu where a cylinder can be chosen. This indirectly accesses the global displayed_dive variable. Remove this in a step to make the profile reentrant. The code was quite ominous: instead of simply generating the list of cylinders, a global model was reset and then accessed with Qt's cumbersome model/view API. All this trampling over global state can be removed by simply making the function that generates the list globally accessible. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
88c6ce988d
commit
235146a95f
6 changed files with 30 additions and 27 deletions
|
@ -5,10 +5,12 @@
|
|||
#include <QGraphicsPathItem>
|
||||
#include <QElapsedTimer>
|
||||
|
||||
struct dive;
|
||||
|
||||
class DiveHandler : public QObject, public QGraphicsEllipseItem {
|
||||
Q_OBJECT
|
||||
public:
|
||||
DiveHandler();
|
||||
DiveHandler(const struct dive *d);
|
||||
|
||||
protected:
|
||||
void contextMenuEvent(QGraphicsSceneContextMenuEvent *event);
|
||||
|
@ -26,6 +28,7 @@ slots:
|
|||
void selfRemove();
|
||||
void changeGas();
|
||||
private:
|
||||
const struct dive *dive;
|
||||
QElapsedTimer t;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue