1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-07 09:17:11 +02:00

show obligatory a delete confirmation dialog before you can delete a measurement. You can disable this dialog under the settings.

This commit is contained in:
OliE
2017-03-04 14:22:11 +01:00
parent 2573c599bb
commit d35bcca8d6
6 changed files with 67 additions and 2 deletions

View File

@@ -20,6 +20,7 @@ import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
@@ -453,6 +454,33 @@ public class DataEntryActivity extends Activity {
private class onClickListenerDelete implements View.OnClickListener {
@Override
public void onClick(View v) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(v.getContext());
boolean deleteConfirmationEnable = prefs.getBoolean("deleteConfirmationEnable", true);
if (deleteConfirmationEnable) {
AlertDialog.Builder deleteAllDialog = new AlertDialog.Builder(v.getContext());
deleteAllDialog.setMessage(getResources().getString(R.string.question_really_delete));
deleteAllDialog.setPositiveButton(getResources().getString(R.string.label_yes), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
deleteMeasurement();
}
});
deleteAllDialog.setNegativeButton(getResources().getString(R.string.label_no), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
deleteAllDialog.show();
}
else {
deleteMeasurement();
}
}
void deleteMeasurement() {
long delId = id;
boolean hasNext = moveLeft();

View File

@@ -421,13 +421,42 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
}
private class onClickListenerDelete implements View.OnClickListener {
private long row_id;
@Override
public void onClick(View v) {
TableRow dataRow = (TableRow)v.getParent();
TextView idTextView = (TextView) dataRow.getChildAt(0);
long id = Long.parseLong(idTextView.getText().toString());
row_id = Long.parseLong(idTextView.getText().toString());
OpenScale.getInstance(tableView.getContext()).deleteScaleData(id);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(v.getContext());
boolean deleteConfirmationEnable = prefs.getBoolean("deleteConfirmationEnable", true);
if (deleteConfirmationEnable) {
AlertDialog.Builder deleteAllDialog = new AlertDialog.Builder(getActivity());
deleteAllDialog.setMessage(getResources().getString(R.string.question_really_delete));
deleteAllDialog.setPositiveButton(getResources().getString(R.string.label_yes), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
deleteMeasurement();
}
});
deleteAllDialog.setNegativeButton(getResources().getString(R.string.label_no), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
deleteAllDialog.show();
}
else {
deleteMeasurement();
}
}
public void deleteMeasurement() {
OpenScale.getInstance(tableView.getContext()).deleteScaleData(row_id);
Toast.makeText(tableView.getContext(), getResources().getString(R.string.info_data_deleted), Toast.LENGTH_SHORT).show();
updateOnView(OpenScale.getInstance(tableView.getContext()).getScaleDataList());

View File

@@ -111,4 +111,6 @@
<string name="label_reminder_time">Zeit</string>
<string name="label_reminder_weekdays">Wochentage</string>
<string name="title_measurements">Messwerte</string>
<string name="label_delete_confirmation">Löschbestätigung</string>
<string name="question_really_delete">Wollen Sie wirklich den Datenbankeintrag löschen?</string>
</resources>

View File

@@ -111,4 +111,6 @@
<string name="label_reminder_time">時刻</string>
<string name="label_reminder_weekdays">平日</string>
<string name="title_measurements">観測</string>
<string name="label_delete_confirmation">確認の削除</string>
<string name="question_really_delete">あなたは本当にレコードを削除しますか</string>
</resources>

View File

@@ -105,6 +105,7 @@
<string name="info_no_selected_user">No user exists. Please create a new user in the settings.</string>
<string name="info_no_evaluation_available">Can\'t evaluate the value</string>
<string name="question_really_delete">Do you really want to delete database entry?</string>
<string name="question_really_delete_all">Do you really want to delete all database entries?</string>
<string name="question_really_delete_user">Do you really want to delete the user? </string>
@@ -115,6 +116,8 @@
<string name="label_enable_labels">Label on data point</string>
<string name="label_delete_confirmation">Delete confirmation</string>
<string name="label_reminder">Reminder</string>
<string name="label_reminder_weekdays">Weekdays</string>
<string name="label_reminder_time">Time</string>

View File

@@ -5,4 +5,5 @@
<CheckBoxPreference android:title="@string/label_muscle" android:summaryOn="@string/info_is_enable" android:summaryOff="@string/info_is_not_enable" android:key="muscleEnable" android:defaultValue="true"/>
<CheckBoxPreference android:title="@string/label_waist" android:summaryOn="@string/info_is_enable" android:summaryOff="@string/info_is_not_enable" android:key="waistEnable" android:defaultValue="false"/>
<CheckBoxPreference android:title="@string/label_hip" android:summaryOn="@string/info_is_enable" android:summaryOff="@string/info_is_not_enable" android:key="hipEnable" android:defaultValue="false"/>
<CheckBoxPreference android:title="@string/label_delete_confirmation" android:summaryOn="@string/info_is_enable" android:summaryOff="@string/info_is_not_enable" android:key="deleteConfirmationEnable" android:defaultValue="true" />
</PreferenceScreen>