<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<div dir="auto" style="direction: ltr; margin: 0; padding: 0; font-family: sans-serif; font-size: 11pt; color: black; ">
Thanks for the feedback, Troy.<br>
</div>
<div dir="auto" style="direction: ltr; margin: 0; padding: 0; font-family: sans-serif; font-size: 11pt; color: black; ">
> but nothing I type does anything<br>
</div>
<div dir="auto" style="direction: ltr; margin: 0; padding: 0; font-family: sans-serif; font-size: 11pt; color: black; ">
Try clicking in the text area before typing. This is something that I need to fix. (I had the text box auto-focused for a while but I thought that I could simplify the method used. I was wrong.)<br>
<br>
</div>
<div dir="auto" style="direction: ltr; margin: 0; padding: 0; font-family: sans-serif; font-size: 11pt; color: black; ">
I'll check out the patches tomorrow. <span id="ms-outlook-android-cursor"></span><br>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> sword-devel <sword-devel-bounces@crosswire.org> on behalf of Troy A. Griffitts <scribe@crosswire.org><br>
<b>Sent:</b> Sunday, December 27, 2020 3:44:36 PM<br>
<b>To:</b> sword-devel@crosswire.org <sword-devel@crosswire.org><br>
<b>Subject:</b> Re: [sword-devel] TotalReqall</font>
<div> </div>
</div>
<div>
<p>Thank you, Loren! Merry Christmas!</p>
<p>So, my experience with a Fedora box:</p>
<p>Cloning the repository and following your instructions to compile...</p>
<p>I first needed to install cmake... That was obvious, but then was failing to find "module ECM."</p>
<p>Doing some searching around, I found that ECM = extra cmake modules, and sure enough there was fedora package by that name, which got me past that one.</p>
<p>I then needed to learn about all the qt and "KF5" packages I aneeded to install. These seemed to do the trick but I was still getting this error even when passing -DTTS_ENABLED=OFF:</p>
<p>CMake Warning at CMakeLists.txt:30 (find_package): Found package configuration file: /usr/lib64/cmake/Qt5/Qt5Config.cmake but it set Qt5_FOUND to FALSE so package "Qt5" is considered to be NOT FOUND. Reason given by package: Failed to find Qt5 component
"TextToSpeech" config file at "/usr/lib64/cmake/Qt5TextToSpeech/Qt5TextToSpeechConfig.cmake" So, anyway, I figured I would just install the tts package. This package seemed to do the trick: qt5-qtspeech-devel</p>
<p>At this point, I could run from the 'build' subfolder, cmake -DTTS_ENABLED=OFF ..</p>
<p>Here is the final dependency install command which worked for me on a Fedora 33 box:</p>
<p>dnf install cmake extra-cmake-modules qt5-qtbase-devel kf5-ki18n-devel kf5-kxmlgui-devel qt5-qtspeech-devel
</p>
<p>On to cmake --build .</p>
<p>This failed for me because it did not add link libraries for any of the SWORD dependencies.</p>
<p>I then added this patch to the CMakefile.txt which uses pkg-config to get SWORD dependencies:</p>
<p>------------------------------- </p>
<p>diff --git a/CMakeLists.txt b/CMakeLists.txt index bb246fa..0d8efac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,8 @@ include(FeatureSummary) option(TTS_ENABLED "Compile with text-to-speech support" ON) +find_package(PkgConfig REQUIRED)
+pkg_check_modules(SWORD REQUIRED IMPORTED_TARGET sword) find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui Widgets LinguistTools) find_package(sword REQUIRED) find_package(KF5 ${KF5_DEP_VERSION} @@ -60,6 +62,7 @@ target_link_libraries(totalreqall
KF5::CoreAddons KF5::XmlGui KF5::I18n + PkgConfig::SWORD ) if(TTS_ENABLED) </p>
<p>---------------------------- </p>
<p>I then had a totalreqall/build/bin/totalreqall binary! Wooohoooo!</p>
<p>So, running the app, I received:</p>
<p>"Choose what to memorize," I picked "Bible verse".</p>
<p>I then chose John 3:16-21 KJV, which showed the text correctly in the memo box.</p>
<p>Then when I pressed "Memorize verse," I received:</p>
<p>ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/include/qt5/QtCore/qlist.h, line 579 Aborted (core dumped)
</p>
<p>Having a brief look, this patch keeps split[j + 1] inbounds.</p>
<p>------------------------------------</p>
<p>diff --git a/src/MemorizeWidget.cpp b/src/MemorizeWidget.cpp index 542560a..60fef5a 100644 --- a/src/MemorizeWidget.cpp +++ b/src/MemorizeWidget.cpp @@ -234,7 +234,7 @@ MemorizeWidget::MemorizeWidget(QString memorizeContent, QWidget *parent) QString sep
= "\n"; QStringList split = m_content.at(i).split(sep); m_content.removeAt(i); - for (int j = 0; j < split.size(); ++j) + for (int j = 0; j < split.size() - 1; ++j) { if (split[j].size() < settings->chunkSize() && QString(split[j] + split[j + 1]).size() <
settings->chunkSize()) {</p>
<p>----------------------------------</p>
<p>Now when I press "Memorize verse," it doesn't, but doesn't show any text in the next screen.</p>
<p>I then changed to a single verse: John 3:16-16. When I now press "Memorize verse," I get the text of the verse greyed out on the next screen, but I didn't know what to do. I read in the README on your github that I am suppose to type the first letter of
each word... but nothing I type does anything.</p>
<p>I am excited for your work! I hope this gives some helpful feedback!</p>
<p>Blessings in your work,</p>
<p>Troy</p>
<p></p>
<p></p>
<div class="x_moz-cite-prefix">On 12/26/20 5:00 PM, Loren Burkholder wrote:<br>
</div>
<blockquote type="cite">
<meta name="qrichtext" content="1">
<style type="text/css">
<!--
p, li
{white-space:pre-wrap}
-->
</style>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
As a (belated) Christmas gift, I'd like to present to all of you my app that I build using Sword: TotalReqall (<a href="https://invent.kde.org/utilities/totalreqall"><span style="text-decoration:underline; color:#315bef">https://invent.kde.org/utilities/totalreqall</span></a>).
It's a general-purpose app for memorizing chunks of data (which can be anything from the Bible to a poem to the manpage for clang). It uses Sword for accessing Bible verses in various translations, which is a huge step up from the original method of accessing
a text file of the KJV. I've been working on a TTS feature as well. Items can be saved for later access. They are saved in a human-readable JSON file. Soon, I intend to add support for importing and exporting saved items.</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
TotalReqall is built with Qt, but it's also built with the KDE frameworks since it is becoming an official KDE app. (The back story on this: I was reading an article about KDE and was inspired to merge my app into KDE, since I am a KDE user.)</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
Building TotalReqall requires Qt 5 (6 has not been tested), KDE Frameworks, and Sword.</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
Questions, comments, and contributions are welcome.</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
</p>
<p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; text-indent:0px">
Loren</p>
<br>
<fieldset class="x_mimeAttachmentHeader"></fieldset>
<pre class="x_moz-quote-pre">_______________________________________________
sword-devel mailing list: <a class="x_moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="x_moz-txt-link-freetext" href="http://crosswire.org/mailman/listinfo/sword-devel">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
</div>
</body>
</html>