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 2d9e6420fbd15150d3719ba8763de25cb5dbd5dc 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 | 6 +++++ .../org/chorem/jtimer/data/TimerDataManager.java | 12 +++++++++ .../chorem/jtimer/io/GTimerIncrementalSaver.java | 9 +++++++ .../jtimer/ui/report/TimerTaskUpdaterView.java | 30 ++++++++++++++++++++++ 4 files changed, 57 insertions(+) diff --git a/src/main/java/org/chorem/jtimer/data/DataEventListener.java b/src/main/java/org/chorem/jtimer/data/DataEventListener.java index cead109..f51ec8e 100644 --- a/src/main/java/org/chorem/jtimer/data/DataEventListener.java +++ b/src/main/java/org/chorem/jtimer/data/DataEventListener.java @@ -162,5 +162,11 @@ public interface DataEventListener extends EventListener { */ 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 09c6c83..8d4e6db 100644 --- a/src/main/java/org/chorem/jtimer/data/TimerDataManager.java +++ b/src/main/java/org/chorem/jtimer/data/TimerDataManager.java @@ -651,4 +651,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 79be028..e5947b1 100644 --- a/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java +++ b/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java @@ -1704,4 +1704,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); + } + } 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>.