Skip to content

Commit

Permalink
Add copy button that copies the current table as string to the clipboard
Browse files Browse the repository at this point in the history
close #2
  • Loading branch information
Tiim committed Jul 18, 2018
1 parent 1b6856a commit 9d91518
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 2 deletions.
26 changes: 24 additions & 2 deletions src/main/java/ch/scbirs/timetablegen/gui/MainWindow.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import javax.swing.*;
import java.awt.*;
import java.awt.datatransfer.StringSelection;
import java.io.File;
import java.io.IOException;

Expand All @@ -21,7 +22,7 @@ public class MainWindow extends JFrame {


public MainWindow() {
setSize(500, 350);
setSize(600, 350);
p = new Persistence();

setTitle(Lang.translate("window.main.Name") + " " + p.getFolder());
Expand Down Expand Up @@ -54,14 +55,17 @@ private void init() {
JButton changeFolder = new JButton(Lang.translate("button.ChangeFolder"));
JButton save = new JButton(Lang.translate("button.Save"));
JButton generate = new JButton(Lang.translate("button.Generate"));
JButton copy = new JButton(Lang.translate("button.Copy"));

changeFolder.addActionListener(l -> changeFolder());
save.addActionListener(l -> save());
generate.addActionListener(l -> preview());
copy.addActionListener(l -> copy());

buttons.add(changeFolder);
buttons.add(save);
buttons.add(generate);
buttons.add(copy);

name = new JTextField(Lang.translate("name.default"));
ChangeListener.add(name, this::setFileName);
Expand Down Expand Up @@ -92,7 +96,6 @@ private void init() {
border2.add(files, BorderLayout.NORTH);
border.add(buttons, BorderLayout.NORTH);
setContentPane(border);
//pack();
}

private void changeFolder() {
Expand Down Expand Up @@ -152,6 +155,25 @@ private void save() {
}
}

private void copy() {
Model m = tableModel.getModel();
StringBuilder b = new StringBuilder();
b.append(m.getName()).append("\n\n");
String[] days = Model.DAYS;
for (int i = 0; i < days.length; i++) {
Model.TimeRange range = m.getRange(i);
if (range.isEnabled()) {
b.append(days[i])
.append(" ")
.append(range.getStart())
.append(" - ")
.append(range.getEnd())
.append("\n");
}
}
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(b.toString()), null);
}

public void preview() {
Model m = tableModel.getModel();
Preview prev = new Preview(m, p.getFolder());
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/lang/de.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ table.Enabled=Aktiv
button.ChangeFolder=Ordner Ändern
button.Save=Speichern
button.Generate=Bild Erstellen
button.Copy=Kopieren

window.main.Name=Time Table Gen
window.preview.Window=Vorschau
1 change: 1 addition & 0 deletions src/main/resources/lang/en.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ table.Enabled=Enabled
button.ChangeFolder=Change folder
button.Save=Save
button.Generate=Generate Image
button.Copy=Copy

window.main.Name=Time Table Gen
window.preview.Window=Preview

0 comments on commit 9d91518

Please sign in to comment.