From 8d29d80fcefb6da6fb39e52519a1facc91180815 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Fri, 21 Jun 2024 00:42:55 +0200 Subject: [PATCH] clipboard: Confirmation dialog before deletion Prevent accidentally deleting a saved clipboard. --- res/values-cs/strings.xml | 2 ++ res/values-de/strings.xml | 2 ++ res/values-es/strings.xml | 2 ++ res/values-fa/strings.xml | 2 ++ res/values-fr/strings.xml | 2 ++ res/values-it/strings.xml | 2 ++ res/values-ko/strings.xml | 2 ++ res/values-lv/strings.xml | 2 ++ res/values-pl/strings.xml | 2 ++ res/values-pt/strings.xml | 2 ++ res/values-ro/strings.xml | 2 ++ res/values-ru/strings.xml | 2 ++ res/values-tr/strings.xml | 2 ++ res/values-uk/strings.xml | 2 ++ res/values-vi/strings.xml | 2 ++ res/values-zh-rCN/strings.xml | 2 ++ res/values/strings.xml | 2 ++ srcs/juloo.keyboard2/ClipboardPinView.java | 27 +++++++++++++++++++++- 18 files changed, 60 insertions(+), 1 deletion(-) diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 2766f9a..d3f4102 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -117,4 +117,6 @@ Tato aplikace neobsahuje žádné reklamy, nevyužívá připojení k síti a je End + + diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index a7b73a6..165cae1 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -117,4 +117,6 @@ Diese App enthält keine Werbung, benötigt keinen Netzwerkzugriff und ist quell Ende + + diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 87fd6b0..a5db291 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -117,4 +117,6 @@ La misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y Fin + + diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index af1d5c9..e946504 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -117,4 +117,6 @@ This application contains no ads, doesn't make any network requests and is Open + + diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 72923db..95265a8 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -117,4 +117,6 @@ Cette application ne contient pas de publicité, n'accède pas au réseau et est Fin + + diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index b37486a..fa388d9 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -117,4 +117,6 @@ This application contains no ads, doesn't make any network requests and is Open + + diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index f78187a..9ed24f1 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -117,4 +117,6 @@ This application contains no ads, doesn't make any network requests and is Open + + diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index 8d96434..5118e33 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -119,4 +119,6 @@ Tagad lieliski piemērota izmantošanai ikdienā. Beigas + + diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 22db90e..c7a654a 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -117,4 +117,6 @@ Aplikacja nie zawiera reklam, nie żąda dostępu do internetu, a jej kod źród End + + diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 4ed143e..c83d484 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -117,4 +117,6 @@ Este aplicativo não contém anúncios, não faz nenhuma solicitação de rede e End + + diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 9a32ee7..3491ded 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -117,4 +117,6 @@ Această aplicație nu conține publicitate, nu folosește rețeaua deloc și e + + diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 76d48d3..7445709 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -117,4 +117,6 @@ End + + diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index c6a8991..362859a 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -117,4 +117,6 @@ Bu uygulama açık kaynaklıdır. Reklam içermez ve internete bağlanmaz."SON(Sağ yön tuşu) + + diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index aeb1fbe..f432082 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -117,4 +117,6 @@ End + + diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 2ef5213..dd8f487 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -117,4 +117,6 @@ Bây giờ đã hoàn hảo cho việc sử dụng hàng ngày. + + diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index ff730ba..e17ce1f 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -117,4 +117,6 @@ End + + diff --git a/res/values/strings.xml b/res/values/strings.xml index c67c3e7..7321390 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -117,4 +117,6 @@ This application contains no ads, doesn't make any network requests and is Open End Recently copied text Pinned + Remove this saved clipboard? + Yes diff --git a/srcs/juloo.keyboard2/ClipboardPinView.java b/srcs/juloo.keyboard2/ClipboardPinView.java index 16d57dc..c393d2d 100644 --- a/srcs/juloo.keyboard2/ClipboardPinView.java +++ b/srcs/juloo.keyboard2/ClipboardPinView.java @@ -1,10 +1,14 @@ package juloo.keyboard2; +import android.app.AlertDialog; import android.content.Context; +import android.content.DialogInterface; import android.content.SharedPreferences; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; import android.widget.BaseAdapter; import android.widget.TextView; import java.util.ArrayList; @@ -115,7 +119,28 @@ public final class ClipboardPinView extends NonScrollListView new View.OnClickListener() { @Override - public void onClick(View v) { remove_entry(pos); } + public void onClick(View v) + { + // Confirmation dialog for removing a clip + AlertDialog d = new AlertDialog.Builder(getContext()) + .setTitle(R.string.clipboard_remove_confirm) + .setPositiveButton(R.string.clipboard_remove_confirmed, new DialogInterface.OnClickListener(){ + public void onClick(DialogInterface _dialog, int _which) + { + remove_entry(pos); + } + }) + .setNegativeButton(android.R.string.cancel, null) + .create(); + // https://stackoverflow.com/questions/3494476/android-ime-how-to-show-a-pop-up-dialog + Window dw = d.getWindow(); + WindowManager.LayoutParams lp = dw.getAttributes(); + lp.token = v.getWindowToken(); + lp.type = WindowManager.LayoutParams.TYPE_APPLICATION_ATTACHED_DIALOG; + dw.setAttributes(lp); + dw.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); + d.show(); + } }); return v; }