This is an automated email from the git hooks/post-receive script. New commit to branch feature/sync in repository jtimer. See https://gitlab.nuiton.org/chorem/jtimer.git commit 3f3eb51b8bf0272ce35eed3cc5c324135bad9317 Author: servantie <servantie.c@gmail.com> Date: Wed Jun 22 16:28:55 2016 +0200 when a url is deleted in the combobox, it's saved in the file --- .../org/chorem/jtimer/data/DataEventListener.java | 8 ++++++ .../org/chorem/jtimer/data/TimerDataManager.java | 12 +++++++++ .../chorem/jtimer/io/GTimerIncrementalSaver.java | 10 +++++++- .../jtimer/ui/report/TimerTaskUpdaterView.java | 30 ++++++++++++++++++++++ 4 files changed, 59 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/chorem/jtimer/data/DataEventListener.java b/src/main/java/org/chorem/jtimer/data/DataEventListener.java index 7bad531..04b0e0a 100644 --- a/src/main/java/org/chorem/jtimer/data/DataEventListener.java +++ b/src/main/java/org/chorem/jtimer/data/DataEventListener.java @@ -195,6 +195,14 @@ public interface DataEventListener extends EventListener { * @param syncURL String */ default void changeSyncInfo(TimerTask task, String syncURL) { + + } + + /** + * SyncInfo deleted + */ + default void deleteSyncInfo(TimerTask task, String syncURL) { + } } diff --git a/src/main/java/org/chorem/jtimer/data/TimerDataManager.java b/src/main/java/org/chorem/jtimer/data/TimerDataManager.java index 835af87..faac507 100644 --- a/src/main/java/org/chorem/jtimer/data/TimerDataManager.java +++ b/src/main/java/org/chorem/jtimer/data/TimerDataManager.java @@ -647,4 +647,16 @@ public class TimerDataManager { dataEventListener.changeSyncInfo(task, url); } } + + /** + * When a syncInfo is deleted + */ + public void deleteSyncInfo(TimerTask task, String url) { + if (task.getSynchronizingURLList().contains(url)) { + task.removeSyncInfo(url); + } + for (DataEventListener dataEventListener : dataEventListeners) { + dataEventListener.deleteSyncInfo(task, url); + } + } } diff --git a/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java b/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java index f09a060..d821000 100644 --- a/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java +++ b/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java @@ -1532,5 +1532,13 @@ public class GTimerIncrementalSaver extends AbstractSaver implements Saver, } } + /** when a syncInfo is deleted make a save + * + * @param task + * @param url + */ + public void deleteSyncInfo(TimerTask task, String url) { + saveSynchronisationInfo(task); + } -} \ No newline at end of file +} diff --git a/src/main/java/org/chorem/jtimer/ui/report/TimerTaskUpdaterView.java b/src/main/java/org/chorem/jtimer/ui/report/TimerTaskUpdaterView.java index 3844abb..522a60e 100644 --- a/src/main/java/org/chorem/jtimer/ui/report/TimerTaskUpdaterView.java +++ b/src/main/java/org/chorem/jtimer/ui/report/TimerTaskUpdaterView.java @@ -73,6 +73,9 @@ public class TimerTaskUpdaterView extends FrameView implements DocumentListener, /** Activate a sync URL */ protected JCheckBox checkIsActiveSync; + /** button to delete a URL */ + protected JButton deleteButton; + /** Date pickers, from... to */ protected JXDatePicker datePickerFrom, datePickerTo; @@ -244,6 +247,19 @@ public class TimerTaskUpdaterView extends FrameView implements DocumentListener, } } + //option to delete url + //todo : properties ! + deleteButton = new JButton("Delete"); + deleteButton.addActionListener(this); + deleteButton.setActionCommand("deleteURL"); + + panelOption.add(deleteButton, new GridBagConstraints(1, 5, 1, 1, 0, 0, + GridBagConstraints.WEST, GridBagConstraints.VERTICAL, new Insets(2, 1, 1, 1), 0, 0)); + + + + + panelOption.add(lastUpdate, new GridBagConstraints(2, 3, 1, 1, 0, 0, GridBagConstraints.WEST, GridBagConstraints.VERTICAL, new Insets(1, 3, 1, 1), 0, 0)); panelOption.add(checkIsActiveSync, new GridBagConstraints(1, 4, 1, 1, 0, 0, @@ -608,6 +624,20 @@ public class TimerTaskUpdaterView extends FrameView implements DocumentListener, else if (actionCommand.equals(getResourceMap().getString("isActiveSync.Action.text"))) { log.info("Checkbox ticked, unticked"); } + else if (actionCommand.equals("deleteURL")) { + String urlToUse = (String) urlComboBox.getSelectedItem(); + //if the delete button has been clicked, delete the task (if it exists) + if ((urlToUse != null) && !urlToUse.isEmpty() && (task.getSynchronizingURLList().contains(urlToUse))) { + task.removeSyncInfo(urlToUse); + urlComboBox.removeItem(urlToUse); + log.info("SyncInfo deleted " + urlToUse); + core.getData().deleteSyncInfo(task, urlToUse); + } + else { + //todo : properties! + errorBox("No task to delete", "Error"); + } + } else { log.info("Action performed, not a new URL. Action: " + actionEvent.getActionCommand()); } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.