<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 7/11/2013 8:22 AM, Костя Маслюк
wrote:<br>
</div>
<blockquote
cite="mid:CAPOzG3mmKk4mTDptcgrwzYRYgqjOJdb7FH29XOw9FvcQMS3jqA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">2013/7/11 Gary Holmlund <span
dir="ltr"><<a moz-do-not-send="true"
href="mailto:gary.holmlund@gmail.com" target="_blank">gary.holmlund@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
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. (<a
moz-do-not-send="true"
href="http://devel.bibletime.info/wiki/BibleTime_Mobile"
target="_blank">http://devel.bibletime.info/wiki/BibleTime_Mobile</a>).
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.<br>
<br>
</blockquote>
<div>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.<br>
</div>
</div>
</div>
</div>
</blockquote>
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. <br>
<blockquote
cite="mid:CAPOzG3mmKk4mTDptcgrwzYRYgqjOJdb7FH29XOw9FvcQMS3jqA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>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.<br>
</div>
</div>
</div>
</div>
</blockquote>
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. <br>
<blockquote
cite="mid:CAPOzG3mmKk4mTDptcgrwzYRYgqjOJdb7FH29XOw9FvcQMS3jqA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div>
</div>
<div><br>
<br>
</div>
<div>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:<br>
<br>
</div>
<div>BtBookShelfTreeModel
installModel(Grouping("language/category/module"));<br>
</div>
<div>installModel.setModel(CSwordBackend::instance()->model());<br>
</div>
<div>installModel.addInstallSource(crosswire);<br>
installModel.addInstallSource(crosswire_avraw);<br>
installModel.addInstallSource(xiphos);<br>
<br>
</div>
<div>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.<br>
</div>
</div>
</div>
</div>
</blockquote>
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. <br>
<blockquote
cite="mid:CAPOzG3mmKk4mTDptcgrwzYRYgqjOJdb7FH29XOw9FvcQMS3jqA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div>
<br>
</div>
<div><br>
</div>
<div>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?<br>
</div>
</div>
</div>
</div>
</blockquote>
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. <br>
<br>
QML is meant for building custom controls. The install manager I
wrote is an example.<br>
<br>
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.<br>
<blockquote
cite="mid:CAPOzG3mmKk4mTDptcgrwzYRYgqjOJdb7FH29XOw9FvcQMS3jqA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
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.<br>
<br>
Gary Holmlund<br>
</blockquote>
</div>
</div>
</div>
</blockquote>
Gary<br>
<br>
<br>
</body>
</html>