mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-03 17:59:33 +02:00
PreferenceSet refactoring
This commit is contained in:
parent
49651f5a6d
commit
0274d73aa9
2 changed files with 45 additions and 19 deletions
|
@ -183,7 +183,12 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
|||
if (DeviceType.Instance().isEInk()) {
|
||||
final EInkOptions einkOptions = new EInkOptions();
|
||||
final Screen einkScreen = createPreferenceScreen("eink");
|
||||
final ZLPreferenceSet einkPreferences = new ZLPreferenceSet();
|
||||
final PreferenceSet einkPreferences = new PreferenceSet.Enabler() {
|
||||
@Override
|
||||
protected Boolean detectState() {
|
||||
return einkOptions.EnableFastRefresh.getValue();
|
||||
}
|
||||
};
|
||||
|
||||
einkScreen.addPreference(new ZLBooleanPreference(
|
||||
this, einkOptions.EnableFastRefresh, einkScreen.Resource, "enableFastRefresh"
|
||||
|
@ -191,7 +196,7 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
|||
@Override
|
||||
protected void onClick() {
|
||||
super.onClick();
|
||||
einkPreferences.setEnabled(einkOptions.EnableFastRefresh.getValue());
|
||||
einkPreferences.update();
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -201,7 +206,7 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
|||
einkScreen.addPreference(updateIntervalPreference);
|
||||
|
||||
einkPreferences.add(updateIntervalPreference);
|
||||
einkPreferences.setEnabled(einkOptions.EnableFastRefresh.getValue());
|
||||
einkPreferences.update();
|
||||
}
|
||||
|
||||
final Screen textScreen = createPreferenceScreen("text");
|
||||
|
@ -357,8 +362,18 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
|||
}
|
||||
}
|
||||
|
||||
final ZLPreferenceSet footerPreferences = new ZLPreferenceSet();
|
||||
final ZLPreferenceSet bgPreferences = new ZLPreferenceSet();
|
||||
final PreferenceSet footerPreferences = new PreferenceSet.Enabler() {
|
||||
@Override
|
||||
protected Boolean detectState() {
|
||||
return viewOptions.ScrollbarType.getValue() == FBView.SCROLLBAR_SHOW_AS_FOOTER;
|
||||
}
|
||||
};
|
||||
final PreferenceSet bgPreferences = new PreferenceSet.Enabler() {
|
||||
@Override
|
||||
protected Boolean detectState() {
|
||||
return "".equals(profile.WallpaperOption.getValue());
|
||||
}
|
||||
};
|
||||
|
||||
final Screen cssScreen = createPreferenceScreen("css");
|
||||
cssScreen.addOption(baseStyle.UseCSSFontFamilyOption, "fontFamily");
|
||||
|
@ -373,7 +388,7 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
|||
@Override
|
||||
protected void onDialogClosed(boolean result) {
|
||||
super.onDialogClosed(result);
|
||||
bgPreferences.setEnabled("".equals(getValue()));
|
||||
bgPreferences.update();
|
||||
}
|
||||
};
|
||||
colorsScreen.addPreference(wallpaperPreference);
|
||||
|
@ -381,7 +396,7 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
|||
bgPreferences.add(
|
||||
colorsScreen.addOption(profile.BackgroundOption, "backgroundColor")
|
||||
);
|
||||
bgPreferences.setEnabled("".equals(profile.WallpaperOption.getValue()));
|
||||
bgPreferences.update();
|
||||
colorsScreen.addOption(profile.HighlightingOption, "highlighting");
|
||||
colorsScreen.addOption(profile.RegularTextOption, "text");
|
||||
colorsScreen.addOption(profile.HyperlinkTextOption, "hyperlink");
|
||||
|
@ -422,9 +437,7 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
|||
@Override
|
||||
protected void onDialogClosed(boolean result) {
|
||||
super.onDialogClosed(result);
|
||||
footerPreferences.setEnabled(
|
||||
findIndexOfValue(getValue()) == FBView.SCROLLBAR_SHOW_AS_FOOTER
|
||||
);
|
||||
footerPreferences.update();
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -442,9 +455,7 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
|||
this, statusLineScreen.Resource, "font",
|
||||
footerOptions.Font, false
|
||||
)));
|
||||
footerPreferences.setEnabled(
|
||||
viewOptions.ScrollbarType.getValue() == FBView.SCROLLBAR_SHOW_AS_FOOTER
|
||||
);
|
||||
footerPreferences.update();
|
||||
|
||||
/*
|
||||
final Screen colorProfileScreen = createPreferenceScreen("colorProfile");
|
||||
|
@ -461,7 +472,12 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
|||
scrollingScreen.addOption(pageTurningOptions.FingerScrolling, "fingerScrolling");
|
||||
scrollingScreen.addOption(miscOptions.EnableDoubleTap, "enableDoubleTapDetection");
|
||||
|
||||
final ZLPreferenceSet volumeKeysPreferences = new ZLPreferenceSet();
|
||||
final PreferenceSet volumeKeysPreferences = new PreferenceSet.Enabler() {
|
||||
@Override
|
||||
protected Boolean detectState() {
|
||||
return keyBindings.hasBinding(KeyEvent.KEYCODE_VOLUME_UP, false);
|
||||
}
|
||||
};
|
||||
scrollingScreen.addPreference(new ZLCheckBoxPreference(
|
||||
this, scrollingScreen.Resource, "volumeKeys"
|
||||
) {
|
||||
|
@ -479,7 +495,7 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
|||
keyBindings.bindKey(KeyEvent.KEYCODE_VOLUME_DOWN, false, FBReaderApp.NoAction);
|
||||
keyBindings.bindKey(KeyEvent.KEYCODE_VOLUME_UP, false, FBReaderApp.NoAction);
|
||||
}
|
||||
volumeKeysPreferences.setEnabled(isChecked());
|
||||
volumeKeysPreferences.update();
|
||||
}
|
||||
});
|
||||
volumeKeysPreferences.add(scrollingScreen.addPreference(new ZLCheckBoxPreference(
|
||||
|
@ -503,7 +519,7 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
|||
}
|
||||
}
|
||||
}));
|
||||
volumeKeysPreferences.setEnabled(keyBindings.hasBinding(KeyEvent.KEYCODE_VOLUME_UP, false));
|
||||
volumeKeysPreferences.update();
|
||||
|
||||
scrollingScreen.addOption(pageTurningOptions.Animation, "animation");
|
||||
scrollingScreen.addPreference(new AnimationSpeedPreference(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue