Skip to content

Commit a0d8d10

Browse files
committed
Require double confirmation for deleting all transactions
The user must check a checkbox to enable the delete button. This tries to avoid confirming irreversible actions by mistake. Fixes #544
1 parent ca044f4 commit a0d8d10

1 file changed

Lines changed: 3 additions & 18 deletions

File tree

app/src/main/java/org/gnucash/android/ui/settings/dialog/DeleteAllTransactionsConfirmationDialog.java

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,11 @@
1616
*/
1717
package org.gnucash.android.ui.settings.dialog;
1818

19-
import android.app.AlertDialog;
2019
import android.app.Dialog;
2120
import android.content.Context;
2221
import android.content.DialogInterface;
2322
import android.os.Bundle;
2423
import android.support.annotation.NonNull;
25-
import android.support.v4.app.DialogFragment;
2624
import android.util.Log;
2725
import android.widget.Toast;
2826

@@ -44,7 +42,7 @@
4442
* @author ngewif <ngewif@gmail.com>
4543
* @author Yongxin Wang <fefe.wyx@gmail.com>
4644
*/
47-
public class DeleteAllTransactionsConfirmationDialog extends DialogFragment {
45+
public class DeleteAllTransactionsConfirmationDialog extends DoubleConfirmationDialog {
4846

4947
public static DeleteAllTransactionsConfirmationDialog newInstance() {
5048
DeleteAllTransactionsConfirmationDialog frag = new DeleteAllTransactionsConfirmationDialog();
@@ -53,7 +51,7 @@ public static DeleteAllTransactionsConfirmationDialog newInstance() {
5351

5452
@Override
5553
@NonNull public Dialog onCreateDialog(Bundle savedInstanceState) {
56-
return new AlertDialog.Builder(getActivity())
54+
return getDialogBuilder()
5755
.setIcon(android.R.drawable.ic_delete)
5856
.setTitle(R.string.title_confirm_delete).setMessage(R.string.msg_delete_all_transactions_confirmation)
5957
.setPositiveButton(R.string.alert_dialog_ok_delete,
@@ -80,19 +78,6 @@ public void onClick(DialogInterface dialog, int whichButton) {
8078
}
8179
}
8280

83-
)
84-
.
85-
86-
setNegativeButton(R.string.alert_dialog_cancel,
87-
new DialogInterface.OnClickListener() {
88-
public void onClick(DialogInterface dialog, int whichButton) {
89-
dismiss();
90-
}
91-
}
92-
93-
)
94-
.
95-
96-
create();
81+
).create();
9782
}
9883
}

0 commit comments

Comments
 (0)