5
5
package mediathek .gui .filmInformation ;
6
6
7
7
import com .formdev .flatlaf .util .ScaledImageIcon ;
8
+ import mediathek .config .Konstanten ;
8
9
import mediathek .daten .Country ;
9
10
import mediathek .daten .DatenFilm ;
10
11
import mediathek .gui .actions .UrlHyperlinkAction ;
@@ -42,11 +43,14 @@ public class FilmInfoDialog extends JDialog {
42
43
private static final Dimension DEFAULT_SENDER_DIMENSION = new Dimension (64 , 64 );
43
44
private static final Logger logger = LogManager .getLogger ();
44
45
private Optional <DatenFilm > currentFilmOptional = Optional .empty ();
46
+ private final JPopupMenu popupMenu = new JPopupMenu ();
45
47
46
48
public FilmInfoDialog (Window owner ) {
47
49
super (owner );
48
50
initComponents ();
49
51
52
+ setupDescriptionPopupMenu ();
53
+
50
54
setupHyperlink ();
51
55
52
56
updateTextFields ();
@@ -56,6 +60,23 @@ public FilmInfoDialog(Window owner) {
56
60
setupListeners ();
57
61
}
58
62
63
+ private void setupDescriptionPopupMenu () {
64
+ var item = new JMenuItem ("Auswahl kopieren" );
65
+ item .addActionListener (l -> {
66
+ final var selected = (lblDescription .getSelectionEnd () - lblDescription .getSelectionStart ()) > 0 ;
67
+ if (!selected ) {
68
+ JOptionPane .showMessageDialog (this , "Kein Text markiert!" , Konstanten .PROGRAMMNAME , JOptionPane .ERROR_MESSAGE );
69
+ }
70
+ else {
71
+ var text = lblDescription .getSelectedText ();
72
+ System .out .println ("TEXT: " + text );
73
+ GuiFunktionen .copyToClipboard (text );
74
+ }
75
+ });
76
+ popupMenu .add (item );
77
+ lblDescription .setComponentPopupMenu (popupMenu );
78
+ }
79
+
59
80
private void setupListeners () {
60
81
addWindowListener (new WindowAdapter () {
61
82
@ Override
0 commit comments