1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-06 03:50:19 +02:00

library activity titles have been implemented; new TODO item has been added

This commit is contained in:
Nikolay Pultsin 2010-12-06 09:06:24 +00:00
parent 3584c68d61
commit 215dd88f22
4 changed files with 47 additions and 25 deletions

View file

@ -7,10 +7,11 @@ DONE Wait messages
DONE Search
* Show wait message during search
* File view
* Activity caption
DONE Activity caption
* Book deleting
* Show book info activity instead of immediate opening/menu
* Main menu
* Context menu
* Reload book info from file
* Reload book info for all the files
* Highlight current book

View file

@ -46,12 +46,21 @@ import org.geometerplus.android.util.UIUtil;
import org.geometerplus.android.fbreader.tree.ZLAndroidTree;
abstract class LibraryBaseActivity extends ListActivity {
public static final String SELECTED_BOOK_PATH_KEY = "SelectedBookPath";
static final String TREE_PATH_KEY = "TreePath";
static final String PARAMETER_KEY = "Parameter";
static final String PATH_FAVORITES = "favorites";
static final String PATH_SEARCH_RESULTS = "searchResults";
static final String PATH_RECENT = "recent";
static final String PATH_BY_AUTHOR = "byAuthor";
static final String PATH_BY_TAG = "byTag";
static Library Library;
static final ZLStringOption BookSearchPatternOption =
new ZLStringOption("BookSearch", "Pattern", "");
public static final String SELECTED_BOOK_PATH_KEY = "SelectedBookPath";
protected final ZLResource myResource = ZLResource.resource("libraryView");
protected String mySelectedBookPath;
@ -182,10 +191,16 @@ abstract class LibraryBaseActivity extends ListActivity {
protected class OpenTreeRunnable implements Runnable {
private final String myTreePath;
private final String myParameter;
private final String mySelectedBookPath;
public OpenTreeRunnable(String treePath, String selectedBookPath) {
this(treePath, null, selectedBookPath);
}
public OpenTreeRunnable(String treePath, String parameter, String selectedBookPath) {
myTreePath = treePath;
myParameter = parameter;
mySelectedBookPath = selectedBookPath;
}
@ -195,7 +210,8 @@ abstract class LibraryBaseActivity extends ListActivity {
startActivity(
new Intent(LibraryBaseActivity.this, LibraryTreeActivity.class)
.putExtra(SELECTED_BOOK_PATH_KEY, mySelectedBookPath)
.putExtra(LibraryTreeActivity.TREE_PATH_KEY, myTreePath)
.putExtra(TREE_PATH_KEY, myTreePath)
.putExtra(PARAMETER_KEY, myParameter)
);
}
};

View file

@ -58,24 +58,24 @@ public class LibraryTopLevelActivity extends LibraryBaseActivity {
myItems = new LinkedList<FBTree>();
myItems.add(new TopLevelTree(
myResource.getResource("favorites"),
myResource.getResource(PATH_FAVORITES),
R.drawable.ic_list_library_favorites,
new OpenTreeRunnable(LibraryTreeActivity.PATH_FAVORITES, mySelectedBookPath)
new OpenTreeRunnable(PATH_FAVORITES, mySelectedBookPath)
));
myItems.add(new TopLevelTree(
myResource.getResource("recent"),
myResource.getResource(PATH_RECENT),
R.drawable.ic_list_library_recent,
new OpenTreeRunnable(LibraryTreeActivity.PATH_RECENT, mySelectedBookPath)
new OpenTreeRunnable(PATH_RECENT, mySelectedBookPath)
));
myItems.add(new TopLevelTree(
myResource.getResource("byAuthor"),
myResource.getResource(PATH_BY_AUTHOR),
R.drawable.ic_list_library_authors,
new OpenTreeRunnable(LibraryTreeActivity.PATH_BY_AUTHOR, mySelectedBookPath)
new OpenTreeRunnable(PATH_BY_AUTHOR, mySelectedBookPath)
));
myItems.add(new TopLevelTree(
myResource.getResource("byTag"),
myResource.getResource(PATH_BY_TAG),
R.drawable.ic_list_library_tags,
new OpenTreeRunnable(LibraryTreeActivity.PATH_BY_TAG, mySelectedBookPath)
new OpenTreeRunnable(PATH_BY_TAG, mySelectedBookPath)
));
myItems.add(new TopLevelTree(
myResource.getResource("fileTree"),
@ -106,11 +106,12 @@ public class LibraryTopLevelActivity extends LibraryBaseActivity {
if (myItems.get(0) == mySearchResultsItem) {
myItems.remove(0);
}
final String pattern = intent.getStringExtra(SearchManager.QUERY);
mySearchResultsItem = new TopLevelTree(
myResource.getResource("searchResults"),
intent.getStringExtra(SearchManager.QUERY),
myResource.getResource(PATH_SEARCH_RESULTS),
pattern,
R.drawable.ic_list_library_books,
new OpenTreeRunnable(LibraryTreeActivity.PATH_SEARCH_RESULTS, mySelectedBookPath)
new OpenTreeRunnable(PATH_SEARCH_RESULTS, pattern, mySelectedBookPath)
);
myItems.add(0, mySearchResultsItem);
getListView().invalidateViews();

View file

@ -31,14 +31,6 @@ import org.geometerplus.fbreader.library.BookTree;
import org.geometerplus.android.fbreader.FBReader;
public class LibraryTreeActivity extends LibraryBaseActivity {
static final String TREE_PATH_KEY = "TreePath";
static final String PATH_FAVORITES = "favorites";
static final String PATH_SEARCH_RESULTS = "searchResults";
static final String PATH_RECENT = "recent";
static final String PATH_BY_AUTHOR = "author";
static final String PATH_BY_TAG = "tag";
private String myTreePathString;
private String mySelectedBookPath;
@ -59,11 +51,23 @@ public class LibraryTreeActivity extends LibraryBaseActivity {
finish();
}
} else {
myTreePathString = getIntent().getStringExtra(TREE_PATH_KEY);
mySelectedBookPath = getIntent().getStringExtra(SELECTED_BOOK_PATH_KEY);
myTreePathString = intent.getStringExtra(TREE_PATH_KEY);
mySelectedBookPath = intent.getStringExtra(SELECTED_BOOK_PATH_KEY);
final String[] path = myTreePathString.split("\000");
String title = null;
if (path.length == 1) {
title = myResource.getResource(path[0]).getResource("summary").getValue();
final String parameter = intent.getStringExtra(PARAMETER_KEY);
if (parameter != null) {
title = title.replace("%s", parameter);
}
} else {
title = path[path.length - 1];
}
setTitle(title);
FBTree tree = null;
if (PATH_RECENT.equals(path[0])) {
tree = Library.recentBooks();