/** * presents AlertDialog for editing an existing category if label is already used, shows an error * * @param label * @param cat_id */ public void editCat(String label, Long catId) { Bundle args = new Bundle(); args.putLong("catId", catId); args.putString("dialogTitle", getString(R.string.menu_edit_cat)); args.putString("value", label); EditTextDialog.newInstance(args).show(getSupportFragmentManager(), "EDIT_CATEGORY"); }
/** * presents AlertDialog for adding a new category if label is already used, shows an error * * @param parent_id */ public void createCat(Long parentId) { Bundle args = new Bundle(); int dialogTitle; if (parentId != null) { args.putLong("parentId", parentId); dialogTitle = R.string.menu_create_sub_cat; } else dialogTitle = R.string.menu_create_main_cat; args.putString("dialogTitle", getString(dialogTitle)); EditTextDialog.newInstance(args).show(getSupportFragmentManager(), "CREATE_CATEGORY"); }
@Override public boolean dispatchCommandSingle(int command, ContextMenu.ContextMenuInfo info) { AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) info; MyExpenses ctx = (MyExpenses) getActivity(); switch (command) { case R.id.EDIT_COMMAND: mTransactionsCursor.moveToPosition(acmi.position); if (DbUtils.getLongOrNull(mTransactionsCursor, "transfer_peer_parent") != null) { Toast.makeText( getActivity(), getString(R.string.warning_splitpartcategory_context), Toast.LENGTH_LONG) .show(); } else { Intent i = new Intent(ctx, ExpenseEdit.class); i.putExtra(KEY_ROWID, acmi.id); i.putExtra(DatabaseConstants.KEY_TRANSFER_ENABLED, ctx.transferEnabled()); ctx.startActivityForResult(i, MyExpenses.EDIT_TRANSACTION_REQUEST); } // super is handling deactivation of mActionMode break; case R.id.CREATE_TEMPLATE_COMMAND: mTransactionsCursor.moveToPosition(acmi.position); String label = mTransactionsCursor.getString(columnIndexPayee); if (TextUtils.isEmpty(label)) label = mTransactionsCursor.getString(columnIndexLabelSub); if (TextUtils.isEmpty(label)) label = mTransactionsCursor.getString(columnIndexLabelMain); Bundle args = new Bundle(); args.putLong(KEY_ROWID, acmi.id); args.putString( EditTextDialog.KEY_DIALOG_TITLE, getString(R.string.dialog_title_template_title)); args.putString(EditTextDialog.KEY_VALUE, label); EditTextDialog.newInstance(args).show(ctx.getSupportFragmentManager(), "TEMPLATE_TITLE"); return true; } return super.dispatchCommandSingle(command, info); }