01: /*
02: * Copyright (c) 2000, Jacob Smullyan.
03: *
04: * This is part of SkunkDAV, a WebDAV client. See http://skunkdav.sourceforge.net/
05: * for the latest version.
06: *
07: * SkunkDAV is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU General Public License as published
09: * by the Free Software Foundation; either version 2, or (at your option)
10: * any later version.
11: *
12: * SkunkDAV is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public License
18: * along with SkunkDAV; see the file COPYING. If not, write to the Free
19: * Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20: * 02111-1307, USA.
21: */
22:
23: package org.skunk.dav.client.gui.action;
24:
25: import java.awt.event.ActionEvent;
26: import javax.swing.AbstractAction;
27: import javax.swing.JOptionPane;
28: import org.skunk.dav.client.gui.DAVTreeNode;
29: import org.skunk.dav.client.gui.Explorer;
30: import org.skunk.dav.client.gui.ResourceManager;
31: import org.skunk.trace.Debug;
32:
33: public class NewFileAction extends AbstractAction {
34: private Explorer ex;
35:
36: public NewFileAction(Explorer ex) {
37: this .ex = ex;
38: }
39:
40: public void actionPerformed(ActionEvent ae) {
41: //obtain current path from explorer, and file name from user through dialog
42: DAVTreeNode node = ex.getSelectedNode();
43: if (node != null) {
44: String message = ResourceManager
45: .getMessage(ResourceManager.NEW_FILE_PROMPT);
46: String title = ResourceManager
47: .getMessage(ResourceManager.NEW_FILE_DIALOG_TITLE);
48: String fileName = JOptionPane.showInputDialog(ex, message,
49: title, JOptionPane.QUESTION_MESSAGE);
50:
51: if (fileName == null || fileName.trim().length() == 0) {
52: Debug.trace(this , Debug.DP3,
53: "user has cancelled or submitted whitespace");
54: return;
55: }
56: ex.createFile(node, fileName);
57: } else {
58: //the action should actually be disabled in this case.
59: Debug
60: .trace(this , Debug.DP3,
61: "error -- new file action requested outside of DAV connection");
62: }
63:
64: }
65: }
66:
67: /* $Log: NewFileAction.java,v $
68: /* Revision 1.7 2000/12/19 22:36:05 smulloni
69: /* adjustments to preamble.
70: /*
71: /* Revision 1.6 2000/12/03 23:53:26 smulloni
72: /* added license and copyright preamble to java files.
73: /*
74: /* Revision 1.5 2000/11/09 23:35:03 smullyan
75: /* log added to every Java file, with the help of python. Lock stealing
76: /* implemented, and treatment of locks made more robust.
77: /* */
|