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; }
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 }
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(); }
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) ); }
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() ); }
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; }
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 }
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 }
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") ); }