6060import javafx .scene .control .DatePicker ;
6161import javafx .scene .control .Dialog ;
6262import javafx .scene .control .Label ;
63+ import javafx .scene .control .Tooltip ;
6364import javafx .scene .control .TreeItem ;
6465import javafx .scene .control .TreeTableCell ;
6566import javafx .scene .control .TreeTableColumn ;
@@ -152,6 +153,7 @@ protected void updateItem(final TableRow item, final boolean empty) {
152153 final String notes = item .getNotes ();
153154 final Label label = new Label (notes .isEmpty () ? EMPTY_NOTE : notes );
154155 label .setUnderline (item .isUnderlined ());
156+ label .setTooltip (new Tooltip (notes ));
155157 this .setGraphic (label );
156158 }
157159 }
@@ -220,7 +222,7 @@ private void updateReport(final LocalDate dateToShow) {
220222 }
221223
222224 final HBox projectButtonBox = new HBox ();
223- projectButtonBox .getChildren ().add (createProjectReportButton (onlyCurrentProjectWork ));
225+ projectButtonBox .getChildren ().add (createCopyProjectButton (onlyCurrentProjectWork ));
224226
225227 final Circle circle = new Circle (6 , project .getColor ());
226228
@@ -229,6 +231,7 @@ private void updateReport(final LocalDate dateToShow) {
229231
230232 for (final Work w : onlyCurrentProjectWork ) {
231233 final HBox workButtonBox = new HBox (5.0 );
234+ workButtonBox .getChildren ().add (createCopyWorkButton (w ));
232235 workButtonBox .getChildren ().add (createEditWorkButton (w ));
233236 workButtonBox .getChildren ().add (createDeleteWorkButton (w ));
234237 final TreeItem <TableRow > workRow = new TreeItem <>(new WorkTableRow (w , workButtonBox ));
@@ -352,8 +355,8 @@ private GridPane setUpEditWorkGridPane(final Work work, final Dialog<Work> dialo
352355 return grid ;
353356 }
354357
355- private Button createProjectReportButton (final List <Work > projectWork ) {
356- final Button bProjectReport = new Button ("" , new FontAwesomeIconView (FontAwesomeIcon .CLIPBOARD ));
358+ private Button createCopyProjectButton (final List <Work > projectWork ) {
359+ final Button copyButton = new Button ("" , new FontAwesomeIconView (FontAwesomeIcon .CLIPBOARD ));
357360 final EventHandler <ActionEvent > eventListener = actionEvent -> {
358361 LOG .debug ("Copy to Clipboard clicked." );
359362 final ProjectReport pr = new ProjectReport (projectWork .size ());
@@ -368,9 +371,22 @@ private Button createProjectReportButton(final List<Work> projectWork) {
368371 clipboard .setContent (content );
369372 };
370373
371- bProjectReport .setOnAction (eventListener );
372- return bProjectReport ;
374+ copyButton .setOnAction (eventListener );
375+ return copyButton ;
376+ }
377+
378+ private Node createCopyWorkButton (final Work w ) {
379+ final Button copyButton = new Button ("" , new FontAwesomeIconView (FontAwesomeIcon .CLIPBOARD ));
380+ final EventHandler <ActionEvent > eventListener = actionEvent -> {
381+ LOG .debug ("Copy to Clipboard clicked." );
382+ final Clipboard clipboard = Clipboard .getSystemClipboard ();
383+ final ClipboardContent content = new ClipboardContent ();
384+ content .putString (w .getNotes ());
385+ clipboard .setContent (content );
386+ };
373387
388+ copyButton .setOnAction (eventListener );
389+ return copyButton ;
374390 }
375391
376392 public void update () {
0 commit comments