Revision: 3842
Author: [email protected]
Date: Thu Aug 5 12:36:09 2010
Log: Fixed up the OS X build so that the app works nicely in OS X (ie can
be assigned to spaces, can open files by DnD onto the Dock)
http://code.google.com/p/power-architect/source/detail?r=3842
Modified:
/trunk/osx_packaging_utils/ca/sqlpower/architect/swingui/OSXAdapter.java
/trunk/osx_packaging_utils/osx_adapter.jar
/trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectFrame.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectSwingSessionImpl.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/action/OpenProjectAction.java
=======================================
---
/trunk/osx_packaging_utils/ca/sqlpower/architect/swingui/OSXAdapter.java
Tue Mar 25 07:38:28 2008
+++
/trunk/osx_packaging_utils/ca/sqlpower/architect/swingui/OSXAdapter.java
Thu Aug 5 12:36:09 2010
@@ -77,12 +77,14 @@
private final Action quitAction;
private final Action prefsAction;
private final Action aboutAction;
+ private final Action openAction;
- private OSXAdapter (Action quitAction, Action prefsAction, Action
aboutAction) {
+ private OSXAdapter (Action quitAction, Action prefsAction, Action
aboutAction, Action openAction) {
this.quitAction = quitAction;
this.prefsAction = prefsAction;
this.aboutAction = aboutAction;
+ this.openAction = openAction;
}
// implemented handler methods. These are basically hooks into
existing
@@ -123,18 +125,21 @@
@Override
public void handleOpenFile(ApplicationEvent ae) {
- throw new IllegalStateException("Drag'n'Drop files on the dock not
supported yet.");
+ if (openAction != null) {
+ ae.setHandled(true);
+ openAction.actionPerformed(new ActionEvent(this, 0, "file:" +
ae.getFilename()));
+ }
}
// The main entry-point for this functionality. This is the only
method
// that needs to be called at runtime, and it can easily be done using
// reflection (see MyApp.java)
- public static void registerMacOSXApplication(Action quitAction, Action
prefsAction, Action aboutAction) {
+ public static void registerMacOSXApplication(Action quitAction, Action
prefsAction, Action aboutAction, Action openAction) {
if (theApplication == null) {
theApplication = new com.apple.eawt.Application();
}
if (theAdapter == null) {
- theAdapter = new OSXAdapter(quitAction, prefsAction,
aboutAction);
+ theAdapter = new OSXAdapter(quitAction, prefsAction,
aboutAction, openAction);
}
theApplication.addApplicationListener(theAdapter);
}
=======================================
--- /trunk/osx_packaging_utils/osx_adapter.jar Fri Nov 10 12:39:01 2006
+++ /trunk/osx_packaging_utils/osx_adapter.jar Thu Aug 5 12:36:09 2010
@@ -2,47 +2,38 @@
s{j5 META-INF/PK
r{j5P?{s^ j META-INF/MANIFEST.MFóMÌËLK-.Ñ
K-*ÎÌϳR0Ô3àårÌCq,HLÎHU %Íôx¹RKRSt*AêMõâ
-ÌtÍL4
-rRósJKRt<óõ4y¹x¹ PK
+rR<óõ4y¹x¹ PK
j{j5 ca/PK
q{j5 ca/sqlpower/PK
q{j5 ca/sqlpower/architect/PK
s{j5
ca/sqlpower/architect/swingui/PK