Skip to content

Commit a3753d0

Browse files
committed
#57: added tooltip and copy button for notes
* as notes are not shown completely now added tooltip and copy button for them
1 parent 517a69a commit a3753d0

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

src/main/java/de/doubleslash/keeptime/view/ReportController.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
import javafx.scene.control.DatePicker;
6161
import javafx.scene.control.Dialog;
6262
import javafx.scene.control.Label;
63+
import javafx.scene.control.Tooltip;
6364
import javafx.scene.control.TreeItem;
6465
import javafx.scene.control.TreeTableCell;
6566
import 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

Comments
 (0)