|
@@ -901,10 +901,17 @@ public abstract class TextFrame extends JInternalFrame implements Window,
|
901
|
901
|
final Point point) {
|
902
|
902
|
final JPopupMenu popupMenu;
|
903
|
903
|
|
|
904
|
+ final String[] parts = type.getValue().split("\n");
|
|
905
|
+ final Object[][] arguments = new Object[parts.length][1];
|
|
906
|
+
|
|
907
|
+ int i = 0;
|
|
908
|
+ for (String part : parts) {
|
|
909
|
+ arguments[i++][0] = part;
|
|
910
|
+ }
|
|
911
|
+
|
904
|
912
|
switch (type.getType()) {
|
905
|
913
|
case CHANNEL:
|
906
|
|
- popupMenu = getPopupMenu(getChannelPopupType(),
|
907
|
|
- type.getValue());
|
|
914
|
+ popupMenu = getPopupMenu(getChannelPopupType(), arguments);
|
908
|
915
|
popupMenu.add(new ChannelCopyAction(type.getValue()));
|
909
|
916
|
if (popupMenu.getComponentCount() > 1) {
|
910
|
917
|
popupMenu.addSeparator();
|
|
@@ -912,8 +919,7 @@ public abstract class TextFrame extends JInternalFrame implements Window,
|
912
|
919
|
|
913
|
920
|
break;
|
914
|
921
|
case HYPERLINK:
|
915
|
|
- popupMenu = getPopupMenu(getHyperlinkPopupType(),
|
916
|
|
- type.getValue());
|
|
922
|
+ popupMenu = getPopupMenu(getHyperlinkPopupType(), arguments);
|
917
|
923
|
popupMenu.add(new HyperlinkCopyAction(type.getValue()));
|
918
|
924
|
if (popupMenu.getComponentCount() > 1) {
|
919
|
925
|
popupMenu.addSeparator();
|
|
@@ -921,8 +927,7 @@ public abstract class TextFrame extends JInternalFrame implements Window,
|
921
|
927
|
|
922
|
928
|
break;
|
923
|
929
|
case NICKNAME:
|
924
|
|
- popupMenu = getPopupMenu(getNicknamePopupType(),
|
925
|
|
- type.getValue());
|
|
930
|
+ popupMenu = getPopupMenu(getNicknamePopupType(), arguments);
|
926
|
931
|
if (popupMenu.getComponentCount() > 0) {
|
927
|
932
|
popupMenu.addSeparator();
|
928
|
933
|
}
|
|
@@ -930,7 +935,7 @@ public abstract class TextFrame extends JInternalFrame implements Window,
|
930
|
935
|
popupMenu.add(new NicknameCopyAction(type.getValue()));
|
931
|
936
|
break;
|
932
|
937
|
default:
|
933
|
|
- popupMenu = getPopupMenu(null, type.getValue());
|
|
938
|
+ popupMenu = getPopupMenu(null, arguments);
|
934
|
939
|
break;
|
935
|
940
|
}
|
936
|
941
|
|
|
@@ -962,9 +967,8 @@ public abstract class TextFrame extends JInternalFrame implements Window,
|
962
|
967
|
*
|
963
|
968
|
* @return PopupMenu
|
964
|
969
|
*/
|
965
|
|
- public JPopupMenu getPopupMenu(
|
966
|
|
- final PopupType type,
|
967
|
|
- final Object... arguments) {
|
|
970
|
+ public JPopupMenu getPopupMenu(final PopupType type,
|
|
971
|
+ final Object[][] arguments) {
|
968
|
972
|
JPopupMenu popupMenu = new JPopupMenu();
|
969
|
973
|
|
970
|
974
|
if (type != null) {
|
|
@@ -987,7 +991,7 @@ public abstract class TextFrame extends JInternalFrame implements Window,
|
987
|
991
|
*/
|
988
|
992
|
private JComponent populatePopupMenu(final JComponent menu,
|
989
|
993
|
final PopupMenu popup,
|
990
|
|
- final Object... arguments) {
|
|
994
|
+ final Object[][] arguments) {
|
991
|
995
|
for (PopupMenuItem menuItem : popup.getItems()) {
|
992
|
996
|
if (menuItem.isDivider()) {
|
993
|
997
|
menu.add(new JSeparator());
|