use of com.foobnix.pdf.info.presentation.BookmarksAdapter in project LibreraReader by foobnix.
the class DragingDialogs method addBookmarks.
public static void addBookmarks(final FrameLayout anchor, final DocumentController controller, final Runnable onRefeshUI) {
final List<AppBookmark> objects = new ArrayList<AppBookmark>();
final BookmarksAdapter bookmarksAdapter = new BookmarksAdapter(anchor.getContext(), objects, true);
final View.OnClickListener onAdd = new View.OnClickListener() {
@Override
public void onClick(final View v) {
ListBoxHelper.showAddDialog(controller, objects, bookmarksAdapter, "");
}
};
final OnItemClickListener onItem = new OnItemClickListener() {
@Override
public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) {
final AppBookmark appBookmark = objects.get(position);
int page = PageUrl.realToFake(appBookmark.getPage());
if (page != controller.getCurentPageFirst1()) {
final Integer offsetY = Integer.valueOf((int) controller.getOffsetY());
LOG.d("onItemClick: Bookmark", offsetY);
controller.getLinkHistory().clear();
controller.getLinkHistory().add(offsetY);
}
controller.onGoToPage(page);
onRefeshUI.run();
}
};
final OnItemLongClickListener onBooksLong = new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(final AdapterView<?> parent, final View view, final int position, final long id) {
ListBoxHelper.showEditDeleteDialog(objects.get(position), controller, bookmarksAdapter, objects);
return true;
}
};
new DragingPopup(R.string.bookmarks, anchor, 300, 400) {
@Override
public View getContentView(final LayoutInflater inflater) {
View a = inflater.inflate(R.layout.dialog_bookmarks, null, false);
final ListView contentList = (ListView) a.findViewById(R.id.contentList);
contentList.setDivider(new ColorDrawable(Color.TRANSPARENT));
contentList.setVerticalScrollBarEnabled(false);
contentList.setAdapter(bookmarksAdapter);
contentList.setOnItemClickListener(onItem);
contentList.setOnItemLongClickListener(onBooksLong);
a.findViewById(R.id.addBookmark).setOnClickListener(onAdd);
final View.OnClickListener onAddPAge = new View.OnClickListener() {
@Override
public void onClick(final View v) {
int page = PageUrl.fakeToReal(controller.getCurentPageFirst1());
for (AppBookmark all : objects) {
if (all.getPage() == page) {
Toast.makeText(controller.getActivity(), R.string.bookmark_for_this_page_already_exists, Toast.LENGTH_LONG).show();
return;
}
}
final AppBookmark bookmark = new AppBookmark(controller.getCurrentBook().getPath(), controller.getString(R.string.fast_bookmark), page, controller.getTitle());
AppSharedPreferences.get().addBookMark(bookmark);
objects.clear();
objects.addAll(AppSharedPreferences.get().getBookmarksByBook(controller.getCurrentBook()));
bookmarksAdapter.notifyDataSetChanged();
closeDialog();
String TEXT = controller.getString(R.string.fast_bookmark) + " " + TxtUtils.LONG_DASH + " " + controller.getString(R.string.page) + " " + page + "";
Toast.makeText(controller.getActivity(), TEXT, Toast.LENGTH_SHORT).show();
}
};
a.findViewById(R.id.addPageBookmark).setOnClickListener(onAddPAge);
objects.clear();
objects.addAll(AppSharedPreferences.get().getBookmarksByBook(controller.getCurrentBook()));
bookmarksAdapter.notifyDataSetChanged();
return a;
}
}.show("addBookmarks", false, true);
}
Aggregations