summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsContextMenu.java
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-02-21 21:07:57 +0800
committerPo Lu <luangruo@yahoo.com>2023-02-21 21:07:57 +0800
commit77feba74564c4d58b472b82fec0137091bb5c7e1 (patch)
tree23d08bc1e5e0b11d95a09a7559e8224c9bbd56d0 /java/org/gnu/emacs/EmacsContextMenu.java
parent8ca4162ecdb174e59d59fc127a1bc4fef7b89fa2 (diff)
Update Android port
* java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu) (addSubmenu, inflateMenuItems): Handle tooltips correctly. * src/android.c (android_scan_directory_tree): Fix limit generation for root directory. * src/androidmenu.c (android_init_emacs_context_menu) (android_menu_show): Implement menu item help text on Android 8.0 and later.
Diffstat (limited to 'java/org/gnu/emacs/EmacsContextMenu.java')
-rw-r--r--java/org/gnu/emacs/EmacsContextMenu.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/java/org/gnu/emacs/EmacsContextMenu.java b/java/org/gnu/emacs/EmacsContextMenu.java
index 184c611bf9d..6b3ae0c6de9 100644
--- a/java/org/gnu/emacs/EmacsContextMenu.java
+++ b/java/org/gnu/emacs/EmacsContextMenu.java
@@ -26,6 +26,7 @@ import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+import android.os.Build;
import android.view.Menu;
import android.view.MenuItem;
@@ -54,7 +55,7 @@ public class EmacsContextMenu
private class Item implements MenuItem.OnMenuItemClickListener
{
public int itemID;
- public String itemName;
+ public String itemName, tooltip;
public EmacsContextMenu subMenu;
public boolean isEnabled, isCheckable, isChecked;
@@ -147,7 +148,7 @@ public class EmacsContextMenu
item name. */
public EmacsContextMenu
- addSubmenu (String itemName, String title)
+ addSubmenu (String itemName, String title, String tooltip)
{
EmacsContextMenu submenu;
Item item;
@@ -155,6 +156,7 @@ public class EmacsContextMenu
item = new Item ();
item.itemID = 0;
item.itemName = itemName;
+ item.tooltip = tooltip;
item.subMenu = createContextMenu (title);
item.subMenu.parent = this;
@@ -214,6 +216,13 @@ public class EmacsContextMenu
if (item.isChecked)
menuItem.setChecked (true);
+
+ /* If the tooltip text is set and the system is new enough
+ to support menu item tooltips, set it on the item. */
+
+ if (item.tooltip != null
+ && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
+ menuItem.setTooltipText (item.tooltip);
}
}
}