mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
When creating the context menu on the profile, the code has to check whether the context menu is activated on the dive computer name to show a special menu (delete / split dive computer). This was done by setting a special property on the item and then checking for that property on the item that the menu is invoked on or its parents. The reason the code didn't simply check the pointer was probably that DiveTextItem uses multiple inheritance: It derives from QObject and QGraphicsItem. It has to derive from QObject first, because (the ridiculously broken) MOC needs it that way. The object added to the scene is a QGraphicsItem. Thus, we get a pointer _into_ the DiveTextItem object. However, that's all completely unnecessary. We can simply compare the pointers, as the compiler will understand that QGraphicsItem is only the second base class of DiveTextItem. Magic! Let's remove the cruft and simply compare the pointers. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> |
||
---|---|---|
.. | ||
animationfunctions.cpp | ||
animationfunctions.h | ||
CMakeLists.txt | ||
divecartesianaxis.cpp | ||
divecartesianaxis.h | ||
diveeventitem.cpp | ||
diveeventitem.h | ||
divehandler.cpp | ||
divehandler.h | ||
divelineitem.cpp | ||
divelineitem.h | ||
divepixmapitem.cpp | ||
divepixmapitem.h | ||
diveprofileitem.cpp | ||
diveprofileitem.h | ||
diverectitem.cpp | ||
diverectitem.h | ||
divetextitem.cpp | ||
divetextitem.h | ||
divetooltipitem.cpp | ||
divetooltipitem.h | ||
profilewidget2.cpp | ||
profilewidget2.h | ||
qmlprofile.cpp | ||
qmlprofile.h | ||
ruleritem.cpp | ||
ruleritem.h | ||
tankitem.cpp | ||
tankitem.h |