Giter VIP home page Giter VIP logo

fbreader's Introduction

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.

fbreader's People

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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fbreader's Issues

Search dialog labels

The Search dialog has labels like 'In w&hole text'; those & do nothing on this platform.

Implement brightness control

  1. New option in Preferences menu (variants: screen always on, on for 30,60,120,etc seconds)
  2. Control brightness from BookTextView screen (may be in android-fbreader style, on left part of screen)

Have MeeGo interface always inverted

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.

Implement swipe scrolling

Swipe scrolling should leaf through the book's pages. Vertical or horizontal swipe should be used depending on preferences.

Back button behavoiur in file tree

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.

Add 'Show Menu' action

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)

Segfault on exit

FBReader segfaults instead of exiting cleanly after you close the window.

Write new help files for all languages

  • information about all format supporting
  • remove "to turn page swipe screen" string from help (if it won't be implemeted to release date)
  • fix help about activating menu (thre's written that tapzone is bottom-center part)

Clear and configurable tap zones for page turning

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.

Book info dialog hangup

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.

Implement simple Search Dialog (FBReaderJ-like style)

  1. One field for text (NO options like "search in whole text", "ignore case" and "Backward")
  2. Popup window at bottom of screen, with 3 buttons: "prev", "close" and "next" (with easy-to-understand icons insteand of text)

Selection Dialogs don't display in PR 1.1

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.

'Open File' does nothing

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: {

Hide menu/exit buttons on start

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.

Waiting icon during long network operations

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.

Speed up book loading

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.

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.