android_calculator-46: Add 'Remove' to context menu for constants, functions etc
This commit is contained in:
parent
dfc9292f73
commit
2a4984f0ec
@ -62,6 +62,15 @@ public class CalculatorVarsActivity extends AbstractMathEntityListActivity<ICons
|
||||
}
|
||||
},
|
||||
|
||||
remove(R.string.c_remove) {
|
||||
@Override
|
||||
public void doAction(@NotNull IConstant data, @NotNull Context context) {
|
||||
if (context instanceof AbstractMathEntityListActivity) {
|
||||
new MathEntityRemover<IConstant>(data, null, CalculatorEngine.instance.getVarsRegistry(), ((AbstractMathEntityListActivity<IConstant>) context)).showConfirmationDialog();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
copy_value(R.string.c_copy_value) {
|
||||
@Override
|
||||
public void doAction(@NotNull IConstant data, @NotNull Context context) {
|
||||
@ -126,6 +135,7 @@ public class CalculatorVarsActivity extends AbstractMathEntityListActivity<ICons
|
||||
|
||||
if ( item.isSystem() ) {
|
||||
result.remove(LongClickMenuItem.edit);
|
||||
result.remove(LongClickMenuItem.remove);
|
||||
}
|
||||
|
||||
if ( StringUtils.isEmpty(CalculatorEngine.instance.getVarsRegistry().getDescription(this, item.getName())) ) {
|
||||
|
@ -58,17 +58,7 @@ class MathEntityRemover<T extends MathEntity> implements DialogInterface.OnClick
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if (!confirmed) {
|
||||
final TextView question = new TextView(activity);
|
||||
question.setText(String.format(activity.getString(R.string.c_var_removal_confirmation_question), mathEntity.getName()));
|
||||
question.setPadding(6, 6, 6, 6);
|
||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity)
|
||||
.setCancelable(true)
|
||||
.setView(question)
|
||||
.setTitle(R.string.c_var_removal_confirmation)
|
||||
.setNegativeButton(R.string.c_no, callbackOnCancel)
|
||||
.setPositiveButton(R.string.c_yes, new MathEntityRemover<T>(mathEntity, callbackOnCancel, true, varsRegistry, activity));
|
||||
|
||||
builder.create().show();
|
||||
showConfirmationDialog();
|
||||
} else {
|
||||
if (activity.isInCategory(mathEntity)) {
|
||||
activity.getAdapter().remove(mathEntity);
|
||||
@ -81,4 +71,18 @@ class MathEntityRemover<T extends MathEntity> implements DialogInterface.OnClick
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void showConfirmationDialog() {
|
||||
final TextView question = new TextView(activity);
|
||||
question.setText(String.format(activity.getString(R.string.c_var_removal_confirmation_question), mathEntity.getName()));
|
||||
question.setPadding(6, 6, 6, 6);
|
||||
final AlertDialog.Builder builder = new AlertDialog.Builder(activity)
|
||||
.setCancelable(true)
|
||||
.setView(question)
|
||||
.setTitle(R.string.c_var_removal_confirmation)
|
||||
.setNegativeButton(R.string.c_no, callbackOnCancel)
|
||||
.setPositiveButton(R.string.c_yes, new MathEntityRemover<T>(mathEntity, callbackOnCancel, true, varsRegistry, activity));
|
||||
|
||||
builder.create().show();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user