[bt-devel] Bible Application for Mobile Devices

Gary Holmlund gary.holmlund at gmail.com
Thu Jul 11 14:08:02 MST 2013


On 7/11/2013 8:22 AM, ????? ?????? wrote:
> 2013/7/11 Gary Holmlund <gary.holmlund at gmail.com 
> <mailto:gary.holmlund at gmail.com>>
>
>     I have been working on a second frontend for BibleTime. I am
>     calling it BibleTime Mobile. One of the main goals of it is to run
>     on various mobile devices. I have been looking at Android for the
>     first device. It is written in c++ and QML using Qt 5.1. I have
>     put together some information about it on the BibleTime Wiki.
>     (http://devel.bibletime.info/wiki/BibleTime_Mobile). It is checked
>     into the same repository as desktop BibleTime.  I believe that
>     work on the BibleTime backend is very useful for both a desktop
>     and an mobile frontend. So, a secondary goal is to keep the mobile
>     effort in sync with the desktop work.
>
> Before this point i was not interested  keep Mini-dev-tree  synced 
> with BibleTime, because as far as i know it is still in refactoring 
> cycle. When i had ported Mini to new platform i was very sensitive to 
> any changes in core, there are some ifdef-s that are required for some 
> platforms. After Mini will be released i would freely go to HEAD 
> BibleTime revesion.
I believe that having the application be in the same repository as the 
rest of BibleTime will make it relatively easy to keep in sync. The 
refactoring is generally not affecting interfaces between the backend 
and frontend. The backend code that deals with directory locations is 
platform dependent, but we can add the platforms that are needed. All of 
this means that there will not have to be a big resync someday to take 
advantage of new BibleTime backend code.
>
> Provide simple and beautiful but powerful application on as much 
> devices as possible is my goal, be useful to as much efforts as 
> possible - also. I would like to share some portion of code with 
> BibleTime: i have some models, have cool listview control, i would 
> like to improve some Core parts: rendering pipeline for parallel 
> display and correct per-entry display, install manager would be better 
> too, for now can't remember all.
These are goals that I would agree are good. I would be interested in 
what you are doing with the listview control. BibleTime backend 
rendering essentially handles the parallel display of modules.
>
>
> For example i need powerful bookshelftree model for install manager, i 
> would like to add there remoteRepository item and abiblty to add 
> several install sources. SOmething like this:
>
> BtBookShelfTreeModel installModel(Grouping("language/category/module"));
> installModel.setModel(CSwordBackend::instance()->model());
> installModel.addInstallSource(crosswire);
> installModel.addInstallSource(crosswire_avraw);
> installModel.addInstallSource(xiphos);
>
> then i will be able to get modules for particular language and use 
> this in standard views, sort and get module update status. This would 
> be useful for BibleTime too.
In BibleTime Mobile I have written an install manager that makes use of 
the existing BibleTime backend BtBookShelfModel. It can download the 
list of 10 or so sources that desktop BibleTime can also download. It 
downloads this list and refreshes the modules of all of the sources with 
a single button press. The UI is written in QML and is quite easy to use.
>
>
> I found in wiki that you going to remove all references on QWidgets 
> from BibleTime Core. Are both those technologies incompatible? Can i 
> make custom control for QML app?
With Qt 4, the QML (Quick 1.1) and QWidgets can co-exist. In Qt 5 they 
introduced QML (Quick 2.0). It cannot co-exist with QWidgets. The Quick 
1.1 is scheduled to be removed in Qt 5.2 due out later this year. The Qt 
for Android library does not have any QWidgets in it.

QML is meant for building custom controls. The install manager I wrote 
is an example.

The things in BibleTime backend that refer to QWidgets should be very 
easy to fix. One example is the function to load Icons is located in a 
frontend file that is derived from QWidget, but it is called from the 
backend. The icon function just needs to be moved to a location in the 
backend.
>
>
>     Both the BibleTime Mini group and a second group that is looking
>     at a Ubuntu Touch application have expressed interest in
>     discussing this further. I am interested and am opening the
>     discussion with this message.
>
>     Gary Holmlund
>
Gary


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/bt-devel/attachments/20130711/8575cea8/attachment.html>


More information about the bt-devel mailing list