diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java
index a43dbc299..89bd53cb7 100644
--- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java
+++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java
@@ -133,7 +133,7 @@ public class ControlData implements Cloneable
this.dynamicY = dynamicY;
this.width = width;
this.height = height;
- this.isDynamicBtn = true;
+ this.isDynamicBtn = false;
this.isToggle = isToggle;
this.opacity = opacity;
this.bgColor = bgColor;
diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/ActionPopupWindow.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/ActionPopupWindow.java
index cbcc33aad..4179330af 100644
--- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/ActionPopupWindow.java
+++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/ActionPopupWindow.java
@@ -41,12 +41,13 @@ public class ActionPopupWindow extends PinnedPopupWindow implements OnClickListe
private TextView mEditTextView;
private TextView mDeleteTextView;
+ private TextView mCloneTextView;
- private Object editedButton;
+ private ControlButton editedButton;
- public ActionPopupWindow(HandleView handleView, Object object){
+ public ActionPopupWindow(HandleView handleView, ControlButton button){
super(handleView);
- this.editedButton = object;
+ this.editedButton = button;
}
@Override
@@ -79,6 +80,12 @@ public class ActionPopupWindow extends PinnedPopupWindow implements OnClickListe
mContentView.addView(mDeleteTextView);
mDeleteTextView.setText(R.string.global_remove);
mDeleteTextView.setOnClickListener(this);
+
+ mCloneTextView = (TextView) inflater.inflate(R.layout.control_action_popup_text, null);
+ mCloneTextView.setLayoutParams(wrapContent);
+ mContentView.addView(mCloneTextView);
+ mCloneTextView.setText(R.string.global_clone);
+ mCloneTextView.setOnClickListener(this);
}
@Override
@@ -132,6 +139,11 @@ public class ActionPopupWindow extends PinnedPopupWindow implements OnClickListe
});
alertBuilder.setNegativeButton(android.R.string.cancel, null);
alertBuilder.show();
+ }else if(view == mCloneTextView) {
+ ControlData cloneData = editedButton.getProperties().clone();
+ cloneData.dynamicX = "0.5 * ${screen_width}";
+ cloneData.dynamicY = "0.5 * ${screen_height}";
+ ((ControlLayout) mHandleView.mView.getParent()).addControlButton(cloneData);
}
hide();
diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/HandleView.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/HandleView.java
index 46e122905..1378be5db 100644
--- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/HandleView.java
+++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/HandleView.java
@@ -189,9 +189,9 @@ public abstract class HandleView extends View implements ViewPositionListener, V
getPositionListener().removeSubscriber(this);
}
- void showActionPopupWindow(int delay, Object object) {
+ void showActionPopupWindow(int delay, ControlButton button) {
if (mActionPopupWindow == null) {
- mActionPopupWindow = new ActionPopupWindow(this, object);
+ mActionPopupWindow = new ActionPopupWindow(this, button);
}
if (mActionPopupShower == null) {
mActionPopupShower = new Runnable() {
diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/SelectionEndHandleView.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/SelectionEndHandleView.java
index eb606da4e..489c91bec 100644
--- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/SelectionEndHandleView.java
+++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/handleview/SelectionEndHandleView.java
@@ -50,9 +50,9 @@ public class SelectionEndHandleView extends HandleView
return 0; // mView.getSelectionEnd();
}
- public void show(Object object){
+ public void show(ControlButton button){
super.show();
- showActionPopupWindow(0, object);
+ showActionPopupWindow(0, button);
}
@Override
diff --git a/app_pojavlauncher/src/main/res/values/strings.xml b/app_pojavlauncher/src/main/res/values/strings.xml
index 8241232e9..520b29f9e 100644
--- a/app_pojavlauncher/src/main/res/values/strings.xml
+++ b/app_pojavlauncher/src/main/res/values/strings.xml
@@ -118,6 +118,7 @@
Load
Name
Remove
+ Clone
Restart
Save
Unpacking %s