Example #1
0
bool V3DocViewWin::loadSettings( lString16 filename )
{
    _settingsFileName = filename;
    LVStreamRef stream = LVOpenFileStream( filename.c_str(), LVOM_READ );
    if ( stream.isNull() ) {
        _docview->propsUpdateDefaults( _props );
        _docview->propsApply( _props );
        _wm->getScreen()->setFullUpdateInterval(_props->getIntDef(PROP_DISPLAY_FULL_UPDATE_INTERVAL, 1));
        _wm->getScreen()->setTurboUpdateEnabled(_props->getIntDef(PROP_DISPLAY_TURBO_UPDATE_MODE, 0));
        //setAccelerators( _wm->getAccTables().get(lString16("main"), _props) );
        return false;
    }
    if ( _props->loadFromStream( stream.get() ) ) {
        _props->setIntDef(PROP_FILE_PROPS_FONT_SIZE, 26);
        _docview->propsUpdateDefaults( _props );
        _docview->propsApply( _props );
        _wm->getScreen()->setFullUpdateInterval(_props->getIntDef(PROP_DISPLAY_FULL_UPDATE_INTERVAL, 1));
        _wm->getScreen()->setTurboUpdateEnabled(_props->getIntDef(PROP_DISPLAY_TURBO_UPDATE_MODE, 0));
        setAccelerators( _wm->getAccTables().get(lString16("main"), _props) );
        return true;
    }
    _docview->propsUpdateDefaults( _props );
    _docview->propsApply( _props );
    _wm->getScreen()->setFullUpdateInterval(_props->getIntDef(PROP_DISPLAY_FULL_UPDATE_INTERVAL, 1));
    _wm->getScreen()->setTurboUpdateEnabled(_props->getIntDef(PROP_DISPLAY_TURBO_UPDATE_MODE, 0));
    //setAccelerators( _wm->getAccTables().get(lString16("main"), _props) );
    return false;
}
Example #2
0
CRRecentBooksMenu::CRRecentBooksMenu(CRGUIWindowManager * wm, LVDocView * docview, int numItems, lvRect & rc)
    : CRFullScreenMenu( wm, MCMD_MAIN_MENU, lString16(_("Open recent book")), numItems, rc )
{
    docview->savePosition(); // to move current file to top
    LVPtrVector<CRFileHistRecord> & files = docview->getHistory()->getRecords();
    _files = &files;
    // skip Null
    for ( int i=1; i<files.length(); i++ ) {
        CRFileHistRecord * file = files.get( i );
        CRRecentBookMenuItem * item = new CRRecentBookMenuItem( this, i, file );
        addItem( item );
    }
    //_helpText = "Long press 1..8 = set, short press = go to";
    //_helpHeight = 36;
    CRGUIAcceleratorTableRef acc = _wm->getAccTables().get("bookmarks");
    if ( acc.isNull() )
        acc = _wm->getAccTables().get("menu");
    setAccelerators( acc );
    setSkinName(lString16("#bookmarks"));
    lString16 pattern(_("$1 - open book\n$2, $3 - close"));
#ifdef CR_POCKETBOOK
	pattern.replaceParam(1, getCommandKeyName( MCMD_SELECT ));
#else    
    pattern.replaceParam(1, getItemNumberKeysName());
#endif
    pattern.replaceParam(2, getCommandKeyName(MCMD_OK) );
    pattern.replaceParam(3, getCommandKeyName(MCMD_CANCEL) );
    _statusText = pattern;
#ifdef CR_POCKETBOOK
    bmkDialog = this;
#endif
}
Example #3
0
CRCitesMenu::CRCitesMenu(CRGUIWindowManager * wm, LVDocView * docview, int numItems, lvRect & rc)
    : CRFullScreenMenu( wm, MCMD_CITES_LIST, lString16(_("Citations")), numItems, rc )
    , _docview(docview)
{
    CRGUIAcceleratorTableRef acc = _wm->getAccTables().get("bookmarks");
    if ( acc.isNull() )
        acc = _wm->getAccTables().get("menu");
    setAccelerators( acc );
    setSkinName(lString16("#cites-list"), lString16("#bookmarks"));
    int mc = getSkin()->getMinItemCount();
    if ( _pageItems < mc )
        _pageItems = mc;
    CRFileHistRecord * rec = docview->getCurrentFileHistRecord();
    LVPtrVector < CRBookmark > &bookmarks = rec->getBookmarks();
    for ( int i=0; i < bookmarks.length(); i++ ) {
        CRBookmark * bmk = bookmarks[i];
        if (!bmk || ((bmk->getType() != bmkt_comment && bmk->getType() != bmkt_correction)))
            continue;
        ldomXPointer p = docview->getDocument()->createXPointer( bmk->getStartPos() );
        if ( p.isNull() )
            continue;
        int page = docview->getBookmarkPage( p );
        /// get bookmark position text
        if ( page<0 )
            continue;
        CRBookmarkMenuItem * item = new CRBookmarkMenuItem( this, i, bmk, page );
        addItem( item );
    }
#ifdef CR_POCKETBOOK
    citesDialog = this;
#endif
    if (_items.length() == 0)
        createDefaultItem();
}
Example #4
0
void V3DocViewWin::applySettings()
{
    //showWaitIcon();
    CRPropRef delta = _props ^ _newProps;
    CRLog::trace( "applySettings() - %d options changed", delta->getCount() );
    _docview->propsApply( delta );
    _props = _newProps; // | _props;
    _wm->getScreen()->setFullUpdateInterval(_props->getIntDef(PROP_DISPLAY_FULL_UPDATE_INTERVAL, 1));
    setAccelerators( _wm->getAccTables().get(lString16("main"), _props) );
}
Example #5
0
CRScreenKeyboard::CRScreenKeyboard(CRGUIWindowManager * wm, int id, const lString16 & caption, lString16 & buffer, lvRect & rc)
    : CRGUIWindowBase( wm ), _buffer( buffer ), _value( buffer ), _title( caption ), _resultCmd(id), _lastDigit(0)
{
    _passKeysToParent = false;
    _passCommandsToParent = false;
    _rect = rc;
    _fullscreen = false;
    _skin = _wm->getSkin()->getMenuSkin( L"#vkeyboard" );
    //_skin = _wm->getSkin()->getWindowSkin( getSkinName().c_str() );
    setAccelerators( _wm->getAccTables().get("vkeyboard") );
    _cols = 10;
    setLayout( wm->getKeyboardLayouts().getCurrentLayout() );
}
Example #6
0
CRT9Keyboard::CRT9Keyboard(CRGUIWindowManager * wm, CRDocViewWindow * mainwin, int id, lString16 & buffer )
    : BackgroundFitWindow(wm, mainwin)
    , _command( id )
    , _buf( buffer )
    , encoding_(defT5encoding)
    , selector_(*mainwin->getDocView(), encoding_)
{
    _passKeysToParent = false;
    _passCommandsToParent = false;

    //this->setAccelerators( mainwin->getDialogAccelerators() );
    setAccelerators( _wm->getAccTables().get("txkeyboard") );

    _rect = _wm->getScreen()->getRect();
    //_rect.bottom = _rect.top;
    _rect.top = _rect.bottom - 40;
}
Example #7
0
	CiteWindow( CRGUIWindowManager * wm, V3DocViewWin * mainwin) :
		BackgroundFitWindow(wm, mainwin),
		selector_(*mainwin->getDocView()),
		mainwin_(mainwin)
    {
		CRGUIAcceleratorTableRef acc = _wm->getAccTables().get("cite");
		if ( acc.isNull() )
			this->setAccelerators( mainwin->getDialogAccelerators() );
		else
			setAccelerators( acc );
		_rect = _wm->getScreen()->getRect();
		//_rect.bottom = _rect.top;
		_rect.top = _rect.bottom - 40;
        selector_.highlight();
        setDirty();
#ifdef CR_POCKETBOOK
		_itemsCount = 5;
                _selectedIndex = 0;
#endif
	}
Example #8
0
CRBookmarkMenu::CRBookmarkMenu(CRGUIWindowManager * wm, LVDocView * docview, int numItems, lvRect & rc, bool goToMode)
    : CRFullScreenMenu( wm, MCMD_BOOKMARK_LIST, lString16(_("Bookmarks")), numItems, rc )
    , _docview(docview)
{
    CRFileHistRecord * bookmarks = docview->getCurrentFileHistRecord();
    CRGUIAcceleratorTableRef acc = _wm->getAccTables().get("bookmarks");
    if ( acc.isNull() )
        acc = _wm->getAccTables().get("menu");
    setAccelerators( acc );
    setSkinName(lString16("#bookmarks"));
    int mc = getSkin()->getMinItemCount();
    if ( _pageItems < mc )
        _pageItems = mc;
    int n = bookmarks->getLastShortcutBookmark()+1;
    n = (n + _pageItems - 1) / _pageItems * _pageItems;
    int minitems = (MIN_BOOKMARK_ITEMS + _pageItems - 1) / _pageItems * _pageItems;
    if ( n<minitems )
        n = minitems;
    for ( int i=1; i<=n; i++ ) {
        CRBookmark * bm = bookmarks->getShortcutBookmark(i);
        int page = 0;
        if ( bm ) {
            ldomXPointer p = docview->getDocument()->createXPointer( bm->getStartPos() );
            if ( !p.isNull() ) {
                /// get page number by bookmark
                page = docview->getBookmarkPage( p );
                /// get bookmark position text
                if ( page<0 )
                    bm = NULL;
            }
        }
        CRBookmarkMenuItem * item = new CRBookmarkMenuItem( this, i, bm, page );
        addItem( item );
    }
    setMode( goToMode );
#ifdef CR_POCKETBOOK
    bmkDialog = this;
#endif
}
Example #9
0
V3DocViewWin::V3DocViewWin( CRGUIWindowManager * wm, lString16 dataDir )
: CRViewDialog ( wm, lString16(), lString8(), lvRect(), false, false ), _dataDir(dataDir), _loadFileStart(0)
{
    CRLog::trace("V3DocViewWin()");
    LVArray<int> sizes( cr_font_sizes, sizeof(cr_font_sizes)/sizeof(int) );
	_fullscreen = true;
    _docview->setShowCover( true );
    _docview->setFontSizes( sizes, true );
    _docview->setCallback( this );
    _props = LVCreatePropsContainer();
    _newProps = _props;
    // TODO: move skin outside
    //lString16 skinfile = _dataDir;
    //LVAppendPathDelimiter( skinfile );
    //skinfile << L"skin";
    //lString8 s8 = UnicodeToLocal( skinfile );
    //CRLog::debug("Skin file is %s", s8.c_str() );
    //loadSkin( skinfile );

#define BATTERY_HEADER \
        "36 19 5 1", \
        "0 c #000000", \
        "X c #000000", \
        "o c #AAAAAA", \
        ". c #FFFFFF", \
        "  c None",


    LVRefVec<LVImageSource> icons;
    static const char * battery8[] = {
        BATTERY_HEADER
        "   .................................",
        "   .0000000000000000000000000000000.",
        "   .0.............................0.",
        "   .0.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        "....0.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0000.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0000.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        "....0.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        "   .0.XXXXXX.XXXXXX.XXXXXX.XXXXXX.0.",
        "   .0.............................0.",
        "   .0000000000000000000000000000000.",
        "   .................................",
    };
    static const char * battery7[] = {
        BATTERY_HEADER
        "   .................................",
        "   .0000000000000000000000000000000.",
        "   .0.............................0.",
        "   .0.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        "....0.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0000.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        ".0000.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        "....0.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        "   .0.oooooo.XXXXXX.XXXXXX.XXXXXX.0.",
        "   .0.............................0.",
        "   .0000000000000000000000000000000.",
        "   .................................",
    };
    static const char * battery6[] = {
        BATTERY_HEADER
        "   .................................",
        "   .0000000000000000000000000000000.",
        "   .0.............................0.",
        "   .0........XXXXXX.XXXXXX.XXXXXX.0.",
        "....0........XXXXXX.XXXXXX.XXXXXX.0.",
        ".0000........XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0........XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0........XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0........XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0........XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0........XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0........XXXXXX.XXXXXX.XXXXXX.0.",
        ".0..0........XXXXXX.XXXXXX.XXXXXX.0.",
        ".0000........XXXXXX.XXXXXX.XXXXXX.0.",
        "....0........XXXXXX.XXXXXX.XXXXXX.0.",
        "   .0........XXXXXX.XXXXXX.XXXXXX.0.",
        "   .0.............................0.",
        "   .0000000000000000000000000000000.",
        "   .................................",
    };
    static const char * battery5[] = {
        BATTERY_HEADER
        "   .................................",
        "   .0000000000000000000000000000000.",
        "   .0.............................0.",
        "   .0........oooooo.XXXXXX.XXXXXX.0.",
        "....0........oooooo.XXXXXX.XXXXXX.0.",
        ".0000........oooooo.XXXXXX.XXXXXX.0.",
        ".0..0........oooooo.XXXXXX.XXXXXX.0.",
        ".0..0........oooooo.XXXXXX.XXXXXX.0.",
        ".0..0........oooooo.XXXXXX.XXXXXX.0.",
        ".0..0........oooooo.XXXXXX.XXXXXX.0.",
        ".0..0........oooooo.XXXXXX.XXXXXX.0.",
        ".0..0........oooooo.XXXXXX.XXXXXX.0.",
        ".0..0........oooooo.XXXXXX.XXXXXX.0.",
        ".0000........oooooo.XXXXXX.XXXXXX.0.",
        "....0........oooooo.XXXXXX.XXXXXX.0.",
        "   .0........oooooo.XXXXXX.XXXXXX.0.",
        "   .0.............................0.",
        "   .0000000000000000000000000000000.",
        "   .................................",
    };
    static const char * battery4[] = {
        BATTERY_HEADER
        "   .................................",
        "   .0000000000000000000000000000000.",
        "   .0.............................0.",
        "   .0...............XXXXXX.XXXXXX.0.",
        "....0...............XXXXXX.XXXXXX.0.",
        ".0000...............XXXXXX.XXXXXX.0.",
        ".0..0...............XXXXXX.XXXXXX.0.",
        ".0..0...............XXXXXX.XXXXXX.0.",
        ".0..0...............XXXXXX.XXXXXX.0.",
        ".0..0...............XXXXXX.XXXXXX.0.",
        ".0..0...............XXXXXX.XXXXXX.0.",
        ".0..0...............XXXXXX.XXXXXX.0.",
        ".0..0...............XXXXXX.XXXXXX.0.",
        ".0000...............XXXXXX.XXXXXX.0.",
        "....0...............XXXXXX.XXXXXX.0.",
        "   .0...............XXXXXX.XXXXXX.0.",
        "   .0.............................0.",
        "   .0000000000000000000000000000000.",
        "   .................................",
    };
    static const char * battery3[] = {
        BATTERY_HEADER
        "   .................................",
        "   .0000000000000000000000000000000.",
        "   .0.............................0.",
        "   .0...............oooooo.XXXXXX.0.",
        "....0...............oooooo.XXXXXX.0.",
        ".0000...............oooooo.XXXXXX.0.",
        ".0..0...............oooooo.XXXXXX.0.",
        ".0..0...............oooooo.XXXXXX.0.",
        ".0..0...............oooooo.XXXXXX.0.",
        ".0..0...............oooooo.XXXXXX.0.",
        ".0..0...............oooooo.XXXXXX.0.",
        ".0..0...............oooooo.XXXXXX.0.",
        ".0..0...............oooooo.XXXXXX.0.",
        ".0000...............oooooo.XXXXXX.0.",
        "....0...............oooooo.XXXXXX.0.",
        "   .0...............oooooo.XXXXXX.0.",
        "   .0.............................0.",
        "   .0000000000000000000000000000000.",
        "   .................................",
    };
    static const char * battery2[] = {
        BATTERY_HEADER
        "   .................................",
        "   .0000000000000000000000000000000.",
        "   .0.............................0.",
        "   .0......................XXXXXX.0.",
        "....0......................XXXXXX.0.",
        ".0000......................XXXXXX.0.",
        ".0..0......................XXXXXX.0.",
        ".0..0......................XXXXXX.0.",
        ".0..0......................XXXXXX.0.",
        ".0..0......................XXXXXX.0.",
        ".0..0......................XXXXXX.0.",
        ".0..0......................XXXXXX.0.",
        ".0..0......................XXXXXX.0.",
        ".0000......................XXXXXX.0.",
        "....0......................XXXXXX.0.",
        "   .0......................XXXXXX.0.",
        "   .0.............................0.",
        "   .0000000000000000000000000000000.",
        "   .................................",
    };
    static const char * battery1[] = {
        BATTERY_HEADER
        "   .................................",
        "   .0000000000000000000000000000000.",
        "   .0.............................0.",
        "   .0......................oooooo.0.",
        "....0......................oooooo.0.",
        ".0000......................oooooo.0.",
        ".0..0......................oooooo.0.",
        ".0..0......................oooooo.0.",
        ".0..0......................oooooo.0.",
        ".0..0......................oooooo.0.",
        ".0..0......................oooooo.0.",
        ".0..0......................oooooo.0.",
        ".0..0......................oooooo.0.",
        ".0000......................oooooo.0.",
        "....0......................oooooo.0.",
        "   .0......................oooooo.0.",
        "   .0.............................0.",
        "   .0000000000000000000000000000000.",
        "   .................................",
    };
    static const char * battery0[] = {
        BATTERY_HEADER
        "   .................................",
        "   .0000000000000000000000000000000.",
        "   .0.............................0.",
        "   .0.............................0.",
        "....0.............................0.",
        ".0000.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0000.............................0.",
        "....0.............................0.",
        "   .0.............................0.",
        "   .0.............................0.",
        "   .0000000000000000000000000000000.",
        "   .................................",
    };
    static const char * battery_charge[] = {
        BATTERY_HEADER
        "   .................................",
        "   .0000000000000000000000000000000.",
        "   .0.............................0.",
        "   .0.............................0.",
        "....0.............................0.",
        ".0000.............................0.",
        ".0..0................XX...........0.",
        ".0..0...............XXXXX.........0.",
        ".0..0..XXXX........XXXXXXXX.......0.",
        ".0..0....XXXXXX...XXXX...XXXXX....0.",
        ".0..0.......XXXXXXXXX.......XXXX..0.",
        ".0..0.........XXXXXX..............0.",
        ".0..0............XX...............0.",
        ".0000.............................0.",
        "....0.............................0.",
        "   .0.............................0.",
        "   .0.............................0.",
        "   .0000000000000000000000000000000.",
        "   .................................",
    };
    static const char * battery_frame[] = {
        BATTERY_HEADER
        "   .................................",
        "   .0000000000000000000000000000000.",
        "   .0.............................0.",
        "   .0.............................0.",
        "....0.............................0.",
        ".0000.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0..0.............................0.",
        ".0000.............................0.",
        "....0.............................0.",
        "   .0.............................0.",
        "   .0.............................0.",
        "   .0000000000000000000000000000000.",
        "   .................................",
    };
    icons.add( LVCreateXPMImageSource( battery_charge ) );
//#ifdef NO_BATTERY_GAUGE
//    icons.add( LVCreateXPMImageSource( battery_frame ) );
//#else
    icons.add( LVCreateXPMImageSource( battery0 ) );
    icons.add( LVCreateXPMImageSource( battery1 ) );
    icons.add( LVCreateXPMImageSource( battery2 ) );
    icons.add( LVCreateXPMImageSource( battery3 ) );
    icons.add( LVCreateXPMImageSource( battery4 ) );
    icons.add( LVCreateXPMImageSource( battery5 ) );
    icons.add( LVCreateXPMImageSource( battery6 ) );
    icons.add( LVCreateXPMImageSource( battery7 ) );
    icons.add( LVCreateXPMImageSource( battery8 ) );
//#endif
    icons.add( LVCreateXPMImageSource( battery_frame ) );
    _docview->setBatteryIcons( icons );
    _wm->setBatteryIcons(icons);
    setAccelerators( _wm->getAccTables().get("main") );
}