Index: Makefile.am =================================================================== RCS file: /projects/pgadmin3/Makefile.am,v retrieving revision 1.35 retrieving revision 1.36 diff -LMakefile.am -LMakefile.am -u -w -r1.35 -r1.36 --- Makefile.am +++ Makefile.am @@ -4,21 +4,33 @@ # # Makefile - Makefile for *nix systems SUBDIRS = src -EXTRA_DIST = $(top_srcdir)/README.txt $(top_srcdir)/BUGS.txt $(top_srcdir)/LICENCE.txt \ +EXTRA_DIST = \ + $(top_srcdir)/README.txt \ + $(top_srcdir)/BUGS.txt \ + $(top_srcdir)/LICENCE.txt \ $(top_srcdir)/pkg/pgadmin3.desktop \ - $(top_srcdir)/pkg/debian/rules pkg/debian/README.Debian \ - $(top_srcdir)/pkg/debian/docs pkg/debian/dirs \ - $(top_srcdir)/pkg/debian/copyright pkg/debian/control \ - $(top_srcdir)/pkg/debian/changelog pkg/debian/make-deb \ + $(top_srcdir)/pkg/debian/rules \ + $(top_srcdir)/pkg/debian/README.Debian \ + $(top_srcdir)/pkg/debian/docs \ + $(top_srcdir)/pkg/debian/dirs \ + $(top_srcdir)/pkg/debian/copyright + $(top_srcdir)/pkg/debian/control \ + $(top_srcdir)/pkg/debian/changelog + $(top_srcdir)/pkg/debian/make-deb \ $(top_srcdir)/pkg/debian/pgadmin3.menu \ $(top_srcdir)/pkg/fc1/pgadmin3.spec \ + $(top_srcdir)/pkg/mac/Info.plist \ + $(top_srcdir)/pkg/mac/PgAdminIII.icns \ + $(top_srcdir)/pkg/mac/PkgInfo \ $(top_srcdir)/pkg/mandrake/pgadmin3.spec \ $(top_srcdir)/pkg/redhat/pgadmin3.spec \ $(top_srcdir)/pkg/slackware/build-release \ $(top_srcdir)/pkg/slackware/build-snapshot \ $(top_srcdir)/pkg/src/build-tarball \ - $(top_srcdir)/pkg/win32/screen.bmp $(top_srcdir)/pkg/win32/banner.bmp \ - $(top_srcdir)/pkg/win32/licence.rtf $(top_srcdir)/pkg/win32/pgadmin3.wsi + $(top_srcdir)/pkg/win32/screen.bmp \ + $(top_srcdir)/pkg/win32/banner.bmp \ + $(top_srcdir)/pkg/win32/licence.rtf \ + $(top_srcdir)/pkg/win32/pgadmin3.wsi nobase_dist_pkgdata_DATA = \ $(top_srcdir)/docs/en_US/pg/*.html \ --- /dev/null +++ pkg/mac/PkgInfo @@ -0,0 +1 @@ +APPL???? \ No newline at end of file --- /dev/null +++ pkg/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + PgAdminIII + CFBundleIdentifier + org.postgresql.pgadmin3 + CFBundleInfoDictionaryVersion + 1.2 + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 0.1 + CFBundleIconFile + PgAdminIII.icns + CSResourcesFileMapped + + + Index: pgAdmin3.cpp =================================================================== RCS file: /projects/pgadmin3/src/pgAdmin3.cpp,v retrieving revision 1.111 retrieving revision 1.112 diff -Lsrc/pgAdmin3.cpp -Lsrc/pgAdmin3.cpp -u -w -r1.111 -r1.112 --- src/pgAdmin3.cpp +++ src/pgAdmin3.cpp @@ -20,6 +20,7 @@ #include #include #include +#include // Windows headers #ifdef __WXMSW__ @@ -87,6 +88,8 @@ #define DOC_DIR wxT("/docs") #define UI_DIR wxT("/ui") #define COMMON_DIR wxT("/common") +#define SCRIPT_DIR wxT("/scripts") +#define HELPER_DIR wxT("/helper") #define LANG_FILE wxT("pgadmin3.lng") @@ -171,7 +174,7 @@ // evaluate all working paths -#ifdef __WXMSW__ +#if defined(__WXMSW__) backupExecutable = path.FindValidPath(wxT("pg_dump.exe")); restoreExecutable = path.FindValidPath(wxT("pg_restore.exe")); @@ -186,6 +189,33 @@ else docPath = loadPath + wxT("/../..") DOC_DIR; +#elif defined(__WXMAC__) + + //When using wxStandardPaths on OSX, wx defaults to the unix, + //not to the mac variants. Therefor, we request wxStandardPathsCF + //directly. + wxStandardPathsCF stdPaths ; + wxString dataDir = stdPaths.GetDataDir() ; + if (dataDir) { + wxFprintf(stderr, wxT("DataDir: ") + dataDir + wxT("\n")) ; + if (wxDir::Exists(dataDir + HELPER_DIR)) + path.Add(dataDir + HELPER_DIR) ; + if (wxDir::Exists(dataDir + SCRIPT_DIR)) + path.Add(dataDir + SCRIPT_DIR) ; + if (wxDir::Exists(dataDir + UI_DIR)) + uiPath = dataDir + UI_DIR ; + if (wxDir::Exists(dataDir + DOC_DIR)) + docPath = dataDir + DOC_DIR ; + } + + if (uiPath.IsEmpty()) + uiPath = loadPath + UI_DIR ; + if (docPath.IsEmpty()) + docPath = loadPath + wxT("/..") DOC_DIR ; + + backupExecutable = path.FindValidPath(wxT("pg_dump")); + restoreExecutable = path.FindValidPath(wxT("pg_restore")); + #else backupExecutable = path.FindValidPath(wxT("pg_dump")); @@ -200,6 +230,7 @@ docPath = DATA_DIR DOC_DIR; else docPath = loadPath + wxT("/..") DOC_DIR; + #endif