1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-03 17:59:33 +02:00

PreferenceSet refactoring

This commit is contained in:
Nikolay Pultsin 2014-05-03 21:55:54 +01:00
parent 49651f5a6d
commit 0274d73aa9
2 changed files with 45 additions and 19 deletions

View file

@ -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(