Skip to content

Commit 2278df0

Browse files
authored
Merge pull request #166 from doubleSlashde/feature/copy_project_name_in_report
Feature/copy project name in report closes #158
2 parents af2760d + 1553be9 commit 2278df0

File tree

3 files changed

+34
-10
lines changed

3 files changed

+34
-10
lines changed

src/main/java/de/doubleslash/keeptime/common/Resources.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public enum RESOURCE {
5353

5454
SVG_PENCIL_ICON("/svgs/pencil.svg"),
5555

56-
SVG_CLIPBOARD("/svgs/clipboard.svg"),
56+
SVG_CLIPBOARD_ICON("/svgs/clipboard.svg"),
5757

5858
SVG_BUG_ICON("/svgs/bug.svg"),
5959

@@ -67,6 +67,8 @@ public enum RESOURCE {
6767

6868
SVG_LICENSES_ICON("/svgs/closed-captioning.svg"),
6969

70+
SVG_MULTIPLE_CLIPBOARD_ICON("/svgs/copy.svg"),
71+
7072
ICON_MAIN("/icons/icon.png")
7173

7274
;

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

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,8 @@ private void updateReport(final LocalDate dateToShow) {
263263
}
264264

265265
final HBox projectButtonBox = new HBox();
266-
projectButtonBox.getChildren().add(createCopyProjectButton(onlyCurrentProjectWork));
266+
projectButtonBox.getChildren().add(createCopyProjectNameButton(project.getName()));
267+
projectButtonBox.getChildren().add(createCopyProjectNotesButton(onlyCurrentProjectWork));
267268

268269
final TreeItem<TableRow> projectRow = new TreeItem<>(
269270
new ProjectTableRow(project, projectWorkSeconds, projectButtonBox));
@@ -416,11 +417,13 @@ private GridPane setUpEditWorkGridPane(final Work work, final Dialog<Work> dialo
416417
return grid;
417418
}
418419

419-
private Button createCopyProjectButton(final List<Work> projectWork) {
420-
final Button copyButton = new Button("", SvgNodeProvider.getSvgNodeWithScale(RESOURCE.SVG_CLIPBOARD, 0.03, 0.03));
421-
copyButton.setMaxSize(20, 18);
422-
copyButton.setMinSize(20, 18);
423-
copyButton.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
420+
private Button createCopyProjectNotesButton(final List<Work> projectWork) {
421+
final Button copyNotesButton = new Button("", SvgNodeProvider.getSvgNodeWithScale(RESOURCE.SVG_MULTIPLE_CLIPBOARD_ICON, 0.03, 0.03));
422+
copyNotesButton.setMaxSize(20, 18);
423+
copyNotesButton.setMinSize(20, 18);
424+
copyNotesButton.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
425+
copyNotesButton.setTooltip(new Tooltip("Copy Project Notes"));
426+
424427

425428
final EventHandler<ActionEvent> eventListener = actionEvent -> {
426429
LOG.debug("Copy to Clipboard clicked.");
@@ -436,12 +439,30 @@ private Button createCopyProjectButton(final List<Work> projectWork) {
436439
clipboard.setContent(content);
437440
};
438441

439-
copyButton.setOnAction(eventListener);
440-
return copyButton;
442+
copyNotesButton.setOnAction(eventListener);
443+
return copyNotesButton;
444+
}
445+
private Button createCopyProjectNameButton(String projectName) {
446+
final Button copyProjectNameButton = new Button("", SvgNodeProvider.getSvgNodeWithScale(RESOURCE.SVG_CLIPBOARD_ICON, 0.03, 0.03));
447+
copyProjectNameButton.setMaxSize(20, 18);
448+
copyProjectNameButton.setMinSize(20, 18);
449+
copyProjectNameButton.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
450+
copyProjectNameButton.setTooltip(new Tooltip("Copy Project Name"));
451+
452+
final EventHandler<ActionEvent> eventListener = actionEvent -> {
453+
LOG.debug("Copy to Clipboard clicked.");
454+
final Clipboard clipboard = Clipboard.getSystemClipboard();
455+
final ClipboardContent content = new ClipboardContent();
456+
content.putString(projectName);
457+
clipboard.setContent(content);
458+
};
459+
460+
copyProjectNameButton.setOnAction(eventListener);
461+
return copyProjectNameButton;
441462
}
442463

443464
private Node createCopyWorkButton(final Work w) {
444-
final Button copyButton = new Button("", SvgNodeProvider.getSvgNodeWithScale(RESOURCE.SVG_CLIPBOARD, 0.03, 0.03));
465+
final Button copyButton = new Button("", SvgNodeProvider.getSvgNodeWithScale(RESOURCE.SVG_CLIPBOARD_ICON, 0.03, 0.03));
445466
copyButton.setMaxSize(20, 18);
446467
copyButton.setMinSize(20, 18);
447468
copyButton.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);

src/main/resources/svgs/copy.svg

Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)