Code Monkey home page Code Monkey logo

harbour-books's People

Contributors

1zgp avatar atlochowski avatar carlosgonz0 avatar dashinfantry avatar eson57 avatar monich avatar p4moedo avatar rabauke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

harbour-books's Issues

Permacrashing because of an epub

Hi. Thank you for working on Books, I am very happy to be able to use it to read epubs on my phone.

I tried to load an epub file (you can download it here: click on the "down" arrow on the left, select "epub", full document, tick the box and click "download"). Importing it in the library was fine but actually attempting to read it made Books crash. I tried to reboot my phone (Xperia X with Sailfish) and reinstall Books but nothing worked, and now I can't even start Books anymore.

I can provide logs if you want - just tell me how to get them.

Again, thank you for all the time you spent working on Books, I'm very grateful!

Bookmark & go to page

Could you add bookmark and go to page? Moving in a large book (5000+ pages) is not handy using the slider.

Support links

Links in EPUB books are rendered like links but don't work.

Allow locking/preventing specific rotations

I prefer to read the books in normal mode (text is correct way when the led points to me) and when I turn a little books think that I want to be in horizontal mode, which I dislike. It would be nice if there was option for locking specific rotations or only using some of the 4 possible rotations.

search books in subfolders too

At the moment new books are searched and imported only from the root of the search folders (Downloads, Documents/Books, or Books on sdcard)...
this is somehow related to this #3

Alin

Text search

Need to add search a phrase in text of current book.

FB2 footnotes are not working

They are recognized as active elements but nothing happens if you long-tap them. Footnotes do work in EPUBs though.

Version 1.0.23

[Tablet] update fails

On my Jolla tablet I get since month the notification that there is an update to version 1.0.10.
When I trace journalctl during the update I see this message

Apr 19 22:14:01 Jolla [1547]: [D] Package::InstallTransactionPkgKit::update:198 - void Package::InstallTransactionPkgKit::update(const QString&) "harbour-books;1.0.10-93.1;i486;store" Apr 19 22:14:01 Jolla estart[1127]: [D] DeveloperModeSettingsWorker::onPackageProgressChanged:188 - onPackageProgressChanged: "harbour-books" 49 Apr 19 22:14:01 Jolla estart[1127]: [D] DeveloperModeSettingsWorker::onPackageProgressChanged:188 - onPackageProgressChanged: "harbour-books" 49 Apr 19 22:14:01 Jolla [1547]: [D] Package::InstallTransactionPkgKit::slotTransactionError:377 - void Package::InstallTransactionPkgKit::slotTransactionError(PackageKit::Transaction::Error, const QString&) 13 "There is ....70.1.jolla.i486" Apr 19 22:14:01 Jolla [1547]: [D] Package::InstallTransactionPkgKit::giveUpOrRetry:222 - void Package::InstallTransactionPkgKit::giveUpOrRetry(const QString&) "There is no update candidate for harbour-books-1.0.6-10.70.1.jolla.i486" Apr 19 22:14:01 Jolla estart[1127]: [D] DeveloperModeSettingsWorker::onPackageProgressChanged:188 - onPackageProgressChanged: "harbour-books" 49 Apr 19 22:14:01 Jolla [1547]: [D] Package::InstallTransactionPkgKit::giveUpOrRetry:259 - giving up Apr 19 22:14:01 Jolla estart[1127]: [D] DeveloperModeSettingsWorker::onPackageProgressChanged:188 - onPackageProgressChanged: "harbour-books" 100 Apr 19 22:14:01 Jolla lipstick[690]: [D] displayNotification:311 - Warning: Notification is non-standard, it has both preview summary and preview body but no actions. Remove the preview body or add an action: Store x-j...d not update Books Apr 19 22:14:02 Jolla [1547]: [D] Package::RepositoryTransactionPkgKit::slotWrappedTransactionFailure:306 - Wrapped transaction failed: "There is no update candidate for harbour-books-1.0.6-10.70.1.jolla.i486" Apr 19 22:14:02 Jolla [1547]: [D] Package::InstallTransactionPkgKit::~InstallTransactionPkgKit:43 - deleting InstallTransactionPkgKit

current version is
rpm -qa | grep books harbour-books-1.0.6-10.70.1.jolla.i486

Not sure if the i486 rpm is missing or it's an issue with the store

Change margin size?

Is there a way to change the margin size around the text? Currently, on my Jolla 1, the margins are huge and a lot of screen real estate is lost because of that.

Copy to clipboard

It would be nice to be able to select and copy the text to the clipboard.

Use of tracker to search for files

I know there are already several proposals to modify/improve the scanning of readable documents. As i haven't found this one yet, i wanted to propose the use of sailfishs tracker which scans automatically several folder and can be adjusted manually using the corresponding configuration file if need be.

Table of contents

To navigate through the chapters, program need a table of contents for currently opened book.

error: ‘qt_metatype_id’ is not a member of ‘QMetaTypeId<QList<HarbourTransferMethodInfo> >’

I run into this compile error with Git HEAD. Am I using the wrong Qt version to compile? It's 4.8.7 with me, GCC 4.9.3.

# qmake .
# make
[..]
cd fribidi/ && make -f Makefile 
make[1]: Entering directory '[harbour-books]/fribidi'
make[1]: Nothing to be done for 'first'.
make[1]: Leaving directory '[harbour-books]/fribidi'
cd linebreak/ && make -f Makefile 
make[1]: Entering directory '[harbour-books]/linebreak'
make[1]: Nothing to be done for 'first'.
make[1]: Leaving directory '[harbour-books]/linebreak'
cd fbreader/ && make -f Makefile 
make[1]: Entering directory '[harbour-books]/fbreader'
make[1]: Nothing to be done for 'first'.
make[1]: Leaving directory '[harbour-books]/fbreader'
cd harbour-lib/ && make -f Makefile 
make[1]: Entering directory '[harbour-books]/harbour-lib'
g++ -c -pipe -Wno-unused-parameter -Wno-unused-result -Wno-psabi -O2 -fPIC -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_DECLARATIVE_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4 -Iinclude -I. -o HarbourTransferMethodInfo.o src/HarbourTransferMethodInfo.cpp
In file included from /usr/include/qt4/QtCore/qvariant.h:48:0,
                 from /usr/include/qt4/QtCore/qabstractitemmodel.h:45,
                 from /usr/include/qt4/QtCore/QtCore:4,
                 from /usr/include/qt4/QtDBus/QtDBus:3,
                 from include/HarbourTransferMethodInfo.h:37,
                 from src/HarbourTransferMethodInfo.cpp:33:
/usr/include/qt4/QtCore/qmetatype.h: In instantiation of ‘static int QMetaTypeId2<T>::qt_metatype_id() [with T = QList<HarbourTransferMethodInfo>]’:
/usr/include/qt4/QtCore/qmetatype.h:230:44:   required from ‘int qMetaTypeId(T*) [with T = QList<HarbourTransferMethodInfo>]’
/usr/include/qt4/QtCore/qmetatype.h:243:29:   required from ‘int qRegisterMetaType(T*) [with T = QList<HarbourTransferMethodInfo>]’
/usr/include/qt4/QtDBus/qdbusmetatype.h:88:35:   required from ‘int qDBusRegisterMetaType(T*) [with T = QList<HarbourTransferMethodInfo>]’
src/HarbourTransferMethodInfo.cpp:92:58:   required from here
/usr/include/qt4/QtCore/qmetatype.h:169:80: error: ‘qt_metatype_id’ is not a member of ‘QMetaTypeId<QList<HarbourTransferMethodInfo> >’
     static inline int qt_metatype_id() { return QMetaTypeId<T>::qt_metatype_id(); }
                                                                                ^
/usr/include/qt4/QtCore/qmetatype.h: In static member function ‘static int QMetaTypeId2<T>::qt_metatype_id() [with T = QList<HarbourTransferMethodInfo>]’:
/usr/include/qt4/QtCore/qmetatype.h:169:83: warning: control reaches end of non-void function [-Wreturn-type]
     static inline int qt_metatype_id() { return QMetaTypeId<T>::qt_metatype_id(); }
                                                                                   ^
make[1]: *** [Makefile:298: HarbourTransferMethodInfo.o] Error 1
make[1]: Leaving directory '[harbour-books]/harbour-lib'

Need support for folders

Obviously, users need to be able to organize books into named folders. Rearranging does help a bit but try dragging a book from the very top to the bottom of the list consisting of hundreds of books. One by one. It's not going to be a pleasant experience.

make book loading asynchronous

At the moment when one loads a book needs to wait till all pages are somehow formatted...
make this process asynchronous. Once first page needs to be displayed is ready display it and then continue in background with the rest of loading.

Alin

Support CSS padding

Padding gets overwritten by margins which breaks formatting for some EPUB books.

Renaming the folder breaks the book order

To reproduce:

  1. Enter a subfolder
  2. Long press to enter the edit mode
  3. Rename the folder
  4. Reorder the books
  5. Apply the changes
  6. Go up and then back to this (renamed) folder

The books and subfolders are back in the default order. Also, the cache directory under ~/.local/share/harbour-books is not renamed or removed, it stays there under the old name wasting the space.

Bookmarks broken in SFOS 3.0.3.1

In short, SFOS <3.0.3.1 stores bookmarks in ~/.local/share/harbour-books/internal/sailfish/home (for local storage, haven't tried SD card)
In SFOS >=3.0.3.1, Books stores/expects bookmarks in ~/.local/share/harbour-books/internal/mapper/sailfish-home

A manual copy fixed the issue, but some users may not be able to do that easily.

Reproducible crash: excerpt from log written out by devel-su journalctl -fa

The crash can be caused from book list of the app when trying to open a book and, I think, incidentally hitting invisible but still present Slider.

Aug 18 11:13:02 Pro1 restart[28516]: [D] unknown:0 - "Error: Invalid Font Weight"
Aug 18 11:13:06 Pro1 [11070]: [W] BooksCoverWidget::DefaultImage::retain:122 - Failed to load /usr/share/openrepos-books/data/default-cover.jpg
Aug 18 11:13:06 Pro1 [11070]: [D] onCompleted:291 - BooksDragArea created
Aug 18 11:13:06 Pro1 [11070]: [D] expression for script:272 - Warning: Slider.maximumValue needs to be higher than Slider.minimumValue
Aug 18 11:13:06 Pro1 [11070]: [D] onCompleted:424 - Warning: specifying an object instance for initialPage is sub-optimal - prefer to use a Component
Aug 18 11:13:06 Pro1 invoker[6896]: WARNING: An inactive plugin is misbehaving - tried to show a window!
Aug 18 11:13:06 Pro1 invoker[6896]: WARNING: requestActivate() called for QQuickView(0x438840) which has Qt::WindowDoesNotAcceptFocus set.
Aug 18 11:13:06 Pro1 lipstick[5776]: [W] unknown:0 - WindowPixmapItem does not have a source texture, cover will be dropped..
Aug 18 11:13:06 Pro1 booster-silica-qt5[11130]: [D] unknown:0 - Using Wayland-EGL
Aug 18 11:13:06 Pro1 [11070]: [D] onTriggered:302 - /home/nemo/Documents/Books startup is taking too long
Aug 18 11:13:06 Pro1 mapplauncherd[11130]: SilicaBooster: Initiate asynchronous preload.
Aug 18 11:13:10 Pro1 [11070]: [D] expression for script:272 - Warning: Slider.maximumValue needs to be higher than Slider.minimumValue
Aug 18 11:13:10 Pro1 [11070]: [W] unknown:86 - file:///usr/share/openrepos-books/qml/BooksCoverPage.qml:86:5: QML BookCover: Binding loop detected for property "book"
Aug 18 11:13:14 Pro1 [11070]: [D] expression for script:272 - Warning: Slider.maximumValue needs to be higher than Slider.minimumValue
Aug 18 11:13:16 Pro1 kernel: IRQ5 no longer affine to CPU7
Aug 18 11:13:16 Pro1 kernel: IRQ5 no longer affine to CPU5
Aug 18 11:13:18 Pro1 mapplauncherd[6919]: Boosted process (pid=11070) was terminated due to signal 11
Aug 18 11:13:18 Pro1 invoker[11127]: error: Can't send signal 11 to application [11070]: No such process
Aug 18 11:13:18 Pro1 restart[28516]: [D] unknown:0 - "Error: Invalid Font Weight"

Thank you. Best wishes,
Wikiwide

Special characters don't work

It seems that special characters are not recognized by "Books".
"word&nbsp;word", "word&ndash;word" and "word&mdash;word" are displayed "wordword".
I suppose it's the same for all special characters.

OPDS support

Requested by a user, so somebody is actually using that.

Disable display rotation

Formatting a large book takes some time. I'm currently reading a book, which opens in about 2 mins in Xperia, and more than twice that in Jolla 1.
If I have dynamic display orientation on, accidental turning of the phone may cause a long pause in reading. Therefore I don't use dynamic orientation. And would appreciate the possibility to fix the book direction regardless of the system settings.

Moving back to the top folder is a bit unclear

I recently returned to SailfishOS and had a situation where I had books in the default directory and in a subdirectory (#3 (comment)). When I wanted to switch out of the sub directory, it took me a long time to realize that the button to get out of it was the top left corner simply saying "Sisäinen muisti" ("Internal memory").

I wonder if it could be made somehow more obvious as I figured it out by accident, as swiping left isn't possible and swiping right gives me the SD card.

I think a part of the issue is that the current directory has a 📁 icon and is accent-coloured and difficult to touch (SailfishOS bug on Xperia 10 II?), while above it the top level directory is just the text above.

  • Books 1.0.43-4.1 (from OpenRepos)
  • SailfishOS 4.2.0.21
  • Sony Xperia 10 II

Color-pallet changed in EPUB since update to 1.1.2-1

Since the update to the latest version the colors of the text changed. In 'Dark-mode' this gives some unreadable text with black foreground-color en black background-color.

Before the update:
before update

After the update:
after update

Is it possible to get the old color-pallet back?

Version of software used:

  • Sailfish OS 4.4.0.72
  • harbour-books-1.1.2-1.armv7hl (from Jolla Store. Version from Storeman has the same issues)

Phone used:

  • Sony Xperia XA2

The book is a copyrighted version of the bible. It's an EPUB-file.
I can provide the last part from the page in the screenshot above if this is helpfull:

  <p>
    <span class="verseNum">32 </span>Toen Noach vijfhonderd jaar oud was, verwekte Noach Sem, Cham en Jafeth.</p>
  <div class="notesContainer"><div class="note"><span>5:29 </span><span class="hi-italic">Noach </span><span>- Er is een woordspel tussen de naam Noach ‘rust’ en het Hebreeuwse woord voor ‘troosten’.</span></div></div><div class="notesContainer"><span class="xrefnote"><span class="noteref">a </span><span>Gen. 1:26; 9:6; 1 Kor. 11:7</span></span><span class="xrefnote"><span class="noteref">b </span>
      <span>Gen. 1:26; Matt. 19:4; Mark. 10:6</span>
    </span><span class="xrefnote"><span class="noteref">c </span><span>1 Kron. 1:1</span></span><span class="xrefnote"><span class="noteref">d </span><span>Gen. 4:26</span></span><span class="xrefnote"><span class="noteref">e </span><span>1 Kron. 1:2</span></span><span class="xrefnote"><span class="noteref">f </span><span>1 Kron. 1:3</span></span><span class="xrefnote"><span class="noteref">g </span>
      <span>Judas vs. 14</span>
    </span><span class="xrefnote"><span class="noteref">h </span><span>Hebr. 11:5</span></span><span class="xrefnote"><span class="noteref">i </span><span>2 Kon. 2:11; Hebr. 11:5</span></span></div></div>

Also the style.css:



.ppar { margin: 0em; text-indent: 0.7em;}

h1 {line-height:130%; margin: 0em; padding: 0em;}
h2 {line-height:130%; font-family: sans-serif; font-size: medium; padding: 0em; margin: 0em 0em 0em 0em;}

h3 {color: black; margin-bottom: 0.2em; font-size: 1.2em; font-weight: bold;}
h4 {color: #826557; margin-bottom: 0em; margin-top: 0.5em; font-size: 1em; font-weight: bold; font-style: oblique;}


.x-breakSymbol{margin-left:4em;}
.divineName{font-size: smaller;}
.foreign{font-style: oblique;}
.x-selah{font-style: oblique; color: #8B0000;}
.hi-small-caps{font-size: smaller;}
.hi-italic{font-style: oblique;}
.q-italic{font-style: oblique;}
.poline1{margin-left:1em; text-indent: -0.7em;}
.poline2{margin-left:2em; text-indent: -0.7em;}
.poline3{margin-left:3em; text-indent: -0.7em;}
.poline4{margin-left:4em; text-indent: -0.7em;}
.pogroup{}

.underlined { text-decoration:underline; }

.note{line-height:150%; font-size: .7em; color: navy; font-family: sans-serif; border-top: 1px dashed gray; padding: .2em;}
.noteref{font-size: smaller; color: navy; vertical-align: super; line-height: 0; font-family: serif;}
.notesContainer{margin-top: 2em;}

.xrefnote{line-height:150%; display: inline-block; font-size: .7em; color: black; background-color: #EEEEEE; font-family: sans-serif; padding: .3em; margin: .3em;}
.xrefnote .noteref{font-size: normal;}

.floatNotesContainer{background-color: #f8f0de; width: 30%; clear: right; float: right; font-size: .8em; margin-left: .4em;}

.perNotesContainer{margin-left: 0.5em; padding: 0.3em;}

.smlcaps
{
    font-variant: small-caps;
}

p {
    line-height:150%;
    margin: 0em;
    padding:0em;
}

div {
    line-height:150%;
}

span {
    line-height:150%;    
}

p.pvoorw {
	font-family:Arial,sans-serif;
	margin-top: 1em;
}

.pvolg {
    margin: 0em;
    padding:0em;
}

.sela {   
    display: block;
    text-align: right;
    margin-top: -1.5em;
    margin-left: 2em;
    font-style: oblique;
}

.psaleph {
    margin-top: 1.6em;
    margin-top: .8em;
    text-align: center;
    font-style: oblique;
}

.noSpace {
	margin: 0em;
	padding: 0em;
}

.noSpaceIndent1 {
	margin: 0em;
	margin-left: 1em;
	padding: 0em;
}

.spaceAfter {
	margin: 0em;
	margin-bottom:1em;
	padding: 0em;
}

.spaceAfterIndent {
	margin: 0em;
	margin-left: 1em;
	margin-bottom:1em;
	padding: 0em;
}

.x-continued{text-indent: 0em;}
.blockindent{margin-left: 1em;}

.verseNum{
    font-size: smaller; font-weight: bold; 
    color: #826557;
}

.spreker{margin-bottom: 0em; font-style: oblique; color: #8B0000; font-size: 1em; font-weight: bold;}

.Verse1Box {
	float: left;
}
.Verse1Box .verseNum {
	font-size: 1em;
	margin-right: 0.2em;

}

.verwTekstPrevEl {
	font-size: 0.75em;
	margin: 0em;
	margin-bottom:1em;
	padding: 0em;
	color: #333333;
	font-family: sans-serif;
}

.verwTekstNextEl {
	font-size: 0.75em;
	margin: 0em;
	margin-top: 1em;
	margin-bottom: 0.25em;
	padding: 0em;
	color: #333333;
	font-family: sans-serif;
}

.commentaar{
font-size: 0.8em;
font-family: sans-serif;
background-color: #f8f0de;
padding: 0.3em;
margin-left: 0.5em;
margin-top: 0.3em;
border-bottom-style: solid;
border-bottom-width: 1px;
border-bottom-color:#aaaaaa;
}

.tocgroeptitelL1{margin-right: 1em; font-weight: bold;}
.tocgroeptitelL2 {margin-right: 1em;}
.tocL1container{margin-top: 1em; margin-bottom: 1em;}
.tocL2container{margin-top: 0.5em; }
.tocbooklink{margin-right: 0.4em;}

.chapnavcontainer{font-family: sans-serif; font-size: 1em; padding: 0.5em; margin-bottom: 1em; background-color: #EEEEEE; border-style: solid; border-width: 1px; border-color:#aaaaaa;}

.perikoopnav {}
.perNavChaptCont{margin-bottom: 0.5em; padding-bottom: 0.5em;  border-bottom-style: dotted; border-bottom-width: 1px; border-bottom-color:#aaaaaa;}
.perNavChaptCont div {
	font-size: 1em;
	margin-left: 0.5em;
	margin-top: 0.2em;
	text-indent: -0.5em;
}

.socont{font-size: 0.8em; text-align: center;}

footnotes support

Add a smart way in order to read footnotes: touch the footnote, read the citation, and go back to the text. Many thanks

Feature request: custom fonts

I like the experience of Harbour-books, but I think it could be even better if the user could change the font.

I would like to use OpenDyslexic, but I think an option to change the font in general would be good.

I don't know what this would involve, but as there is fc-cache command in SailfishOS Terminal, I think just having an option to change it from fonts installed on the system might work as the command looks for ~/.fonts and ~/.local/share/fonts judging by fc-cache -v.

Search by title/author

Search is pretty much a must have feature if you have more than a few dozen books in your library.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.