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.gui.AboutDialog;
26 import org.xnap.gui.PreferencesDialog;
27 import org.xnap.gui.XNapFrame;
28
29 import com.apple.mrj.MRJAboutHandler;
30 import com.apple.mrj.MRJApplicationUtils;
31 import com.apple.mrj.MRJQuitHandler;
32
33 public class MacOSHandler
34 implements MRJAboutHandler, /*MRJPrefsHandler, */MRJQuitHandler {
35
36 private MacOSHandler()
37 {
38 }
39
40 public static void register()
41 {
42 if (MRJApplicationUtils.isMRJToolkitAvailable()) {
43 MacOSHandler h = new MacOSHandler();
44 MRJApplicationUtils.registerAboutHandler(h);
45 //MRJApplicationUtils.registerPrefsHandler(h);
46 MRJApplicationUtils.registerQuitHandler(h);
47 }
48 }
49
50 public void handleAbout()
51 {
52 AboutDialog.showDialog(XNapFrame.getInstance());
53 }
54
55 public void handlePrefs()
56 {
57 PreferencesDialog.showDialog(XNapFrame.getInstance());
58 }
59
60 public void handleQuit()
61 {
62 if (!XNapFrame.getInstance().exit()) {
63 // looks like user did not want to quit
64 throw new IllegalStateException();
65 }
66 }
67
68 }