From 613aa283bdcab3d8d6e26fbe08aedcc49a8fe571 Mon Sep 17 00:00:00 2001
From: Jules Aguillon
Date: Thu, 10 Aug 2023 20:55:42 +0200
Subject: LayoutsPreference: Remove cross button for custom layouts
Remove the cross button on the right of custom layouts to reduce
accidental removal.
A remove button is added in the dialog for modifying the layout.
---
res/values-cs/strings.xml | 1 +
res/values-de/strings.xml | 1 +
res/values-es/strings.xml | 1 +
res/values-fa/strings.xml | 1 +
res/values-fr/strings.xml | 1 +
res/values-it/strings.xml | 1 +
res/values-ko/strings.xml | 1 +
res/values-lv/strings.xml | 1 +
res/values-pl/strings.xml | 1 +
res/values-pt/strings.xml | 1 +
res/values-ro/strings.xml | 1 +
res/values-ru/strings.xml | 1 +
res/values-tr/strings.xml | 1 +
res/values-vi/strings.xml | 1 +
res/values-zh-rCN/strings.xml | 1 +
res/values/strings.xml | 1 +
srcs/juloo.keyboard2/LayoutsPreference.java | 18 +++++++++++++-----
srcs/juloo.keyboard2/ListGroupPreference.java | 24 +++++++++++++++++-------
18 files changed, 46 insertions(+), 12 deletions(-)
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index f4df544..2072e7a 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -14,6 +14,7 @@
Vlastní rozvržení
Přidat alternativní rozložení
Rozložení %1$d: %2$s
+
Vlastní rozvržení
Zobrazit NumPad
Nikdy
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index cebedd4..003f047 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -14,6 +14,7 @@
Eigenes Layout
Alternatives Layout hinzufügen
Layout %1$d: %2$s
+
Eigenes Layout
Ziffernblock anzeigen
Nie
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 9b26c53..8f8703c 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -14,6 +14,7 @@
Formato personalizado
+
Formato personalizado
Mostrar pad numérico
Nunca
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 32cd8e0..7c58ca1 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -14,6 +14,7 @@
طرح صفارشی
+
طرح شخصی
نمایش پد شمارهها
هرگز
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index b5407bb..4293335 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -14,6 +14,7 @@
Disposition personnalisée
Ajouter un clavier alternatif
Disposition %1$d: %2$s
+
Disposition personnalisée
Afficher le pavé numérique
Jamais
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index d8424ad..1c7b96a 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -14,6 +14,7 @@
+
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 1ee49df..e8e9f4a 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -14,6 +14,7 @@
+
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 829cd3c..b297df0 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -14,6 +14,7 @@
Pielāgots izkārtojums
Pievienot aizstājējizkārtojumu
Izkārtojums %1$d: %2$s
+
Pielāgots izkārtojums
Rādīt ciparnīcu
Nekad
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 867d3c5..4aef205 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -14,6 +14,7 @@
Własny układ
Dodaj dodatkowy układ
Układ %1$d: %2$s
+
Własny układ
Pokaż klawiaturę numeryczną
Nigdy
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index f7ac20f..b5c2bbc 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -14,6 +14,7 @@
Layout personalizado
Adicione um layout alternativo
Layout %1$d: %2$s
+
Layout personalizado
Mostrar Teclado Numérico
Nunca
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 0b3beec..1de85fb 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -14,6 +14,7 @@
Aranjament personalizat
+
Aranjament personalizat
Arată NumPad
Niciodată
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index e79648d..c3490f4 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -14,6 +14,7 @@
Пользовательская раскладка
+
Пользовательская раскладка
Показывать NumPad
Никогда
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 4022f2c..cf6133c 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -14,6 +14,7 @@
+
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 1037d9b..1580bf3 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -14,6 +14,7 @@
Tùy chỉnh bố cục
+
Tùy chỉnh bố cục
Hiện NumPad
Không bao giờ
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 80277b0..3a8f6af 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -14,6 +14,7 @@
自定义布局
+
自定义布局
显示数字小键盘
从不
diff --git a/res/values/strings.xml b/res/values/strings.xml
index c8620f7..dbf2581 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -14,6 +14,7 @@
Custom layout
Add an alternate layout
Layout %1$d: %2$s
+ Remove layout
Custom layout
Show NumPad
Never
diff --git a/srcs/juloo.keyboard2/LayoutsPreference.java b/srcs/juloo.keyboard2/LayoutsPreference.java
index 87a7c3b..d6669ba 100644
--- a/srcs/juloo.keyboard2/LayoutsPreference.java
+++ b/srcs/juloo.keyboard2/LayoutsPreference.java
@@ -122,9 +122,9 @@ public class LayoutsPreference extends ListGroupPreference 1);
+ return (_values.size() > 1 && !(value instanceof CustomLayout));
}
@Override
@@ -163,7 +163,7 @@ public class LayoutsPreference extends ListGroupPreference 1)
+ dialog.setNeutralButton(R.string.pref_layouts_remove_custom, new DialogInterface.OnClickListener(){
+ public void onClick(DialogInterface _dialog, int _which)
+ {
+ callback.select(null);
+ }
+ });
+ dialog.show();
}
/** Called when modifying a layout. Custom layouts behave differently. */
diff --git a/srcs/juloo.keyboard2/ListGroupPreference.java b/srcs/juloo.keyboard2/ListGroupPreference.java
index 72ff9d3..ad47411 100644
--- a/srcs/juloo.keyboard2/ListGroupPreference.java
+++ b/srcs/juloo.keyboard2/ListGroupPreference.java
@@ -48,7 +48,7 @@ public abstract class ListGroupPreference extends PreferenceGroup
/** Called every time the list changes and allows to disable the "Remove"
buttons on every items. Might be used to enforce a minimum number of
items. */
- boolean should_allow_remove_item()
+ boolean should_allow_remove_item(E _value)
{
return true;
}
@@ -170,11 +170,10 @@ public abstract class ListGroupPreference extends PreferenceGroup
if (!_attached)
return;
removeAll();
- boolean allow_remove_item = should_allow_remove_item();
int i = 0;
for (E v : _values)
{
- addPreference(this.new Item(getContext(), i, v, allow_remove_item));
+ addPreference(this.new Item(getContext(), i, v));
i++;
}
_add_button = on_attach_add_button(_add_button);
@@ -187,14 +186,14 @@ public abstract class ListGroupPreference extends PreferenceGroup
final E _value;
final int _index;
- public Item(Context ctx, int index, E value, boolean allow_remove)
+ public Item(Context ctx, int index, E value)
{
super(ctx);
_value = value;
_index = index;
setPersistent(false);
setTitle(label_of_value(value, index));
- if (allow_remove)
+ if (should_allow_remove_item(value))
setWidgetLayoutResource(R.layout.pref_listgroup_item_widget);
}
@@ -218,9 +217,14 @@ public abstract class ListGroupPreference extends PreferenceGroup
select(new SelectionCallback() {
public void select(E value)
{
- change_item(_index, value);
+ if (value == null)
+ remove_item(_index);
+ else
+ change_item(_index, value);
}
- });
+
+ public boolean allow_remove() { return true; }
+ }, _value);
}
});
return v;
@@ -244,6 +248,8 @@ public abstract class ListGroupPreference extends PreferenceGroup
{
add_item(value);
}
+
+ public boolean allow_remove() { return false; }
});
}
}
@@ -251,6 +257,10 @@ public abstract class ListGroupPreference extends PreferenceGroup
public interface SelectionCallback
{
public void select(E value);
+
+ /** If this method returns [true], [null] might be passed to [select] to
+ remove the item. */
+ public boolean allow_remove();
}
/** Methods for serializing and deserializing abstract items.
--
cgit v1.2.3