View Javadoc

1   /*
2    *  XNap
3    *
4    *  A pure java file sharing client.
5    *
6    *  See AUTHORS for copyright information.
7    *
8    *  This program is free software; you can redistribute it and/or modify
9    *  it under the terms of the GNU General Public License as published by
10   *  the Free Software Foundation; either version 2 of the License, or
11   *  (at your option) any later version.
12   *
13   *  This program is distributed in the hope that it will be useful,
14   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   *  GNU General Public License for more details.
17   *
18   *  You should have received a copy of the GNU General Public License
19   *  along with this program; if not, write to the Free Software
20   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21   *
22   */
23  package org.xnap.platform.macos;
24  
25  import org.xnap.XNap;
26  import org.xnap.gui.AboutDialog;
27  import org.xnap.gui.PreferencesDialog;
28  import org.xnap.gui.XNapFrame;
29  
30  import com.apple.eawt.*;
31  
32  public class MacOS141Handler extends ApplicationAdapter {
33  
34      private MacOS141Handler() 
35      {
36      }
37  
38      public static void register()
39      {
40  		MacOS141Handler h = new MacOS141Handler();
41  
42  		Application app = new Application();
43  		app.addApplicationListener(h); 
44  		app.setEnabledPreferencesMenu(true);
45      }
46  
47      public void handleAbout(ApplicationEvent event) 
48      {
49  		AboutDialog.showDialog(XNapFrame.getInstance());
50  		event.setHandled(true);
51      }
52  
53      public void handlePreferences(ApplicationEvent event) 
54      {
55  		PreferencesDialog.showDialog(XNapFrame.getInstance());
56  		event.setHandled(true);
57      }
58  
59      public void handleQuit(ApplicationEvent event) 
60      {
61  		if (XNapFrame.getInstance() != null) {
62  			boolean quit = XNapFrame.getInstance().exit();
63  			event.setHandled(quit);
64  		}
65  		else {
66  			event.setHandled(true);
67  			XNap.exit();
68  		}
69  	}
70  
71  }