<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 07/04/2013 02:27 PM, Troy A.
      Griffitts wrote:<br>
    </div>
    <blockquote cite="mid:51D5E8B9.50302@crosswire.org" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">On 07/04/2013 08:45 PM, Greg Hellings
        wrote:<br>
      </div>
      <blockquote
cite="mid:CAHxvOV+CsWBQs5P4rfFEK-AWGizd1aW6nP_CT0RGH8wQQgCzCg@mail.gmail.com"
        type="cite">
        <div dir="ltr"><br>
          <div class="gmail_extra"><br>
            <br>
            <div class="gmail_quote">On Thu, Jul 4, 2013 at 1:28 PM,
              Troy A. Griffitts <span dir="ltr">&lt;<a
                  moz-do-not-send="true"
                  href="mailto:scribe@crosswire.org" target="_blank">scribe@crosswire.org</a>&gt;</span>
              wrote:<br>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">Not to
                insult anyone-- please don't feel insulted...<br>
                <br>
                But what exactly does basing code off of Bibletime
                instead of SWORD give you? &nbsp;Are any of these things
                worth having in the engine itself?<br>
              </blockquote>
              <div><br>
              </div>
              <div style="">Primarily:</div>
              <div style="">1) Translation between char*/SWBuf and
                QString, plus adding QObject and additional helpers that
                Qt offers. This is quite possibly worth having in the
                engine, but every time I've asked the BibleTime guys if
                they want a minimal Qt-Sword binding in the engine they
                have decided that it is unnecessary for BT's specific
                purposes. I'd still be happy to help get this much
                functionality into the engine if we're going to have now
                3 frontends leveraging Qt.</div>
            </div>
          </div>
        </div>
      </blockquote>
      <br>
      I'm happy to ifdef QT some stuff like:<br>
      <br>
      SWKey::SWKey(const QString &amp;other) : SWKey((const char
      *)other.toUtf8()) {}<br>
      SWBuf::SWBuf(const QString &amp;other) : SWBuf((const char
      *)other.toUtf8()) {}<br>
      <br>
      These two should make things flow mostly transparently Qt and the
      SWORD engine, since SWBuf and SWKey can already cast themselves to
      a const char * and QString can be constructed from a const char
      *.&nbsp; It was simply the const temporaries we count on which would
      have needed these casts, for example:<br>
      <br>
      QString key = "John.3.16";<br>
      <br>
      kjv-&gt;setText(key);<br>
      <br>
      This last line would not have worked because setKey takes a const
      SWKey &amp;.&nbsp; It works seamlessly with a const char * because a
      temporary can be constructed because of the SWKey(const char *)
      c-tor, but there is not currently a SWKey(const QString &amp;) to
      allow a temporary to be constructed from a QString.<br>
      <br>
      <blockquote
cite="mid:CAHxvOV+CsWBQs5P4rfFEK-AWGizd1aW6nP_CT0RGH8wQQgCzCg@mail.gmail.com"
        type="cite">
        <div dir="ltr">
          <div class="gmail_extra">
            <div class="gmail_quote"><br>
              <div style="">2) An improved CLucene search has long been
                something that BibleTime touts - the index covers more
                fields and metadata than Sword's CLucene index.</div>
            </div>
          </div>
        </div>
      </blockquote>
      <br>
      Yes, I've seen the ability to search on 'footnotes' and
      'headings', but didn't feel those were worth adding right now, but
      tried to convince the BT developers to help me modularize the
      search framework to allow a 'search field' plugin mechanism--
      probably simply a new filter type, and set of filters which could
      pull the desired field data from the buffer, then they could add
      plugins for their footnotes and headings and anything else they
      wanted and frontend could choose which fields they wanted to
      include when building indexes.&nbsp; There was no success in that, but
      they simply wanted to re-write basically the exact same code we
      have for building CLucene indexes, but including their additional
      fields.<br>
      <br>
      <br>
      <blockquote
cite="mid:CAHxvOV+CsWBQs5P4rfFEK-AWGizd1aW6nP_CT0RGH8wQQgCzCg@mail.gmail.com"
        type="cite">
        <div dir="ltr">
          <div class="gmail_extra">
            <div class="gmail_quote">
              <div style=""> This is probably worth having, but has been
                summarily rejected by you in the past because there
                would be no way of detecting Old Index vs New Index as
                current indexes are unversioned (why that itself
                couldn't serve as the flag for old vs new following the
                addition of an index version field, I'm not sure).</div>
            </div>
          </div>
        </div>
      </blockquote>
      <br>
      You are mistaken.<br>
      <br>
      <br>
      <blockquote
cite="mid:CAHxvOV+CsWBQs5P4rfFEK-AWGizd1aW6nP_CT0RGH8wQQgCzCg@mail.gmail.com"
        type="cite">
        <div dir="ltr">
          <div class="gmail_extra">
            <div class="gmail_quote">
              <div style=""> You've also given the impression that the
                CLucene indexes are not a high priority for you since
                you have the brute force search available.</div>
            </div>
          </div>
        </div>
      </blockquote>
      <br>
      I use the CLucene indexes all the time.&nbsp; They are great for some
      things.&nbsp; I have tried to convince people that they aren't
      necessary for 90% of searches because our unindexed search of an
      entire Bible is optimized to return results in under a few seconds
      on most hardware (probably including most mobile handsets these
      days).<br>
      <br>
      <br>
      <blockquote
cite="mid:CAHxvOV+CsWBQs5P4rfFEK-AWGizd1aW6nP_CT0RGH8wQQgCzCg@mail.gmail.com"
        type="cite">
        <div dir="ltr">
          <div class="gmail_extra">
            <div class="gmail_quote">
              <div style=""><br>
              </div>
              <div style="">3) An entirely rewritten set of OSIS
                filters, at the very least. Whether these are better or
                not, I have no opinion of, although I have found
                BibleTime's filters more understandable.</div>
            </div>
          </div>
        </div>
      </blockquote>
      <br>
      Yes, but re-written isn't necessarily a feature.&nbsp; We add support
      for new things all the time in our filters.&nbsp; Are the Bibletime
      filters updated as well?&nbsp; Again, this is important to me: I would
      love for all the projects which render to HTML to agree on what
      they would like to see as the HTML output from the filters and
      work together on the new XHTML filter set in the engine so we can
      all share in each other's improvements.<br>
      <br>
      <blockquote type="cite">
        <div style="">4) Potentially reusable widgets in some places,
          for common functionality like the Install Manager, where a
          redesign may or may not be necessary for some of it.</div>
        <div style=""><br>
        </div>
      </blockquote>
      <br>
      Yes, resusable GUI components are useful but not something I think
      we would put into the engine.&nbsp; Maybe a 'contrib/qt folder?<br>
      <br>
      <br>
      On 07/04/2013 09:35 PM, Gary Holmlund wrote:<br>
      <br>
      <blockquote type="cite">I am definitely leveraging BibleTime
        backend code to install works</blockquote>
      <br>
      So, a Qt UI using the SWORD InstallMgr facility?&nbsp; This is good but
      falls under #4 from Greg, above.<br>
    </blockquote>
    I am not using the Qt install UI from BibleTime. I am using the Qt
    Models that essentially wrap the installation information up so it
    can be used by various Qt UI widgets or QML. There is also thread
    management I am using during the install.<br>
    <blockquote cite="mid:51D5E8B9.50302@crosswire.org" type="cite"> <br>
      <blockquote type="cite"> and the config system for dealing with
        user preferences.</blockquote>
      <br>
      Is this different than SWConfig?&nbsp; Probably using a QSettings?&nbsp; How
      is this different than just using stock SWConfig or QSettings?&nbsp;
      Does it remember common things the user might store for SWORD,
      like which option filters are turned on? and then reset them when
      the app starts back up?&nbsp; This could possibly be useful in the
      engine, though I would guess most frontend developers would want
      to micromanage this and also have more than what we might decide
      to track in the engine.&nbsp; Not sure we could come to some consensus
      for a useful implementation projects would adopt.<br>
    </blockquote>
    I am talking about a layer above QSettings. It manages sessions
    which include things like opening windows to the same locations and
    references as when BibleTime was last used. The user can also save
    or restore sessions. It also handles fonts and fonts sizes for each
    language and is integrated with the filters that render the html. It
    also handles keyboard shortcuts, previous search terms, etc. It
    would be to specific for sword functionality.<br>
    <blockquote cite="mid:51D5E8B9.50302@crosswire.org" type="cite"> <br>
      <br>
      <blockquote type="cite"> The filters also provide parallel viewing
        of passages in a single window.</blockquote>
      <br>
      This would be nice to have: a display class which could produce
      parallel HTML for multiple modules.<br>
      <br>
      <br>
      <blockquote type="cite"> The fact that the BibleTime backend
        converts to QString, etc. is a big savings for a Qt app.<br>
      </blockquote>
      <br>
      Greg also mentioned this above.&nbsp; Would the additions I mention
      help?<br>
    </blockquote>
    Greg has more experience with the interface to sword. Perhaps he
    will comment on this.<br>
    <blockquote cite="mid:51D5E8B9.50302@crosswire.org" type="cite"> <br>
      <br>
      Thanks for the comments Greg and Gary!<br>
      <br>
      <br>
      Troy<br>
      <br>
      Troy<br>
      <br>
      <br>
      <blockquote
cite="mid:CAHxvOV+CsWBQs5P4rfFEK-AWGizd1aW6nP_CT0RGH8wQQgCzCg@mail.gmail.com"
        type="cite">
        <div dir="ltr">
          <div class="gmail_extra">
            <div class="gmail_quote"><br>
              <div style=""> Those are just some of the things I know of
                that could be leveraged, in addition to having the
                differences of opinion and strategy you talk about
                below.</div>
              <div style=""><br>
              </div>
              <div style="">--Greg</div>
              <div style=""><br>
              </div>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br>
                I have looked at the backend 'wrappers' in Bibletime
                around SWORD a few years back and I was disappointed for
                a number of reasons-- and so as not to insult anyone--
                primarily because they didn't add any value at all, but
                only 'shielded' developers from using the engine
                directly.<br>
                <br>
                I have no idea if this is still the case. &nbsp;I get the
                impression that Bibletime, itself, has been re-written a
                number of times and I'm guessing this includes the
                'backend' wrappers as well.<br>
                <br>
                My hope is that if there are any features that are
                usable by multiple frontend, then we should add these
                into the engine, if it makes sense. &nbsp;Again, in an
                attempt to stop this thread from becoming a defense of
                the Bibletime code or a defense of a 'methodology for an
                API interface (e.g., stateful vs. stateless container
                classes) and from degrading into insulting each other, I
                have not commented on the quality of the Bibletime code.
                &nbsp;I am simply stating that I don't know what<br>
                <br>
                * solid, additional features *<br>
                <br>
                are gained from using the Bibletime base for starting a
                new frontend instead of the SWORD code directly, and if
                there are any, can we add these into the engine?<span
                  class="HOEnZb"><font color="#888888"><br>
                    <br>
                    <br>
                    Troy</font></span>
                <div class="HOEnZb">
                  <div class="h5"><br>
                    <br>
                    <br>
                    <br>
                    On 07/04/2013 08:17 PM, Israel wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      Great!! &nbsp;I will post the git page (to the uBible
                      Developers) if you want me too, or you can head
                      over to<br>
                      <a moz-do-not-send="true"
                        href="https://github.com/uBible/uBible/issues/1"
                        target="_blank">https://github.com/uBible/uBible/issues/1</a><br>
                      and post the info yourself if you want.<br>
                      We have been discussing using Bible Time's backend
                      because @Mark Trompell &nbsp;suggested it.<br>
                      You can e-mail me off list if you'd like, or post
                      on the Github page...<br>
                      <br>
                      <br>
                      On Thu, 04 Jul 2013 09:22:17 -0700<br>
                      Gary Holmlund &lt;<a moz-do-not-send="true"
                        href="mailto:gary.holmlund@gmail.com"
                        target="_blank">gary.holmlund@gmail.com</a>&gt;
                      wrote:<br>
                      <br>
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex"> I am currently working
                        on a second frontend for BibleTime that uses
                        QML.<br>
                        It is a work in progress and I have some basic
                        features up and working.<br>
                        Bibles, Commentaries, and Books can be read in
                        multiple windows. The<br>
                        windows can be tabbed or split views of the
                        screen. The install process<br>
                        for bibles, etc. is working.<br>
                        <br>
                        It requires Qt &nbsp;5.1 and compiles on linux
                        (ubuntu, fedora, etc.). I am<br>
                        looking into cross compiling onto android right
                        now. Qt is not making<br>
                        this easy because they don't support cmake
                        builds for android.<br>
                        <br>
                        I have it in a private git repository right now,
                        but expect to put it<br>
                        into the main BibleTime git repository soon.
                        Help with this would be<br>
                        welcome.<br>
                        <br>
                        Gary Holmlund<br>
                        <a moz-do-not-send="true"
                          href="mailto:gary.holmlund@gmail.com"
                          target="_blank">gary.holmlund@gmail.com</a><br>
                        <br>
                        <br>
                        On 07/04/2013 06:25 AM, Israel wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0
                          0 0 .8ex;border-left:1px #ccc
                          solid;padding-left:1ex"> It uses QML, so it is
                          part of Qt. &nbsp;I will bring this up to the
                          others<br>
                          and see what they think about it all.<br>
                          It may be a good idea. &nbsp;Anyhow we are
                          designing an interface at the<br>
                          moment to get the features we want, using what
                          capabilities QML has,<br>
                          and designing it to be fully integrated with
                          the Ubuntu Touch<br>
                          ecosystem. &nbsp;There are some things about using
                          Bible Time that may make<br>
                          this<br>
                          hard, but there very well may be some things
                          we might be able to utilize.<br>
                          Thanks!<br>
                          <br>
                          On 07/04/2013 12:15 AM, Mark Trompell wrote:<br>
                          <blockquote class="gmail_quote"
                            style="margin:0 0 0 .8ex;border-left:1px
                            #ccc solid;padding-left:1ex"> On Thu, Jul 4,
                            2013 at 2:04 AM, Israel &lt;<a
                              moz-do-not-send="true"
                              href="mailto:israeldahl@gmail.com"
                              target="_blank">israeldahl@gmail.com</a>&gt;

                            wrote:<br>
                            <blockquote class="gmail_quote"
                              style="margin:0 0 0 .8ex;border-left:1px
                              #ccc solid;padding-left:1ex"> Hi everyone,<br>
                              There are a few of us who have banded
                              together to start work on a<br>
                              Ubuntu<br>
                              Touch SWORD app. &nbsp;Is anyone else working
                              on one?<br>
                            </blockquote>
                            AFAIK Ubuntu touch uses qt, so maybe just
                            another UI Frontent to<br>
                            bibletime would do fine,<br>
                            with the advantage of being easily portable
                            to mer/nemo/sailfish(jolla).<br>
                            <br>
                            <blockquote class="gmail_quote"
                              style="margin:0 0 0 .8ex;border-left:1px
                              #ccc solid;padding-left:1ex"> If anyone is
                              interested please join us on github.<br>
                              <a moz-do-not-send="true"
                                href="https://github.com/uBible"
                                target="_blank">https://github.com/uBible</a><br>
                              We are currently in the process of working
                              out the beginning<br>
                              details, such<br>
                              as UI setup, features, etc....<br>
                              May the Lord Jesus bless you all!<br>
                              <br>
                              -- <br>
                              Regards<br>
                              <br>
                              <br>
_______________________________________________<br>
                              sword-devel mailing list: <a
                                moz-do-not-send="true"
                                href="mailto:sword-devel@crosswire.org"
                                target="_blank">sword-devel@crosswire.org</a><br>
                              <a moz-do-not-send="true"
                                href="http://www.crosswire.org/mailman/listinfo/sword-devel"
                                target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
                              Instructions to unsubscribe/change your
                              settings at above page<br>
                            </blockquote>
                            <br>
                          </blockquote>
                          <br>
                        </blockquote>
                        <br>
                        _______________________________________________<br>
                        sword-devel mailing list: <a
                          moz-do-not-send="true"
                          href="mailto:sword-devel@crosswire.org"
                          target="_blank">sword-devel@crosswire.org</a><br>
                        <a moz-do-not-send="true"
                          href="http://www.crosswire.org/mailman/listinfo/sword-devel"
                          target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
                        Instructions to unsubscribe/change your settings
                        at above page<br>
                      </blockquote>
                      <br>
                    </blockquote>
                    <br>
                    <br>
                    _______________________________________________<br>
                    sword-devel mailing list: <a moz-do-not-send="true"
                      href="mailto:sword-devel@crosswire.org"
                      target="_blank">sword-devel@crosswire.org</a><br>
                    <a moz-do-not-send="true"
                      href="http://www.crosswire.org/mailman/listinfo/sword-devel"
                      target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
                    Instructions to unsubscribe/change your settings at
                    above page<br>
                  </div>
                </div>
              </blockquote>
            </div>
            <br>
          </div>
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
sword-devel mailing list: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
    </blockquote>
    <br>
  </body>
</html>