IndicatorOptionsDialog::IndicatorOptionsDialog(): AbstractOptionsDialog(ZLResourceKey("IndicatorOptionsDialog"), true) { FBReader &fbreader = FBReader::Instance(); ZLOptionsDialog &dialog = this->dialog(); createIndicatorTab(); }
ReadingOptionsDialog::ReadingOptionsDialog() : AbstractOptionsDialog(ZLResourceKey("ReadingOptionsDialog"), true) { FBReader &fbreader = FBReader::Instance(); ZLOptionsDialog &dialog = this->dialog(); ZLDialogContent &scrollingTab = dialog.createTab(ZLResourceKey("Scrolling")); scrollingTab.addOption(ZLResourceKey("keyLinesToScroll"), new ZLSimpleSpinOptionEntry(fbreader.LinesToScrollOption, 1)); scrollingTab.addOption(ZLResourceKey("keyLinesToKeep"), new ZLSimpleSpinOptionEntry(fbreader.LinesToKeepOption, 1)); scrollingTab.addOption(ZLResourceKey("keyScrollDelay"), new ZLSimpleSpinOptionEntry(fbreader.KeyScrollingDelayOption, 50)); const bool hasTouchScreen = ZLBooleanOption(ZLCategoryKey::EMPTY, ZLOption::PLATFORM_GROUP, ZLOption::TOUCHSCREEN_PRESENTED, false).value(); if (hasTouchScreen) { ZLToggleBooleanOptionEntry *enableTapScrollingEntry = new ZLToggleBooleanOptionEntry(fbreader.EnableTapScrollingOption); scrollingTab.addOption(ZLResourceKey("enableTapScrolling"), enableTapScrollingEntry); const bool isFingerTapDetectionSupported = ZLBooleanOption(ZLCategoryKey::EMPTY, ZLOption::PLATFORM_GROUP, ZLOption::FINGER_TAP_DETECTABLE, false).value(); if (isFingerTapDetectionSupported) { ZLOptionEntry *fingerOnlyEntry = new ZLSimpleBooleanOptionEntry(fbreader.TapScrollingOnFingerOnlyOption); scrollingTab.addOption(ZLResourceKey("fingerOnly"), fingerOnlyEntry); enableTapScrollingEntry->addDependentEntry(fingerOnlyEntry); enableTapScrollingEntry->onStateChanged(enableTapScrollingEntry->initialState()); } } ZLDialogContent &selectionTab = dialog.createTab(ZLResourceKey("Selection")); selectionTab.addOption(ZLResourceKey("enableSelection"), FBView::selectionOption()); createIndicatorTab(); ZLDialogContent &rotationTab = dialog.createTab(ZLResourceKey("Rotation")); ZLResourceKey directionKey("direction"); rotationTab.addOption(directionKey, new RotationTypeEntry(rotationTab.resource(directionKey), fbreader.RotationAngleOption)); createKeyBindingsTab(); }