summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsContextMenu.java
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-01-28 16:29:22 +0800
committerPo Lu <luangruo@yahoo.com>2023-01-28 16:29:22 +0800
commit198b8160cfeeb178d3b2073c8d03afdafe338908 (patch)
tree590c73006536ddfcc8acd8eff8fb80e31c2a009b /java/org/gnu/emacs/EmacsContextMenu.java
parent5bd38905ac67221503f027737912fa0df3602a02 (diff)
Update Android port
* doc/emacs/android.texi (Android File System): Describe an easier way to disable scoped storage. * java/AndroidManifest.xml.in: Add new permission to allow that. * java/README: Add more text describing Java. * java/org/gnu/emacs/EmacsContextMenu.java (Item): New fields `isCheckable' and `isChecked'. (EmacsContextMenu, addItem): New arguments. (inflateMenuItems): Set checked status as appropriate. * java/org/gnu/emacs/EmacsCopyArea.java (perform): Disallow operations where width and height are less than or equal to zero. * lisp/menu-bar.el (menu-bar-edit-menu): Make execute-extended-command available as a menu item. * src/androidmenu.c (android_init_emacs_context_menu) (android_menu_show): * src/menu.c (have_boxes): Implement menu check boxes.
Diffstat (limited to 'java/org/gnu/emacs/EmacsContextMenu.java')
-rw-r--r--java/org/gnu/emacs/EmacsContextMenu.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/java/org/gnu/emacs/EmacsContextMenu.java b/java/org/gnu/emacs/EmacsContextMenu.java
index 056d8fb692c..92429410d03 100644
--- a/java/org/gnu/emacs/EmacsContextMenu.java
+++ b/java/org/gnu/emacs/EmacsContextMenu.java
@@ -56,7 +56,7 @@ public class EmacsContextMenu
public int itemID;
public String itemName;
public EmacsContextMenu subMenu;
- public boolean isEnabled;
+ public boolean isEnabled, isCheckable, isChecked;
@Override
public boolean
@@ -108,10 +108,15 @@ public class EmacsContextMenu
/* Add a normal menu item to the context menu with the id ITEMID and
the name ITEMNAME. Enable it if ISENABLED, else keep it
- disabled. */
+ disabled.
+
+ If this is not a submenu and ISCHECKABLE is set, make the item
+ checkable. Likewise, if ISCHECKED is set, make the item
+ checked. */
public void
- addItem (int itemID, String itemName, boolean isEnabled)
+ addItem (int itemID, String itemName, boolean isEnabled,
+ boolean isCheckable, boolean isChecked)
{
Item item;
@@ -119,6 +124,8 @@ public class EmacsContextMenu
item.itemID = itemID;
item.itemName = itemName;
item.isEnabled = isEnabled;
+ item.isCheckable = isCheckable;
+ item.isChecked = isChecked;
menuItems.add (item);
}
@@ -198,6 +205,15 @@ public class EmacsContextMenu
/* If the item ID is zero, then disable the item. */
if (item.itemID == 0 || !item.isEnabled)
menuItem.setEnabled (false);
+
+ /* Now make the menu item display a checkmark as
+ appropriate. */
+
+ if (item.isCheckable)
+ menuItem.setCheckable (true);
+
+ if (item.isChecked)
+ menuItem.setChecked (true);
}
}
}