Commit graph

279 commits

Author SHA1 Message Date
Slava Monich
e1b87d528b
Merge pull request #44 from 1Zgp/patch-1
[app] Updated Hungarian translations
2018-05-18 11:26:25 +03:00
1Zgp
a1fc2c3354
Update harbour-books-hu.ts 2018-05-18 08:12:03 +03:00
Åke Engelbrektson
d823075f96
Update harbour-books-sv.ts
Translated new strings
2018-05-18 06:30:25 +02:00
Slava Monich
cfcb0b7fbc [app] Set target thread for HashTask 2018-05-17 20:15:29 +03:00
Slava Monich
6c62bad2a7 [app] Added settings UI for keepDisplayOn option
New strings are only translated to English, Finnish and Russian.
Help is needed to translate them to other languages.
2018-05-17 11:52:04 +03:00
Slava Monich
3ccc36e335 [app] Added keepDisplayOn option 2018-05-16 23:55:43 +03:00
Slava Monich
57801ed140 [app] Dropped BooksTask in favor of HarbourTask 2018-05-16 18:27:12 +03:00
Slava Monich
b78201060b [app] Fixed a few memory leaks 2018-05-06 02:02:15 +03:00
Slava Monich
12eb3919dc [app] Added openrepos variant 2018-04-27 01:06:15 +03:00
Slava Monich
5cd1036db7 [app] Added translations for the app grid label (es, hu, nl) 2018-02-26 17:43:41 +02:00
Slava Monich
c8f643d8e3 [app] Fixed compatibility with Sailfish OS < 2.1.0
Notification object didn't have the "icon" property until Sailfish OS 2.1.0.
Its presense needs to be checked at run time.
2018-02-26 17:39:30 +02:00
Slava Monich
7822f05631 [app] Added Hungarian translations to the build 2018-02-18 20:35:02 +02:00
1Zgp
0545fc6312 [app] Create harbour-books-hu.ts
Hungarian translation for Books.
2018-02-18 20:32:49 +02:00
Slava Monich
8e9def08eb [app] One more place where currentPageChanged should be emitted 2018-02-10 20:26:08 +03:00
Slava Monich
fb23764d9c [app] Use separate task queue for the hashing task 2018-02-04 13:11:07 +03:00
Slava Monich
9e9d954722 [app] UI tweaks 2018-02-04 13:09:08 +03:00
Slava Monich
fec438e494 [app] When renaming the folder, rename the config/cache directory too 2018-02-04 11:55:16 +03:00
Slava Monich
bf38202e31 [app] Added missing BooksStorage::fullConfigPath implementation 2018-02-04 11:14:22 +03:00
Slava Monich
28a814dd26 [app] Handle the case if hash can't be stored as fs attr (e.g. SD-card)
Assume that the hash from page marks file is correct and verify it
later when the file hash gets recalculated.
2018-02-02 11:51:32 +03:00
Slava Monich
01987a8fa5
Merge pull request #37 from p4moedo/master
Spanish (es) translation
2018-02-02 01:35:39 +03:00
Slava Monich
76b1e20e1a [app] BooksUtil::computeFileHash should take const BooksTask pointer
And so should BooksUtil::computeFileHashAndSetAttr
2018-02-02 01:11:23 +03:00
p4moedo
eb105f7f9d
Added Spanish (es) translation 2018-02-01 22:45:13 +01:00
p4moedo
0ff9832450
Create harbour-books-es.ts
Spanish (es) translation
2018-02-01 22:44:01 +01:00
Slava Monich
09fc0cbe3e [app] Turned some warnings into debug messages 2018-01-31 15:15:57 +02:00
Slava Monich
7b7f8b9e97 [app] Tweaked the selection background 2018-01-31 15:00:27 +02:00
Slava Monich
f16e0a8a61 Added Dutch translations to the build 2018-01-30 18:28:17 +02:00
d9h20f
f002c8fbe4 Dutch translation 2018-01-30 14:14:57 +01:00
Slava Monich
ee5a949d41 [app] Speed up book loading by caching page marks 2018-01-30 01:41:57 +02:00
Slava Monich
2082fbc09d [app] BooksShelf now automatically moves itself to the main thread
So does BooksBook
2018-01-30 00:28:11 +02:00
Slava Monich
ca38e3cd92 [app] Added hash attribute to BooksBook 2018-01-30 00:27:40 +02:00
Slava Monich
ed219c1af1 [app] Moved hashing utilities to BooksUtil 2018-01-30 00:26:06 +02:00
Slava Monich
26510f1d9e [app] A few BooksTask tweaks
1. Added QThread attribute to the constructor
2. Made isCanceled() public
2018-01-30 00:24:17 +02:00
Slava Monich
4f293dd7ff [app] Added BooksPos::List::fromVariant() and toVariantList()
Also moved BooksPos::fromVariant() and toVariant() to the .cpp file.
They seem to be a bit too large for inline functions.
2018-01-28 02:00:07 +02:00
Slava Monich
209280a3e4 [app] Memory map the book to calculate its hash
It's more efficient
2018-01-27 01:55:36 +02:00
Slava Monich
3325aad1b2 [app] Eliminated unnecessary QML object creation 2018-01-20 13:49:51 +02:00
Slava Monich
feffa61273 [app] Corrected page stack behaviour
It couldn't push the same position that was just popped.

Also, some countChanged signals were not being deferred - it
was probably not intentional, at least I couldn't remember why
it was done like that. Let all countChanged signals be deferred.
2018-01-20 13:36:01 +02:00
Slava Monich
7a7067869d [fbreader] Fixed FB2 footnotes
FB2 reader strips the leading hash sign from href, XHTML wasn't doing it.
Unified their behavior.
2018-01-20 02:43:05 +02:00
Slava Monich
02d86ffa67 [app] Use HarbourPluginLoader from HarbourLib 2017-12-04 01:37:33 +03:00
Slava Monich
f699d3cb34 [app] Added "Copied to clipboard" pop-up notification 2017-12-04 01:24:39 +03:00
Slava Monich
b16f5e986b [app] Provide haptic feedback on entering/leaving selection mode 2017-12-03 16:23:25 +03:00
Slava Monich
2aa3b9e568 [app] Fixed check for null image in setClipboardImage 2017-10-10 00:52:59 +03:00
Slava Monich
2295ebfb7f [app] Added "Select all" pulley menu item to the import view 2017-09-07 23:46:52 +03:00
Slava Monich
89775f269e [app] Implemented text selection (whole words)
The selected text is getting copied to clipboard.
2017-09-07 19:03:17 +03:00
Slava Monich
a48fe1d0e4 [app] Added BooksTask::isStarted() method
Allows the owner of the task to check whether the task has actually
started to execute. This is a one-way flag, not synchronized (and
doesn't need to be).
2017-09-07 18:25:56 +03:00
Slava Monich
a1adc666aa [app] Always use the default clipboard
Also, make sure that the QClipboard methods are invoked on the main thread.
2017-09-07 18:21:08 +03:00
Slava Monich
48cb24f8a1 [app] Fixed the behavior of the position stack
It didn't do the right thing when it reached the depth limit.
2017-09-07 18:10:11 +03:00
Åke Engelbrektson
35d9a674db Update harbour-books-sv.ts 2017-08-09 15:38:46 +02:00
Slava Monich
0e8d758879 Turn pages with volume keys
And allow to configure volume key actions.
2017-08-08 16:19:30 +03:00
Slava Monich
1ca5fb3653 Added UI state with pager but without tools 2017-08-03 21:48:27 +03:00
Slava Monich
bd403f44c9 Hide history controls if there's no history
Also, long-press on the history arrow clears the history
2017-08-03 21:24:03 +03:00
Slava Monich
9ac726c523 Implemented history (position stack)
Allows the user to return back after selecting a cross-page link
2017-08-03 18:48:17 +03:00
Slava Monich
59f49be0c3 Specify slider animation duration in addition to velocity 2017-08-03 18:41:59 +03:00
Slava Monich
8344963cc9 Tweaking tool icons 2017-08-03 16:19:51 +03:00
Slava Monich
d0051015c1 [app] Fixed Qt 5.6 compilation 2017-04-24 13:02:59 +03:00
Slava Monich
4ac2d2a4d6 Reduced verbosity of the debug log 2017-01-29 23:56:23 +02:00
Slava Monich
ca2afa3dec [app] Fixed a problem with generation of .qm files 2017-01-28 18:25:31 +02:00
Slava Monich
77be4b68e8 [app] Workaround for positionViewAtIndex not working for the first time
This is probably a bug in QQuickListView - it first calculates the
item position and then starts instantiating the delegates. The very
first time the item position always turns out to be zero because the
average item size isn't known yet. So if we are trying to position the
list at a non-zero index and instead we got positioned at zero, try it
again.
2016-11-24 20:02:53 +02:00
Slava Monich
32013a8ac5 [app] Added BooksPos::toString() method 2016-11-24 17:49:54 +02:00
Slava Monich
1a8aad3139 [app] Added positionViewAtIndex method to BooksListWatcher
It allows to avoid binding loops
2016-11-24 14:18:59 +02:00
Slava Monich
3ffcd7cdf2 [app] Housekeeping 2016-11-06 21:52:09 +03:00
Slava Monich
3fbe9561be [app] BooksListWatcher should emit sizeChanged when view is assigned 2016-11-02 23:52:40 +03:00
Slava Monich
e3b0e1c453 [app] Support for footnotes 2016-11-02 19:51:34 +03:00
Slava Monich
8169b31531 [app] Fixed the problem with the font size adjustment being ignored
Per-book font size adjustment was essentially ignored until the font
size is changed for the first time.
2016-10-30 01:07:20 +03:00
Åke Engelbrektson
9a9e5a5006 Update harbour-books-sv.ts 2016-10-24 04:57:21 +02:00
Slava Monich
bbeac12891 [app] Tweaking Russian translations 2016-10-23 20:18:59 +03:00
Slava Monich
417bf0371e [app] Made books folder on the memory card configurable 2016-10-23 20:17:40 +03:00
Slava Monich
af9271dff5 [app] Made root directory configurable for removable storage
The dconf entry is /apps/harbour-books/removableRoot
2016-10-23 20:17:13 +03:00
Slava Monich
1d4fdeaea9 [app] Fixed beginResetModel/endInsertRows mismatch in BooksImportModel 2016-10-17 02:02:37 +03:00
Slava Monich
0f492594c7 [app] Slightly refactored BooksSettings
Internal stuff has been moved inside, leaving only interfaces in the header
2016-10-17 00:48:25 +03:00
Slava Monich
caf858b581 [app] Use shared instance of BooksSettings 2016-10-16 23:36:13 +03:00
Slava Monich
55b47f18f2 [app] Took out unused slider code 2016-10-16 22:41:29 +03:00
Slava Monich
b2d01710e8 [app] Support for internal hyperlinks 2016-10-16 20:07:03 +03:00
Slava Monich
cd3194e1a2 [app] Improved link detection
The previous one was detecting any tap after the link within the
paragraph as a tap on the link. That's wrong. You have to hit the
link between its start and the end, otherwise it's a miss.
2016-10-15 13:27:43 +03:00
Slava Monich
01c9f0744b [app] Fixed condition for BooksBookView being interactive 2016-10-15 13:16:06 +03:00
Slava Monich
13c3c73004 [app] Make sure that book path is mixed into the image id
That fixes the problem with different books having images with
the same ids.
2016-10-09 12:50:37 +03:00
Slava Monich
1cdafb5fd0 [app] Tweaking image view transitions 2016-10-08 23:36:28 +03:00
Slava Monich
4c918861d0 [app] Zoom images on long tap 2016-10-08 20:16:08 +03:00
Slava Monich
c15d6b840d [app] Open external links on long tap 2016-10-08 19:41:27 +03:00
Slava Monich
1c7c897909 [app] Housekeeping 2016-10-08 14:55:20 +03:00
Slava Monich
0a42d93e14 [app] Fixed the problem with the initial slider position 2016-10-08 01:09:57 +03:00
Slava Monich
44e40dbb3a [app] Added ~/android_storage/Download to the search path 2016-10-07 19:52:15 +03:00
Slava Monich
d8964ee8b1 [app] Allow to fix orientation 2016-10-07 19:40:18 +03:00
Slava Monich
5be7de14ba [app] Prefixed all string ids with harbour-books- 2016-10-07 18:47:27 +03:00
Slava Monich
833775f0b0 [app] Added settings page 2016-10-07 17:57:08 +03:00
Slava Monich
fd0724aa90 [app] Fixed wrapping of "No books" label 2016-07-27 23:25:20 +03:00
Slava Monich
fcdf92acc5 [app] Even better way to determine screen DPI. 2016-07-27 12:34:15 +03:00
Slava Monich
43d54a8a20 [app] Fixed truncation of long folder names 2016-06-25 00:35:15 +03:00
Slava Monich
ca2f50cb4b [app] Restore current folder at startup 2016-06-23 18:34:13 +03:00
Heiko Bauke
0a4f909b97 fixed wrong language declaration 2016-04-18 14:54:18 +02:00
Heiko Bauke
80750b4f86 fixed double "CONFIG += sailfishapp" 2016-04-18 09:37:30 +02:00
Heiko Bauke
a4b7c45f8b revert changes in habour-books.spec 2016-04-17 02:05:34 +02:00
Heiko Bauke
a319ba6008 German localization 2016-04-16 23:01:17 +02:00
Slava Monich
138e7f2068 [app] Optimize BooksShelfItem
Use Loader to instantiate components on demand
2016-03-16 01:31:33 +02:00
Slava Monich
0220a2c79a [app] Tweaking the "Loading..." screen 2016-02-21 15:13:40 +03:00
Slava Monich
34f8070d8d [app] Fixed OBS build 2016-02-21 14:53:45 +03:00
Slava Monich
40bfd59dc5 [app] Added -d option that turns on built-in fbreader trace
for example, -d epub
2016-02-21 13:48:07 +03:00
Slava Monich
c9ec2cb51e [stubs] Added XML_SetHashSalt stub
It't required to fix the problem created by the fix for CVE-2012-0876
This is a great example of a solution that creates more problems than
it solves.
2015-12-14 12:23:12 +03:00
Slava Monich
e3fc9982c6 [app] Fixed ZLibrary::ourApplicationDirectory
It wasn't pointing where FBReader code was expecting it to point.
Particularly, FBReader wasn't finding format-specific XML entities.
2015-12-14 12:18:22 +03:00
Slava Monich
58d0927e82 [app] Implemented per-book font size
The global font size setting still exists, per-book value is the adjustment
relative to the default value.
2015-12-13 14:46:53 +03:00
Slava Monich
7ab1b72343 [app] Changed "-a" icon alignment 2015-12-12 17:33:24 +03:00
Slava Monich
c95bb79aa2 [app] Tweaking book copy 2015-12-12 12:38:26 +03:00
Slava Monich
84b9b77523 [app] Show progress indicator when copying the book 2015-12-03 01:00:45 +02:00
Slava Monich
272a45279c [app] Preparing to support copying folders 2015-12-02 23:38:16 +02:00
Slava Monich
08c0904a84 [app] Fixed the problem with the initial focus
If the first press isn't ignored by the drag area then the first flick
won't work. The problem has something to do with this drag area as
everything works fine if the drag area is removed. Couldn't figure out
what exactly the problem was and what's wrong with the initial focus,
but this hack makes things work.
2015-12-01 19:10:31 +02:00
Slava Monich
26e651a932 [app] Tweaking BooksShelfView
It doesn't need to be flickable. Also, re-parented BooksDragArea
2015-12-01 19:00:55 +02:00
Slava Monich
2f435649b7 [app] Removed unnecessary slash from the state file name
Doesn't really matter, purely cosmetic change
2015-12-01 18:59:17 +02:00
Slava Monich
34fb489107 [app] Reworked support for folder renaming
The actual renaming is easier to do in BooksShelf rather than BooksPathModel
and it generally makes more sense.

Editing now also starts after long-pressing the title of the current folder.
2015-12-01 00:00:56 +02:00
Slava Monich
9f1261a822 [app] Added BooksSaveTimer::saveNow() method 2015-11-30 23:18:53 +02:00
Slava Monich
a89e489f7a [app] Fixed criteria of a valid folder name 2015-11-30 23:17:43 +02:00
Slava Monich
ed218a6f03 [app] Added translation for "Enter folder name" 2015-11-30 18:29:37 +02:00
Slava Monich
57204d3cc4 [app] Implemented folder renaming 2015-11-30 17:57:27 +02:00
Slava Monich
8a4e131452 [app] Tweaking folder UI 2015-11-29 23:18:09 +02:00
Slava Monich
89f79e2492 [app] Added limited support for folders
UI doesn't allow creating or renaming the folders yet and there's
no easy way to move books between folders, but if folders are there,
they will be shown and the user will be able to navigate between them.

Folders can be deleted though.
2015-11-08 14:20:25 +03:00
Slava Monich
ef19a5c2e7 [app] Better guess at screen DPI 2015-11-05 01:04:55 +03:00
Slava Monich
3ebb82b208 [app] Housekeeping 2015-11-05 01:03:49 +03:00
Slava Monich
98b269d405 [app] Use busy indicator of medium size for bookshelf item 2015-11-05 00:40:29 +03:00
Slava Monich
fe7f81e353 [app] Updated Finnish translation for book-view-formatting 2015-11-03 15:48:28 +03:00
Slava Monich
512c698fd1 [app] Only show the cancel button when actually loading the book 2015-11-03 01:33:58 +03:00
Slava Monich
53f7693ced [app] Workaround for Qt crash
Qt was crashing when user was swiping over hidden cancel button.
Making button invisible helps to avoid the crash.
2015-10-31 00:04:04 +03:00
Slava Monich
312dbff58c [app] Don't mess with the Button width 2015-10-21 13:57:38 +03:00
Slava Monich
01e9c614a0 [app] Fixed the "cancel load" button
Now it disappears after loading is done and becomes compatible with SFOS 1.1.7
2015-10-21 13:38:28 +03:00
Slava Monich
d82564509c [app] Package icons in a different way
Otherwise deployment from QtCreator may fail.
2015-10-21 13:31:48 +03:00
Slava Monich
eda98440cf [app] Added 108x108, 128x128 and 256x256 icons 2015-10-19 16:54:37 +03:00
Slava Monich
1fc46997eb [app] Fixed gcc 4.8 warning "iteration 1u invokes undefined behavior" 2015-10-15 17:24:24 +03:00
Åke Engelbrektson
d91d4c939b Update harbour-books-sv.ts
Correcting translation
2015-09-12 21:24:19 +02:00
Slava Monich
e00e5624f9 [app] Made it easier to cancel book loading
Also, show the book title at the top of the loading screen
2015-09-12 19:37:02 +03:00
Slava Monich
9f7c751e8d [app] Fade truncated title 2015-09-12 19:24:45 +03:00
Slava Monich
63c2ea50a3 [app] Fixed cover model filtering 2015-09-12 16:09:05 +03:00
Slava Monich
7d891bfd45 [app] Set window title 2015-08-26 13:24:51 +03:00
Slava Monich
a56349fe11 [app] Tell the user when we are applying new fonts
"Loading..." message may be misleading as the book is already loaded.
2015-08-24 13:23:24 +03:00
Slava Monich
4dbe01fed0 [app] Removed references to non-existent menu item 2015-08-24 12:27:49 +03:00
Slava Monich
c90983070c [app] Moved font controls from pulley menu to toolbar
Tool icon replaces double-click as the night/day mode switch.
2015-08-23 14:47:25 +03:00
Slava Monich
de7028bf5a [fbreader] Enabled thread-local plain file stream cache 2015-08-21 15:18:07 +03:00
Slava Monich
36a1bcad0c [app] Allow larger fonts 2015-08-21 00:10:42 +03:00
Slava Monich
87ebcecd28 [app] Store the current directory in dconf, not just the mountpoint
This will play better with the folder support when it gets implemented.
2015-08-19 18:18:25 +03:00
Slava Monich
ae06b6f808 [app] Use constants defined by HarbourSystemState 2015-08-19 01:14:42 +03:00
Slava Monich
450156f2b8 [app] Select the last used storage at startup 2015-08-19 00:37:22 +03:00
Slava Monich
033f54492e [app] Use the same cover size in landscape and portrait 2015-08-18 21:06:46 +03:00
Slava Monich
7042dbff79 [app] Set context properties prior to loading QML 2015-08-18 17:37:34 +03:00
Slava Monich
97ce479c50 [fbreader] Added support for text color
Specified with CSS color attribute
2015-08-11 13:53:21 +03:00
Slava Monich
c6e46b94a2 [fbreader] Refactored CSS and XHTML support
This significantly improves EPUB rendering.
2015-08-09 00:54:38 +03:00
Slava Monich
61adf35e4f [app] Tweaked default styles
Particularly, turned off italic for Code
2015-07-29 17:52:58 +03:00
Slava Monich
44a7fe7553 [app] Fixed saving the shelf position for zipped books 2015-07-23 01:30:30 +02:00
Slava Monich
4417e55191 [app] Changed title color to match default cover 2015-07-20 22:48:23 +03:00
Slava Monich
135f196868 [app] Show number of scanned files to entertain the user 2015-07-16 23:51:57 +03:00
Slava Monich
1750361a7b [app] Fixed OBS build 2015-07-16 23:19:39 +03:00
Slava Monich
481d42d616 [app] Store book's MD-5 hash as xattr if the filesystem allows it
This significantly speeds up the process of scanning downloads for
new books. The attribute name is "user.harbour-books.md5-hash"
2015-07-16 00:01:04 +03:00
Slava Monich
b108c25f25 [app] Add support for loading books from compressed files 2015-07-15 22:59:00 +03:00
Slava Monich
dffa24d4e6 [app] Marked translation as finished 2015-07-15 00:05:00 +03:00
Slava Monich
c4960ff232 [app] Tweaked Finnish translation 2015-07-13 11:40:27 +03:00