Fwd: Fwd: Re: Subsurface mobile downloadfromdivecomputer

Willem Ferguson willemferguson at zoology.up.ac.za
Tue Apr 26 00:28:03 PDT 2016


Tomaz,

I do not know whether you received this mail.
I sent this on Apr 22nd and on 24th.

Kind regards,
willem


-------- Forwarded Message --------
From: 	42 2016 <>
X-Mozilla-Status: 	0001
X-Mozilla-Status2: 	00800000
X-Mozilla-Keys: 	
Subject: 	Fwd: Re: Subsurface mobile downloadfromdivecomputer
Reply-To: 	willemferguson at zoology.up.ac.za
References: 	<571A631D.6040309 at zoology.up.ac.za>
To: 	Tomaz Canabrava <tcanabrava at kde.org>
From: 	Willem Ferguson <willemferguson at zoology.up.ac.za>
Organization: 	University of Pretoria
X-Forwarded-Message-Id: 	<571A631D.6040309 at zoology.up.ac.za>
Message-ID: 	<571C877A.7000901 at zoology.up.ac.za>
Date: 	Sun, 24 Apr 2016 10:44:42 +0200
User-Agent: 	Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 
Thunderbird/38.5.1
MIME-Version: 	1.0
In-Reply-To: 	<571A631D.6040309 at zoology.up.ac.za>
Content-Type: 	multipart/alternative; 
boundary="------------080004010703080806000900"




Tomaz,
I do not know whether you received this mail.
Kind regards,
willem


-------- Forwarded Message --------
From: 	02 2016 <>
X-Mozilla-Status: 	0001
X-Mozilla-Status2: 	00800000
X-Mozilla-Keys: 	
Reply-To: 	willemferguson at zoology.up.ac.za
Subject: 	Re: Subsurface mobile downloadfromdivecomputer
References: 	<571A2BB5.1010205 at zoology.up.ac.za> 
<CACk01_y362=c54_ogsPksbfOd7xYpUgMOiUvXqqo+JJamAjM6Q at mail.gmail.com>
To: 	Tomaz Canabrava <tcanabrava at kde.org>
Cc: 	Subsurface Mailing List <subsurface at subsurface-divelog.org>
From: 	Willem Ferguson <willemferguson at zoology.up.ac.za>
Organization: 	University of Pretoria
Message-ID: 	<571A631D.6040309 at zoology.up.ac.za>
Date: 	Fri, 22 Apr 2016 19:45:01 +0200
User-Agent: 	Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 
Thunderbird/38.5.1
MIME-Version: 	1.0
In-Reply-To: 
<CACk01_y362=c54_ogsPksbfOd7xYpUgMOiUvXqqo+JJamAjM6Q at mail.gmail.com>
Content-Type: 	multipart/alternative; 
boundary="------------020904010100000309070704"



On 22/04/2016 15:55, Tomaz Canabrava wrote:
>
>
> On Fri, Apr 22, 2016 at 10:48 AM, Willem Ferguson 
> <willemferguson at zoology.up.ac.za> wrote:
>
>
>     I am forced to ask help. I have now spent about three weeks to
>     solve this problem and I am making no headway whatsoever, probably
>     because my understanding is limited. It is setting up the table to
>     display the uploaded dives. I use a TableView to do this. QML
>     creates it and I can set its attributes. Using the widget code in
>     the present downloadfromdivecomputer.cpp, I pass a model to QML.
>     But when I specify the model I get a segfault when executing the
>     mobile code on Fedora. I know which C++ instruction throws the
>     segfault but it does not help very much in this case. I just
>     cannot get QML to accept and make use of the model. An important
>     obstacle is the poor error messaging when working with QML.
>
>     I need someone better qualified than myself to look through the
>     code and tell me where I go wrong. It appears this is a bit of a
>     quieter period in the development cycle. Would any one be prepared
>     to look at it at all? Alternatively, is there a different approach
>     I can take to locate the issue of how QML sees the model?
>
>
> you forgot to send the code. :)
> usually:
>
> - Mark all methods you wanna call with Q_INVOKABLE
> - export the model to the qml engine
> - access it directly via the name that you used.
> send the diff code and I can take a look today
>
>
>     Kind regards,
>     willem
>     ___________
>

Tomaz,
The code was not meant to be attached. Here it is as a Dropbox link, all 
45 MB of it as a tar.gz.

https://www.dropbox.com/sh/nmrzgw10ylq5ii2/AAAX0tbnx97tKQm8wVFzQbb4a?dl=0

The reason is that this is a pretty old version of Subsurface and I do 
not know how to diff an old version in a way that you can easily access it.
Explanation: For downloading, I removed almost all of the code that is 
NOT widget-oriented from desktopwidgets/downloadfromdivecomputer.cpp and 
put it in subsurface-core/downloadmanager.cpp, together with a few 
mobile-oriented methods. download manager.cpp contains three main sections:
Class DiveImportedModel :  The class dealing with displaying downloaded 
dives
Class Downloadmanager:  The class controlling the download process
Class Downloadthread:  The class doing the actual work.

Downloadmanager includes, as a member, DiveImportedModel (see 
downloadfromdivecomputer.h), possibly the crux of the problem. It will 
also include Downloadthread as a member.
The QML interface for the C++ is qt-mobile/qml/DownloadFromDiveComputer.qml.

DownloadFromDiveComputer.qml has, around line 95, two blocks of code 
that are alternatives. One of the two code blocks needs to be commented out.
If one compiles the mobile code with code block A commented out, the 
code compiles and runs on Linux (I use F23). When it runs, you can, 
within Subsurface-mobile do:
Select main menu on left
Select Manage dives
Select Download dives

In the bottom half of the screen is an empty table but with appropriate 
headings. This is where the downloaded dives are shown after download. 
The class DiveImportedModel controls this table. I wish to replace code 
block B with the simple instruction comprising code block A.

Now disable Code block B and enable code block A.
The program crashes upon launching.

The crash is caused by line 67 in 
subsurface/subsurface-mobile-helper.cpp 
(setContextProperty(downloadhelper.....)

Any advice will really be appreciated.

Kind regards,
willem

















-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20160426/e3768532/attachment.html>


More information about the subsurface mailing list