Apply translation to the context menu

This commit is contained in:
bancika
2020-05-03 20:13:36 +02:00
parent 71e32a9296
commit adcbfbc679
8 changed files with 96 additions and 8 deletions
@@ -3089,6 +3089,10 @@
<org.diylc.appframework.update.Change> <org.diylc.appframework.update.Change>
<changeType>IMPROVEMENT</changeType> <changeType>IMPROVEMENT</changeType>
<description>Dismissing the closing confirmation dialog using the "X" button should behave the same as selecting "Cancel"</description> <description>Dismissing the closing confirmation dialog using the "X" button should behave the same as selecting "Cancel"</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>IMPROVEMENT</changeType>
<description>Apply translation to the context menu</description>
</org.diylc.appframework.update.Change> </org.diylc.appframework.update.Change>
</changes> </changes>
<url>https://github.com/bancika/diy-layout-creator/releases</url> <url>https://github.com/bancika/diy-layout-creator/releases</url>
Binary file not shown.
+5
View File
@@ -24,6 +24,7 @@
5PDT (Center OFF) 5PDT (Center OFF)
AWG AWG
And And
Apply Variant
C-B-E BJT C-B-E BJT
D-G-S JFET D-G-S JFET
D-G-S MOSFET D-G-S MOSFET
@@ -44,6 +45,7 @@ G-D-S JFET
G-D-S MOSFET G-D-S MOSFET
G-S-D JFET G-S-D JFET
G-S-D MOSFET G-S-D MOSFET
Jezik
Lin Lin
Loadline Editor Loadline Editor
Log Log
@@ -63,7 +65,10 @@ SMD
SPDT SPDT
SPDT (Center OFF) SPDT (Center OFF)
SPST SPST
Save as Building Block
Select
Srpski Srpski
Unlock
Xnor Xnor
Xor Xor
cm cm
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,41 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
* DIYLC is free software: you can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* DIYLC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with DIYLC. If not, see
* <http://www.gnu.org/licenses/>.
*/
package org.diylc.swing.gui;
import javax.swing.Action;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import org.diylc.lang.LangUtil;
public class TranslatedMenu extends JMenu {
private static final long serialVersionUID = 1L;
public TranslatedMenu(String name) {
super(LangUtil.translate(name));
}
@Override
public JMenuItem add(Action action) {
String name = (String) action.getValue(Action.NAME);
if (name != null)
action.putValue(Action.NAME, LangUtil.translate(name));
return super.add(action);
}
}
@@ -0,0 +1,37 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
* DIYLC is free software: you can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* DIYLC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with DIYLC. If not, see
* <http://www.gnu.org/licenses/>.
*/
package org.diylc.swing.gui;
import javax.swing.Action;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import org.diylc.lang.LangUtil;
public class TranslatedPopupMenu extends JPopupMenu {
private static final long serialVersionUID = 1L;
@Override
public JMenuItem add(Action action) {
String name = (String) action.getValue(Action.NAME);
if (name != null)
action.putValue(Action.NAME, LangUtil.translate(name));
return super.add(action);
}
}
@@ -50,7 +50,6 @@ import javax.swing.SwingConstants;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.appframework.miscutils.IConfigListener; import org.diylc.appframework.miscutils.IConfigListener;
import org.diylc.appframework.miscutils.IConfigurationManager; import org.diylc.appframework.miscutils.IConfigurationManager;
import org.diylc.appframework.miscutils.Utils; import org.diylc.appframework.miscutils.Utils;
@@ -67,6 +66,8 @@ import org.diylc.core.measures.SizeUnit;
import org.diylc.images.IconLoader; import org.diylc.images.IconLoader;
import org.diylc.swing.ActionFactory; import org.diylc.swing.ActionFactory;
import org.diylc.swing.ISwingUI; import org.diylc.swing.ISwingUI;
import org.diylc.swing.gui.TranslatedMenu;
import org.diylc.swing.gui.TranslatedPopupMenu;
import org.diylc.swing.plugins.edit.ComponentTransferable; import org.diylc.swing.plugins.edit.ComponentTransferable;
import org.diylc.swing.plugins.file.ProjectDrawingProvider; import org.diylc.swing.plugins.file.ProjectDrawingProvider;
import org.diylc.swingframework.ruler.IRulerListener; import org.diylc.swingframework.ruler.IRulerListener;
@@ -452,7 +453,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
public JPopupMenu getPopupMenu() { public JPopupMenu getPopupMenu() {
if (popupMenu == null) { if (popupMenu == null) {
popupMenu = new JPopupMenu(); popupMenu = new TranslatedPopupMenu();
popupMenu.add(getSelectionMenu()); popupMenu.add(getSelectionMenu());
popupMenu.addSeparator(); popupMenu.addSeparator();
popupMenu.add(getCutAction()); popupMenu.add(getCutAction());
@@ -480,7 +481,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
public JMenu getSelectionMenu() { public JMenu getSelectionMenu() {
if (selectionMenu == null) { if (selectionMenu == null) {
selectionMenu = new JMenu("Select"); selectionMenu = new TranslatedMenu("Select");
selectionMenu.setIcon(IconLoader.ElementsSelection.getIcon()); selectionMenu.setIcon(IconLoader.ElementsSelection.getIcon());
} }
return selectionMenu; return selectionMenu;
@@ -488,7 +489,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
public JMenu getExpandMenu() { public JMenu getExpandMenu() {
if (expandMenu == null) { if (expandMenu == null) {
expandMenu = new JMenu("Expand Selection"); expandMenu = new TranslatedMenu("Expand Selection");
expandMenu.setIcon(IconLoader.BranchAdd.getIcon()); expandMenu.setIcon(IconLoader.BranchAdd.getIcon());
expandMenu.add(getExpandSelectionAllAction()); expandMenu.add(getExpandSelectionAllAction());
expandMenu.add(getExpandSelectionImmediateAction()); expandMenu.add(getExpandSelectionImmediateAction());
@@ -499,7 +500,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
public JMenu getLockMenu() { public JMenu getLockMenu() {
if (lockMenu == null) { if (lockMenu == null) {
lockMenu = new JMenu("Lock"); lockMenu = new TranslatedMenu("Lock");
lockMenu.setIcon(IconLoader.Lock.getIcon()); lockMenu.setIcon(IconLoader.Lock.getIcon());
} }
return lockMenu; return lockMenu;
@@ -507,7 +508,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
public JMenu getUnlockMenu() { public JMenu getUnlockMenu() {
if (unlockMenu == null) { if (unlockMenu == null) {
unlockMenu = new JMenu("Unlock"); unlockMenu = new TranslatedMenu("Unlock");
unlockMenu.setIcon(IconLoader.Unlock.getIcon()); unlockMenu.setIcon(IconLoader.Unlock.getIcon());
} }
return unlockMenu; return unlockMenu;
@@ -515,7 +516,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
public JMenu getTransformMenu() { public JMenu getTransformMenu() {
if (transformMenu == null) { if (transformMenu == null) {
transformMenu = new JMenu("Transform Selection"); transformMenu = new TranslatedMenu("Transform Selection");
transformMenu.setIcon(IconLoader.MagicWand.getIcon()); transformMenu.setIcon(IconLoader.MagicWand.getIcon());
transformMenu.add(getRotateClockwiseAction()); transformMenu.add(getRotateClockwiseAction());
transformMenu.add(getRotateCounterclockwiseAction()); transformMenu.add(getRotateCounterclockwiseAction());
@@ -536,7 +537,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
public JMenu getApplyTemplateMenu() { public JMenu getApplyTemplateMenu() {
if (applyTemplateMenu == null) { if (applyTemplateMenu == null) {
applyTemplateMenu = new JMenu("Apply Variant"); applyTemplateMenu = new TranslatedMenu("Apply Variant");
applyTemplateMenu.setIcon(IconLoader.BriefcaseInto.getIcon()); applyTemplateMenu.setIcon(IconLoader.BriefcaseInto.getIcon());
} }
return applyTemplateMenu; return applyTemplateMenu;