1 | public class ExportCalendarAction extends AbstractColumbaAction implements↵ | | 1 | public class ImportCalendarAction extends AbstractColumbaAction implements↵
|
2 | ICalendarSelectionChangedListener {↵ | | 2 | ICalendarSelectionChangedListener {↵
|
|
3 | public ExportCalendarAction(IFrameMediator frameMediator) {↵ | | 3 | public ImportCalendarAction(IFrameMediator frameMediator) {↵
|
4 | super(frameMediator, "Export Calendar");↵ | | 4 | super(frameMediator, "Import Calendar");↵
|
|
5 | setEnabled(false);↵ | | 5 | setEnabled(false);↵
|
|
6 | ICalendarMediator m = (ICalendarMediator) getFrameMediator();↵ | | 6 | ICalendarMediator m = (ICalendarMediator) getFrameMediator();↵
|
7 | ICalendarListView list = m.getListView();↵ | | 7 | ICalendarListView list = m.getListView();↵
|
|
8 | list.addSelectionChangedListener(this);↵ | | 8 | list.addSelectionChangedListener(this);↵
|
|
9 | }↵ | | 9 | }↵
|
|
10 | public void actionPerformed(ActionEvent e) {↵ | | 10 | public void actionPerformed(ActionEvent e) {↵
|
11 | ICalendarMediator m = (ICalendarMediator) getFrameMediator();↵ | | 11 | ICalendarMediator m = (ICalendarMediator) getFrameMediator();↵
|
12 | ICalendarListView list = m.getListView();↵ | | 12 | ICalendarListView list = m.getListView();↵
|
|
13 | // get selected calendar↵ | | 13 | // get selected calendar id↵
|
14 | ICalendarItem calendar = list.getSelected();↵ | | 14 | ICalendarItem calendar = list.getSelected();↵
|
|
15 | if (calendar == null) {↵ | | 15 | if (calendar == null) {↵
|
16 | JOptionPane.showMessageDialog(FrameManager.getInstance()↵ | | 16 | JOptionPane.showMessageDialog(FrameManager.getInstance()↵
|
17 | .getActiveFrame(),↵ | | 17 | .getActiveFrame(),↵
|
18 | "No calendar for export selected.");↵ | | 18 | "No calendar for import selected.");↵
|
19 | return;↵ | | 19 | return;↵
|
20 | }↵ | | 20 | }↵
|
|
21 | JFileChooser fc = new JFileChooser();↵ | | 21 | JFileChooser fc = new JFileChooser();↵
|
22 | fc.setMultiSelectionEnabled(false);↵ | | 22 | fc.setMultiSelectionEnabled(true);↵
|
23 | fc.setFileSelectionMode(JFileChooser.FILES_ONLY);↵ | | 23 | fc.setFileSelectionMode(JFileChooser.FILES_ONLY);↵
|
24 | fc.setFileHidingEnabled(false);↵ | | 24 | fc.setFileHidingEnabled(false);↵
|
|
25 | if (fc.showSaveDialog(frameMediator.getContainer().getFrame()) == JFileChooser.APPROVE_OPTION) {↵ | | 25 | if (fc.showOpenDialog(frameMediator.getContainer().getFrame()) == JFileChooser.APPROVE_OPTION) {↵
|
26 | File destFile = fc.getSelectedFile();↵ | | 26 | File[] sourceFiles = fc.getSelectedFiles();↵
|
|
| | | 27 | if (sourceFiles.length >= 1) {↵
|
27 | ICalendarStore store = CalendarStoreFactory.getInstance()↵ | | 28 | ICalendarStore store = CalendarStoreFactory.getInstance()↵
|
28 | .getLocaleStore();↵ | | 29 | .getLocaleStore();↵
|
|
29 | Command command = new ExportCalendarCommand(↵ | | 30 | Command command = new ImportCalendarCommand(↵
|
30 | new CalendarCommandReference(store, calendar), destFile);↵ | | 31 | new CalendarCommandReference(store, calendar), sourceFiles);↵
|
|
31 | CommandProcessor.getInstance().addOp(command);↵ | | 32 | CommandProcessor.getInstance().addOp(command);↵
|
|
| | | 33 | }↵
|
32 | }↵ | | 34 | }↵
|
|
33 | }↵ | | 35 | }↵
|
|
34 | public void selectionChanged(CalendarSelectionChangedEvent event) {↵ | | 36 | public void selectionChanged(CalendarSelectionChangedEvent event) {↵
|
35 | if (event.getSelection() != null)↵ | | 37 | if (event.getSelection() != null)↵
|
36 | setEnabled(true);↵ | | 38 | setEnabled(true);↵
|
37 | else↵ | | 39 | else↵
|
38 | setEnabled(false) | | 40 | setEnabled(false)
|