mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-06 03:50:19 +02:00
cancel menu (in progress)
This commit is contained in:
parent
9d765548c4
commit
43c22be00d
13 changed files with 54 additions and 23 deletions
|
@ -159,7 +159,7 @@
|
|||
</node>
|
||||
<node name="cancelMenu">
|
||||
<node name="previousBook" value="Open previous book" toBeTranslated="true"/>
|
||||
<node name="gotoPosition" value="Go to position" toBeTranslated="true"/>
|
||||
<node name="returnTo" value="Return to ..." toBeTranslated="true"/>
|
||||
<node name="close" value="Close FBReader" toBeTranslated="true"/>
|
||||
</node>
|
||||
<node name="menu">
|
||||
|
|
|
@ -160,7 +160,7 @@
|
|||
</node>
|
||||
<node name="cancelMenu">
|
||||
<node name="previousBook" value="Open previous book" toBeTranslated="true"/>
|
||||
<node name="gotoPosition" value="Go to position" toBeTranslated="true"/>
|
||||
<node name="returnTo" value="Return to ..." toBeTranslated="true"/>
|
||||
<node name="close" value="Close FBReader" toBeTranslated="true"/>
|
||||
</node>
|
||||
<node name="menu">
|
||||
|
|
|
@ -158,7 +158,7 @@
|
|||
</node>
|
||||
<node name="cancelMenu">
|
||||
<node name="previousBook" value="Open previous book"/>
|
||||
<node name="gotoPosition" value="Go to position"/>
|
||||
<node name="returnTo" value="Return to ..."/>
|
||||
<node name="close" value="Close FBReader"/>
|
||||
</node>
|
||||
<node name="menu">
|
||||
|
|
|
@ -162,7 +162,7 @@
|
|||
</node>
|
||||
<node name="cancelMenu">
|
||||
<node name="previousBook" value="Open previous book" toBeTranslated="true"/>
|
||||
<node name="gotoPosition" value="Go to position" toBeTranslated="true"/>
|
||||
<node name="returnTo" value="Return to ..." toBeTranslated="true"/>
|
||||
<node name="close" value="Close FBReader" toBeTranslated="true"/>
|
||||
</node>
|
||||
<node name="menu">
|
||||
|
|
|
@ -159,7 +159,7 @@
|
|||
</node>
|
||||
<node name="cancelMenu">
|
||||
<node name="previousBook" value="Open previous book" toBeTranslated="true"/>
|
||||
<node name="gotoPosition" value="Go to position" toBeTranslated="true"/>
|
||||
<node name="returnTo" value="Return to ..." toBeTranslated="true"/>
|
||||
<node name="close" value="Close FBReader" toBeTranslated="true"/>
|
||||
</node>
|
||||
<node name="menu">
|
||||
|
|
|
@ -159,7 +159,7 @@
|
|||
</node>
|
||||
<node name="cancelMenu">
|
||||
<node name="previousBook" value="Open previous book" toBeTranslated="true"/>
|
||||
<node name="gotoPosition" value="Go to position" toBeTranslated="true"/>
|
||||
<node name="returnTo" value="Return to ..." toBeTranslated="true"/>
|
||||
<node name="close" value="Close FBReader" toBeTranslated="true"/>
|
||||
</node>
|
||||
<node name="menu">
|
||||
|
|
|
@ -159,7 +159,7 @@
|
|||
</node>
|
||||
<node name="cancelMenu">
|
||||
<node name="previousBook" value="Open previous book" toBeTranslated="true"/>
|
||||
<node name="gotoPosition" value="Go to position" toBeTranslated="true"/>
|
||||
<node name="returnTo" value="Return to ..." toBeTranslated="true"/>
|
||||
<node name="close" value="Close FBReader" toBeTranslated="true"/>
|
||||
</node>
|
||||
<node name="menu">
|
||||
|
|
|
@ -158,7 +158,7 @@
|
|||
</node>
|
||||
<node name="cancelMenu">
|
||||
<node name="previousBook" value="Открыть предыдущую книгу"/>
|
||||
<node name="gotoPosition" value="Перейти на ..."/>
|
||||
<node name="returnTo" value="Вернуться к ..."/>
|
||||
<node name="close" value="Закрыть FBReader"/>
|
||||
</node>
|
||||
<node name="menu">
|
||||
|
|
|
@ -159,7 +159,7 @@
|
|||
</node>
|
||||
<node name="cancelMenu">
|
||||
<node name="previousBook" value="Open previous book" toBeTranslated="true"/>
|
||||
<node name="gotoPosition" value="Go to position" toBeTranslated="true"/>
|
||||
<node name="returnTo" value="Return to ..." toBeTranslated="true"/>
|
||||
<node name="close" value="Close FBReader" toBeTranslated="true"/>
|
||||
</node>
|
||||
<node name="menu">
|
||||
|
|
|
@ -159,7 +159,7 @@
|
|||
</node>
|
||||
<node name="cancelMenu">
|
||||
<node name="previousBook" value="Open previous book" toBeTranslated="true"/>
|
||||
<node name="gotoPosition" value="Go to position" toBeTranslated="true"/>
|
||||
<node name="returnTo" value="Return to ..." toBeTranslated="true"/>
|
||||
<node name="close" value="Close FBReader" toBeTranslated="true"/>
|
||||
</node>
|
||||
<node name="menu">
|
||||
|
|
|
@ -159,7 +159,7 @@
|
|||
</node>
|
||||
<node name="cancelMenu">
|
||||
<node name="previousBook" value="Open previous book" toBeTranslated="true"/>
|
||||
<node name="gotoPosition" value="Go to position" toBeTranslated="true"/>
|
||||
<node name="returnTo" value="Return to ..." toBeTranslated="true"/>
|
||||
<node name="close" value="Close FBReader" toBeTranslated="true"/>
|
||||
</node>
|
||||
<node name="menu">
|
||||
|
|
|
@ -190,6 +190,7 @@ public final class FBReaderApp extends ZLApplication {
|
|||
if (Model != null) {
|
||||
BookModel.Label label = Model.getLabel(id);
|
||||
if (label != null) {
|
||||
addInvisibleBookmark();
|
||||
if (label.ModelId == null) {
|
||||
BookTextView.gotoPosition(label.ParagraphIndex, 0, 0);
|
||||
} else {
|
||||
|
@ -291,7 +292,7 @@ public final class FBReaderApp extends ZLApplication {
|
|||
|
||||
static enum CancelActionType {
|
||||
previousBook,
|
||||
gotoPosition,
|
||||
returnTo,
|
||||
close
|
||||
}
|
||||
|
||||
|
@ -308,6 +309,15 @@ public final class FBReaderApp extends ZLApplication {
|
|||
}
|
||||
}
|
||||
|
||||
private static class BookmarkDescription extends CancelActionDescription {
|
||||
final Bookmark Bookmark;
|
||||
|
||||
BookmarkDescription(Bookmark b) {
|
||||
super(CancelActionType.returnTo, b.getText());
|
||||
Bookmark = b;
|
||||
}
|
||||
}
|
||||
|
||||
private final ArrayList<CancelActionDescription> myCancelActionsList =
|
||||
new ArrayList<CancelActionDescription>();
|
||||
|
||||
|
@ -319,15 +329,11 @@ public final class FBReaderApp extends ZLApplication {
|
|||
CancelActionType.previousBook, previousBook.getTitle()
|
||||
));
|
||||
}
|
||||
myCancelActionsList.add(new CancelActionDescription(
|
||||
CancelActionType.gotoPosition, "this is a summary"
|
||||
));
|
||||
myCancelActionsList.add(new CancelActionDescription(
|
||||
CancelActionType.gotoPosition, "this is a summary"
|
||||
));
|
||||
myCancelActionsList.add(new CancelActionDescription(
|
||||
CancelActionType.gotoPosition, "this is a summary"
|
||||
));
|
||||
if (Model.Book != null) {
|
||||
for (Bookmark bookmark : Bookmark.invisibleBookmarks(Model.Book)) {
|
||||
myCancelActionsList.add(new BookmarkDescription(bookmark));
|
||||
}
|
||||
}
|
||||
myCancelActionsList.add(new CancelActionDescription(
|
||||
CancelActionType.close, null
|
||||
));
|
||||
|
@ -344,14 +350,33 @@ public final class FBReaderApp extends ZLApplication {
|
|||
case previousBook:
|
||||
openBook(Library.getPreviousBook(), null);
|
||||
break;
|
||||
case gotoPosition:
|
||||
case returnTo:
|
||||
{
|
||||
final Bookmark b = ((BookmarkDescription)description).Bookmark;
|
||||
b.delete();
|
||||
addInvisibleBookmark();
|
||||
gotoBookmark(b);
|
||||
break;
|
||||
}
|
||||
case close:
|
||||
closeWindow();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void addInvisibleBookmark() {
|
||||
if (Model.Book != null) {
|
||||
final Bookmark b = addBookmark(6, false);
|
||||
if (b != null) {
|
||||
b.save();
|
||||
final List<Bookmark> bookmarks = Bookmark.invisibleBookmarks(Model.Book);
|
||||
for (int i = 3; i < bookmarks.size(); ++i) {
|
||||
bookmarks.get(i).delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Bookmark addBookmark(int maxLength, boolean visible) {
|
||||
final FBView view = getTextView();
|
||||
final ZLTextWordCursor cursor = view.getStartCursor();
|
||||
|
|
|
@ -33,6 +33,12 @@ public final class Bookmark extends ZLTextFixedPosition {
|
|||
return BooksDatabase.Instance().loadAllVisibleBookmarks();
|
||||
}
|
||||
|
||||
public static List<Bookmark> invisibleBookmarks(Book book) {
|
||||
final List<Bookmark> list = BooksDatabase.Instance().loadBookmarks(book.getId(), false);
|
||||
Collections.sort(list, new ByTimeComparator());
|
||||
return list;
|
||||
}
|
||||
|
||||
private long myId;
|
||||
private final long myBookId;
|
||||
private final String myBookTitle;
|
||||
|
@ -152,7 +158,7 @@ public final class Bookmark extends ZLTextFixedPosition {
|
|||
}
|
||||
}
|
||||
|
||||
public static String createBookmarkText(ZLTextWordCursor cursor, int maxWords) {
|
||||
private static String createBookmarkText(ZLTextWordCursor cursor, int maxWords) {
|
||||
cursor = new ZLTextWordCursor(cursor);
|
||||
|
||||
final StringBuilder builder = new StringBuilder();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue