add dive implementation pushed
Henrik Brautaset Aronsen
subsurface at henrik.synth.no
Sat Sep 21 02:56:41 UTC 2013
Dirk Hohndel wrote:
> This uses part of the planner widget to allow the user to actually
> create a profile for their dive.
Cool! Some issues:
(1) when I double click one of the nodes on the graph, I'm unable to
exit that dialog (see http://imgbin.org/images/15123.png) or save the dive.
(2) I think there's too many nodes on the graph, the user will have to
move too many of them. Not user friendly. So:
- either add an initial dialog where the dive depth can be entered,
and the graph can be created after that
- or (my favorite) just create *two* nodes, with a fairly square graph
(3) I got a "ASSERT failure in QVector<T>::at: "index out of range",
file /opt/local/include/QtCore/qvector.h, line 351" when trying to edit
the first node, with a subsequent crash. Haven't been able to reproduce
it, but still...:
0 libsystem_kernel.dylib 0x00007fff9892d212 __pthread_kill + 10
1 libsystem_c.dylib 0x00007fff9030ab24 pthread_kill + 90
2 libsystem_c.dylib 0x00007fff9034ef61 abort + 143
3 QtCore 0x000000010be8ba9a
qt_message_output(QtMsgType, char const*) + 154
4 QtCore 0x000000010be8bd55
qt_message(QtMsgType, char const*, __va_list_tag*) + 405
5 QtCore 0x000000010be8b64f qFatal(char
const*, ...) + 159
6 subsurface 0x00000001091e6897
QVector<divedatapoint>::at(int) const + 83 (qvector.h:351)
7 subsurface 0x00000001091cd49f
DivePlannerPointsModel::at(int) + 59 (diveplanner.cpp:1120)
8 subsurface 0x00000001091d7285
DivePlannerGraphics::moveActiveHandler(QPointF const&, int) + 49
(diveplanner.cpp:552)
9 subsurface 0x00000001091d7c34
DivePlannerGraphics::mouseMoveEvent(QMouseEvent*) + 2056
(diveplanner.cpp:536)
(4) The graph symbols at the top left and bottom right are still
unintuitive and fairly ugly. (ref. that screenshot in (1))
(5) The graph can become messed up after moving the nodes (see
http://imgbin.org/images/15125.png)
(6) A node can be moved before time=0, and subsurface crashes when
trying to save that dive (see http://imgbin.org/images/15126.png):
0 subsurface 0x00000001038b178e
MainTab::acceptChanges() + 4022 (maintab.cpp:401)
1 subsurface 0x000000010399435c
MainTab::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) +
224 (maintab.moc.cpp:79)
2 QtCore 0x00000001067390f9
QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2265
3 QtGui 0x0000000105c700bd
QDialogButtonBoxPrivate::_q_handleButtonClicked() + 253
4 QtGui 0x0000000105c7083d
QDialogButtonBox::qt_static_metacall(QObject*, QMetaObject::Call, int,
void**) + 125
5 QtCore 0x00000001067390f9
QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2265
6 QtGui 0x0000000105ed9c60
QAbstractButton::clicked(bool) + 64
7 QtGui 0x0000000105c41dd2
QAbstractButtonPrivate::emitClicked() + 50
8 QtGui 0x0000000105c41c72
QAbstractButtonPrivate::click() + 226
9 QtGui 0x0000000105c428d9
QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 89
10 QtGui 0x000000010595ef44
QWidget::event(QEvent*) + 308
11 QtGui 0x0000000105c427fd
QAbstractButton::event(QEvent*) + 205
12 QtGui 0x0000000105cd5ac1
QPushButton::event(QEvent*) + 177
13 QtGui 0x000000010591220f
QApplicationPrivate::notify_helper(QObject*, QEvent*) + 255
14 QtGui 0x0000000105913f9d
QApplication::notify(QObject*, QEvent*) + 2749
15 QtCore 0x0000000106722041
QCoreApplication::notifyInternal(QObject*, QEvent*) + 113
16 QtGui 0x0000000105912b5e
QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*,
QWidget*, QWidget**, QPointer<QWidget>&, bool) + 446
17 QtGui 0x00000001058c3821
qt_mac_handleMouseEvent(NSEvent*, QEvent::Type, Qt::MouseButton,
QWidget*, bool) + 1025
18 com.apple.AppKit 0x00007fff91cde5d6 -[NSWindow
sendEvent:] + 7053
19 QtGui 0x00000001058bb1de -[QCocoaWindow
sendEvent:] + 110
20 com.apple.AppKit 0x00007fff91cda644 -[NSApplication
sendEvent:] + 5761
21 QtGui 0x00000001058bfdae
-[QNSApplication sendEvent:] + 78
22 com.apple.AppKit 0x00007fff91bf021a -[NSApplication
run] + 636
23 QtGui 0x00000001058c8963
QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) +
1219
24 QtCore 0x000000010671f5b5
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 501
25 QtCore 0x000000010672257e
QCoreApplication::exec() + 206
26 subsurface 0x000000010389d4a9 run_ui() + 9
(qt-gui.cpp:134)
27 subsurface 0x00000001038974f6 main + 1174
(main.cpp:59)
Cheers,
Henrik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.hohndel.org/pipermail/subsurface/attachments/20130921/e626bc2c/attachment.html>
More information about the subsurface
mailing list