Thanks for the feedback, Troy.
>  but nothing I type does anything
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.)

I'll check out the patches tomorrow.
________________________________
From: sword-devel <sword-devel-boun...@crosswire.org> on behalf of Troy A. 
Griffitts <scr...@crosswire.org>
Sent: Sunday, December 27, 2020 3:44:36 PM
To: sword-devel@crosswire.org <sword-devel@crosswire.org>
Subject: Re: [sword-devel] TotalReqall


Thank you, Loren! Merry Christmas!

So, my experience with a Fedora box:

Cloning the repository and following your instructions to compile...

I first needed to install cmake... That was obvious, but then was failing to 
find "module ECM."

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.

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:

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

At this point, I could run from the 'build' subfolder, cmake -DTTS_ENABLED=OFF 
..

Here is the final dependency install command which worked for me on a Fedora 33 
box:

dnf install cmake extra-cmake-modules qt5-qtbase-devel kf5-ki18n-devel 
kf5-kxmlgui-devel qt5-qtspeech-devel

On to cmake --build .

This failed for me because it did not add link libraries for any of the SWORD 
dependencies.

I then added this patch to the CMakefile.txt which uses pkg-config to get SWORD 
dependencies:

-------------------------------

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)

----------------------------

I then had a totalreqall/build/bin/totalreqall binary! Wooohoooo!

So, running the app, I received:

"Choose what to memorize," I picked "Bible verse".

I then chose John 3:16-21 KJV, which showed the text correctly in the memo box.

Then when I pressed "Memorize verse," I received:

ASSERT failure in QList<T>::operator[]: "index out of range", file 
/usr/include/qt5/QtCore/qlist.h, line 579 Aborted (core dumped)

Having a brief look, this patch keeps split[j + 1] inbounds.

------------------------------------

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()) {

----------------------------------

Now when I press "Memorize verse," it doesn't, but doesn't show any text in the 
next screen.

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.

I am excited for your work! I hope this gives some helpful feedback!

Blessings in your work,

Troy

On 12/26/20 5:00 PM, Loren Burkholder wrote:

As a (belated) Christmas gift, I'd like to present to all of you my app that I 
build using Sword: TotalReqall (https://invent.kde.org/utilities/totalreqall). 
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.



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.)



Building TotalReqall requires Qt 5 (6 has not been tested), KDE Frameworks, and 
Sword.



Questions, comments, and contributions are welcome.



Loren



_______________________________________________
sword-devel mailing list: 
sword-devel@crosswire.org<mailto:sword-devel@crosswire.org>
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to