[Git][java-team/libmnemonicsetter-java][master] 5 commits: New upstream version 0.6

Andreas Tille (@tille) gitlab at salsa.debian.org
Mon Feb 10 19:46:02 GMT 2025



Andreas Tille pushed to branch master at Debian Java Maintainers / libmnemonicsetter-java


Commits:
3e0b8fbf by Andreas Tille at 2025-02-10T20:37:49+01:00
New upstream version 0.6
- - - - -
3c15ce34 by Andreas Tille at 2025-02-10T20:37:49+01:00
New upstream version

- - - - -
a84f399e by Andreas Tille at 2025-02-10T20:37:49+01:00
Update upstream source from tag 'upstream/0.6'

Update to upstream version '0.6'
with Debian dir 6653faadd51c45564fb811703946a3185c9dede3
- - - - -
3fef61a9 by Andreas Tille at 2025-02-10T20:40:40+01:00
Update patch

- - - - -
93ba8c6c by Andreas Tille at 2025-02-10T20:42:12+01:00
Upload to unstable

- - - - -


4 changed files:

- build.gradle
- debian/changelog
- debian/patches/01_build.patch
- src/main/java/org/dpolivaev/mnemonicsetter/MnemonicSetter.java


Changes:

=====================================
build.gradle
=====================================
@@ -13,7 +13,7 @@ targetCompatibility='1.7'
 sourceCompatibility='1.7'
 
 group 'org.dpolivaev.mnemonicsetter'
-version='0.5'
+version='0.6'
 
 
 bintray {
@@ -55,6 +55,9 @@ publishing {
             }
         }
     }
+    repositories {
+        maven { url "${project.gradle.gradleUserHomeDir}/local-artifacts" }
+    }
 }
 
 dependencies {


=====================================
debian/changelog
=====================================
@@ -1,4 +1,4 @@
-libmnemonicsetter-java (0.5-2) UNRELEASED; urgency=medium
+libmnemonicsetter-java (0.6-1) unstable; urgency=medium
 
   * Team upload.
   * Build-Depends: s/default-jdk/default-jdk-headless/
@@ -12,8 +12,9 @@ libmnemonicsetter-java (0.5-2) UNRELEASED; urgency=medium
   * Ignore errors in build time test which is executed per default in
     debhelper compat level 13
   * Depends: ${java:Depends}
+  * New upstream version
 
- -- Andreas Tille <tille at debian.org>  Mon, 10 Feb 2025 20:24:17 +0100
+ -- Andreas Tille <tille at debian.org>  Mon, 10 Feb 2025 20:40:51 +0100
 
 libmnemonicsetter-java (0.5-1.1) unstable; urgency=medium
 


=====================================
debian/patches/01_build.patch
=====================================
@@ -4,7 +4,7 @@ Forwarded: not-needed
 Last-Update: 2016-04-07
 --- a/build.gradle
 +++ b/build.gradle
-@@ -1,21 +1,23 @@
+@@ -1,21 +1,22 @@
 -plugins {
 -    id "com.jfrog.bintray" version "1.6"
 -}
@@ -18,14 +18,13 @@ Last-Update: 2016-04-07
  apply plugin: 'java'
  apply plugin: 'eclipse'
 -apply plugin: 'maven-publish'
-+//apply plugin: 'maven-publish'
 +apply plugin: 'maven'
  
  targetCompatibility='1.7'
  sourceCompatibility='1.7'
  
  group 'org.dpolivaev.mnemonicsetter'
- version='0.5'
+ version='0.6'
 +jar.baseName = 'mnemonicsetter'
  
 -
@@ -33,7 +32,7 @@ Last-Update: 2016-04-07
  bintray {
      user = System.getenv('BINTRAY_USER')
      key = System.getenv('BINTRAY_KEY')
-@@ -31,6 +33,7 @@
+@@ -31,6 +32,7 @@ bintray {
  		}
      }
  }
@@ -41,7 +40,7 @@ Last-Update: 2016-04-07
  
  task sourceJar(type: Jar, dependsOn: classes) {
      classifier = 'sources'
-@@ -42,6 +45,7 @@
+@@ -42,6 +44,7 @@ task javadocJar(type: Jar, dependsOn: ja
      from javadoc.destinationDir
  }
  
@@ -49,8 +48,8 @@ Last-Update: 2016-04-07
  publishing {
      publications {
          mnemonicsetter(MavenPublication) {
-@@ -56,6 +60,23 @@
-         }
+@@ -59,6 +62,23 @@ publishing {
+         maven { url "${project.gradle.gradleUserHomeDir}/local-artifacts" }
      }
  }
 +*/


=====================================
src/main/java/org/dpolivaev/mnemonicsetter/MnemonicSetter.java
=====================================
@@ -28,22 +28,17 @@ import javax.swing.JMenuItem;
 import javax.swing.event.PopupMenuEvent;
 import javax.swing.event.PopupMenuListener;
 
-import org.dpolivaev.mnemonicsetter.ButtonNameMnemonicHolder;
-import org.dpolivaev.mnemonicsetter.INameMnemonicHolder;
-import org.dpolivaev.mnemonicsetter.MenuItemMnemonicHolder;
-import org.dpolivaev.mnemonicsetter.ItemMnemonicSetter;
-
 /**
  * Automatically assigns mnemonics to menu items and toolbar elements.
- * 
+ *
  * Use it just like MnemonicSetter.INSTANCE.setComponentMnemonics(menubar, toolbar).
- * You can also attach it to a popup menu as a PopupMenuListener 
+ * You can also attach it to a popup menu as a PopupMenuListener
  * so that mnemonics are automatically calculated when the popup menu becomes visible.
  */
 public class MnemonicSetter implements PopupMenuListener{
 	final static private boolean IS_MAC_OS = System.getProperty("os.name").startsWith("Mac OS");
 	final static public MnemonicSetter INSTANCE = new MnemonicSetter();
-	
+
 
 	@Override
 	public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
@@ -56,31 +51,56 @@ public class MnemonicSetter implements PopupMenuListener{
 			return; // Mac OS generally does not support mnemonics
 		int componentCount = 0;
 		for(Container container : containers) {
-			componentCount += container.getComponentCount();
+			componentCount += countComponents(container);
 		}
 		final Collection<Integer> keyCodesUsedInMenus = new HashSet<>();
 		final ArrayList<INameMnemonicHolder> mnemonicHolders = new ArrayList<INameMnemonicHolder>(componentCount);
 		for(Container container : containers) {
-			if(container instanceof JMenuBar) {
-				final Collection<Integer> keyCodesUsedInMenu = UsedAltAcceleratorsFinder.INSTANCE.findUsedKeyCodes((JMenuBar) container);
-				keyCodesUsedInMenus.addAll(keyCodesUsedInMenu);
-			}
-				
-			final Component[] components = container.getComponents();
-			for(Component component :components)
-				if(component instanceof JMenuItem) {
-					final JMenuItem item = (JMenuItem) component;
-					mnemonicHolders.add(new MenuItemMnemonicHolder(item));
-				}
-				else if(component instanceof AbstractButton) {
-					final AbstractButton button = (AbstractButton) component;
-					mnemonicHolders.add(new ButtonNameMnemonicHolder(button));
-				}
+			addComponents(container, keyCodesUsedInMenus, mnemonicHolders);
 		}
 		final ItemMnemonicSetter mnemonicSetter = ItemMnemonicSetter.of(mnemonicHolders).notUsing(keyCodesUsedInMenus);
 		mnemonicSetter.setMnemonics();
 	}
 
+	private void addComponents(Container container, final Collection<Integer> keyCodesUsedInMenus,
+							   final ArrayList<INameMnemonicHolder> mnemonicHolders) {
+		if(container instanceof JMenuBar) {
+			final Collection<Integer> keyCodesUsedInMenu = UsedAltAcceleratorsFinder.INSTANCE.findUsedKeyCodes((JMenuBar) container);
+			keyCodesUsedInMenus.addAll(keyCodesUsedInMenu);
+		}
+
+		final Component[] components = container.getComponents();
+		for(Component component :components)
+			if(component instanceof JMenuItem) {
+				final JMenuItem item = (JMenuItem) component;
+				mnemonicHolders.add(new MenuItemMnemonicHolder(item));
+			}
+			else if(component instanceof AbstractButton) {
+				final AbstractButton button = (AbstractButton) component;
+				mnemonicHolders.add(new ButtonNameMnemonicHolder(button));
+			}
+			else if(component instanceof Container) {
+				addComponents((Container) component, keyCodesUsedInMenus, mnemonicHolders);
+			}
+	}
+
+	private int countComponents(Container container) {
+		if(container instanceof JMenuBar) {
+			return container.getComponentCount();
+		}
+		int count = 0;
+		final Component[] components = container.getComponents();
+		for(Component component :components) {
+			if(component instanceof JMenuItem || component instanceof AbstractButton) {
+				count++;
+			}
+			else if(component instanceof Container) {
+				count += countComponents((Container) component);
+			}
+		}
+		return count;
+	}
+
 	@Override
 	public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
 	}



View it on GitLab: https://salsa.debian.org/java-team/libmnemonicsetter-java/-/compare/1996ecc2b1113140c6d74c769ba001db1efd5a4f...93ba8c6c8d8b1dd727d1c209531d7a491bbbf93c

-- 
View it on GitLab: https://salsa.debian.org/java-team/libmnemonicsetter-java/-/compare/1996ecc2b1113140c6d74c769ba001db1efd5a4f...93ba8c6c8d8b1dd727d1c209531d7a491bbbf93c
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20250210/0e6bb362/attachment.htm>


More information about the pkg-java-commits mailing list