Exemple #1
0
  @Override
  public boolean onContextItemSelected(MenuItem item) {

    int shortcut = selectedItem; // mList.getSelectedItemPosition();
    Bookmark bm = mList.getSelectedBookmark();
    if (mList.isShortcutMode()) {
      if (shortcut >= 0 && shortcut < SHORTCUT_COUNT) {
        switch (item.getItemId()) {
          case R.id.bookmark_shortcut_add:
            mReaderView.addBookmark(shortcut + 1);
            listUpdated();
            dismiss();
            return true;
          case R.id.bookmark_delete:
            if (mReaderView.removeBookmark(bm) != null) listUpdated();
            return true;
          case R.id.bookmark_shortcut_goto:
            mReaderView.goToBookmark(shortcut + 1);
            dismiss();
            return true;
        }
      }
      return super.onContextItemSelected(item);
    }
    switch (item.getItemId()) {
      case R.id.bookmark_add:
        mReaderView.addBookmark(0);
        listUpdated();
        dismiss();
        return true;
      case R.id.bookmark_delete:
        if (mReaderView.removeBookmark(bm) != null) listUpdated();
        return true;
      case R.id.bookmark_goto:
        if (bm != null) mReaderView.goToBookmark(bm);
        dismiss();
        return true;
      case R.id.bookmark_edit:
        if (bm != null
            && (bm.getType() == Bookmark.TYPE_COMMENT
                || bm.getType() == Bookmark.TYPE_CORRECTION)) {
          BookmarkEditDialog dlg = new BookmarkEditDialog(mCoolReader, mReaderView, bm, false);
          dlg.show();
        }
        dismiss();
        return true;
      case R.id.bookmark_export:
        if (mBookInfo.getBookmarkCount() > 0) {
          FileInfo fi = mBookInfo.getFileInfo();
          String s = fi.getPathName();
          s = s.replace(FileInfo.ARC_SEPARATOR, "_");
          s = s + ".bmk.txt";
          if (mBookInfo.exportBookmarks(s))
            mCoolReader.showToast(
                getContext().getString(R.string.toast_bookmark_export_ok) + " " + s);
          else
            mCoolReader.showToast(
                getContext().getString(R.string.toast_bookmark_export_failed) + " " + s);
        }
        dismiss();
        return true;
      case R.id.bookmark_send:
        if (mBookInfo.getBookmarkCount() > 0) {
          String s = mBookInfo.getBookmarksExportText();
          mCoolReader.sendBookFragment(mBookInfo, s);
        }
        dismiss();
        return true;
    }
    return super.onContextItemSelected(item);
  }