1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-05 02:39:23 +02:00

Navigation changes

git-svn-id: https://only.mawhrin.net/repos/FBReaderJ/trunk@1512 6a642e6f-84f6-412e-ac94-c4a38d5a04b0
This commit is contained in:
Vasiliy Bout 2010-06-24 17:41:57 +00:00
parent c232934e75
commit 063f5f0880
4 changed files with 25 additions and 37 deletions

View file

@ -190,11 +190,8 @@ public final class FBReader extends ZLAndroidActivity {
private AlertDialog myNavigateDialog;
public void navigate() {
if (myNavigateDialog == null) {
setupNavigation();
}
setupNavigation();
myNavigateDialog.show();
updateNavigation();
}
public boolean canNavigate() {
@ -211,57 +208,49 @@ public final class FBReader extends ZLAndroidActivity {
final SeekBar slider = (SeekBar) layout.findViewById(R.id.book_position_slider);
slider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
private boolean myInTouch;
private void gotoPage(int page) {
final ZLView view = ZLApplication.Instance().getCurrentView();
if (view instanceof ZLTextView) {
ZLTextView textView = (ZLTextView) view;
textView.gotoPage(page);
if (page == 1) {
textView.gotoHome();
} else {
textView.gotoPage(page);
}
ZLApplication.Instance().repaintView();
}
}
public void onStopTrackingTouch(SeekBar seekBar) {
gotoPage(seekBar.getProgress() + 1);
myInTouch = false;
}
public void onStartTrackingTouch(SeekBar seekBar) {
myInTouch = true;
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser) {
final int page = progress + 1;
final int pagesNumber = seekBar.getMax() + 1;
myNavigateDialog.setTitle(makeNavigationTitle(page, pagesNumber));
if (!myInTouch) {
gotoPage(page);
}
gotoPage(page);
}
}
});
myNavigateDialog = new AlertDialog.Builder(this)
.setView(layout)
.setTitle("?????") // use Non-empty string to preserve title-bar
.setIcon(0)
.create();
}
private void updateNavigation() {
final org.geometerplus.fbreader.fbreader.FBReader fbreader =
(org.geometerplus.fbreader.fbreader.FBReader)ZLApplication.Instance();
final ZLTextView textView = (ZLTextView) fbreader.getCurrentView();
final int page = textView.computeCurrentPage();
final int pagesNumber = textView.computePageNumber();
final SeekBar slider = (SeekBar) myNavigateDialog.findViewById(R.id.book_position_slider);
slider.setMax(pagesNumber - 1);
slider.setProgress(page - 1);
myNavigateDialog.setTitle(makeNavigationTitle(page, pagesNumber));
myNavigateDialog = new AlertDialog.Builder(this)
.setView(layout)
.setTitle(makeNavigationTitle(page, pagesNumber))
.setIcon(0)
.create();
}
private static String makeNavigationTitle(int page, int pagesNumber) {