mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-04 18:29:23 +02:00
ZLEnumOption has been introduced; tap & flick scrolling option has been added
This commit is contained in:
parent
b46a440cbd
commit
8c78a6774a
16 changed files with 168 additions and 34 deletions
|
@ -449,9 +449,10 @@
|
||||||
</node>
|
</node>
|
||||||
<node name="scrolling" value="Posouvání">
|
<node name="scrolling" value="Posouvání">
|
||||||
<node name="summary" value="Jak posouvat text"/>
|
<node name="summary" value="Jak posouvat text"/>
|
||||||
<node name="flick" value="Posouvání tahem">
|
<node name="fingerScrolling" value="Touch screen scrolling" toBeTranslated="true">
|
||||||
<node name="summaryOn" value="Posouvat stránky tahem prstem"/>
|
<node name="byTap" value="Scroll pages by finger tap" toBeTranslated="true"/>
|
||||||
<node name="summaryOff" value="Posouvat stránky klepnutím prstem"/>
|
<node name="byFlick" value="Scroll pages by finger flick" toBeTranslated="true"/>
|
||||||
|
<node name="byTapAndFlick" value="Scroll pages by finger tap or flick" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
<node name="volumeKeys" value="Posouvání tlačítky ovládání hlasitosti">
|
<node name="volumeKeys" value="Posouvání tlačítky ovládání hlasitosti">
|
||||||
<node name="summaryOn" value="Použít tlačítka ovládání hlasitosti pro posun"/>
|
<node name="summaryOn" value="Použít tlačítka ovládání hlasitosti pro posun"/>
|
||||||
|
|
|
@ -450,9 +450,10 @@
|
||||||
</node>
|
</node>
|
||||||
<node name="scrolling" value="Blättern">
|
<node name="scrolling" value="Blättern">
|
||||||
<node name="summary" value="Die Art des Umblätterns festlegen."/>
|
<node name="summary" value="Die Art des Umblätterns festlegen."/>
|
||||||
<node name="flick" value="Wischen">
|
<node name="fingerScrolling" value="Touch screen scrolling" toBeTranslated="true">
|
||||||
<node name="summaryOn" value="Die Seiten werden mit einem Fingerwisch umgeblättert."/>
|
<node name="byTap" value="Scroll pages by finger tap" toBeTranslated="true"/>
|
||||||
<node name="summaryOff" value="Die Seiten werden durch antippen umgeblättert."/>
|
<node name="byFlick" value="Scroll pages by finger flick" toBeTranslated="true"/>
|
||||||
|
<node name="byTapAndFlick" value="Scroll pages by finger tap or flick" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
<node name="volumeKeys" value="Umblättern mit den Lautstärketasten">
|
<node name="volumeKeys" value="Umblättern mit den Lautstärketasten">
|
||||||
<node name="summaryOn" value="Lautstärketasten zum Umblättern verwenden."/>
|
<node name="summaryOn" value="Lautstärketasten zum Umblättern verwenden."/>
|
||||||
|
|
|
@ -448,9 +448,10 @@
|
||||||
</node>
|
</node>
|
||||||
<node name="scrolling" value="Scrolling">
|
<node name="scrolling" value="Scrolling">
|
||||||
<node name="summary" value="How to scroll text"/>
|
<node name="summary" value="How to scroll text"/>
|
||||||
<node name="flick" value="Flick scrolling">
|
<node name="fingerScrolling" value="Touch screen scrolling">
|
||||||
<node name="summaryOn" value="Pages will be scrolled by finger flick"/>
|
<node name="byTap" value="Scroll pages by finger tap"/>
|
||||||
<node name="summaryOff" value="Pages will be scrolled by finger tap"/>
|
<node name="byFlick" value="Scroll pages by finger flick"/>
|
||||||
|
<node name="byTapAndFlick" value="Scroll pages by finger tap or flick"/>
|
||||||
</node>
|
</node>
|
||||||
<node name="volumeKeys" value="Volume keys scrolling">
|
<node name="volumeKeys" value="Volume keys scrolling">
|
||||||
<node name="summaryOn" value="Use volume keys to scroll"/>
|
<node name="summaryOn" value="Use volume keys to scroll"/>
|
||||||
|
|
|
@ -458,9 +458,10 @@
|
||||||
</node>
|
</node>
|
||||||
<node name="scrolling" value="Navigation">
|
<node name="scrolling" value="Navigation">
|
||||||
<node name="summary" value="Modalités de défilement du texte"/>
|
<node name="summary" value="Modalités de défilement du texte"/>
|
||||||
<node name="flick" value="Défiler par accoup (Flick)">
|
<node name="fingerScrolling" value="Touch screen scrolling" toBeTranslated="true">
|
||||||
<node name="summaryOn" value="Faire glisser le doigt pour changer de page"/>
|
<node name="byTap" value="Scroll pages by finger tap" toBeTranslated="true"/>
|
||||||
<node name="summaryOff" value="Une pression du doigt change de page"/>
|
<node name="byFlick" value="Scroll pages by finger flick" toBeTranslated="true"/>
|
||||||
|
<node name="byTapAndFlick" value="Scroll pages by finger tap or flick" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
<node name="volumeKeys" value="Touches du volume">
|
<node name="volumeKeys" value="Touches du volume">
|
||||||
<node name="summaryOn" value="Les touches du volume permettent de changer de page"/>
|
<node name="summaryOn" value="Les touches du volume permettent de changer de page"/>
|
||||||
|
|
|
@ -449,9 +449,10 @@
|
||||||
</node>
|
</node>
|
||||||
<node name="scrolling" value="Lapozás">
|
<node name="scrolling" value="Lapozás">
|
||||||
<node name="summary" value="Szöveg görgetésének beállításai"/>
|
<node name="summary" value="Szöveg görgetésének beállításai"/>
|
||||||
<node name="flick" value="Kinetikus lapozás">
|
<node name="fingerScrolling" value="Touch screen scrolling" toBeTranslated="true">
|
||||||
<node name="summaryOn" value="Lapozás ujjmozdulatra"/>
|
<node name="byTap" value="Scroll pages by finger tap" toBeTranslated="true"/>
|
||||||
<node name="summaryOff" value="Lapozás érintésre"/>
|
<node name="byFlick" value="Scroll pages by finger flick" toBeTranslated="true"/>
|
||||||
|
<node name="byTapAndFlick" value="Scroll pages by finger tap or flick" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
<node name="volumeKeys" value="Lapozás a hangerő gombokkal">
|
<node name="volumeKeys" value="Lapozás a hangerő gombokkal">
|
||||||
<node name="summaryOn" value="Hangerő gombok használata lapozáshoz"/>
|
<node name="summaryOn" value="Hangerő gombok használata lapozáshoz"/>
|
||||||
|
|
|
@ -449,9 +449,10 @@
|
||||||
</node>
|
</node>
|
||||||
<node name="scrolling" value="Scorrimento">
|
<node name="scrolling" value="Scorrimento">
|
||||||
<node name="summary" value="How to scroll text" toBeTranslated="true"/>
|
<node name="summary" value="How to scroll text" toBeTranslated="true"/>
|
||||||
<node name="flick" value="Scorrimento al tocco">
|
<node name="fingerScrolling" value="Touch screen scrolling" toBeTranslated="true">
|
||||||
<node name="summaryOn" value="La navigazione tra le pagine avviene con lo sfioramento delle dita sullo schermo"/>
|
<node name="byTap" value="Scroll pages by finger tap" toBeTranslated="true"/>
|
||||||
<node name="summaryOff" value="La navigazione tra le pagine avviene toccando lo schermo"/>
|
<node name="byFlick" value="Scroll pages by finger flick" toBeTranslated="true"/>
|
||||||
|
<node name="byTapAndFlick" value="Scroll pages by finger tap or flick" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
<node name="volumeKeys" value="Tasti del volume per lo scorrimento">
|
<node name="volumeKeys" value="Tasti del volume per lo scorrimento">
|
||||||
<node name="summaryOn" value="Usa i tasti del volume per scorrere"/>
|
<node name="summaryOn" value="Usa i tasti del volume per scorrere"/>
|
||||||
|
|
|
@ -448,9 +448,10 @@
|
||||||
</node>
|
</node>
|
||||||
<node name="scrolling" value="Перелистывание страниц">
|
<node name="scrolling" value="Перелистывание страниц">
|
||||||
<node name="summary" value="Как листать стрницы"/>
|
<node name="summary" value="Как листать стрницы"/>
|
||||||
<node name="flick" value="Листать движением пальца">
|
<node name="fingerScrolling" value="Листание пальцем по экрану">
|
||||||
<node name="summaryOn" value="Для перехода на следующую страницу проведите пальцем по экрану"/>
|
<node name="byTap" value="Листать нажатием на экран"/>
|
||||||
<node name="summaryOff" value="Для перехода на следующую страницу коснитесь пальцем экрана"/>
|
<node name="byFlick" value="Листать протягиванием страницы"/>
|
||||||
|
<node name="byTapAndFlick" value="Листать нажатием на экран либо протягиванием страницы"/>
|
||||||
</node>
|
</node>
|
||||||
<node name="volumeKeys" value="Использовать кнопки регулировки звука">
|
<node name="volumeKeys" value="Использовать кнопки регулировки звука">
|
||||||
<node name="summaryOn" value="Кнопки увеличения/уменьшения звука перелистывают страницы"/>
|
<node name="summaryOn" value="Кнопки увеличения/уменьшения звука перелистывают страницы"/>
|
||||||
|
|
|
@ -449,9 +449,10 @@
|
||||||
</node>
|
</node>
|
||||||
<node name="scrolling" value="Перегортання сторінок">
|
<node name="scrolling" value="Перегортання сторінок">
|
||||||
<node name="summary" value="How to scroll text" toBeTranslated="true"/>
|
<node name="summary" value="How to scroll text" toBeTranslated="true"/>
|
||||||
<node name="flick" value="Гортати рухом пальця">
|
<node name="fingerScrolling" value="Touch screen scrolling" toBeTranslated="true">
|
||||||
<node name="summaryOn" value="Для переходу на наступну сторінку проведіть пальцем по екрану"/>
|
<node name="byTap" value="Scroll pages by finger tap" toBeTranslated="true"/>
|
||||||
<node name="summaryOff" value="Для переходу на наступну сторінку торкніться пальцем до екрану"/>
|
<node name="byFlick" value="Scroll pages by finger flick" toBeTranslated="true"/>
|
||||||
|
<node name="byTapAndFlick" value="Scroll pages by finger tap or flick" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
<node name="volumeKeys" value="Використання кнопки налаштування звуку">
|
<node name="volumeKeys" value="Використання кнопки налаштування звуку">
|
||||||
<node name="summaryOn" value="Кнопки збільшення/зменшення звуку перегортають сторінки"/>
|
<node name="summaryOn" value="Кнопки збільшення/зменшення звуку перегортають сторінки"/>
|
||||||
|
|
|
@ -449,9 +449,10 @@
|
||||||
</node>
|
</node>
|
||||||
<node name="scrolling" value="Cuộn">
|
<node name="scrolling" value="Cuộn">
|
||||||
<node name="summary" value="How to scroll text" toBeTranslated="true"/>
|
<node name="summary" value="How to scroll text" toBeTranslated="true"/>
|
||||||
<node name="flick" value="Cuộn búng">
|
<node name="fingerScrolling" value="Touch screen scrolling" toBeTranslated="true">
|
||||||
<node name="summaryOn" value="Trang sẽ cuộn khi búng nhẹ"/>
|
<node name="byTap" value="Scroll pages by finger tap" toBeTranslated="true"/>
|
||||||
<node name="summaryOff" value="Trang sẽ cuộn khi gõ nhẹ ngón tay"/>
|
<node name="byFlick" value="Scroll pages by finger flick" toBeTranslated="true"/>
|
||||||
|
<node name="byTapAndFlick" value="Scroll pages by finger tap or flick" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
<node name="volumeKeys" value="Cuộn bằng phím âm lượng">
|
<node name="volumeKeys" value="Cuộn bằng phím âm lượng">
|
||||||
<node name="summaryOn" value="Dùng phím âm lượng để cuộn"/>
|
<node name="summaryOn" value="Dùng phím âm lượng để cuộn"/>
|
||||||
|
|
|
@ -455,9 +455,10 @@
|
||||||
</node>
|
</node>
|
||||||
<node name="scrolling" value="翻阅操作">
|
<node name="scrolling" value="翻阅操作">
|
||||||
<node name="summary" value="如何滚动文字内容"/>
|
<node name="summary" value="如何滚动文字内容"/>
|
||||||
<node name="flick" value="手指滚动">
|
<node name="fingerScrolling" value="Touch screen scrolling" toBeTranslated="true">
|
||||||
<node name="summaryOn" value="滑触翻页" />
|
<node name="byTap" value="Scroll pages by finger tap" toBeTranslated="true"/>
|
||||||
<node name="summaryOff" value="拍击翻页" />
|
<node name="byFlick" value="Scroll pages by finger flick" toBeTranslated="true"/>
|
||||||
|
<node name="byTapAndFlick" value="Scroll pages by finger tap or flick" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
<node name="volumeKeys" value="音量键滚动">
|
<node name="volumeKeys" value="音量键滚动">
|
||||||
<node name="summaryOn" value="使用音量键翻页" />
|
<node name="summaryOn" value="使用音量键翻页" />
|
||||||
|
|
|
@ -334,7 +334,7 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
||||||
|
|
||||||
final Screen scrollingScreen = createPreferenceScreen("scrolling");
|
final Screen scrollingScreen = createPreferenceScreen("scrolling");
|
||||||
final ScrollingPreferences scrollingPreferences = ScrollingPreferences.Instance();
|
final ScrollingPreferences scrollingPreferences = ScrollingPreferences.Instance();
|
||||||
scrollingScreen.addOption(scrollingPreferences.FlickOption, "flick");
|
scrollingScreen.addOption(scrollingPreferences.FingerScrollingOption, "fingerScrolling");
|
||||||
scrollingScreen.addOption(scrollingPreferences.VolumeKeysOption, "volumeKeys");
|
scrollingScreen.addOption(scrollingPreferences.VolumeKeysOption, "volumeKeys");
|
||||||
scrollingScreen.addOption(scrollingPreferences.InvertVolumeKeysOption, "invertVolumeKeys");
|
scrollingScreen.addOption(scrollingPreferences.InvertVolumeKeysOption, "invertVolumeKeys");
|
||||||
scrollingScreen.addOption(scrollingPreferences.AnimateOption, "animated");
|
scrollingScreen.addOption(scrollingPreferences.AnimateOption, "animated");
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2009-2010 Geometer Plus <contact@geometerplus.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||||
|
* 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.geometerplus.android.fbreader.preferences;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import org.geometerplus.zlibrary.core.options.ZLEnumOption;
|
||||||
|
import org.geometerplus.zlibrary.core.resources.ZLResource;
|
||||||
|
|
||||||
|
class ZLEnumPreference<T extends Enum<T>> extends ZLStringListPreference {
|
||||||
|
private final ZLEnumOption<T> myOption;
|
||||||
|
|
||||||
|
ZLEnumPreference(Context context, ZLResource resource, String resourceKey, ZLEnumOption<T> option) {
|
||||||
|
super(context, resource, resourceKey);
|
||||||
|
myOption = option;
|
||||||
|
|
||||||
|
final T initialValue = option.getValue();
|
||||||
|
final Enum[] allValues = initialValue.getClass().getEnumConstants();
|
||||||
|
final String[] stringValues = new String[allValues.length];
|
||||||
|
for (int i = 0; i < stringValues.length; ++i) {
|
||||||
|
stringValues[i] = allValues[i].toString();
|
||||||
|
}
|
||||||
|
setList(stringValues);
|
||||||
|
setInitialValue(initialValue.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onAccept() {
|
||||||
|
myOption.setValue((T)Enum.valueOf(myOption.getValue().getClass(), getValue()));
|
||||||
|
}
|
||||||
|
}
|
|
@ -66,6 +66,14 @@ abstract class ZLPreferenceActivity extends android.preference.PreferenceActivit
|
||||||
return preference;
|
return preference;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public <T extends Enum<T>> ZLPreference addOption(ZLEnumOption<T> option, String resourceKey) {
|
||||||
|
ZLEnumPreference<T> preference =
|
||||||
|
new ZLEnumPreference<T>(ZLPreferenceActivity.this, Resource, resourceKey, option);
|
||||||
|
myScreen.addPreference(preference);
|
||||||
|
myPreferences.add(preference);
|
||||||
|
return preference;
|
||||||
|
}
|
||||||
|
|
||||||
public void close() {
|
public void close() {
|
||||||
myScreen.getDialog().dismiss();
|
myScreen.getDialog().dismiss();
|
||||||
ZLPreferenceActivity.this.getListView().invalidateViews();
|
ZLPreferenceActivity.this.getListView().invalidateViews();
|
||||||
|
|
|
@ -102,7 +102,10 @@ public final class FBView extends ZLTextView {
|
||||||
}
|
}
|
||||||
|
|
||||||
final ScrollingPreferences preferences = ScrollingPreferences.Instance();
|
final ScrollingPreferences preferences = ScrollingPreferences.Instance();
|
||||||
if (!preferences.FlickOption.getValue()) {
|
final ScrollingPreferences.FingerScrolling fingerScrolling =
|
||||||
|
preferences.FingerScrollingOption.getValue();
|
||||||
|
if (fingerScrolling == ScrollingPreferences.FingerScrolling.byTap ||
|
||||||
|
fingerScrolling == ScrollingPreferences.FingerScrolling.byTapAndFlick) {
|
||||||
if (preferences.HorizontalOption.getValue()) {
|
if (preferences.HorizontalOption.getValue()) {
|
||||||
if (x <= myContext.getWidth() / 3) {
|
if (x <= myContext.getWidth() / 3) {
|
||||||
doScrollPage(false);
|
doScrollPage(false);
|
||||||
|
@ -154,7 +157,10 @@ public final class FBView extends ZLTextView {
|
||||||
}
|
}
|
||||||
|
|
||||||
final ScrollingPreferences preferences = ScrollingPreferences.Instance();
|
final ScrollingPreferences preferences = ScrollingPreferences.Instance();
|
||||||
if (preferences.FlickOption.getValue()) {
|
final ScrollingPreferences.FingerScrolling fingerScrolling =
|
||||||
|
preferences.FingerScrollingOption.getValue();
|
||||||
|
if (fingerScrolling == ScrollingPreferences.FingerScrolling.byFlick ||
|
||||||
|
fingerScrolling == ScrollingPreferences.FingerScrolling.byTapAndFlick) {
|
||||||
myStartX = x;
|
myStartX = x;
|
||||||
myStartY = y;
|
myStartY = y;
|
||||||
setScrollingActive(true);
|
setScrollingActive(true);
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
package org.geometerplus.fbreader.fbreader;
|
package org.geometerplus.fbreader.fbreader;
|
||||||
|
|
||||||
import org.geometerplus.zlibrary.core.options.ZLBooleanOption;
|
import org.geometerplus.zlibrary.core.options.ZLBooleanOption;
|
||||||
|
import org.geometerplus.zlibrary.core.options.ZLEnumOption;
|
||||||
|
|
||||||
public class ScrollingPreferences {
|
public class ScrollingPreferences {
|
||||||
private static ScrollingPreferences ourInstance;
|
private static ScrollingPreferences ourInstance;
|
||||||
|
@ -28,7 +29,14 @@ public class ScrollingPreferences {
|
||||||
return (ourInstance != null) ? ourInstance : new ScrollingPreferences();
|
return (ourInstance != null) ? ourInstance : new ScrollingPreferences();
|
||||||
}
|
}
|
||||||
|
|
||||||
public final ZLBooleanOption FlickOption = new ZLBooleanOption("Scrolling", "Flick", true);
|
public enum FingerScrolling {
|
||||||
|
byTap,
|
||||||
|
byFlick,
|
||||||
|
byTapAndFlick
|
||||||
|
}
|
||||||
|
public final ZLEnumOption<FingerScrolling> FingerScrollingOption =
|
||||||
|
new ZLEnumOption<FingerScrolling>("Scrolling", "Finger", FingerScrolling.byTapAndFlick);
|
||||||
|
|
||||||
public final ZLBooleanOption VolumeKeysOption = new ZLBooleanOption("Scrolling", "VolumeKeys", true);
|
public final ZLBooleanOption VolumeKeysOption = new ZLBooleanOption("Scrolling", "VolumeKeys", true);
|
||||||
public final ZLBooleanOption AnimateOption = new ZLBooleanOption("Scrolling", "ShowAnimated", true);
|
public final ZLBooleanOption AnimateOption = new ZLBooleanOption("Scrolling", "ShowAnimated", true);
|
||||||
public final ZLBooleanOption HorizontalOption = new ZLBooleanOption("Scrolling", "Horizontal", true);
|
public final ZLBooleanOption HorizontalOption = new ZLBooleanOption("Scrolling", "Horizontal", true);
|
||||||
|
|
55
src/org/geometerplus/zlibrary/core/options/ZLEnumOption.java
Normal file
55
src/org/geometerplus/zlibrary/core/options/ZLEnumOption.java
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2007-2010 Geometer Plus <contact@geometerplus.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||||
|
* 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.geometerplus.zlibrary.core.options;
|
||||||
|
|
||||||
|
public final class ZLEnumOption<T extends Enum<T>> extends ZLOption {
|
||||||
|
private final T myDefaultValue;
|
||||||
|
private T myValue;
|
||||||
|
|
||||||
|
public ZLEnumOption(String group, String optionName, T defaultValue) {
|
||||||
|
super(group, optionName);
|
||||||
|
myDefaultValue = defaultValue;
|
||||||
|
myValue = defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public T getValue() {
|
||||||
|
if (!myIsSynchronized) {
|
||||||
|
final String value = getConfigValue(null);
|
||||||
|
if (value != null) {
|
||||||
|
myValue = (T)T.valueOf(myDefaultValue.getClass(), value);
|
||||||
|
}
|
||||||
|
myIsSynchronized = true;
|
||||||
|
}
|
||||||
|
return myValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(T value) {
|
||||||
|
if (myIsSynchronized && (myValue == value)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
myValue = value;
|
||||||
|
myIsSynchronized = true;
|
||||||
|
if (value == myDefaultValue) {
|
||||||
|
unsetConfigValue();
|
||||||
|
} else {
|
||||||
|
setConfigValue("" + value.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue