Skip to content

Commit 90f6c7d

Browse files
authored
Merge pull request #76 from doubleSlashde/bugfix/#57_notes_not_wrapping_correct
#57: Due to not wrapping correctly most of the time, the text field f… Fixes #57
2 parents fe321c3 + a3753d0 commit 90f6c7d

File tree

2 files changed

+32
-10
lines changed

2 files changed

+32
-10
lines changed

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

Lines changed: 29 additions & 10 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;
@@ -72,7 +73,6 @@
7273
import javafx.scene.layout.GridPane;
7374
import javafx.scene.layout.HBox;
7475
import javafx.scene.shape.Circle;
75-
import javafx.scene.text.Text;
7676
import javafx.stage.Stage;
7777
import javafx.util.Callback;
7878

@@ -85,6 +85,8 @@ public class ReportController {
8585

8686
private static final String FX_BACKGROUND_COLOR_NOT_WORKED = "-fx-background-color: #BBBBBB;";
8787

88+
private static final String FX_BACKGROUND_COLOR_WORKED = "-fx-background-color: #00a5e1;";
89+
8890
private static final String EDIT_WORK_DIALOG_TITLE = "Edit work";
8991

9092
@FXML
@@ -149,10 +151,10 @@ protected void updateItem(final TableRow item, final boolean empty) {
149151
setText(null);
150152
} else {
151153
final String notes = item.getNotes();
152-
final Text text = new Text(notes.isEmpty() ? EMPTY_NOTE : notes);
153-
text.wrappingWidthProperty().bind(noteColumn.widthProperty().subtract(35));
154-
text.setUnderline(item.isUnderlined());
155-
this.setGraphic(text);
154+
final Label label = new Label(notes.isEmpty() ? EMPTY_NOTE : notes);
155+
label.setUnderline(item.isUnderlined());
156+
label.setTooltip(new Tooltip(notes));
157+
this.setGraphic(label);
156158
}
157159
}
158160
};
@@ -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));
@@ -264,6 +267,9 @@ public void updateItem(final LocalDate item, final boolean empty) {
264267
if (model.getWorkRepository().findByStartDateOrderByStartTimeAsc(item).isEmpty()) {
265268
setDisable(true);
266269
setStyle(FX_BACKGROUND_COLOR_NOT_WORKED);
270+
} else {
271+
setDisable(false);
272+
setStyle(FX_BACKGROUND_COLOR_WORKED);
267273
}
268274
}
269275

@@ -349,8 +355,8 @@ private GridPane setUpEditWorkGridPane(final Work work, final Dialog<Work> dialo
349355
return grid;
350356
}
351357

352-
private Button createProjectReportButton(final List<Work> projectWork) {
353-
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));
354360
final EventHandler<ActionEvent> eventListener = actionEvent -> {
355361
LOG.debug("Copy to Clipboard clicked.");
356362
final ProjectReport pr = new ProjectReport(projectWork.size());
@@ -365,9 +371,22 @@ private Button createProjectReportButton(final List<Work> projectWork) {
365371
clipboard.setContent(content);
366372
};
367373

368-
bProjectReport.setOnAction(eventListener);
369-
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+
};
370387

388+
copyButton.setOnAction(eventListener);
389+
return copyButton;
371390
}
372391

373392
public void update() {

src/main/resources/css/dialog.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
-fx-padding:0px;
1313
-fx-margin:0px
1414
}
15+
.tree-table-row-cell:selected {
16+
-fx-background-color: #00a5e1;
17+
}
1518
.tree-table-row-cell .arrow {
1619
-fx-padding:4px;
1720
}

0 commit comments

Comments
 (0)