void EbookController::SetDoc(Doc newDoc, int startReparseIdxArg) { CrashIf(!newDoc.IsEbook()); startReparseIdx = startReparseIdxArg; if ((size_t)startReparseIdx >= newDoc.GetHtmlDataSize()) startReparseIdx = -1; CloseCurrentDocument(); doc = newDoc; TriggerBookFormatting(); }
void EbookController::SetDoc(Doc newDoc, int startReparseIdxArg, DisplayMode displayMode) { CrashIf(!newDoc.IsDocLoaded()); currPageReparseIdx = startReparseIdxArg; if ((size_t)currPageReparseIdx >= newDoc.GetHtmlDataSize()) currPageReparseIdx = 0; CloseCurrentDocument(); doc = newDoc; // displayMode could be any value if alternate UI was used, we have to limit it to // either DM_SINGLE_PAGE or DM_FACING if (DM_AUTOMATIC == displayMode) displayMode = gGlobalPrefs->defaultDisplayModeEnum; SetDisplayMode(displayMode); TriggerLayout(); UpdateStatus(); }