<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2013/7/12 Gary Holmlund <span dir="ltr"><<a 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">
<div text="#000000" bgcolor="#FFFFFF"><div class="im">
<div>On 7/11/2013 8:22 AM, ëÏÓÔÑ íÁÓÌÀË
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">2013/7/11 Gary Holmlund <span dir="ltr"><<a 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 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></div>
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><br></div></blockquote><div>Yes, but sometimes i need to sync only my own work (my home and work machines), and not to be affected by other commits. I don't know git well enough. <br>
<br>By the way, is there way merge branch in bibletime/mini (separate project) on Gitorious with master branch of BibleTime, so BibleTime commits will be automatically applied and merged with my modifications?<br><br>Anyway after some time of thinking i found that i'm ready to completely re-wright Mini, this is not at first time (first - when Qt was ported on Windows Mobile, second when i decided to use MVC pattern in Qt). Maybe not right now, but if it would unite efforts or bring the general profit.<br>
</div><div>š</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><div class="im"><blockquote type="cite"><div dir="ltr">
<div class="gmail_extra"><div class="gmail_quote"><div>
</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></div>
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></div></blockquote><div><br></div><div>I would like to build BTM, but encountered with thatš QtCreator 2.7.2 can't import CMake project (it fails when looking for QtCore5.dll not in right place). I'm on windows7x64, have you any clue how i can be built?<br>
<br></div><div>BtMiniView is derived from QAbstractItemView, if really QWidget can't be used in QML application i must find way to work it in both QWidgets and QML. Main features are that it can layout tree models and plain models one of them is sword-module-model, that consist of all the module entries, and is limited to only render current visible entries. I found that it is more comfortable to scroll and do not encounter with any bound as opposed modern method to layout chapter and to follow next chapter when user pull&throw at the bottom of chapter. Another feature is threaded text retrieving, so application is always responsive while it gets data from Sword (changes to BtCore are also applied because some data corruption was occurred).<br>
<br></div><div>I'm only do not know how it would be better to use threads, make them in View or make them in Model and then notify view to re-layout item when data will be retrieved from Sword.<br><br><br></div><div>Yes Bt have parallel display, but it is not take into consideration different v11ns, i'm currently work on implementation and found that it would require some changes in BibleTime or maybe its better to have parallel display functionality in Sowrd, because mapping logic is not so trivial. Currently solution for windows is built (link in another thread) and for Android (at <a href="http://bibletimemini.sf.net/">http://bibletimemini.sf.net/</a> - Files - Rc1 - 0.9.5 version).<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"><div text="#000000" bgcolor="#FFFFFF"><div class="im">
<blockquote 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></div>
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 descktop BibleTime can also
download. It downloads this list and refreshes the modules of all of
the soures with a single button press. The UI is written in QML and
is quite easy to use. <br><br></div></blockquote><div>I'm using BtBookshelfTreeModel, but found that i need more. Currently i can't combine several BtBookShelfModel-s and group them by language. Simply i need this feature, can someone provide me info on how to make this right, so this work can be included in BibleTime repo?<br>
</div><div>š</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><div class="im"><blockquote type="cite"><div dir="ltr">
<div class="gmail_extra"><div class="gmail_quote"><div>
</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></div>
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></div></blockquote><div><br></div><div>Can't agree with the last statement, or maybe i do not understand something. I'm writing on QWidgets for Android.<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">
<div text="#000000" bgcolor="#FFFFFF">
<br>
QML is meant for building custom controls. The install manager I
wrote is an example.<br></div></blockquote><div><br></div><div>I need to build it, can't understand here.<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">
<div text="#000000" bgcolor="#FFFFFF">
<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.<div class="im"><br>
<blockquote 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></div><span class=""><font color="#888888">
Gary<br>
<br>
<br>
</font></span></div>
<br>_______________________________________________<br>
bt-devel mailing list<br>
<a href="mailto:bt-devel@crosswire.org">bt-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/bt-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/bt-devel</a><br>
<br></blockquote></div><br></div></div>