geometer / fbreader Goto Github PK
View Code? Open in Web Editor NEWOfficial FBReader C++ project repository
Home Page: http://www.fbreader.org/
Official FBReader C++ project repository
Home Page: http://www.fbreader.org/
This is a very short description of FBReader build procedure. 1. Compiler. All version of FBReader are configured for building on linux desktop computer. You need gcc compiler for building desktop version or cross gcc compiler for building package for another platform. 2. Libraries. FBReader requires ** expat -- library for XML parsing. AFAIK, all popular destributions includes package with name like 'expat-dev' or 'libexpat-dev'. If you cannot find expat in your distribution, please visit http://expat.sourceforge.net ** libz and libbz2 -- libraries for zip and bzip2 (de)compression ** UI library -- this depends on your target platform. For desktop, Qt library, version 3.* or 4.* OR GTK+ library, version >= 2.4 should be installed ** liblinebreak (http://vimgadgets.cvs.sourceforge.net/vimgadgets/common/tools/linebreak/) -- library for line breaking in a Unicode sequence ** libfribidi -- for bidirectional text support ** lincurl, version >= 7.17 -- for network libraries integration ** libsqlite3 ** for win32 version, we use also libpng, libungif, libjpeg and libtiff 3. How to configure. Before building FBReader, you should check (and maybe edit) 2 files: ** makefiles/target.mk In this file you should define 3 variables: TARGET_ARCH -- target platform for building FBReader UI_TYPE -- UI library TARGET_STATUS -- "release", "debug" or "profile". "release" is reasonable choice for almost all users. Possible pairs for TARGET_ARCH + UI_TYPE are: TARGET_ARCH = desktop UI_TYPE = gtk TARGET_ARCH = desktop UI_TYPE = qt TARGET_ARCH = desktop UI_TYPE = qt4 TARGET_ARCH = pepperpad3 UI_TYPE = gtk TARGET_ARCH = zaurus UI_TYPE = qtopia-240x320 TARGET_ARCH = zaurus UI_TYPE = qtopia-640x480 TARGET_ARCH = openzaurus UI_TYPE = opie TARGET_ARCH = openzaurus UI_TYPE = gpe TARGET_ARCH = pdaxrom UI_TYPE = gtk TARGET_ARCH = pdaxrom UI_TYPE = qt TARGET_ARCH = opensimpad-0.9.0 UI_TYPE = opie TARGET_ARCH = maemo UI_TYPE = maemo2 TARGET_ARCH = maemo UI_TYPE = maemo4 TARGET_ARCH = pma400 UI_TYPE = qtopia TARGET_ARCH = moto UI_TYPE = ezx TARGET_ARCH = win32 UI_TYPE = win32 TARGET_ARCH = macosx UI_TYPE = cocoa ** makefiles/arch/$(TARGET_ARCH).mk This file defines compiler name and location, headers and libraries locations, compilation flags, installation path (for desktop), etc. 4. How to build. Just type 'make' in FBReader root directory. (FBReader root directory == directory containing this file.) 5. How to install. If you want to install FBReader on your desktop computer, just run 'make install' as root in FBReader root directory. If you want to create package for another platform, run 'make packages' in FBReader root directory.
The Search dialog has labels like 'In w&hole text'; those & do nothing on this platform.
In Local Library and in Network Library
Currently the MeeGo interface is the default light gray for the toolbar and menu, but when opening the options page it switches to black. Why not just have the entire interface black all the time?
Having
Component.onCompleted: {
theme.inverted = true
}
in Main.qml does the trick, is much less complicated than switching back and forth, is consistent across the entire interface, and I can confirm in PR 1.1 it looks fine. The only issue is the inverted menu background is transparent, but this is a known bug in Qt Components and is fixed upstream.
Swipe scrolling should leaf through the book's pages. Vertical or horizontal swipe should be used depending on preferences.
Size and font should be looks like in soft buttons.
When one has a directory with a large number of subdirectories (e.g. one for each author), it's hard to sequentially explore them, since hitting the '..' item doesn't go back to the previous view -- with the directory you just saw highlighted, but rather jumps to the top of the parent directory.
At lest, for help.
Also, it could be used for calling menu by tap at bottom of the screen (in fullscreen menu, for i.e)
FBReader segfaults instead of exiting cleanly after you close the window.
E.g., 'droid sans'.
Item's size in comboboxes should be larger, like other menu items (for instance, in main menu, library menu).
Sometimes when I accidentally tap near the center of the screen, I can't tell if I went one page up or down -- there's no feedback animation to tell me. And tapping near the bottom of the window is a bit of a hit or miss -- I can't tell when I'll page down, and when I'll make the toolbar appear.
At least, for Symbian^3
I once got seriously lost in the Book Info dialog: after trying to edit the book title with the virtual keyboard, I closed the vkb but the dialog itself did not expand back to full screen size, and the "<" toolbar button did not function. Even more fun: hitting Backspace in the virtual keyboard did not erase a character in the Title input box, but rather went back to the main Book Info menu/list page. Hitting Backspace again repeated the animation but kept returning to the main Book Info page. I was not able to go back to reading the book and had to close FBReader and restart it.
The horizontal position indicator looks a bit out of place, UI-like.
Open File... doesn't sort the files/subdirectories alphabetically.
The new version of qt-components in PR 1.1 (on N950) breaks option dialogs like DialogComboView. Clicking the tumbler button produces no effect. Below is the debug output:
OptionsDialog_QMLTYPE_75(0x7a27f8) ZLQmlDialogContent(name = ""),ZLQmlDialogContent(name = ""),ZLQmlDialogContent(name = ""),ZLQmlDialogContent(name = ""),ZLQmlDialogContent(name = ""),ZLQmlDialogContent(name = "") 6
OptionsDialog_QMLTYPE_75(0x7a27f8) ZLQmlDialogContent(name = "")
:0: Error: Cannot assign to non-existent property "component"
No valid handle to create pixmap from received.
file:///usr/lib/qt4/imports/com/nokia/meego/AbstractMenu.qml:196:9: QML BorderImage: Failed to get image from provider: image://theme/meegotouch-menu-inverted-background
file:///usr/lib/qt4/imports/com/nokia/meego/AbstractMenu.qml:196:9: QML BorderImage: Failed to get image from provider: image://theme/meegotouch-menu-inverted-background
file:///usr/lib/qt4/imports/com/nokia/meego/SelectionDialog.qml:127: TypeError: Result of expression 'root.model' [undefined] is not an object.
file:///usr/lib/qt4/imports/com/nokia/meego/SelectionDialog.qml:127: TypeError: Result of expression 'root.model' [undefined] is not an object.
DialogSpinView ZLQmlSpinOptionView(0x717b70)
onTextChanged
ZLQmlSpinOptionView(0x717b70) 18 18 18
file:///usr/lib/qt4/imports/com/nokia/meego/SelectionDialog.qml:127: TypeError: Result of expression 'root.model' [undefined] is not an object.
file:///usr/lib/qt4/imports/com/nokia/meego/SelectionDialog.qml:127: TypeError: Result of expression 'root.model' [undefined] is not an object.
file:///usr/share/zlibrary/declarative/DialogComboView.qml:91: TypeError: Result of expression 'dialog.model' [undefined] is not an object.
Now it takes so long time to show library, because there's a retrieving and scaling covers of books.
Add large arrows 'up/down' for increase/decrease font size. Instance: for increase/decresae font size in preferences.
Proposed fix (by Marius Gedminas):
// --- /usr/share/zlibrary/declarative/Main.qml.orig
// +++ /usr/share/zlibrary/declarative/Main.qml
// @@ -52,7 +52,7 @@
//
// onFileDialogRequested: {
// var component = Qt.createComponent("OpenFileDialog.qml");
// - rootWindow.openDialog(component.createObject(mainPage, { handler: object }));
// + root.openDialog(component.createObject(mainPage, { handler: object }));
// }
//
// onTreeDialogRequested: {
option for that, placed in 'directories' menu item, is not 'visible' for users now
Example: user read book, and want to manage volume level from our app
Standard menu/exit buttons at bottom (right in horizontal mode) of the screen could be really annoying during long read. Provide option to hide these buttons during reading. This option should be on by default.
Is that really necessary? Even if Qt is already installed on my device?
Sometimes page scrolling by tapping screen works, sometimes it doesn't.
It should be layouted to be in the middle of item (now subtitles are on the bottom of item)
Provide full Russian translation of interface.
I kind of miss kinetic scrolling for the book text.
When I click a catalog item in network library, empty screen is shown for a time. In fact, data are loading in this time, however that is not obvious for user. We have to implement some way to explain to user that catalog loading is in progress.
Android solution is to show a small revolving wheel in right upper corner of the screen. We also have to investigate what solution is consistent with symbian and meego UIs.
From our feedback:
"Search funciton takes me to a separate screen. This is slightly jarring since quite a few apps have split-screen text entry enabled since the Symbian Anna update"
From our feedback:
I have been searching for a ebook reader for my Nokia N8 and discovered FBReader. I have found it to be very good. However the one problem I am having is it is taking 20-30 seconds to load a book. Once loaded everything works fine and is better than anything else I have discovered, however this is a major problem.
Lack of horizontal margins in the Open File... dialog makes it clash with the rest of the platform look & feel.
Provide a way to add custom OPDS catalog to the network library
For i.e., Preferences menu
Sometimes, kinetic scrolling isn't working properly (especially on Symbian^3)
Maybe make text element rectangle larger?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.