From 838f8ae352a90e4d92809fa800418dea7595c60e Mon Sep 17 00:00:00 2001 From: hsoft Date: Wed, 30 Dec 2009 16:34:41 +0000 Subject: [PATCH] Changed the build system (that commit is *huge*) --HG-- rename : base/cocoa/AppDelegate.h => cocoa/base/AppDelegate.h rename : base/cocoa/AppDelegate.m => cocoa/base/AppDelegate.m rename : base/cocoa/Consts.h => cocoa/base/Consts.h rename : base/cocoa/DetailsPanel.h => cocoa/base/DetailsPanel.h rename : base/cocoa/DetailsPanel.m => cocoa/base/DetailsPanel.m rename : base/cocoa/DirectoryPanel.h => cocoa/base/DirectoryPanel.h rename : base/cocoa/DirectoryPanel.m => cocoa/base/DirectoryPanel.m rename : base/cocoa/PyDupeGuru.h => cocoa/base/PyDupeGuru.h rename : base/cocoa/ResultWindow.h => cocoa/base/ResultWindow.h rename : base/cocoa/ResultWindow.m => cocoa/base/ResultWindow.m rename : base/cocoa/dsa_pub.pem => cocoa/base/dsa_pub.pem rename : base/cocoa/xib/DetailsPanel.xib => cocoa/base/xib/DetailsPanel.xib rename : base/cocoa/xib/DirectoryPanel.xib => cocoa/base/xib/DirectoryPanel.xib rename : base/cocoa/xib/MainMenu.xib => cocoa/base/xib/MainMenu.xib rename : me/cocoa/AppDelegate.h => cocoa/me/AppDelegate.h rename : me/cocoa/AppDelegate.m => cocoa/me/AppDelegate.m rename : me/cocoa/Consts.h => cocoa/me/Consts.h rename : me/cocoa/DetailsPanel.h => cocoa/me/DetailsPanel.h rename : me/cocoa/DetailsPanel.m => cocoa/me/DetailsPanel.m rename : me/cocoa/DirectoryPanel.h => cocoa/me/DirectoryPanel.h rename : me/cocoa/DirectoryPanel.m => cocoa/me/DirectoryPanel.m rename : me/cocoa/Info.plist => cocoa/me/Info.plist rename : me/cocoa/PyDupeGuru.h => cocoa/me/PyDupeGuru.h rename : me/cocoa/ResultWindow.h => cocoa/me/ResultWindow.h rename : me/cocoa/ResultWindow.m => cocoa/me/ResultWindow.m rename : me/cocoa/dupeguru.icns => cocoa/me/dupeguru.icns rename : me/cocoa/dupeguru.xcodeproj/project.pbxproj => cocoa/me/dupeguru.xcodeproj/project.pbxproj rename : me/cocoa/gen.py => cocoa/me/gen.py rename : me/cocoa/main.m => cocoa/me/main.m rename : me/cocoa/py/dg_cocoa.py => cocoa/me/py/dg_cocoa.py rename : me/cocoa/py/setup.py => cocoa/me/py/setup.py rename : me/cocoa/xib/Preferences.xib => cocoa/me/xib/Preferences.xib rename : pe/cocoa/AppDelegate.h => cocoa/pe/AppDelegate.h rename : pe/cocoa/AppDelegate.m => cocoa/pe/AppDelegate.m rename : pe/cocoa/Consts.h => cocoa/pe/Consts.h rename : pe/cocoa/DetailsPanel.h => cocoa/pe/DetailsPanel.h rename : pe/cocoa/DetailsPanel.m => cocoa/pe/DetailsPanel.m rename : pe/cocoa/DirectoryPanel.h => cocoa/pe/DirectoryPanel.h rename : pe/cocoa/DirectoryPanel.m => cocoa/pe/DirectoryPanel.m rename : pe/cocoa/Info.plist => cocoa/pe/Info.plist rename : pe/cocoa/PictureBlocks.h => cocoa/pe/PictureBlocks.h rename : pe/cocoa/PictureBlocks.m => cocoa/pe/PictureBlocks.m rename : pe/cocoa/PyDupeGuru.h => cocoa/pe/PyDupeGuru.h rename : pe/cocoa/ResultWindow.h => cocoa/pe/ResultWindow.h rename : pe/cocoa/ResultWindow.m => cocoa/pe/ResultWindow.m rename : pe/cocoa/dupeguru.icns => cocoa/pe/dupeguru.icns rename : pe/cocoa/dupeguru.xcodeproj/project.pbxproj => cocoa/pe/dupeguru.xcodeproj/project.pbxproj rename : pe/cocoa/gen.py => cocoa/pe/gen.py rename : pe/cocoa/main.m => cocoa/pe/main.m rename : pe/cocoa/py/dg_cocoa.py => cocoa/pe/py/dg_cocoa.py rename : pe/cocoa/py/setup.py => cocoa/pe/py/setup.py rename : pe/cocoa/xib/DetailsPanel.xib => cocoa/pe/xib/DetailsPanel.xib rename : pe/cocoa/xib/Preferences.xib => cocoa/pe/xib/Preferences.xib rename : se/cocoa/AppDelegate.h => cocoa/se/AppDelegate.h rename : se/cocoa/AppDelegate.m => cocoa/se/AppDelegate.m rename : se/cocoa/Consts.h => cocoa/se/Consts.h rename : se/cocoa/DetailsPanel.h => cocoa/se/DetailsPanel.h rename : se/cocoa/DetailsPanel.m => cocoa/se/DetailsPanel.m rename : se/cocoa/DirectoryPanel.h => cocoa/se/DirectoryPanel.h rename : se/cocoa/DirectoryPanel.m => cocoa/se/DirectoryPanel.m rename : se/cocoa/Info.plist => cocoa/se/Info.plist rename : se/cocoa/PyDupeGuru.h => cocoa/se/PyDupeGuru.h rename : se/cocoa/ResultWindow.h => cocoa/se/ResultWindow.h rename : se/cocoa/ResultWindow.m => cocoa/se/ResultWindow.m rename : se/cocoa/dupeguru.icns => cocoa/se/dupeguru.icns rename : se/cocoa/dupeguru.xcodeproj/project.pbxproj => cocoa/se/dupeguru.xcodeproj/project.pbxproj rename : se/cocoa/gen.py => cocoa/se/gen.py rename : se/cocoa/main.m => cocoa/se/main.m rename : se/cocoa/py/dg_cocoa.py => cocoa/se/py/dg_cocoa.py rename : se/cocoa/py/setup.py => cocoa/se/py/setup.py rename : se/cocoa/xib/Preferences.xib => cocoa/se/xib/Preferences.xib rename : base/core/LICENSE => core/LICENSE rename : base/core/__init__.py => core/__init__.py rename : base/core/app.py => core/app.py rename : base/core/app_cocoa.py => core/app_cocoa.py rename : base/core/data.py => core/data.py rename : base/core/directories.py => core/directories.py rename : base/core/engine.py => core/engine.py rename : base/core/export.py => core/export.py rename : base/core/fs.py => core/fs.py rename : base/core/ignore.py => core/ignore.py rename : base/core/results.py => core/results.py rename : base/core/scanner.py => core/scanner.py rename : base/core/tests/__init__.py => core/tests/__init__.py rename : base/core/tests/app_cocoa_test.py => core/tests/app_cocoa_test.py rename : base/core/tests/app_test.py => core/tests/app_test.py rename : base/core/tests/data.py => core/tests/data.py rename : base/core/tests/directories_test.py => core/tests/directories_test.py rename : base/core/tests/engine_test.py => core/tests/engine_test.py rename : base/core/tests/ignore_test.py => core/tests/ignore_test.py rename : base/core/tests/results_test.py => core/tests/results_test.py rename : base/core/tests/scanner_test.py => core/tests/scanner_test.py rename : me/core/__init__.py => core_me/__init__.py rename : me/core/app_cocoa.py => core_me/app_cocoa.py rename : me/core/data.py => core_me/data.py rename : me/core/fs.py => core_me/fs.py rename : me/core/scanner.py => core_me/scanner.py rename : me/core/tests/__init__.py => core_me/tests/__init__.py rename : me/core/tests/scanner_test.py => core_me/tests/scanner_test.py rename : pe/core/LICENSE => core_pe/LICENSE rename : pe/core/__init__.py => core_pe/__init__.py rename : pe/core/app_cocoa.py => core_pe/app_cocoa.py rename : pe/core/block.py => core_pe/block.py rename : pe/core/cache.py => core_pe/cache.py rename : pe/core/data.py => core_pe/data.py rename : pe/core/gen.py => core_pe/gen.py rename : pe/core/matchbase.py => core_pe/matchbase.py rename : pe/core/modules/block/block.pyx => core_pe/modules/block/block.pyx rename : pe/core/modules/block/setup.py => core_pe/modules/block/setup.py rename : pe/core/modules/cache/cache.pyx => core_pe/modules/cache/cache.pyx rename : pe/core/modules/cache/setup.py => core_pe/modules/cache/setup.py rename : pe/core/scanner.py => core_pe/scanner.py rename : pe/core/tests/__init__.py => core_pe/tests/__init__.py rename : pe/core/tests/block_test.py => core_pe/tests/block_test.py rename : pe/core/tests/cache_test.py => core_pe/tests/cache_test.py rename : se/core/LICENSE => core_se/LICENSE rename : se/core/__init__.py => core_se/__init__.py rename : se/core/app_cocoa.py => core_se/app_cocoa.py rename : se/core/data.py => core_se/data.py rename : se/core/fs.py => core_se/fs.py rename : se/core/tests/__init__.py => core_se/tests/__init__.py rename : se/core/tests/fs_test.py => core_se/tests/fs_test.py rename : me/help/LICENSE => help_me/LICENSE rename : me/help/__init__.py => help_me/__init__.py rename : me/help/changelog.yaml => help_me/changelog.yaml rename : me/help/gen.py => help_me/gen.py rename : me/help/skeleton/hardcoded.css => help_me/skeleton/hardcoded.css rename : me/help/skeleton/images/hs_title.png => help_me/skeleton/images/hs_title.png rename : me/help/templates/base_dg.mako => help_me/templates/base_dg.mako rename : me/help/templates/credits.mako => help_me/templates/credits.mako rename : me/help/templates/directories.mako => help_me/templates/directories.mako rename : me/help/templates/faq.mako => help_me/templates/faq.mako rename : me/help/templates/intro.mako => help_me/templates/intro.mako rename : me/help/templates/power_marker.mako => help_me/templates/power_marker.mako rename : me/help/templates/preferences.mako => help_me/templates/preferences.mako rename : me/help/templates/quick_start.mako => help_me/templates/quick_start.mako rename : me/help/templates/results.mako => help_me/templates/results.mako rename : me/help/templates/versions.mako => help_me/templates/versions.mako rename : pe/help/LICENSE => help_pe/LICENSE rename : pe/help/__init__.py => help_pe/__init__.py rename : pe/help/changelog.yaml => help_pe/changelog.yaml rename : pe/help/gen.py => help_pe/gen.py rename : pe/help/skeleton/hardcoded.css => help_pe/skeleton/hardcoded.css rename : pe/help/skeleton/images/hs_title.png => help_pe/skeleton/images/hs_title.png rename : pe/help/templates/base_dg.mako => help_pe/templates/base_dg.mako rename : pe/help/templates/credits.mako => help_pe/templates/credits.mako rename : pe/help/templates/directories.mako => help_pe/templates/directories.mako rename : pe/help/templates/faq.mako => help_pe/templates/faq.mako rename : pe/help/templates/intro.mako => help_pe/templates/intro.mako rename : pe/help/templates/power_marker.mako => help_pe/templates/power_marker.mako rename : pe/help/templates/preferences.mako => help_pe/templates/preferences.mako rename : pe/help/templates/quick_start.mako => help_pe/templates/quick_start.mako rename : pe/help/templates/results.mako => help_pe/templates/results.mako rename : pe/help/templates/versions.mako => help_pe/templates/versions.mako rename : se/help/LICENSE => help_se/LICENSE rename : se/help/changelog.yaml => help_se/changelog.yaml rename : se/help/gen.py => help_se/gen.py rename : se/help/skeleton/hardcoded.css => help_se/skeleton/hardcoded.css rename : se/help/skeleton/images/hs_title.png => help_se/skeleton/images/hs_title.png rename : se/help/templates/base_dg.mako => help_se/templates/base_dg.mako rename : se/help/templates/credits.mako => help_se/templates/credits.mako rename : se/help/templates/directories.mako => help_se/templates/directories.mako rename : se/help/templates/faq.mako => help_se/templates/faq.mako rename : se/help/templates/intro.mako => help_se/templates/intro.mako rename : se/help/templates/power_marker.mako => help_se/templates/power_marker.mako rename : se/help/templates/preferences.mako => help_se/templates/preferences.mako rename : se/help/templates/quick_start.mako => help_se/templates/quick_start.mako rename : se/help/templates/results.mako => help_se/templates/results.mako rename : se/help/templates/versions.mako => help_se/templates/versions.mako rename : base/qt/WARNING => qt/WARNING rename : base/qt/__init__.py => qt/base/__init__.py rename : base/qt/app.py => qt/base/app.py rename : base/qt/details_table.py => qt/base/details_table.py rename : base/qt/dg.qrc => qt/base/dg.qrc rename : base/qt/directories_dialog.py => qt/base/directories_dialog.py rename : base/qt/directories_dialog.ui => qt/base/directories_dialog.ui rename : base/qt/directories_model.py => qt/base/directories_model.py rename : base/qt/main_window.py => qt/base/main_window.py rename : base/qt/main_window.ui => qt/base/main_window.ui rename : base/qt/platform.py => qt/base/platform.py rename : base/qt/platform_osx.py => qt/base/platform_osx.py rename : base/qt/platform_win.py => qt/base/platform_win.py rename : base/qt/preferences.py => qt/base/preferences.py rename : base/qt/results_model.py => qt/base/results_model.py rename : me/qt/app.py => qt/me/app.py rename : me/qt/build.py => qt/me/build.py rename : me/qt/details_dialog.py => qt/me/details_dialog.py rename : me/qt/details_dialog.ui => qt/me/details_dialog.ui rename : me/qt/dgme.spec => qt/me/dgme.spec rename : me/qt/gen.py => qt/me/gen.py rename : me/qt/installer.aip => qt/me/installer.aip rename : me/qt/preferences.py => qt/me/preferences.py rename : me/qt/preferences_dialog.py => qt/me/preferences_dialog.py rename : me/qt/preferences_dialog.ui => qt/me/preferences_dialog.ui rename : me/qt/profile.py => qt/me/profile.py rename : me/qt/start.py => qt/me/start.py rename : me/qt/verinfo => qt/me/verinfo rename : pe/qt/app.py => qt/pe/app.py rename : pe/qt/block.py => qt/pe/block.py rename : pe/qt/build.py => qt/pe/build.py rename : pe/qt/details_dialog.py => qt/pe/details_dialog.py rename : pe/qt/details_dialog.ui => qt/pe/details_dialog.ui rename : pe/qt/dgpe.spec => qt/pe/dgpe.spec rename : pe/qt/gen.py => qt/pe/gen.py rename : pe/qt/installer.aip => qt/pe/installer.aip rename : pe/qt/main_window.py => qt/pe/main_window.py rename : pe/qt/modules/block/block.pyx => qt/pe/modules/block/block.pyx rename : pe/qt/modules/block/setup.py => qt/pe/modules/block/setup.py rename : pe/qt/preferences.py => qt/pe/preferences.py rename : pe/qt/preferences_dialog.py => qt/pe/preferences_dialog.py rename : pe/qt/preferences_dialog.ui => qt/pe/preferences_dialog.ui rename : pe/qt/profile.py => qt/pe/profile.py rename : pe/qt/start.py => qt/pe/start.py rename : pe/qt/verinfo => qt/pe/verinfo rename : se/qt/app.py => qt/se/app.py rename : se/qt/build.py => qt/se/build.py rename : se/qt/details_dialog.py => qt/se/details_dialog.py rename : se/qt/details_dialog.ui => qt/se/details_dialog.ui rename : se/qt/dgse.spec => qt/se/dgse.spec rename : se/qt/gen.py => qt/se/gen.py rename : se/qt/installer.aip => qt/se/installer.aip rename : se/qt/preferences.py => qt/se/preferences.py rename : se/qt/preferences_dialog.py => qt/se/preferences_dialog.py rename : se/qt/preferences_dialog.ui => qt/se/preferences_dialog.ui rename : se/qt/profile.py => qt/se/profile.py rename : se/qt/start.py => qt/se/start.py rename : se/qt/verinfo => qt/se/verinfo extra : convert_revision : svn%3Ac306627e-7827-47d3-bdf0-9a457c9553a1/trunk%40285 --- base/cocoa/LICENSE => LICENSE | 0 README | 68 ++++++++++++ base/qt/dg.qrc | 16 --- build.py | 62 +++++++++++ {base/cocoa => cocoa/base}/AppDelegate.h | 0 {base/cocoa => cocoa/base}/AppDelegate.m | 0 {base/cocoa => cocoa/base}/Consts.h | 0 {base/cocoa => cocoa/base}/DetailsPanel.h | 0 {base/cocoa => cocoa/base}/DetailsPanel.m | 0 {base/cocoa => cocoa/base}/DirectoryPanel.h | 0 {base/cocoa => cocoa/base}/DirectoryPanel.m | 0 {base/cocoa => cocoa/base}/PyDupeGuru.h | 0 {base/cocoa => cocoa/base}/ResultWindow.h | 0 {base/cocoa => cocoa/base}/ResultWindow.m | 0 {base/cocoa => cocoa/base}/dsa_pub.pem | 0 .../cocoa => cocoa/base}/xib/DetailsPanel.xib | 0 .../base}/xib/DirectoryPanel.xib | 0 {base/cocoa => cocoa/base}/xib/MainMenu.xib | 0 {me/cocoa => cocoa/me}/AppDelegate.h | 2 +- {me/cocoa => cocoa/me}/AppDelegate.m | 10 +- {me/cocoa => cocoa/me}/Consts.h | 2 +- {me/cocoa => cocoa/me}/DetailsPanel.h | 2 +- {me/cocoa => cocoa/me}/DetailsPanel.m | 0 {me/cocoa => cocoa/me}/DirectoryPanel.h | 2 +- {me/cocoa => cocoa/me}/DirectoryPanel.m | 0 {me/cocoa => cocoa/me}/Info.plist | 0 {me/cocoa => cocoa/me}/PyDupeGuru.h | 2 +- {me/cocoa => cocoa/me}/ResultWindow.h | 4 +- {me/cocoa => cocoa/me}/ResultWindow.m | 8 +- {me/cocoa => cocoa/me}/dupeguru.icns | Bin .../me}/dupeguru.xcodeproj/project.pbxproj | 96 ++++++++--------- cocoa/me/gen.py | 41 +++++++ {me/cocoa => cocoa/me}/main.m | 0 {me/cocoa => cocoa/me}/py/dg_cocoa.py | 0 {me/cocoa => cocoa/me}/py/setup.py | 16 ++- {me/cocoa => cocoa/me}/xib/Preferences.xib | 0 {se/cocoa => cocoa/pe}/AppDelegate.h | 2 +- {pe/cocoa => cocoa/pe}/AppDelegate.m | 0 {pe/cocoa => cocoa/pe}/Consts.h | 2 +- {pe/cocoa => cocoa/pe}/DetailsPanel.h | 2 +- {pe/cocoa => cocoa/pe}/DetailsPanel.m | 0 {pe/cocoa => cocoa/pe}/DirectoryPanel.h | 2 +- {pe/cocoa => cocoa/pe}/DirectoryPanel.m | 0 {pe/cocoa => cocoa/pe}/Info.plist | 0 {pe/cocoa => cocoa/pe}/PictureBlocks.h | 0 {pe/cocoa => cocoa/pe}/PictureBlocks.m | 0 {pe/cocoa => cocoa/pe}/PyDupeGuru.h | 2 +- {pe/cocoa => cocoa/pe}/ResultWindow.h | 2 +- {pe/cocoa => cocoa/pe}/ResultWindow.m | 0 {pe/cocoa => cocoa/pe}/dupeguru.icns | Bin .../pe}/dupeguru.xcodeproj/project.pbxproj | 101 +++++++++--------- cocoa/pe/gen.py | 41 +++++++ {pe/cocoa => cocoa/pe}/main.m | 0 {pe/cocoa => cocoa/pe}/py/dg_cocoa.py | 0 {pe/cocoa => cocoa/pe}/py/setup.py | 12 +-- {pe/cocoa => cocoa/pe}/xib/DetailsPanel.xib | 0 {pe/cocoa => cocoa/pe}/xib/Preferences.xib | 0 {pe/cocoa => cocoa/se}/AppDelegate.h | 2 +- {se/cocoa => cocoa/se}/AppDelegate.m | 8 +- {se/cocoa => cocoa/se}/Consts.h | 2 +- {se/cocoa => cocoa/se}/DetailsPanel.h | 2 +- {se/cocoa => cocoa/se}/DetailsPanel.m | 0 {se/cocoa => cocoa/se}/DirectoryPanel.h | 2 +- {se/cocoa => cocoa/se}/DirectoryPanel.m | 0 {se/cocoa => cocoa/se}/Info.plist | 0 {se/cocoa => cocoa/se}/PyDupeGuru.h | 2 +- {se/cocoa => cocoa/se}/ResultWindow.h | 4 +- {se/cocoa => cocoa/se}/ResultWindow.m | 6 +- {se/cocoa => cocoa/se}/dupeguru.icns | Bin .../se}/dupeguru.xcodeproj/project.pbxproj | 93 ++++++++-------- cocoa/se/gen.py | 41 +++++++ {se/cocoa => cocoa/se}/main.m | 0 {se/cocoa => cocoa/se}/py/dg_cocoa.py | 0 {se/cocoa => cocoa/se}/py/setup.py | 0 {se/cocoa => cocoa/se}/xib/Preferences.xib | 0 configure.py | 40 +++++++ {base/core => core}/LICENSE | 0 {base/core => core}/__init__.py | 0 {base/core => core}/app.py | 0 {base/core => core}/app_cocoa.py | 0 {base/core => core}/data.py | 0 {base/core => core}/directories.py | 0 {base/core => core}/engine.py | 0 {base/core => core}/export.py | 0 {base/core => core}/fs.py | 0 {base/core => core}/ignore.py | 0 {base/core => core}/results.py | 0 {base/core => core}/scanner.py | 0 {base/core => core}/tests/__init__.py | 0 {base/core => core}/tests/app_cocoa_test.py | 0 {base/core => core}/tests/app_test.py | 0 {base/core => core}/tests/data.py | 0 {base/core => core}/tests/directories_test.py | 0 {base/core => core}/tests/engine_test.py | 0 {base/core => core}/tests/ignore_test.py | 0 {base/core => core}/tests/results_test.py | 0 {base/core => core}/tests/scanner_test.py | 0 {base/qt => core_me}/__init__.py | 0 {me/core => core_me}/app_cocoa.py | 0 {me/core => core_me}/data.py | 0 {me/core => core_me}/fs.py | 0 {me/core => core_me}/scanner.py | 0 {me/core => core_me/tests}/__init__.py | 0 {me/core => core_me}/tests/scanner_test.py | 0 {base/qt => core_pe}/LICENSE | 0 {me/core/tests => core_pe}/__init__.py | 0 {pe/core => core_pe}/app_cocoa.py | 0 {pe/core => core_pe}/block.py | 0 {pe/core => core_pe}/cache.py | 0 {pe/core => core_pe}/data.py | 0 {pe/core => core_pe}/gen.py | 0 {pe/core => core_pe}/matchbase.py | 0 {pe/core => core_pe}/modules/block/block.pyx | 0 {pe/core => core_pe}/modules/block/setup.py | 0 {pe/core => core_pe}/modules/cache/cache.pyx | 0 {pe/core => core_pe}/modules/cache/setup.py | 0 {pe/core => core_pe}/scanner.py | 0 {me/help => core_pe/tests}/__init__.py | 0 {pe/core => core_pe}/tests/block_test.py | 0 {pe/core => core_pe}/tests/cache_test.py | 0 {me/cocoa => core_se}/LICENSE | 0 {se/core => core_se}/__init__.py | 0 {se/core => core_se}/app_cocoa.py | 0 {se/core => core_se}/data.py | 0 {se/core => core_se}/fs.py | 0 {pe/core => core_se/tests}/__init__.py | 0 {se/core => core_se}/tests/fs_test.py | 0 {me/help => help_me}/LICENSE | 0 {pe/core/tests => help_me}/__init__.py | 0 {me/help => help_me}/changelog.yaml | 0 {me/help => help_me}/gen.py | 4 +- {me/help => help_me}/skeleton/hardcoded.css | 0 .../skeleton/images/hs_title.png | Bin {me/help => help_me}/templates/base_dg.mako | 0 {me/help => help_me}/templates/credits.mako | 0 .../templates/directories.mako | 0 {me/help => help_me}/templates/faq.mako | 0 {me/help => help_me}/templates/intro.mako | 0 .../templates/power_marker.mako | 0 .../templates/preferences.mako | 0 .../templates/quick_start.mako | 0 {me/help => help_me}/templates/results.mako | 0 {me/help => help_me}/templates/versions.mako | 0 {me/qt => help_pe}/LICENSE | 0 {pe/help => help_pe}/__init__.py | 0 {pe/help => help_pe}/changelog.yaml | 0 {pe/help => help_pe}/gen.py | 4 +- {pe/help => help_pe}/skeleton/hardcoded.css | 0 .../skeleton/images/hs_title.png | Bin {pe/help => help_pe}/templates/base_dg.mako | 0 {pe/help => help_pe}/templates/credits.mako | 0 .../templates/directories.mako | 0 {pe/help => help_pe}/templates/faq.mako | 0 {pe/help => help_pe}/templates/intro.mako | 0 .../templates/power_marker.mako | 0 .../templates/preferences.mako | 0 .../templates/quick_start.mako | 0 {pe/help => help_pe}/templates/results.mako | 0 {pe/help => help_pe}/templates/versions.mako | 0 {pe/cocoa => help_se}/LICENSE | 0 {se/core/tests => help_se}/__init__.py | 0 {se/help => help_se}/changelog.yaml | 0 {se/help => help_se}/gen.py | 9 +- {se/help => help_se}/skeleton/hardcoded.css | 0 .../skeleton/images/hs_title.png | Bin {se/help => help_se}/templates/base_dg.mako | 0 {se/help => help_se}/templates/credits.mako | 0 .../templates/directories.mako | 0 {se/help => help_se}/templates/faq.mako | 0 {se/help => help_se}/templates/intro.mako | 0 .../templates/power_marker.mako | 0 .../templates/preferences.mako | 0 .../templates/quick_start.mako | 0 {se/help => help_se}/templates/results.mako | 0 {se/help => help_se}/templates/versions.mako | 0 me/cocoa/gen.py | 21 ---- me/cocoa/py/gen.py | 20 ---- me/qt/WARNING | 11 -- package.py | 45 ++++++++ pe/cocoa/gen.py | 21 ---- pe/cocoa/py/gen.py | 23 ---- pe/core/LICENSE | 11 -- pe/help/LICENSE | 11 -- pe/qt/LICENSE | 11 -- pe/qt/WARNING | 11 -- {base/qt => qt}/WARNING | 0 qt/base/__init__.py | 0 {base/qt => qt/base}/app.py | 0 {base/qt => qt/base}/details_table.py | 0 qt/base/dg.qrc | 16 +++ {base/qt => qt/base}/directories_dialog.py | 0 {base/qt => qt/base}/directories_dialog.ui | 0 {base/qt => qt/base}/directories_model.py | 0 {base/qt => qt/base}/main_window.py | 0 {base/qt => qt/base}/main_window.ui | 0 {base/qt => qt/base}/platform.py | 0 {base/qt => qt/base}/platform_osx.py | 0 {base/qt => qt/base}/platform_win.py | 0 {base/qt => qt/base}/preferences.py | 0 {base/qt => qt/base}/results_model.py | 0 {me/qt => qt/me}/app.py | 0 {me/qt => qt/me}/build.py | 0 {me/qt => qt/me}/details_dialog.py | 0 {me/qt => qt/me}/details_dialog.ui | 0 {me/qt => qt/me}/dgme.spec | 4 +- {me/qt => qt/me}/gen.py | 12 +-- {me/qt => qt/me}/installer.aip | 0 {me/qt => qt/me}/preferences.py | 0 {me/qt => qt/me}/preferences_dialog.py | 0 {me/qt => qt/me}/preferences_dialog.ui | 0 {me/qt => qt/me}/profile.py | 0 {me/qt => qt/me}/start.py | 0 {me/qt => qt/me}/verinfo | 0 {pe/qt => qt/pe}/app.py | 0 {pe/qt => qt/pe}/block.py | 0 {pe/qt => qt/pe}/build.py | 0 {pe/qt => qt/pe}/details_dialog.py | 0 {pe/qt => qt/pe}/details_dialog.ui | 0 {pe/qt => qt/pe}/dgpe.spec | 2 +- {pe/qt => qt/pe}/gen.py | 20 +--- {pe/qt => qt/pe}/installer.aip | 0 {pe/qt => qt/pe}/main_window.py | 0 {pe/qt => qt/pe}/modules/block/block.pyx | 0 {pe/qt => qt/pe}/modules/block/setup.py | 0 {pe/qt => qt/pe}/preferences.py | 0 {pe/qt => qt/pe}/preferences_dialog.py | 0 {pe/qt => qt/pe}/preferences_dialog.ui | 0 {pe/qt => qt/pe}/profile.py | 0 {pe/qt => qt/pe}/start.py | 0 {pe/qt => qt/pe}/verinfo | 0 {se/qt => qt/se}/app.py | 0 {se/qt => qt/se}/build.py | 0 {se/qt => qt/se}/details_dialog.py | 0 {se/qt => qt/se}/details_dialog.ui | 0 {se/qt => qt/se}/dgse.spec | 4 +- {se/qt => qt/se}/gen.py | 10 +- {se/qt => qt/se}/installer.aip | 0 {se/qt => qt/se}/preferences.py | 0 {se/qt => qt/se}/preferences_dialog.py | 0 {se/qt => qt/se}/preferences_dialog.ui | 0 {se/qt => qt/se}/profile.py | 0 {se/qt => qt/se}/start.py | 0 {se/qt => qt/se}/verinfo | 0 run.py | 39 +++++++ se/cocoa/LICENSE | 11 -- se/cocoa/gen.py | 19 ---- se/cocoa/py/gen.py | 20 ---- se/core/LICENSE | 11 -- se/help/LICENSE | 11 -- se/qt/LICENSE | 11 -- se/qt/WARNING | 11 -- 251 files changed, 602 insertions(+), 500 deletions(-) rename base/cocoa/LICENSE => LICENSE (100%) create mode 100644 README delete mode 100644 base/qt/dg.qrc create mode 100644 build.py rename {base/cocoa => cocoa/base}/AppDelegate.h (100%) rename {base/cocoa => cocoa/base}/AppDelegate.m (100%) rename {base/cocoa => cocoa/base}/Consts.h (100%) rename {base/cocoa => cocoa/base}/DetailsPanel.h (100%) rename {base/cocoa => cocoa/base}/DetailsPanel.m (100%) rename {base/cocoa => cocoa/base}/DirectoryPanel.h (100%) rename {base/cocoa => cocoa/base}/DirectoryPanel.m (100%) rename {base/cocoa => cocoa/base}/PyDupeGuru.h (100%) rename {base/cocoa => cocoa/base}/ResultWindow.h (100%) rename {base/cocoa => cocoa/base}/ResultWindow.m (100%) rename {base/cocoa => cocoa/base}/dsa_pub.pem (100%) rename {base/cocoa => cocoa/base}/xib/DetailsPanel.xib (100%) rename {base/cocoa => cocoa/base}/xib/DirectoryPanel.xib (100%) rename {base/cocoa => cocoa/base}/xib/MainMenu.xib (100%) rename {me/cocoa => cocoa/me}/AppDelegate.h (94%) rename {me/cocoa => cocoa/me}/AppDelegate.m (94%) rename {me/cocoa => cocoa/me}/Consts.h (80%) rename {me/cocoa => cocoa/me}/DetailsPanel.h (90%) rename {me/cocoa => cocoa/me}/DetailsPanel.m (100%) rename {me/cocoa => cocoa/me}/DirectoryPanel.h (91%) rename {me/cocoa => cocoa/me}/DirectoryPanel.m (100%) rename {me/cocoa => cocoa/me}/Info.plist (100%) rename {me/cocoa => cocoa/me}/PyDupeGuru.h (96%) rename {me/cocoa => cocoa/me}/ResultWindow.h (94%) rename {me/cocoa => cocoa/me}/ResultWindow.m (98%) rename {me/cocoa => cocoa/me}/dupeguru.icns (100%) rename {me/cocoa => cocoa/me}/dupeguru.xcodeproj/project.pbxproj (86%) create mode 100644 cocoa/me/gen.py rename {me/cocoa => cocoa/me}/main.m (100%) rename {me/cocoa => cocoa/me}/py/dg_cocoa.py (100%) rename {me/cocoa => cocoa/me}/py/setup.py (63%) rename {me/cocoa => cocoa/me}/xib/Preferences.xib (100%) rename {se/cocoa => cocoa/pe}/AppDelegate.h (94%) rename {pe/cocoa => cocoa/pe}/AppDelegate.m (100%) rename {pe/cocoa => cocoa/pe}/Consts.h (93%) rename {pe/cocoa => cocoa/pe}/DetailsPanel.h (94%) rename {pe/cocoa => cocoa/pe}/DetailsPanel.m (100%) rename {pe/cocoa => cocoa/pe}/DirectoryPanel.h (91%) rename {pe/cocoa => cocoa/pe}/DirectoryPanel.m (100%) rename {pe/cocoa => cocoa/pe}/Info.plist (100%) rename {pe/cocoa => cocoa/pe}/PictureBlocks.h (100%) rename {pe/cocoa => cocoa/pe}/PictureBlocks.m (100%) rename {pe/cocoa => cocoa/pe}/PyDupeGuru.h (94%) rename {pe/cocoa => cocoa/pe}/ResultWindow.h (97%) rename {pe/cocoa => cocoa/pe}/ResultWindow.m (100%) rename {pe/cocoa => cocoa/pe}/dupeguru.icns (100%) rename {pe/cocoa => cocoa/pe}/dupeguru.xcodeproj/project.pbxproj (86%) create mode 100644 cocoa/pe/gen.py rename {pe/cocoa => cocoa/pe}/main.m (100%) rename {pe/cocoa => cocoa/pe}/py/dg_cocoa.py (100%) rename {pe/cocoa => cocoa/pe}/py/setup.py (63%) rename {pe/cocoa => cocoa/pe}/xib/DetailsPanel.xib (100%) rename {pe/cocoa => cocoa/pe}/xib/Preferences.xib (100%) rename {pe/cocoa => cocoa/se}/AppDelegate.h (94%) rename {se/cocoa => cocoa/se}/AppDelegate.m (95%) rename {se/cocoa => cocoa/se}/Consts.h (83%) rename {se/cocoa => cocoa/se}/DetailsPanel.h (90%) rename {se/cocoa => cocoa/se}/DetailsPanel.m (100%) rename {se/cocoa => cocoa/se}/DirectoryPanel.h (91%) rename {se/cocoa => cocoa/se}/DirectoryPanel.m (100%) rename {se/cocoa => cocoa/se}/Info.plist (100%) rename {se/cocoa => cocoa/se}/PyDupeGuru.h (94%) rename {se/cocoa => cocoa/se}/ResultWindow.h (94%) rename {se/cocoa => cocoa/se}/ResultWindow.m (98%) rename {se/cocoa => cocoa/se}/dupeguru.icns (100%) rename {se/cocoa => cocoa/se}/dupeguru.xcodeproj/project.pbxproj (87%) create mode 100644 cocoa/se/gen.py rename {se/cocoa => cocoa/se}/main.m (100%) rename {se/cocoa => cocoa/se}/py/dg_cocoa.py (100%) rename {se/cocoa => cocoa/se}/py/setup.py (100%) rename {se/cocoa => cocoa/se}/xib/Preferences.xib (100%) create mode 100644 configure.py rename {base/core => core}/LICENSE (100%) rename {base/core => core}/__init__.py (100%) rename {base/core => core}/app.py (100%) rename {base/core => core}/app_cocoa.py (100%) rename {base/core => core}/data.py (100%) rename {base/core => core}/directories.py (100%) rename {base/core => core}/engine.py (100%) rename {base/core => core}/export.py (100%) rename {base/core => core}/fs.py (100%) rename {base/core => core}/ignore.py (100%) rename {base/core => core}/results.py (100%) rename {base/core => core}/scanner.py (100%) rename {base/core => core}/tests/__init__.py (100%) rename {base/core => core}/tests/app_cocoa_test.py (100%) rename {base/core => core}/tests/app_test.py (100%) rename {base/core => core}/tests/data.py (100%) rename {base/core => core}/tests/directories_test.py (100%) rename {base/core => core}/tests/engine_test.py (100%) rename {base/core => core}/tests/ignore_test.py (100%) rename {base/core => core}/tests/results_test.py (100%) rename {base/core => core}/tests/scanner_test.py (100%) rename {base/qt => core_me}/__init__.py (100%) rename {me/core => core_me}/app_cocoa.py (100%) rename {me/core => core_me}/data.py (100%) rename {me/core => core_me}/fs.py (100%) rename {me/core => core_me}/scanner.py (100%) rename {me/core => core_me/tests}/__init__.py (100%) rename {me/core => core_me}/tests/scanner_test.py (100%) rename {base/qt => core_pe}/LICENSE (100%) rename {me/core/tests => core_pe}/__init__.py (100%) rename {pe/core => core_pe}/app_cocoa.py (100%) rename {pe/core => core_pe}/block.py (100%) rename {pe/core => core_pe}/cache.py (100%) rename {pe/core => core_pe}/data.py (100%) rename {pe/core => core_pe}/gen.py (100%) rename {pe/core => core_pe}/matchbase.py (100%) rename {pe/core => core_pe}/modules/block/block.pyx (100%) rename {pe/core => core_pe}/modules/block/setup.py (100%) rename {pe/core => core_pe}/modules/cache/cache.pyx (100%) rename {pe/core => core_pe}/modules/cache/setup.py (100%) rename {pe/core => core_pe}/scanner.py (100%) rename {me/help => core_pe/tests}/__init__.py (100%) rename {pe/core => core_pe}/tests/block_test.py (100%) rename {pe/core => core_pe}/tests/cache_test.py (100%) rename {me/cocoa => core_se}/LICENSE (100%) rename {se/core => core_se}/__init__.py (100%) rename {se/core => core_se}/app_cocoa.py (100%) rename {se/core => core_se}/data.py (100%) rename {se/core => core_se}/fs.py (100%) rename {pe/core => core_se/tests}/__init__.py (100%) rename {se/core => core_se}/tests/fs_test.py (100%) rename {me/help => help_me}/LICENSE (100%) rename {pe/core/tests => help_me}/__init__.py (100%) rename {me/help => help_me}/changelog.yaml (100%) rename {me/help => help_me}/gen.py (83%) rename {me/help => help_me}/skeleton/hardcoded.css (100%) rename {me/help => help_me}/skeleton/images/hs_title.png (100%) rename {me/help => help_me}/templates/base_dg.mako (100%) rename {me/help => help_me}/templates/credits.mako (100%) rename {me/help => help_me}/templates/directories.mako (100%) rename {me/help => help_me}/templates/faq.mako (100%) rename {me/help => help_me}/templates/intro.mako (100%) rename {me/help => help_me}/templates/power_marker.mako (100%) rename {me/help => help_me}/templates/preferences.mako (100%) rename {me/help => help_me}/templates/quick_start.mako (100%) rename {me/help => help_me}/templates/results.mako (100%) rename {me/help => help_me}/templates/versions.mako (100%) rename {me/qt => help_pe}/LICENSE (100%) rename {pe/help => help_pe}/__init__.py (100%) rename {pe/help => help_pe}/changelog.yaml (100%) rename {pe/help => help_pe}/gen.py (83%) rename {pe/help => help_pe}/skeleton/hardcoded.css (100%) rename {pe/help => help_pe}/skeleton/images/hs_title.png (100%) rename {pe/help => help_pe}/templates/base_dg.mako (100%) rename {pe/help => help_pe}/templates/credits.mako (100%) rename {pe/help => help_pe}/templates/directories.mako (100%) rename {pe/help => help_pe}/templates/faq.mako (100%) rename {pe/help => help_pe}/templates/intro.mako (100%) rename {pe/help => help_pe}/templates/power_marker.mako (100%) rename {pe/help => help_pe}/templates/preferences.mako (100%) rename {pe/help => help_pe}/templates/quick_start.mako (100%) rename {pe/help => help_pe}/templates/results.mako (100%) rename {pe/help => help_pe}/templates/versions.mako (100%) rename {pe/cocoa => help_se}/LICENSE (100%) rename {se/core/tests => help_se}/__init__.py (100%) rename {se/help => help_se}/changelog.yaml (100%) rename {se/help => help_se}/gen.py (51%) rename {se/help => help_se}/skeleton/hardcoded.css (100%) rename {se/help => help_se}/skeleton/images/hs_title.png (100%) rename {se/help => help_se}/templates/base_dg.mako (100%) rename {se/help => help_se}/templates/credits.mako (100%) rename {se/help => help_se}/templates/directories.mako (100%) rename {se/help => help_se}/templates/faq.mako (100%) rename {se/help => help_se}/templates/intro.mako (100%) rename {se/help => help_se}/templates/power_marker.mako (100%) rename {se/help => help_se}/templates/preferences.mako (100%) rename {se/help => help_se}/templates/quick_start.mako (100%) rename {se/help => help_se}/templates/results.mako (100%) rename {se/help => help_se}/templates/versions.mako (100%) delete mode 100644 me/cocoa/gen.py delete mode 100644 me/cocoa/py/gen.py delete mode 100644 me/qt/WARNING create mode 100644 package.py delete mode 100644 pe/cocoa/gen.py delete mode 100644 pe/cocoa/py/gen.py delete mode 100644 pe/core/LICENSE delete mode 100644 pe/help/LICENSE delete mode 100644 pe/qt/LICENSE delete mode 100644 pe/qt/WARNING rename {base/qt => qt}/WARNING (100%) create mode 100644 qt/base/__init__.py rename {base/qt => qt/base}/app.py (100%) rename {base/qt => qt/base}/details_table.py (100%) create mode 100644 qt/base/dg.qrc rename {base/qt => qt/base}/directories_dialog.py (100%) rename {base/qt => qt/base}/directories_dialog.ui (100%) rename {base/qt => qt/base}/directories_model.py (100%) rename {base/qt => qt/base}/main_window.py (100%) rename {base/qt => qt/base}/main_window.ui (100%) rename {base/qt => qt/base}/platform.py (100%) rename {base/qt => qt/base}/platform_osx.py (100%) rename {base/qt => qt/base}/platform_win.py (100%) rename {base/qt => qt/base}/preferences.py (100%) rename {base/qt => qt/base}/results_model.py (100%) rename {me/qt => qt/me}/app.py (100%) rename {me/qt => qt/me}/build.py (100%) rename {me/qt => qt/me}/details_dialog.py (100%) rename {me/qt => qt/me}/details_dialog.ui (100%) rename {me/qt => qt/me}/dgme.spec (78%) rename {me/qt => qt/me}/gen.py (70%) rename {me/qt => qt/me}/installer.aip (100%) rename {me/qt => qt/me}/preferences.py (100%) rename {me/qt => qt/me}/preferences_dialog.py (100%) rename {me/qt => qt/me}/preferences_dialog.ui (100%) rename {me/qt => qt/me}/profile.py (100%) rename {me/qt => qt/me}/start.py (100%) rename {me/qt => qt/me}/verinfo (100%) rename {pe/qt => qt/pe}/app.py (100%) rename {pe/qt => qt/pe}/block.py (100%) rename {pe/qt => qt/pe}/build.py (100%) rename {pe/qt => qt/pe}/details_dialog.py (100%) rename {pe/qt => qt/pe}/details_dialog.ui (100%) rename {pe/qt => qt/pe}/dgpe.spec (84%) rename {pe/qt => qt/pe}/gen.py (77%) rename {pe/qt => qt/pe}/installer.aip (100%) rename {pe/qt => qt/pe}/main_window.py (100%) rename {pe/qt => qt/pe}/modules/block/block.pyx (100%) rename {pe/qt => qt/pe}/modules/block/setup.py (100%) rename {pe/qt => qt/pe}/preferences.py (100%) rename {pe/qt => qt/pe}/preferences_dialog.py (100%) rename {pe/qt => qt/pe}/preferences_dialog.ui (100%) rename {pe/qt => qt/pe}/profile.py (100%) rename {pe/qt => qt/pe}/start.py (100%) rename {pe/qt => qt/pe}/verinfo (100%) rename {se/qt => qt/se}/app.py (100%) rename {se/qt => qt/se}/build.py (100%) rename {se/qt => qt/se}/details_dialog.py (100%) rename {se/qt => qt/se}/details_dialog.ui (100%) rename {se/qt => qt/se}/dgse.spec (84%) rename {se/qt => qt/se}/gen.py (67%) rename {se/qt => qt/se}/installer.aip (100%) rename {se/qt => qt/se}/preferences.py (100%) rename {se/qt => qt/se}/preferences_dialog.py (100%) rename {se/qt => qt/se}/preferences_dialog.ui (100%) rename {se/qt => qt/se}/profile.py (100%) rename {se/qt => qt/se}/start.py (100%) rename {se/qt => qt/se}/verinfo (100%) create mode 100644 run.py delete mode 100644 se/cocoa/LICENSE delete mode 100644 se/cocoa/gen.py delete mode 100644 se/cocoa/py/gen.py delete mode 100644 se/core/LICENSE delete mode 100644 se/help/LICENSE delete mode 100644 se/qt/LICENSE delete mode 100644 se/qt/WARNING diff --git a/base/cocoa/LICENSE b/LICENSE similarity index 100% rename from base/cocoa/LICENSE rename to LICENSE diff --git a/README b/README new file mode 100644 index 00000000..4f9c540d --- /dev/null +++ b/README @@ -0,0 +1,68 @@ +Contents +===== + +This package contains the source for dupeGuru. To learns how to build it, refer to the "Build dupeGuru" section. Below is the description of the various subfolders: + +- core: Contains the core logic code for dupeGuru. It's Python code written in TDD style. +- core_*: Edition-specific-cross-toolkit code written in Python. +- cocoa: UI code for the Cocoa toolkit. It's Objective-C code. +- qt: UI code for the Qt toolkit. It's written in Python and uses PyQt. Before redistributing changes in this part of the code, read the "qt/WARNING" file. +- images: Images used by the different UI codebases. + +There are also other sub-folder that comes from external repositories (automatically checked out +with svn:externals): + +- hsutil: A collection of helpers used across HS applications. +- hsdocgen: An ad-hoc document generation used across HS project (used for help files) +- hsmedia: A library to read audio file metadata, used in dupeGuru ME. +- cocoalib: A collection of helpers used across Cocoa UI codebases of HS applications. +- qtlib: A collection of helpers used across Qt UI codebases of HS applications. + +dupeGuru Dependencies +===== + +Before being able to build dupeGuru, a few dependencies have to be installed: + +General dependencies +----- + +- Python 2.6 (http://www.python.org) +- Mako, to generate help files. (http://www.makotemplates.org/) +- PyYaml, for help files and the build system. (http://pyyaml.org/) +- Nose, to run unit tests. (http://somethingaboutorange.com/mrl/projects/nose/) +- Cython to compile a few optimized bottlenecks. (http://www.cython.org/) +- Python Imaging Library for dupeGuru PE. (http://www.pythonware.com/products/pil/) + +OS X prerequisites +----- + +- XCode 3.1 (http://developer.apple.com/TOOLS/xcode/) +- Sparkle (http://sparkle.andymatuschak.org/) +- PyObjC. Although Tiger support has been dropped with dupeGuru 1.7, I still use PyObjC 1.4 because funky stuff happens with newer releases. However, it's mostly related to packaging with py2app. (http://pyobjc.sourceforge.net/) +- py2app (http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html) + +Windows prerequisites +--- + +- Visual Studio 2008 (Express is enough) is needed to build the Cython extensions. (http://www.microsoft.com/Express/) +- PyQt 4.6 (http://www.riverbankcomputing.co.uk/news) +- PyInstaller, if you want to build a exe. You don't need it if you just want to run dupeGuru. (http://www.pyinstaller.org/) +- Advanced Installer, if you want to build the installer file. (http://www.advancedinstaller.com/) + +Building dupeGuru +===== + +First, make sure you meet the dependencies listed in the section above. Then you need to configure your build with: + + python configure.py + +If you want, you can specify a UI to use with the `--ui` option. So, if you want to build dupeGuru with Qt on OS X, then you have to type `python configure.py --ui=qt`. You can also use the `--dev` flag to indicate a dev build (it will build `mg_cocoa.plugin` in alias mode). + +Then, just build the thing and then run it with: + + python build.py + python run.py + +If you want to create ready-to-upload package, run: + + python package.py diff --git a/base/qt/dg.qrc b/base/qt/dg.qrc deleted file mode 100644 index bd8d0a26..00000000 --- a/base/qt/dg.qrc +++ /dev/null @@ -1,16 +0,0 @@ - - - images/details32.png - images/dgpe_logo_32.png - images/dgpe_logo_128.png - images/dgme_logo_32.png - images/dgme_logo_128.png - images/dgse_logo_32.png - images/dgse_logo_128.png - images/folderwin32.png - images/preferences32.png - images/actions32.png - images/delta32.png - images/power_marker32.png - - \ No newline at end of file diff --git a/build.py b/build.py new file mode 100644 index 00000000..4ab1e047 --- /dev/null +++ b/build.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Created By: Virgil Dupras +# Created On: 2009-12-30 +# $Id$ +# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) +# +# This software is licensed under the "HS" License as described in the "LICENSE" file, +# which should be included with this package. The terms are also available at +# http://www.hardcoded.net/licenses/hs_license + +import sys +import os +import os.path as op + +import yaml + +from hsutil.build import move_testdata_out, put_testdata_back, add_to_pythonpath + +def main(): + conf = yaml.load(open('conf.yaml')) + edition = conf['edition'] + ui = conf['ui'] + dev = conf['dev'] + print "Building dupeGuru {0} with UI {1}".format(edition.upper(), ui) + add_to_pythonpath('.') + if dev: + print "Building in Dev mode" + print "Generating Help" + windows = sys.platform=='win32' + if edition == 'se': + import help_se.gen + help_se.gen.generate(windows=windows, force_render=not dev) + elif edition == 'me': + import help_me.gen + help_me.gen.generate(windows=windows, force_render=not dev) + elif edition == 'pe': + import help_pe.gen + help_pe.gen.generate(windows=windows, force_render=not dev) + + print "Building dupeGuru" + if edition == 'pe': + os.chdir('core_pe') + os.system('python gen.py') + os.chdir('..') + if ui == 'cocoa': + move_log = move_testdata_out() + try: + os.chdir(op.join('cocoa', edition)) + if dev: + os.system('python gen.py --dev') + else: + os.system('python gen.py') + os.chdir(op.join('..', '..')) + finally: + put_testdata_back(move_log) + elif ui == 'qt': + os.chdir(op.join('qt', edition)) + os.system('python gen.py') + os.chdir(op.join('..', '..')) + +if __name__ == '__main__': + main() diff --git a/base/cocoa/AppDelegate.h b/cocoa/base/AppDelegate.h similarity index 100% rename from base/cocoa/AppDelegate.h rename to cocoa/base/AppDelegate.h diff --git a/base/cocoa/AppDelegate.m b/cocoa/base/AppDelegate.m similarity index 100% rename from base/cocoa/AppDelegate.m rename to cocoa/base/AppDelegate.m diff --git a/base/cocoa/Consts.h b/cocoa/base/Consts.h similarity index 100% rename from base/cocoa/Consts.h rename to cocoa/base/Consts.h diff --git a/base/cocoa/DetailsPanel.h b/cocoa/base/DetailsPanel.h similarity index 100% rename from base/cocoa/DetailsPanel.h rename to cocoa/base/DetailsPanel.h diff --git a/base/cocoa/DetailsPanel.m b/cocoa/base/DetailsPanel.m similarity index 100% rename from base/cocoa/DetailsPanel.m rename to cocoa/base/DetailsPanel.m diff --git a/base/cocoa/DirectoryPanel.h b/cocoa/base/DirectoryPanel.h similarity index 100% rename from base/cocoa/DirectoryPanel.h rename to cocoa/base/DirectoryPanel.h diff --git a/base/cocoa/DirectoryPanel.m b/cocoa/base/DirectoryPanel.m similarity index 100% rename from base/cocoa/DirectoryPanel.m rename to cocoa/base/DirectoryPanel.m diff --git a/base/cocoa/PyDupeGuru.h b/cocoa/base/PyDupeGuru.h similarity index 100% rename from base/cocoa/PyDupeGuru.h rename to cocoa/base/PyDupeGuru.h diff --git a/base/cocoa/ResultWindow.h b/cocoa/base/ResultWindow.h similarity index 100% rename from base/cocoa/ResultWindow.h rename to cocoa/base/ResultWindow.h diff --git a/base/cocoa/ResultWindow.m b/cocoa/base/ResultWindow.m similarity index 100% rename from base/cocoa/ResultWindow.m rename to cocoa/base/ResultWindow.m diff --git a/base/cocoa/dsa_pub.pem b/cocoa/base/dsa_pub.pem similarity index 100% rename from base/cocoa/dsa_pub.pem rename to cocoa/base/dsa_pub.pem diff --git a/base/cocoa/xib/DetailsPanel.xib b/cocoa/base/xib/DetailsPanel.xib similarity index 100% rename from base/cocoa/xib/DetailsPanel.xib rename to cocoa/base/xib/DetailsPanel.xib diff --git a/base/cocoa/xib/DirectoryPanel.xib b/cocoa/base/xib/DirectoryPanel.xib similarity index 100% rename from base/cocoa/xib/DirectoryPanel.xib rename to cocoa/base/xib/DirectoryPanel.xib diff --git a/base/cocoa/xib/MainMenu.xib b/cocoa/base/xib/MainMenu.xib similarity index 100% rename from base/cocoa/xib/MainMenu.xib rename to cocoa/base/xib/MainMenu.xib diff --git a/me/cocoa/AppDelegate.h b/cocoa/me/AppDelegate.h similarity index 94% rename from me/cocoa/AppDelegate.h rename to cocoa/me/AppDelegate.h index 8bdeac69..fee028ed 100644 --- a/me/cocoa/AppDelegate.h +++ b/cocoa/me/AppDelegate.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/AppDelegate.h" +#import "../base/AppDelegate.h" #import "ResultWindow.h" #import "DirectoryPanel.h" #import "PyDupeGuru.h" diff --git a/me/cocoa/AppDelegate.m b/cocoa/me/AppDelegate.m similarity index 94% rename from me/cocoa/AppDelegate.m rename to cocoa/me/AppDelegate.m index a91cb290..d618300d 100644 --- a/me/cocoa/AppDelegate.m +++ b/cocoa/me/AppDelegate.m @@ -7,11 +7,11 @@ http://www.hardcoded.net/licenses/hs_license */ #import "AppDelegate.h" -#import "cocoalib/ProgressController.h" -#import "cocoalib/RegistrationInterface.h" -#import "cocoalib/Utils.h" -#import "cocoalib/ValueTransformers.h" -#import "cocoalib/Dialogs.h" +#import "../../cocoalib/ProgressController.h" +#import "../../cocoalib/RegistrationInterface.h" +#import "../../cocoalib/Utils.h" +#import "../../cocoalib/ValueTransformers.h" +#import "../../cocoalib/Dialogs.h" #import "DetailsPanel.h" #import "Consts.h" diff --git a/me/cocoa/Consts.h b/cocoa/me/Consts.h similarity index 80% rename from me/cocoa/Consts.h rename to cocoa/me/Consts.h index ebc7c1f3..489f17a9 100644 --- a/me/cocoa/Consts.h +++ b/cocoa/me/Consts.h @@ -6,7 +6,7 @@ which should be included with this package. The terms are also available at http://www.hardcoded.net/licenses/hs_license */ -#import "dgbase/Consts.h" +#import "../base/Consts.h" #define APPNAME @"dupeGuru ME" diff --git a/me/cocoa/DetailsPanel.h b/cocoa/me/DetailsPanel.h similarity index 90% rename from me/cocoa/DetailsPanel.h rename to cocoa/me/DetailsPanel.h index eca22c12..4c1b5cca 100644 --- a/me/cocoa/DetailsPanel.h +++ b/cocoa/me/DetailsPanel.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/DetailsPanel.h" +#import "../base/DetailsPanel.h" @interface DetailsPanel : DetailsPanelBase diff --git a/me/cocoa/DetailsPanel.m b/cocoa/me/DetailsPanel.m similarity index 100% rename from me/cocoa/DetailsPanel.m rename to cocoa/me/DetailsPanel.m diff --git a/me/cocoa/DirectoryPanel.h b/cocoa/me/DirectoryPanel.h similarity index 91% rename from me/cocoa/DirectoryPanel.h rename to cocoa/me/DirectoryPanel.h index 536258af..23d05199 100644 --- a/me/cocoa/DirectoryPanel.h +++ b/cocoa/me/DirectoryPanel.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/DirectoryPanel.h" +#import "../base/DirectoryPanel.h" @interface DirectoryPanel : DirectoryPanelBase { diff --git a/me/cocoa/DirectoryPanel.m b/cocoa/me/DirectoryPanel.m similarity index 100% rename from me/cocoa/DirectoryPanel.m rename to cocoa/me/DirectoryPanel.m diff --git a/me/cocoa/Info.plist b/cocoa/me/Info.plist similarity index 100% rename from me/cocoa/Info.plist rename to cocoa/me/Info.plist diff --git a/me/cocoa/PyDupeGuru.h b/cocoa/me/PyDupeGuru.h similarity index 96% rename from me/cocoa/PyDupeGuru.h rename to cocoa/me/PyDupeGuru.h index 1d45ad3a..b7631a27 100644 --- a/me/cocoa/PyDupeGuru.h +++ b/cocoa/me/PyDupeGuru.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/PyDupeGuru.h" +#import "../base/PyDupeGuru.h" @interface PyDupeGuru : PyDupeGuruBase //Scanning options diff --git a/me/cocoa/ResultWindow.h b/cocoa/me/ResultWindow.h similarity index 94% rename from me/cocoa/ResultWindow.h rename to cocoa/me/ResultWindow.h index e175a4c9..c918ca32 100644 --- a/me/cocoa/ResultWindow.h +++ b/cocoa/me/ResultWindow.h @@ -7,8 +7,8 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "cocoalib/Outline.h" -#import "dgbase/ResultWindow.h" +#import "../../cocoalib/Outline.h" +#import "../base/ResultWindow.h" #import "DirectoryPanel.h" @interface ResultWindow : ResultWindowBase diff --git a/me/cocoa/ResultWindow.m b/cocoa/me/ResultWindow.m similarity index 98% rename from me/cocoa/ResultWindow.m rename to cocoa/me/ResultWindow.m index 0ad98ca4..67fd2917 100644 --- a/me/cocoa/ResultWindow.m +++ b/cocoa/me/ResultWindow.m @@ -7,10 +7,10 @@ http://www.hardcoded.net/licenses/hs_license */ #import "ResultWindow.h" -#import "cocoalib/Dialogs.h" -#import "cocoalib/ProgressController.h" -#import "cocoalib/RegistrationInterface.h" -#import "cocoalib/Utils.h" +#import "../../cocoalib/Dialogs.h" +#import "../../cocoalib/ProgressController.h" +#import "../../cocoalib/RegistrationInterface.h" +#import "../../cocoalib/Utils.h" #import "AppDelegate.h" #import "Consts.h" diff --git a/me/cocoa/dupeguru.icns b/cocoa/me/dupeguru.icns similarity index 100% rename from me/cocoa/dupeguru.icns rename to cocoa/me/dupeguru.icns diff --git a/me/cocoa/dupeguru.xcodeproj/project.pbxproj b/cocoa/me/dupeguru.xcodeproj/project.pbxproj similarity index 86% rename from me/cocoa/dupeguru.xcodeproj/project.pbxproj rename to cocoa/me/dupeguru.xcodeproj/project.pbxproj index 09fa0eb0..556e626e 100644 --- a/me/cocoa/dupeguru.xcodeproj/project.pbxproj +++ b/cocoa/me/dupeguru.xcodeproj/project.pbxproj @@ -82,61 +82,61 @@ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; }; 8D1107320486CEB800E47090 /* dupeGuru ME.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "dupeGuru ME.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - CE073F5409CAE1A3005C1D2F /* dupeguru_me_help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dupeguru_me_help; path = help/dupeguru_me_help; sourceTree = ""; }; + CE073F5409CAE1A3005C1D2F /* dupeguru_me_help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dupeguru_me_help; path = ../../help_me/dupeguru_me_help; sourceTree = ""; }; CE1425880AFB718500BD5167 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = /Library/Frameworks/Sparkle.framework; sourceTree = ""; }; CE381C9409914ACE003581CE /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = SOURCE_ROOT; }; CE381C9509914ACE003581CE /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = SOURCE_ROOT; }; CE381C9A09914ADF003581CE /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = ResultWindow.m; sourceTree = SOURCE_ROOT; }; CE381C9B09914ADF003581CE /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ResultWindow.h; sourceTree = SOURCE_ROOT; }; CE381CF509915304003581CE /* dg_cocoa.plugin */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dg_cocoa.plugin; path = py/dist/dg_cocoa.plugin; sourceTree = SOURCE_ROOT; }; - CE3FBDD11094637800B72D77 /* DetailsPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DetailsPanel.xib; sourceTree = ""; }; - CE3FBDD21094637800B72D77 /* DirectoryPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DirectoryPanel.xib; sourceTree = ""; }; - CE49DEF20FDFEB810098617B /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; }; - CE49DEF30FDFEB810098617B /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; }; - CE515DE00FC6C12E00EC695D /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = cocoalib/Dialogs.h; sourceTree = SOURCE_ROOT; }; - CE515DE10FC6C12E00EC695D /* Dialogs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Dialogs.m; path = cocoalib/Dialogs.m; sourceTree = SOURCE_ROOT; }; - CE515DE20FC6C12E00EC695D /* HSErrorReportWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSErrorReportWindow.h; path = cocoalib/HSErrorReportWindow.h; sourceTree = SOURCE_ROOT; }; - CE515DE30FC6C12E00EC695D /* HSErrorReportWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSErrorReportWindow.m; path = cocoalib/HSErrorReportWindow.m; sourceTree = SOURCE_ROOT; }; - CE515DE40FC6C12E00EC695D /* Outline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Outline.h; path = cocoalib/Outline.h; sourceTree = SOURCE_ROOT; }; - CE515DE50FC6C12E00EC695D /* Outline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Outline.m; path = cocoalib/Outline.m; sourceTree = SOURCE_ROOT; }; - CE515DE60FC6C12E00EC695D /* ProgressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressController.h; path = cocoalib/ProgressController.h; sourceTree = SOURCE_ROOT; }; - CE515DE70FC6C12E00EC695D /* ProgressController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProgressController.m; path = cocoalib/ProgressController.m; sourceTree = SOURCE_ROOT; }; - CE515DE80FC6C12E00EC695D /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; }; - CE515DE90FC6C12E00EC695D /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; }; - CE515DEA0FC6C12E00EC695D /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; }; - CE515DEB0FC6C12E00EC695D /* RegistrationInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegistrationInterface.h; path = cocoalib/RegistrationInterface.h; sourceTree = SOURCE_ROOT; }; - CE515DEC0FC6C12E00EC695D /* RegistrationInterface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RegistrationInterface.m; path = cocoalib/RegistrationInterface.m; sourceTree = SOURCE_ROOT; }; - CE515DED0FC6C12E00EC695D /* Table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Table.h; path = cocoalib/Table.h; sourceTree = SOURCE_ROOT; }; - CE515DEE0FC6C12E00EC695D /* Table.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Table.m; path = cocoalib/Table.m; sourceTree = SOURCE_ROOT; }; - CE515DEF0FC6C12E00EC695D /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = cocoalib/Utils.h; sourceTree = SOURCE_ROOT; }; - CE515DF00FC6C12E00EC695D /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = cocoalib/Utils.m; sourceTree = SOURCE_ROOT; }; - CE515DF10FC6C12E00EC695D /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; }; - CE515DF20FC6C12E00EC695D /* ValueTransformers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ValueTransformers.m; path = cocoalib/ValueTransformers.m; sourceTree = SOURCE_ROOT; }; - CE515DFD0FC6C13E00EC695D /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = cocoalib/English.lproj/ErrorReportWindow.xib; sourceTree = ""; }; - CE515DFF0FC6C13E00EC695D /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = cocoalib/English.lproj/progress.nib; sourceTree = ""; }; - CE515E010FC6C13E00EC695D /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = cocoalib/English.lproj/registration.nib; sourceTree = ""; }; - CE515E150FC6C19300EC695D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = dgbase/AppDelegate.h; sourceTree = SOURCE_ROOT; }; - CE515E160FC6C19300EC695D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = dgbase/AppDelegate.m; sourceTree = SOURCE_ROOT; }; - CE515E170FC6C19300EC695D /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Consts.h; path = dgbase/Consts.h; sourceTree = SOURCE_ROOT; }; - CE515E180FC6C19300EC695D /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectoryPanel.h; path = dgbase/DirectoryPanel.h; sourceTree = SOURCE_ROOT; }; - CE515E190FC6C19300EC695D /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectoryPanel.m; path = dgbase/DirectoryPanel.m; sourceTree = SOURCE_ROOT; }; - CE515E1A0FC6C19300EC695D /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDupeGuru.h; path = dgbase/PyDupeGuru.h; sourceTree = SOURCE_ROOT; }; - CE515E1B0FC6C19300EC695D /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultWindow.h; path = dgbase/ResultWindow.h; sourceTree = SOURCE_ROOT; }; - CE515E1C0FC6C19300EC695D /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultWindow.m; path = dgbase/ResultWindow.m; sourceTree = SOURCE_ROOT; }; - CE6032BE0FE6784C007E33FF /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanel.h; path = dgbase/DetailsPanel.h; sourceTree = SOURCE_ROOT; }; - CE6032BF0FE6784C007E33FF /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanel.m; path = dgbase/DetailsPanel.m; sourceTree = SOURCE_ROOT; }; + CE3FBDD11094637800B72D77 /* DetailsPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DetailsPanel.xib; path = ../../base/xib/DetailsPanel.xib; sourceTree = ""; }; + CE3FBDD21094637800B72D77 /* DirectoryPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DirectoryPanel.xib; path = ../../base/xib/DirectoryPanel.xib; sourceTree = ""; }; + CE49DEF20FDFEB810098617B /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; }; + CE49DEF30FDFEB810098617B /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; }; + CE515DE00FC6C12E00EC695D /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = ../../cocoalib/Dialogs.h; sourceTree = SOURCE_ROOT; }; + CE515DE10FC6C12E00EC695D /* Dialogs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Dialogs.m; path = ../../cocoalib/Dialogs.m; sourceTree = SOURCE_ROOT; }; + CE515DE20FC6C12E00EC695D /* HSErrorReportWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSErrorReportWindow.h; path = ../../cocoalib/HSErrorReportWindow.h; sourceTree = SOURCE_ROOT; }; + CE515DE30FC6C12E00EC695D /* HSErrorReportWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSErrorReportWindow.m; path = ../../cocoalib/HSErrorReportWindow.m; sourceTree = SOURCE_ROOT; }; + CE515DE40FC6C12E00EC695D /* Outline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Outline.h; path = ../../cocoalib/Outline.h; sourceTree = SOURCE_ROOT; }; + CE515DE50FC6C12E00EC695D /* Outline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Outline.m; path = ../../cocoalib/Outline.m; sourceTree = SOURCE_ROOT; }; + CE515DE60FC6C12E00EC695D /* ProgressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressController.h; path = ../../cocoalib/ProgressController.h; sourceTree = SOURCE_ROOT; }; + CE515DE70FC6C12E00EC695D /* ProgressController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProgressController.m; path = ../../cocoalib/ProgressController.m; sourceTree = SOURCE_ROOT; }; + CE515DE80FC6C12E00EC695D /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = ../../cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; }; + CE515DE90FC6C12E00EC695D /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = ../../cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; }; + CE515DEA0FC6C12E00EC695D /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = ../../cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; }; + CE515DEB0FC6C12E00EC695D /* RegistrationInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegistrationInterface.h; path = ../../cocoalib/RegistrationInterface.h; sourceTree = SOURCE_ROOT; }; + CE515DEC0FC6C12E00EC695D /* RegistrationInterface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RegistrationInterface.m; path = ../../cocoalib/RegistrationInterface.m; sourceTree = SOURCE_ROOT; }; + CE515DED0FC6C12E00EC695D /* Table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Table.h; path = ../../cocoalib/Table.h; sourceTree = SOURCE_ROOT; }; + CE515DEE0FC6C12E00EC695D /* Table.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Table.m; path = ../../cocoalib/Table.m; sourceTree = SOURCE_ROOT; }; + CE515DEF0FC6C12E00EC695D /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = ../../cocoalib/Utils.h; sourceTree = SOURCE_ROOT; }; + CE515DF00FC6C12E00EC695D /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = ../../cocoalib/Utils.m; sourceTree = SOURCE_ROOT; }; + CE515DF10FC6C12E00EC695D /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = ../../cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; }; + CE515DF20FC6C12E00EC695D /* ValueTransformers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ValueTransformers.m; path = ../../cocoalib/ValueTransformers.m; sourceTree = SOURCE_ROOT; }; + CE515DFD0FC6C13E00EC695D /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = ../../cocoalib/English.lproj/ErrorReportWindow.xib; sourceTree = ""; }; + CE515DFF0FC6C13E00EC695D /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = ../../cocoalib/English.lproj/progress.nib; sourceTree = ""; }; + CE515E010FC6C13E00EC695D /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = ../../cocoalib/English.lproj/registration.nib; sourceTree = ""; }; + CE515E150FC6C19300EC695D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ../base/AppDelegate.h; sourceTree = SOURCE_ROOT; }; + CE515E160FC6C19300EC695D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = ../base/AppDelegate.m; sourceTree = SOURCE_ROOT; }; + CE515E170FC6C19300EC695D /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Consts.h; path = ../base/Consts.h; sourceTree = SOURCE_ROOT; }; + CE515E180FC6C19300EC695D /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectoryPanel.h; path = ../base/DirectoryPanel.h; sourceTree = SOURCE_ROOT; }; + CE515E190FC6C19300EC695D /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectoryPanel.m; path = ../base/DirectoryPanel.m; sourceTree = SOURCE_ROOT; }; + CE515E1A0FC6C19300EC695D /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDupeGuru.h; path = ../base/PyDupeGuru.h; sourceTree = SOURCE_ROOT; }; + CE515E1B0FC6C19300EC695D /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultWindow.h; path = ../base/ResultWindow.h; sourceTree = SOURCE_ROOT; }; + CE515E1C0FC6C19300EC695D /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultWindow.m; path = ../base/ResultWindow.m; sourceTree = SOURCE_ROOT; }; + CE6032BE0FE6784C007E33FF /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanel.h; path = ../base/DetailsPanel.h; sourceTree = SOURCE_ROOT; }; + CE6032BF0FE6784C007E33FF /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanel.m; path = ../base/DetailsPanel.m; sourceTree = SOURCE_ROOT; }; CE68EE6509ABC48000971085 /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DirectoryPanel.h; sourceTree = SOURCE_ROOT; }; CE68EE6609ABC48000971085 /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DirectoryPanel.m; sourceTree = SOURCE_ROOT; }; - CE6E0E9E1054EB97008D9390 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = dsa_pub.pem; path = dgbase/dsa_pub.pem; sourceTree = ""; }; + CE6E0E9E1054EB97008D9390 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = dsa_pub.pem; path = ../base/dsa_pub.pem; sourceTree = ""; }; CE848A1809DD85810004CB44 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Consts.h; sourceTree = ""; }; - CE900AD1109B238600754048 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Preferences.xib; path = ../../xib/Preferences.xib; sourceTree = ""; }; - CE900AD6109B2A9B00754048 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; + CE900AD1109B238600754048 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Preferences.xib; sourceTree = ""; }; + CE900AD6109B2A9B00754048 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = ../../base/xib/MainMenu.xib; sourceTree = ""; }; CECA899A09DB132E00A3D774 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DetailsPanel.h; sourceTree = ""; }; CECA899B09DB132E00A3D774 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DetailsPanel.m; sourceTree = ""; }; CEEB135109C837A2004D2330 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = dupeguru.icns; sourceTree = ""; }; - CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = images/folder32.png; sourceTree = SOURCE_ROOT; }; - CEFC295309C89FF200D9F998 /* details32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = details32.png; path = images/details32.png; sourceTree = SOURCE_ROOT; }; - CEFC295409C89FF200D9F998 /* preferences32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = preferences32.png; path = images/preferences32.png; sourceTree = SOURCE_ROOT; }; + CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = ../../images/folder32.png; sourceTree = SOURCE_ROOT; }; + CEFC295309C89FF200D9F998 /* details32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = details32.png; path = ../../images/details32.png; sourceTree = SOURCE_ROOT; }; + CEFC295409C89FF200D9F998 /* preferences32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = preferences32.png; path = ../../images/preferences32.png; sourceTree = SOURCE_ROOT; }; CEFF18A009A4D387005E6321 /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = PyDupeGuru.h; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ @@ -250,8 +250,7 @@ CE3FBDD21094637800B72D77 /* DirectoryPanel.xib */, CE900AD1109B238600754048 /* Preferences.xib */, ); - name = xib; - path = dgbase/xib; + path = xib; sourceTree = ""; }; CE49DEF10FDFEB810098617B /* brsinglelineformatter */ = { @@ -261,7 +260,7 @@ CE49DEF30FDFEB810098617B /* BRSingleLineFormatter.m */, ); name = brsinglelineformatter; - path = cocoalib/brsinglelineformatter; + path = ../../cocoalib/brsinglelineformatter; sourceTree = SOURCE_ROOT; }; CE515DDD0FC6C09400EC695D /* cocoalib */ = { @@ -445,11 +444,6 @@ C01FCF4C08A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(FRAMEWORK_SEARCH_PATHS)", - "$(SRCROOT)/../../../cocoalib/build/Release", - "\"$(SRCROOT)/../../base/cocoa/build/Release\"", - ); GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_MODEL_TUNING = G5; INFOPLIST_FILE = Info.plist; diff --git a/cocoa/me/gen.py b/cocoa/me/gen.py new file mode 100644 index 00000000..bd69f84e --- /dev/null +++ b/cocoa/me/gen.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python +# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) +# +# This software is licensed under the "HS" License as described in the "LICENSE" file, +# which should be included with this package. The terms are also available at +# http://www.hardcoded.net/licenses/hs_license + +import os.path as op +import os +import shutil +from optparse import OptionParser + +def main(dev): + if not dev: + print "Building help index" + help_path = op.abspath('../../help_me/dupeguru_me_help') + os.system('open /Developer/Applications/Utilities/Help\\ Indexer.app --args {0}'.format(help_path)) + + print "Building dg_cocoa.plugin" + if op.exists('py/build'): + shutil.rmtree('py/build') + if op.exists('py/dist'): + shutil.rmtree('py/dist') + + os.chdir('py') + if dev: + os.system('python -u setup.py py2app -A') + else: + os.system('python -u setup.py py2app') + os.chdir('..') + + print "Building the XCode project" + os.system('xcodebuild') + +if __name__ == '__main__': + usage = "usage: %prog [options]" + parser = OptionParser(usage=usage) + parser.add_option('--dev', action='store_true', dest='dev', default=False, + help="If this flag is set, will configure for dev builds.") + (options, args) = parser.parse_args() + main(options.dev) \ No newline at end of file diff --git a/me/cocoa/main.m b/cocoa/me/main.m similarity index 100% rename from me/cocoa/main.m rename to cocoa/me/main.m diff --git a/me/cocoa/py/dg_cocoa.py b/cocoa/me/py/dg_cocoa.py similarity index 100% rename from me/cocoa/py/dg_cocoa.py rename to cocoa/me/py/dg_cocoa.py diff --git a/me/cocoa/py/setup.py b/cocoa/me/py/setup.py similarity index 63% rename from me/cocoa/py/setup.py rename to cocoa/me/py/setup.py index c589447a..d6bd60b9 100644 --- a/me/cocoa/py/setup.py +++ b/cocoa/me/py/setup.py @@ -4,15 +4,13 @@ # which should be included with this package. The terms are also available at # http://www.hardcoded.net/licenses/hs_license +import os.path as op +import sys +sys.path.insert(0, op.abspath('../../..')) # for all cross-toolkit modules + from distutils.core import setup import py2app -from hsutil.build import move_testdata_out, put_testdata_back - -move_log = move_testdata_out() -try: - setup( - plugin = ['dg_cocoa.py'], - ) -finally: - put_testdata_back(move_log) +setup( + plugin = ['dg_cocoa.py'], +) diff --git a/me/cocoa/xib/Preferences.xib b/cocoa/me/xib/Preferences.xib similarity index 100% rename from me/cocoa/xib/Preferences.xib rename to cocoa/me/xib/Preferences.xib diff --git a/se/cocoa/AppDelegate.h b/cocoa/pe/AppDelegate.h similarity index 94% rename from se/cocoa/AppDelegate.h rename to cocoa/pe/AppDelegate.h index 602b6038..cf95800b 100644 --- a/se/cocoa/AppDelegate.h +++ b/cocoa/pe/AppDelegate.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/AppDelegate.h" +#import "../base/AppDelegate.h" #import "DirectoryPanel.h" #import "PyDupeGuru.h" diff --git a/pe/cocoa/AppDelegate.m b/cocoa/pe/AppDelegate.m similarity index 100% rename from pe/cocoa/AppDelegate.m rename to cocoa/pe/AppDelegate.m diff --git a/pe/cocoa/Consts.h b/cocoa/pe/Consts.h similarity index 93% rename from pe/cocoa/Consts.h rename to cocoa/pe/Consts.h index badc3600..fdeba4d1 100644 --- a/pe/cocoa/Consts.h +++ b/cocoa/pe/Consts.h @@ -6,7 +6,7 @@ which should be included with this package. The terms are also available at http://www.hardcoded.net/licenses/hs_license */ -#import "dgbase/Consts.h" +#import "../base/Consts.h" #define APPNAME @"dupeGuru PE" #define ImageLoadedNotification @"ImageLoadedNotification" diff --git a/pe/cocoa/DetailsPanel.h b/cocoa/pe/DetailsPanel.h similarity index 94% rename from pe/cocoa/DetailsPanel.h rename to cocoa/pe/DetailsPanel.h index 7f43535f..81109c75 100644 --- a/pe/cocoa/DetailsPanel.h +++ b/cocoa/pe/DetailsPanel.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/DetailsPanel.h" +#import "../base/DetailsPanel.h" @interface DetailsPanel : DetailsPanelBase { diff --git a/pe/cocoa/DetailsPanel.m b/cocoa/pe/DetailsPanel.m similarity index 100% rename from pe/cocoa/DetailsPanel.m rename to cocoa/pe/DetailsPanel.m diff --git a/pe/cocoa/DirectoryPanel.h b/cocoa/pe/DirectoryPanel.h similarity index 91% rename from pe/cocoa/DirectoryPanel.h rename to cocoa/pe/DirectoryPanel.h index c57b8140..90a7b7df 100644 --- a/pe/cocoa/DirectoryPanel.h +++ b/cocoa/pe/DirectoryPanel.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/DirectoryPanel.h" +#import "../base/DirectoryPanel.h" @interface DirectoryPanel : DirectoryPanelBase { diff --git a/pe/cocoa/DirectoryPanel.m b/cocoa/pe/DirectoryPanel.m similarity index 100% rename from pe/cocoa/DirectoryPanel.m rename to cocoa/pe/DirectoryPanel.m diff --git a/pe/cocoa/Info.plist b/cocoa/pe/Info.plist similarity index 100% rename from pe/cocoa/Info.plist rename to cocoa/pe/Info.plist diff --git a/pe/cocoa/PictureBlocks.h b/cocoa/pe/PictureBlocks.h similarity index 100% rename from pe/cocoa/PictureBlocks.h rename to cocoa/pe/PictureBlocks.h diff --git a/pe/cocoa/PictureBlocks.m b/cocoa/pe/PictureBlocks.m similarity index 100% rename from pe/cocoa/PictureBlocks.m rename to cocoa/pe/PictureBlocks.m diff --git a/pe/cocoa/PyDupeGuru.h b/cocoa/pe/PyDupeGuru.h similarity index 94% rename from pe/cocoa/PyDupeGuru.h rename to cocoa/pe/PyDupeGuru.h index 89191538..180875d4 100644 --- a/pe/cocoa/PyDupeGuru.h +++ b/cocoa/pe/PyDupeGuru.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/PyDupeGuru.h" +#import "../base/PyDupeGuru.h" @interface PyDupeGuru : PyDupeGuruBase - (void)clearPictureCache; diff --git a/pe/cocoa/ResultWindow.h b/cocoa/pe/ResultWindow.h similarity index 97% rename from pe/cocoa/ResultWindow.h rename to cocoa/pe/ResultWindow.h index 06769641..f93b2cc9 100644 --- a/pe/cocoa/ResultWindow.h +++ b/cocoa/pe/ResultWindow.h @@ -8,7 +8,7 @@ http://www.hardcoded.net/licenses/hs_license #import #import "Outline.h" -#import "dgbase/ResultWindow.h" +#import "../base/ResultWindow.h" @interface ResultWindow : ResultWindowBase { diff --git a/pe/cocoa/ResultWindow.m b/cocoa/pe/ResultWindow.m similarity index 100% rename from pe/cocoa/ResultWindow.m rename to cocoa/pe/ResultWindow.m diff --git a/pe/cocoa/dupeguru.icns b/cocoa/pe/dupeguru.icns similarity index 100% rename from pe/cocoa/dupeguru.icns rename to cocoa/pe/dupeguru.icns diff --git a/pe/cocoa/dupeguru.xcodeproj/project.pbxproj b/cocoa/pe/dupeguru.xcodeproj/project.pbxproj similarity index 86% rename from pe/cocoa/dupeguru.xcodeproj/project.pbxproj rename to cocoa/pe/dupeguru.xcodeproj/project.pbxproj index b3f8cf4a..2c7ea589 100644 --- a/pe/cocoa/dupeguru.xcodeproj/project.pbxproj +++ b/cocoa/pe/dupeguru.xcodeproj/project.pbxproj @@ -74,9 +74,9 @@ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; }; 8D1107320486CEB800E47090 /* dupeGuru PE.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "dupeGuru PE.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - CE031750109B340A00517EE6 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Preferences.xib; path = ../../xib/Preferences.xib; sourceTree = ""; }; - CE031753109B345200517EE6 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; - CE073F5409CAE1A3005C1D2F /* dupeguru_pe_help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dupeguru_pe_help; path = help/dupeguru_pe_help; sourceTree = SOURCE_ROOT; }; + CE031750109B340A00517EE6 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Preferences.xib; sourceTree = ""; }; + CE031753109B345200517EE6 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = ../../base/xib/MainMenu.xib; sourceTree = ""; }; + CE073F5409CAE1A3005C1D2F /* dupeguru_pe_help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dupeguru_pe_help; path = ../../help_pe/dupeguru_pe_help; sourceTree = SOURCE_ROOT; }; CE0C46A80FA0647E000BE99B /* PictureBlocks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PictureBlocks.h; sourceTree = ""; }; CE0C46A90FA0647E000BE99B /* PictureBlocks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PictureBlocks.m; sourceTree = ""; }; CE15C8A70ADEB8B50061D4A5 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = /Library/Frameworks/Sparkle.framework; sourceTree = ""; }; @@ -85,57 +85,57 @@ CE381C9A09914ADF003581CE /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = ResultWindow.m; sourceTree = SOURCE_ROOT; }; CE381C9B09914ADF003581CE /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ResultWindow.h; sourceTree = SOURCE_ROOT; }; CE381CF509915304003581CE /* dg_cocoa.plugin */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dg_cocoa.plugin; path = py/dist/dg_cocoa.plugin; sourceTree = SOURCE_ROOT; }; - CE6044EA0FE6796200B71262 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanel.h; path = dgbase/DetailsPanel.h; sourceTree = SOURCE_ROOT; }; - CE6044EB0FE6796200B71262 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanel.m; path = dgbase/DetailsPanel.m; sourceTree = SOURCE_ROOT; }; + CE6044EA0FE6796200B71262 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanel.h; path = ../base/DetailsPanel.h; sourceTree = SOURCE_ROOT; }; + CE6044EB0FE6796200B71262 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanel.m; path = ../base/DetailsPanel.m; sourceTree = SOURCE_ROOT; }; CE68EE6509ABC48000971085 /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DirectoryPanel.h; sourceTree = SOURCE_ROOT; }; CE68EE6609ABC48000971085 /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DirectoryPanel.m; sourceTree = SOURCE_ROOT; }; - CE6E0F3C1054EC62008D9390 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = dsa_pub.pem; path = dgbase/dsa_pub.pem; sourceTree = ""; }; - CE77C89C10946C6D0078B0DB /* DirectoryPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DirectoryPanel.xib; sourceTree = ""; }; - CE77C8A710946CE20078B0DB /* DetailsPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DetailsPanel.xib; path = ../../xib/DetailsPanel.xib; sourceTree = ""; }; - CE80DB1B0FC192D60086DCA6 /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = cocoalib/Dialogs.h; sourceTree = SOURCE_ROOT; }; - CE80DB1C0FC192D60086DCA6 /* Dialogs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Dialogs.m; path = cocoalib/Dialogs.m; sourceTree = SOURCE_ROOT; }; - CE80DB1D0FC192D60086DCA6 /* HSErrorReportWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSErrorReportWindow.h; path = cocoalib/HSErrorReportWindow.h; sourceTree = SOURCE_ROOT; }; - CE80DB1E0FC192D60086DCA6 /* HSErrorReportWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSErrorReportWindow.m; path = cocoalib/HSErrorReportWindow.m; sourceTree = SOURCE_ROOT; }; - CE80DB1F0FC192D60086DCA6 /* Outline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Outline.h; path = cocoalib/Outline.h; sourceTree = SOURCE_ROOT; }; - CE80DB200FC192D60086DCA6 /* Outline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Outline.m; path = cocoalib/Outline.m; sourceTree = SOURCE_ROOT; }; - CE80DB210FC192D60086DCA6 /* ProgressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressController.h; path = cocoalib/ProgressController.h; sourceTree = SOURCE_ROOT; }; - CE80DB220FC192D60086DCA6 /* ProgressController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProgressController.m; path = cocoalib/ProgressController.m; sourceTree = SOURCE_ROOT; }; - CE80DB230FC192D60086DCA6 /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; }; - CE80DB240FC192D60086DCA6 /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; }; - CE80DB250FC192D60086DCA6 /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; }; - CE80DB260FC192D60086DCA6 /* RegistrationInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegistrationInterface.h; path = cocoalib/RegistrationInterface.h; sourceTree = SOURCE_ROOT; }; - CE80DB270FC192D60086DCA6 /* RegistrationInterface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RegistrationInterface.m; path = cocoalib/RegistrationInterface.m; sourceTree = SOURCE_ROOT; }; - CE80DB280FC192D60086DCA6 /* Table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Table.h; path = cocoalib/Table.h; sourceTree = SOURCE_ROOT; }; - CE80DB290FC192D60086DCA6 /* Table.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Table.m; path = cocoalib/Table.m; sourceTree = SOURCE_ROOT; }; - CE80DB2A0FC192D60086DCA6 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = cocoalib/Utils.h; sourceTree = SOURCE_ROOT; }; - CE80DB2B0FC192D60086DCA6 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = cocoalib/Utils.m; sourceTree = SOURCE_ROOT; }; - CE80DB2C0FC192D60086DCA6 /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; }; - CE80DB2D0FC192D60086DCA6 /* ValueTransformers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ValueTransformers.m; path = cocoalib/ValueTransformers.m; sourceTree = SOURCE_ROOT; }; - CE80DB450FC193650086DCA6 /* NSNotificationAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NSNotificationAdditions.h; path = cocoalib/NSNotificationAdditions.h; sourceTree = SOURCE_ROOT; }; - CE80DB460FC193650086DCA6 /* NSNotificationAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NSNotificationAdditions.m; path = cocoalib/NSNotificationAdditions.m; sourceTree = SOURCE_ROOT; }; - CE80DB480FC193770086DCA6 /* NSImageAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NSImageAdditions.h; path = cocoalib/NSImageAdditions.h; sourceTree = SOURCE_ROOT; }; - CE80DB490FC193770086DCA6 /* NSImageAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NSImageAdditions.m; path = cocoalib/NSImageAdditions.m; sourceTree = SOURCE_ROOT; }; - CE80DB710FC194760086DCA6 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = cocoalib/English.lproj/ErrorReportWindow.xib; sourceTree = SOURCE_ROOT; }; - CE80DB730FC194760086DCA6 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = cocoalib/English.lproj/progress.nib; sourceTree = SOURCE_ROOT; }; - CE80DB750FC194760086DCA6 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = cocoalib/English.lproj/registration.nib; sourceTree = SOURCE_ROOT; }; - CE80DB820FC1951C0086DCA6 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = dgbase/AppDelegate.h; sourceTree = SOURCE_ROOT; }; - CE80DB830FC1951C0086DCA6 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = dgbase/AppDelegate.m; sourceTree = SOURCE_ROOT; }; - CE80DB840FC1951C0086DCA6 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Consts.h; path = dgbase/Consts.h; sourceTree = SOURCE_ROOT; }; - CE80DB850FC1951C0086DCA6 /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectoryPanel.h; path = dgbase/DirectoryPanel.h; sourceTree = SOURCE_ROOT; }; - CE80DB860FC1951C0086DCA6 /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectoryPanel.m; path = dgbase/DirectoryPanel.m; sourceTree = SOURCE_ROOT; }; - CE80DB870FC1951C0086DCA6 /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDupeGuru.h; path = dgbase/PyDupeGuru.h; sourceTree = SOURCE_ROOT; }; - CE80DB880FC1951C0086DCA6 /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultWindow.h; path = dgbase/ResultWindow.h; sourceTree = SOURCE_ROOT; }; - CE80DB890FC1951C0086DCA6 /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultWindow.m; path = dgbase/ResultWindow.m; sourceTree = SOURCE_ROOT; }; + CE6E0F3C1054EC62008D9390 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = dsa_pub.pem; path = ../base/dsa_pub.pem; sourceTree = ""; }; + CE77C89C10946C6D0078B0DB /* DirectoryPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DirectoryPanel.xib; path = ../../base/xib/DirectoryPanel.xib; sourceTree = ""; }; + CE77C8A710946CE20078B0DB /* DetailsPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DetailsPanel.xib; sourceTree = ""; }; + CE80DB1B0FC192D60086DCA6 /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = ../../cocoalib/Dialogs.h; sourceTree = SOURCE_ROOT; }; + CE80DB1C0FC192D60086DCA6 /* Dialogs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Dialogs.m; path = ../../cocoalib/Dialogs.m; sourceTree = SOURCE_ROOT; }; + CE80DB1D0FC192D60086DCA6 /* HSErrorReportWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSErrorReportWindow.h; path = ../../cocoalib/HSErrorReportWindow.h; sourceTree = SOURCE_ROOT; }; + CE80DB1E0FC192D60086DCA6 /* HSErrorReportWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSErrorReportWindow.m; path = ../../cocoalib/HSErrorReportWindow.m; sourceTree = SOURCE_ROOT; }; + CE80DB1F0FC192D60086DCA6 /* Outline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Outline.h; path = ../../cocoalib/Outline.h; sourceTree = SOURCE_ROOT; }; + CE80DB200FC192D60086DCA6 /* Outline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Outline.m; path = ../../cocoalib/Outline.m; sourceTree = SOURCE_ROOT; }; + CE80DB210FC192D60086DCA6 /* ProgressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressController.h; path = ../../cocoalib/ProgressController.h; sourceTree = SOURCE_ROOT; }; + CE80DB220FC192D60086DCA6 /* ProgressController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProgressController.m; path = ../../cocoalib/ProgressController.m; sourceTree = SOURCE_ROOT; }; + CE80DB230FC192D60086DCA6 /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = ../../cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; }; + CE80DB240FC192D60086DCA6 /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = ../../cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; }; + CE80DB250FC192D60086DCA6 /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = ../../cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; }; + CE80DB260FC192D60086DCA6 /* RegistrationInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegistrationInterface.h; path = ../../cocoalib/RegistrationInterface.h; sourceTree = SOURCE_ROOT; }; + CE80DB270FC192D60086DCA6 /* RegistrationInterface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RegistrationInterface.m; path = ../../cocoalib/RegistrationInterface.m; sourceTree = SOURCE_ROOT; }; + CE80DB280FC192D60086DCA6 /* Table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Table.h; path = ../../cocoalib/Table.h; sourceTree = SOURCE_ROOT; }; + CE80DB290FC192D60086DCA6 /* Table.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Table.m; path = ../../cocoalib/Table.m; sourceTree = SOURCE_ROOT; }; + CE80DB2A0FC192D60086DCA6 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = ../../cocoalib/Utils.h; sourceTree = SOURCE_ROOT; }; + CE80DB2B0FC192D60086DCA6 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = ../../cocoalib/Utils.m; sourceTree = SOURCE_ROOT; }; + CE80DB2C0FC192D60086DCA6 /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = ../../cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; }; + CE80DB2D0FC192D60086DCA6 /* ValueTransformers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ValueTransformers.m; path = ../../cocoalib/ValueTransformers.m; sourceTree = SOURCE_ROOT; }; + CE80DB450FC193650086DCA6 /* NSNotificationAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NSNotificationAdditions.h; path = ../../cocoalib/NSNotificationAdditions.h; sourceTree = SOURCE_ROOT; }; + CE80DB460FC193650086DCA6 /* NSNotificationAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NSNotificationAdditions.m; path = ../../cocoalib/NSNotificationAdditions.m; sourceTree = SOURCE_ROOT; }; + CE80DB480FC193770086DCA6 /* NSImageAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NSImageAdditions.h; path = ../../cocoalib/NSImageAdditions.h; sourceTree = SOURCE_ROOT; }; + CE80DB490FC193770086DCA6 /* NSImageAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NSImageAdditions.m; path = ../../cocoalib/NSImageAdditions.m; sourceTree = SOURCE_ROOT; }; + CE80DB710FC194760086DCA6 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = ../../cocoalib/English.lproj/ErrorReportWindow.xib; sourceTree = SOURCE_ROOT; }; + CE80DB730FC194760086DCA6 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = ../../cocoalib/English.lproj/progress.nib; sourceTree = SOURCE_ROOT; }; + CE80DB750FC194760086DCA6 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = ../../cocoalib/English.lproj/registration.nib; sourceTree = SOURCE_ROOT; }; + CE80DB820FC1951C0086DCA6 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ../base/AppDelegate.h; sourceTree = SOURCE_ROOT; }; + CE80DB830FC1951C0086DCA6 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = ../base/AppDelegate.m; sourceTree = SOURCE_ROOT; }; + CE80DB840FC1951C0086DCA6 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Consts.h; path = ../base/Consts.h; sourceTree = SOURCE_ROOT; }; + CE80DB850FC1951C0086DCA6 /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectoryPanel.h; path = ../base/DirectoryPanel.h; sourceTree = SOURCE_ROOT; }; + CE80DB860FC1951C0086DCA6 /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectoryPanel.m; path = ../base/DirectoryPanel.m; sourceTree = SOURCE_ROOT; }; + CE80DB870FC1951C0086DCA6 /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDupeGuru.h; path = ../base/PyDupeGuru.h; sourceTree = SOURCE_ROOT; }; + CE80DB880FC1951C0086DCA6 /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultWindow.h; path = ../base/ResultWindow.h; sourceTree = SOURCE_ROOT; }; + CE80DB890FC1951C0086DCA6 /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultWindow.m; path = ../base/ResultWindow.m; sourceTree = SOURCE_ROOT; }; CE848A1809DD85810004CB44 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Consts.h; sourceTree = ""; }; - CEBAE4230FDA97E000B7887D /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; }; - CEBAE4240FDA97E000B7887D /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; }; + CEBAE4230FDA97E000B7887D /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; }; + CEBAE4240FDA97E000B7887D /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; }; CECA899A09DB132E00A3D774 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DetailsPanel.h; sourceTree = ""; }; CECA899B09DB132E00A3D774 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DetailsPanel.m; sourceTree = ""; }; CEEB135109C837A2004D2330 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = dupeguru.icns; sourceTree = ""; }; - CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = images/folder32.png; sourceTree = SOURCE_ROOT; }; - CEFC295309C89FF200D9F998 /* details32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = details32.png; path = images/details32.png; sourceTree = SOURCE_ROOT; }; - CEFC295409C89FF200D9F998 /* preferences32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = preferences32.png; path = images/preferences32.png; sourceTree = SOURCE_ROOT; }; - CEFCDE2C0AB0418600C33A93 /* dgpe_logo_32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = dgpe_logo_32.png; path = images/dgpe_logo_32.png; sourceTree = SOURCE_ROOT; }; + CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = ../../images/folder32.png; sourceTree = SOURCE_ROOT; }; + CEFC295309C89FF200D9F998 /* details32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = details32.png; path = ../../images/details32.png; sourceTree = SOURCE_ROOT; }; + CEFC295409C89FF200D9F998 /* preferences32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = preferences32.png; path = ../../images/preferences32.png; sourceTree = SOURCE_ROOT; }; + CEFCDE2C0AB0418600C33A93 /* dgpe_logo_32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = dgpe_logo_32.png; path = ../../images/dgpe_logo_32.png; sourceTree = SOURCE_ROOT; }; CEFF18A009A4D387005E6321 /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = PyDupeGuru.h; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ @@ -251,8 +251,7 @@ CE77C89C10946C6D0078B0DB /* DirectoryPanel.xib */, CE031750109B340A00517EE6 /* Preferences.xib */, ); - name = xib; - path = dgbase/xib; + path = xib; sourceTree = ""; }; CE80DB1A0FC192AB0086DCA6 /* cocoalib */ = { @@ -313,7 +312,7 @@ CEBAE4240FDA97E000B7887D /* BRSingleLineFormatter.m */, ); name = brsinglelineformatter; - path = cocoalib/brsinglelineformatter; + path = ../../cocoalib/brsinglelineformatter; sourceTree = SOURCE_ROOT; }; CEFC294309C89E0000D9F998 /* images */ = { diff --git a/cocoa/pe/gen.py b/cocoa/pe/gen.py new file mode 100644 index 00000000..4176197d --- /dev/null +++ b/cocoa/pe/gen.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python +# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) +# +# This software is licensed under the "HS" License as described in the "LICENSE" file, +# which should be included with this package. The terms are also available at +# http://www.hardcoded.net/licenses/hs_license + +import os.path as op +import os +import shutil +from optparse import OptionParser + +def main(dev): + if not dev: + print "Building help index" + help_path = op.abspath('../../help_pe/dupeguru_pe_help') + os.system('open /Developer/Applications/Utilities/Help\\ Indexer.app --args {0}'.format(help_path)) + + print "Building dg_cocoa.plugin" + if op.exists('py/build'): + shutil.rmtree('py/build') + if op.exists('py/dist'): + shutil.rmtree('py/dist') + + os.chdir('py') + if dev: + os.system('python -u setup.py py2app -A') + else: + os.system('python -u setup.py py2app') + os.chdir('..') + + print "Building the XCode project" + os.system('xcodebuild') + +if __name__ == '__main__': + usage = "usage: %prog [options]" + parser = OptionParser(usage=usage) + parser.add_option('--dev', action='store_true', dest='dev', default=False, + help="If this flag is set, will configure for dev builds.") + (options, args) = parser.parse_args() + main(options.dev) \ No newline at end of file diff --git a/pe/cocoa/main.m b/cocoa/pe/main.m similarity index 100% rename from pe/cocoa/main.m rename to cocoa/pe/main.m diff --git a/pe/cocoa/py/dg_cocoa.py b/cocoa/pe/py/dg_cocoa.py similarity index 100% rename from pe/cocoa/py/dg_cocoa.py rename to cocoa/pe/py/dg_cocoa.py diff --git a/pe/cocoa/py/setup.py b/cocoa/pe/py/setup.py similarity index 63% rename from pe/cocoa/py/setup.py rename to cocoa/pe/py/setup.py index c589447a..06434ffb 100644 --- a/pe/cocoa/py/setup.py +++ b/cocoa/pe/py/setup.py @@ -7,12 +7,6 @@ from distutils.core import setup import py2app -from hsutil.build import move_testdata_out, put_testdata_back - -move_log = move_testdata_out() -try: - setup( - plugin = ['dg_cocoa.py'], - ) -finally: - put_testdata_back(move_log) +setup( + plugin = ['dg_cocoa.py'], +) \ No newline at end of file diff --git a/pe/cocoa/xib/DetailsPanel.xib b/cocoa/pe/xib/DetailsPanel.xib similarity index 100% rename from pe/cocoa/xib/DetailsPanel.xib rename to cocoa/pe/xib/DetailsPanel.xib diff --git a/pe/cocoa/xib/Preferences.xib b/cocoa/pe/xib/Preferences.xib similarity index 100% rename from pe/cocoa/xib/Preferences.xib rename to cocoa/pe/xib/Preferences.xib diff --git a/pe/cocoa/AppDelegate.h b/cocoa/se/AppDelegate.h similarity index 94% rename from pe/cocoa/AppDelegate.h rename to cocoa/se/AppDelegate.h index 602b6038..cf95800b 100644 --- a/pe/cocoa/AppDelegate.h +++ b/cocoa/se/AppDelegate.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/AppDelegate.h" +#import "../base/AppDelegate.h" #import "DirectoryPanel.h" #import "PyDupeGuru.h" diff --git a/se/cocoa/AppDelegate.m b/cocoa/se/AppDelegate.m similarity index 95% rename from se/cocoa/AppDelegate.m rename to cocoa/se/AppDelegate.m index d3ecb58e..7ddcdd89 100644 --- a/se/cocoa/AppDelegate.m +++ b/cocoa/se/AppDelegate.m @@ -7,10 +7,10 @@ http://www.hardcoded.net/licenses/hs_license */ #import "AppDelegate.h" -#import "cocoalib/ProgressController.h" -#import "cocoalib/RegistrationInterface.h" -#import "cocoalib/Utils.h" -#import "cocoalib/ValueTransformers.h" +#import "../../cocoalib/ProgressController.h" +#import "../../cocoalib/RegistrationInterface.h" +#import "../../cocoalib/Utils.h" +#import "../../cocoalib/ValueTransformers.h" #import "DetailsPanel.h" #import "Consts.h" diff --git a/se/cocoa/Consts.h b/cocoa/se/Consts.h similarity index 83% rename from se/cocoa/Consts.h rename to cocoa/se/Consts.h index aaff95ae..b5048810 100644 --- a/se/cocoa/Consts.h +++ b/cocoa/se/Consts.h @@ -6,6 +6,6 @@ which should be included with this package. The terms are also available at http://www.hardcoded.net/licenses/hs_license */ -#import "dgbase/Consts.h" +#import "../base/Consts.h" #define APPNAME @"dupeGuru" \ No newline at end of file diff --git a/se/cocoa/DetailsPanel.h b/cocoa/se/DetailsPanel.h similarity index 90% rename from se/cocoa/DetailsPanel.h rename to cocoa/se/DetailsPanel.h index 9fad6e39..f7c26c86 100644 --- a/se/cocoa/DetailsPanel.h +++ b/cocoa/se/DetailsPanel.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/DetailsPanel.h" +#import "../base/DetailsPanel.h" @interface DetailsPanel : DetailsPanelBase @end \ No newline at end of file diff --git a/se/cocoa/DetailsPanel.m b/cocoa/se/DetailsPanel.m similarity index 100% rename from se/cocoa/DetailsPanel.m rename to cocoa/se/DetailsPanel.m diff --git a/se/cocoa/DirectoryPanel.h b/cocoa/se/DirectoryPanel.h similarity index 91% rename from se/cocoa/DirectoryPanel.h rename to cocoa/se/DirectoryPanel.h index dafdec92..f9f44d38 100644 --- a/se/cocoa/DirectoryPanel.h +++ b/cocoa/se/DirectoryPanel.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/DirectoryPanel.h" +#import "../base/DirectoryPanel.h" @interface DirectoryPanel : DirectoryPanelBase { diff --git a/se/cocoa/DirectoryPanel.m b/cocoa/se/DirectoryPanel.m similarity index 100% rename from se/cocoa/DirectoryPanel.m rename to cocoa/se/DirectoryPanel.m diff --git a/se/cocoa/Info.plist b/cocoa/se/Info.plist similarity index 100% rename from se/cocoa/Info.plist rename to cocoa/se/Info.plist diff --git a/se/cocoa/PyDupeGuru.h b/cocoa/se/PyDupeGuru.h similarity index 94% rename from se/cocoa/PyDupeGuru.h rename to cocoa/se/PyDupeGuru.h index d5cc454c..ac911aae 100644 --- a/se/cocoa/PyDupeGuru.h +++ b/cocoa/se/PyDupeGuru.h @@ -7,7 +7,7 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "dgbase/PyDupeGuru.h" +#import "../base/PyDupeGuru.h" @interface PyDupeGuru : PyDupeGuruBase //Scanning options diff --git a/se/cocoa/ResultWindow.h b/cocoa/se/ResultWindow.h similarity index 94% rename from se/cocoa/ResultWindow.h rename to cocoa/se/ResultWindow.h index 86ec8305..7e6e7dfb 100644 --- a/se/cocoa/ResultWindow.h +++ b/cocoa/se/ResultWindow.h @@ -7,8 +7,8 @@ http://www.hardcoded.net/licenses/hs_license */ #import -#import "cocoalib/Outline.h" -#import "dgbase/ResultWindow.h" +#import "../../cocoalib/Outline.h" +#import "../base/ResultWindow.h" #import "DirectoryPanel.h" @interface ResultWindow : ResultWindowBase diff --git a/se/cocoa/ResultWindow.m b/cocoa/se/ResultWindow.m similarity index 98% rename from se/cocoa/ResultWindow.m rename to cocoa/se/ResultWindow.m index 942f4291..41e2779d 100644 --- a/se/cocoa/ResultWindow.m +++ b/cocoa/se/ResultWindow.m @@ -7,9 +7,9 @@ http://www.hardcoded.net/licenses/hs_license */ #import "ResultWindow.h" -#import "cocoalib/Dialogs.h" -#import "cocoalib/ProgressController.h" -#import "cocoalib/Utils.h" +#import "../../cocoalib/Dialogs.h" +#import "../../cocoalib/ProgressController.h" +#import "../../cocoalib/Utils.h" #import "AppDelegate.h" #import "Consts.h" diff --git a/se/cocoa/dupeguru.icns b/cocoa/se/dupeguru.icns similarity index 100% rename from se/cocoa/dupeguru.icns rename to cocoa/se/dupeguru.icns diff --git a/se/cocoa/dupeguru.xcodeproj/project.pbxproj b/cocoa/se/dupeguru.xcodeproj/project.pbxproj similarity index 87% rename from se/cocoa/dupeguru.xcodeproj/project.pbxproj rename to cocoa/se/dupeguru.xcodeproj/project.pbxproj index de0d842d..63b20181 100644 --- a/se/cocoa/dupeguru.xcodeproj/project.pbxproj +++ b/cocoa/se/dupeguru.xcodeproj/project.pbxproj @@ -70,62 +70,62 @@ 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; }; 8D1107320486CEB800E47090 /* dupeGuru.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = dupeGuru.app; sourceTree = BUILT_PRODUCTS_DIR; }; - CE073F5409CAE1A3005C1D2F /* dupeguru_help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dupeguru_help; path = help/dupeguru_help; sourceTree = ""; }; + CE073F5409CAE1A3005C1D2F /* dupeguru_help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dupeguru_help; path = ../../help_se/dupeguru_help; sourceTree = ""; }; CE381C9409914ACE003581CE /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = SOURCE_ROOT; }; CE381C9509914ACE003581CE /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = SOURCE_ROOT; }; CE381C9A09914ADF003581CE /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = ResultWindow.m; sourceTree = SOURCE_ROOT; }; CE381C9B09914ADF003581CE /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ResultWindow.h; sourceTree = SOURCE_ROOT; }; CE381CF509915304003581CE /* dg_cocoa.plugin */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dg_cocoa.plugin; path = py/dist/dg_cocoa.plugin; sourceTree = SOURCE_ROOT; }; - CE3A46F9109B212E002ABFD5 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = dgbase/xib/MainMenu.xib; sourceTree = ""; }; + CE3A46F9109B212E002ABFD5 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = ../base/xib/MainMenu.xib; sourceTree = ""; }; CE45579A0AE3BC2B005A9546 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = /Library/Frameworks/Sparkle.framework; sourceTree = ""; }; CE68EE6509ABC48000971085 /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DirectoryPanel.h; sourceTree = SOURCE_ROOT; }; CE68EE6609ABC48000971085 /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DirectoryPanel.m; sourceTree = SOURCE_ROOT; }; - CE6E0DFD1054E9EF008D9390 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = dsa_pub.pem; path = dgbase/dsa_pub.pem; sourceTree = ""; }; + CE6E0DFD1054E9EF008D9390 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = dsa_pub.pem; path = ../base/dsa_pub.pem; sourceTree = ""; }; CE848A1809DD85810004CB44 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Consts.h; sourceTree = ""; }; CEAC6810109B0B7E00B43C85 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Preferences.xib; path = xib/Preferences.xib; sourceTree = ""; }; CECA899A09DB132E00A3D774 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DetailsPanel.h; sourceTree = ""; }; CECA899B09DB132E00A3D774 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DetailsPanel.m; sourceTree = ""; }; - CEDD92D60FDD01640031C7B7 /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; }; - CEDD92D70FDD01640031C7B7 /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; }; - CEE7EA110FE675C80004E467 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanel.h; path = dgbase/DetailsPanel.h; sourceTree = SOURCE_ROOT; }; - CEE7EA120FE675C80004E467 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanel.m; path = dgbase/DetailsPanel.m; sourceTree = SOURCE_ROOT; }; + CEDD92D60FDD01640031C7B7 /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; }; + CEDD92D70FDD01640031C7B7 /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; }; + CEE7EA110FE675C80004E467 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanel.h; path = ../base/DetailsPanel.h; sourceTree = SOURCE_ROOT; }; + CEE7EA120FE675C80004E467 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanel.m; path = ../base/DetailsPanel.m; sourceTree = SOURCE_ROOT; }; CEEB135109C837A2004D2330 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = dupeguru.icns; sourceTree = ""; }; - CEEFC0F710945D9F001F3A39 /* DirectoryPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DirectoryPanel.xib; path = dgbase/xib/DirectoryPanel.xib; sourceTree = ""; }; - CEEFC0FA10945E37001F3A39 /* DetailsPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DetailsPanel.xib; path = dgbase/xib/DetailsPanel.xib; sourceTree = ""; }; - CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = images/folder32.png; sourceTree = SOURCE_ROOT; }; - CEFC295309C89FF200D9F998 /* details32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = details32.png; path = images/details32.png; sourceTree = SOURCE_ROOT; }; - CEFC295409C89FF200D9F998 /* preferences32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = preferences32.png; path = images/preferences32.png; sourceTree = SOURCE_ROOT; }; - CEFC7F8A0FC9517500CD5728 /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = cocoalib/Dialogs.h; sourceTree = SOURCE_ROOT; }; - CEFC7F8B0FC9517500CD5728 /* Dialogs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Dialogs.m; path = cocoalib/Dialogs.m; sourceTree = SOURCE_ROOT; }; - CEFC7F8C0FC9517500CD5728 /* HSErrorReportWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSErrorReportWindow.h; path = cocoalib/HSErrorReportWindow.h; sourceTree = SOURCE_ROOT; }; - CEFC7F8D0FC9517500CD5728 /* HSErrorReportWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSErrorReportWindow.m; path = cocoalib/HSErrorReportWindow.m; sourceTree = SOURCE_ROOT; }; - CEFC7F8E0FC9517500CD5728 /* Outline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Outline.h; path = cocoalib/Outline.h; sourceTree = SOURCE_ROOT; }; - CEFC7F8F0FC9517500CD5728 /* Outline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Outline.m; path = cocoalib/Outline.m; sourceTree = SOURCE_ROOT; }; - CEFC7F900FC9517500CD5728 /* ProgressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressController.h; path = cocoalib/ProgressController.h; sourceTree = SOURCE_ROOT; }; - CEFC7F910FC9517500CD5728 /* ProgressController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProgressController.m; path = cocoalib/ProgressController.m; sourceTree = SOURCE_ROOT; }; - CEFC7F920FC9517500CD5728 /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; }; - CEFC7F930FC9517500CD5728 /* PyRegistrable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyRegistrable.h; path = cocoalib/PyRegistrable.h; sourceTree = SOURCE_ROOT; }; - CEFC7F940FC9517500CD5728 /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; }; - CEFC7F950FC9517500CD5728 /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; }; - CEFC7F960FC9517500CD5728 /* RegistrationInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegistrationInterface.h; path = cocoalib/RegistrationInterface.h; sourceTree = SOURCE_ROOT; }; - CEFC7F970FC9517500CD5728 /* RegistrationInterface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RegistrationInterface.m; path = cocoalib/RegistrationInterface.m; sourceTree = SOURCE_ROOT; }; - CEFC7F980FC9517500CD5728 /* Table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Table.h; path = cocoalib/Table.h; sourceTree = SOURCE_ROOT; }; - CEFC7F990FC9517500CD5728 /* Table.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Table.m; path = cocoalib/Table.m; sourceTree = SOURCE_ROOT; }; - CEFC7F9A0FC9517500CD5728 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = cocoalib/Utils.h; sourceTree = SOURCE_ROOT; }; - CEFC7F9B0FC9517500CD5728 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = cocoalib/Utils.m; sourceTree = SOURCE_ROOT; }; - CEFC7F9C0FC9517500CD5728 /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; }; - CEFC7F9D0FC9517500CD5728 /* ValueTransformers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ValueTransformers.m; path = cocoalib/ValueTransformers.m; sourceTree = SOURCE_ROOT; }; - CEFC7FA80FC9518A00CD5728 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = cocoalib/English.lproj/ErrorReportWindow.xib; sourceTree = ""; }; - CEFC7FAA0FC9518A00CD5728 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = cocoalib/English.lproj/progress.nib; sourceTree = ""; }; - CEFC7FAC0FC9518A00CD5728 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = cocoalib/English.lproj/registration.nib; sourceTree = ""; }; - CEFC7FB10FC951A700CD5728 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = dgbase/AppDelegate.h; sourceTree = SOURCE_ROOT; }; - CEFC7FB20FC951A700CD5728 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = dgbase/AppDelegate.m; sourceTree = SOURCE_ROOT; }; - CEFC7FB30FC951A700CD5728 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Consts.h; path = dgbase/Consts.h; sourceTree = SOURCE_ROOT; }; - CEFC7FB40FC951A700CD5728 /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectoryPanel.h; path = dgbase/DirectoryPanel.h; sourceTree = SOURCE_ROOT; }; - CEFC7FB50FC951A700CD5728 /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectoryPanel.m; path = dgbase/DirectoryPanel.m; sourceTree = SOURCE_ROOT; }; - CEFC7FB60FC951A700CD5728 /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDupeGuru.h; path = dgbase/PyDupeGuru.h; sourceTree = SOURCE_ROOT; }; - CEFC7FB70FC951A700CD5728 /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultWindow.h; path = dgbase/ResultWindow.h; sourceTree = SOURCE_ROOT; }; - CEFC7FB80FC951A700CD5728 /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultWindow.m; path = dgbase/ResultWindow.m; sourceTree = SOURCE_ROOT; }; + CEEFC0F710945D9F001F3A39 /* DirectoryPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DirectoryPanel.xib; path = ../base/xib/DirectoryPanel.xib; sourceTree = ""; }; + CEEFC0FA10945E37001F3A39 /* DetailsPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DetailsPanel.xib; path = ../base/xib/DetailsPanel.xib; sourceTree = ""; }; + CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = ../../images/folder32.png; sourceTree = SOURCE_ROOT; }; + CEFC295309C89FF200D9F998 /* details32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = details32.png; path = ../../images/details32.png; sourceTree = SOURCE_ROOT; }; + CEFC295409C89FF200D9F998 /* preferences32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = preferences32.png; path = ../../images/preferences32.png; sourceTree = SOURCE_ROOT; }; + CEFC7F8A0FC9517500CD5728 /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = ../../cocoalib/Dialogs.h; sourceTree = SOURCE_ROOT; }; + CEFC7F8B0FC9517500CD5728 /* Dialogs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Dialogs.m; path = ../../cocoalib/Dialogs.m; sourceTree = SOURCE_ROOT; }; + CEFC7F8C0FC9517500CD5728 /* HSErrorReportWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSErrorReportWindow.h; path = ../../cocoalib/HSErrorReportWindow.h; sourceTree = SOURCE_ROOT; }; + CEFC7F8D0FC9517500CD5728 /* HSErrorReportWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSErrorReportWindow.m; path = ../../cocoalib/HSErrorReportWindow.m; sourceTree = SOURCE_ROOT; }; + CEFC7F8E0FC9517500CD5728 /* Outline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Outline.h; path = ../../cocoalib/Outline.h; sourceTree = SOURCE_ROOT; }; + CEFC7F8F0FC9517500CD5728 /* Outline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Outline.m; path = ../../cocoalib/Outline.m; sourceTree = SOURCE_ROOT; }; + CEFC7F900FC9517500CD5728 /* ProgressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressController.h; path = ../../cocoalib/ProgressController.h; sourceTree = SOURCE_ROOT; }; + CEFC7F910FC9517500CD5728 /* ProgressController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProgressController.m; path = ../../cocoalib/ProgressController.m; sourceTree = SOURCE_ROOT; }; + CEFC7F920FC9517500CD5728 /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = ../../cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; }; + CEFC7F930FC9517500CD5728 /* PyRegistrable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyRegistrable.h; path = ../../cocoalib/PyRegistrable.h; sourceTree = SOURCE_ROOT; }; + CEFC7F940FC9517500CD5728 /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = ../../cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; }; + CEFC7F950FC9517500CD5728 /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = ../../cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; }; + CEFC7F960FC9517500CD5728 /* RegistrationInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegistrationInterface.h; path = ../../cocoalib/RegistrationInterface.h; sourceTree = SOURCE_ROOT; }; + CEFC7F970FC9517500CD5728 /* RegistrationInterface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RegistrationInterface.m; path = ../../cocoalib/RegistrationInterface.m; sourceTree = SOURCE_ROOT; }; + CEFC7F980FC9517500CD5728 /* Table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Table.h; path = ../../cocoalib/Table.h; sourceTree = SOURCE_ROOT; }; + CEFC7F990FC9517500CD5728 /* Table.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Table.m; path = ../../cocoalib/Table.m; sourceTree = SOURCE_ROOT; }; + CEFC7F9A0FC9517500CD5728 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = ../../cocoalib/Utils.h; sourceTree = SOURCE_ROOT; }; + CEFC7F9B0FC9517500CD5728 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = ../../cocoalib/Utils.m; sourceTree = SOURCE_ROOT; }; + CEFC7F9C0FC9517500CD5728 /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = ../../cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; }; + CEFC7F9D0FC9517500CD5728 /* ValueTransformers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ValueTransformers.m; path = ../../cocoalib/ValueTransformers.m; sourceTree = SOURCE_ROOT; }; + CEFC7FA80FC9518A00CD5728 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = ../../cocoalib/English.lproj/ErrorReportWindow.xib; sourceTree = ""; }; + CEFC7FAA0FC9518A00CD5728 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = ../../cocoalib/English.lproj/progress.nib; sourceTree = ""; }; + CEFC7FAC0FC9518A00CD5728 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = ../../cocoalib/English.lproj/registration.nib; sourceTree = ""; }; + CEFC7FB10FC951A700CD5728 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ../base/AppDelegate.h; sourceTree = SOURCE_ROOT; }; + CEFC7FB20FC951A700CD5728 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = ../base/AppDelegate.m; sourceTree = SOURCE_ROOT; }; + CEFC7FB30FC951A700CD5728 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Consts.h; path = ../base/Consts.h; sourceTree = SOURCE_ROOT; }; + CEFC7FB40FC951A700CD5728 /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectoryPanel.h; path = ../base/DirectoryPanel.h; sourceTree = SOURCE_ROOT; }; + CEFC7FB50FC951A700CD5728 /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectoryPanel.m; path = ../base/DirectoryPanel.m; sourceTree = SOURCE_ROOT; }; + CEFC7FB60FC951A700CD5728 /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDupeGuru.h; path = ../base/PyDupeGuru.h; sourceTree = SOURCE_ROOT; }; + CEFC7FB70FC951A700CD5728 /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultWindow.h; path = ../base/ResultWindow.h; sourceTree = SOURCE_ROOT; }; + CEFC7FB80FC951A700CD5728 /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultWindow.m; path = ../base/ResultWindow.m; sourceTree = SOURCE_ROOT; }; CEFF18A009A4D387005E6321 /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = PyDupeGuru.h; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ @@ -230,7 +230,7 @@ CEDD92D70FDD01640031C7B7 /* BRSingleLineFormatter.m */, ); name = brsinglelineformatter; - path = cocoalib/brsinglelineformatter; + path = ../../cocoalib/brsinglelineformatter; sourceTree = SOURCE_ROOT; }; CEEFC0CA10943849001F3A39 /* xib */ = { @@ -432,11 +432,6 @@ ppc, i386, ); - FRAMEWORK_SEARCH_PATHS = ( - "$(FRAMEWORK_SEARCH_PATHS)", - "$(SRCROOT)/../../../cocoalib/build/Release", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../base/cocoa/build/Release\""; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_MODEL_TUNING = G5; diff --git a/cocoa/se/gen.py b/cocoa/se/gen.py new file mode 100644 index 00000000..d147b7ec --- /dev/null +++ b/cocoa/se/gen.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python +# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) +# +# This software is licensed under the "HS" License as described in the "LICENSE" file, +# which should be included with this package. The terms are also available at +# http://www.hardcoded.net/licenses/hs_license + +import os.path as op +import os +import shutil +from optparse import OptionParser + +def main(dev): + if not dev: + print "Building help index" + help_path = op.abspath('../../help_se/dupeguru_help') + os.system('open /Developer/Applications/Utilities/Help\\ Indexer.app --args {0}'.format(help_path)) + + print "Building dg_cocoa.plugin" + if op.exists('py/build'): + shutil.rmtree('py/build') + if op.exists('py/dist'): + shutil.rmtree('py/dist') + + os.chdir('py') + if dev: + os.system('python -u setup.py py2app -A') + else: + os.system('python -u setup.py py2app') + os.chdir('..') + + print "Building the XCode project" + os.system('xcodebuild') + +if __name__ == '__main__': + usage = "usage: %prog [options]" + parser = OptionParser(usage=usage) + parser.add_option('--dev', action='store_true', dest='dev', default=False, + help="If this flag is set, will configure for dev builds.") + (options, args) = parser.parse_args() + main(options.dev) \ No newline at end of file diff --git a/se/cocoa/main.m b/cocoa/se/main.m similarity index 100% rename from se/cocoa/main.m rename to cocoa/se/main.m diff --git a/se/cocoa/py/dg_cocoa.py b/cocoa/se/py/dg_cocoa.py similarity index 100% rename from se/cocoa/py/dg_cocoa.py rename to cocoa/se/py/dg_cocoa.py diff --git a/se/cocoa/py/setup.py b/cocoa/se/py/setup.py similarity index 100% rename from se/cocoa/py/setup.py rename to cocoa/se/py/setup.py diff --git a/se/cocoa/xib/Preferences.xib b/cocoa/se/xib/Preferences.xib similarity index 100% rename from se/cocoa/xib/Preferences.xib rename to cocoa/se/xib/Preferences.xib diff --git a/configure.py b/configure.py new file mode 100644 index 00000000..a9b0d381 --- /dev/null +++ b/configure.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Created By: Virgil Dupras +# Created On: 2009-12-30 +# $Id$ +# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) +# +# This software is licensed under the "HS" License as described in the "LICENSE" file, +# which should be included with this package. The terms are also available at +# http://www.hardcoded.net/licenses/hs_license + +import sys +from optparse import OptionParser + +import yaml + +def main(edition, ui, dev): + if edition not in ('se', 'me', 'pe'): + edition = 'se' + if ui not in ('cocoa', 'qt'): + ui = 'cocoa' if sys.platform == 'darwin' else 'qt' + build_type = 'Dev' if dev else 'Release' + print "Configuring dupeGuru {0} for UI {1} ({2})".format(edition.upper(), ui, build_type) + conf = { + 'edition': edition, + 'ui': ui, + 'dev': dev, + } + yaml.dump(conf, open('conf.yaml', 'w')) + +if __name__ == '__main__': + usage = "usage: %prog [options]" + parser = OptionParser(usage=usage) + parser.add_option('--edition', dest='edition', + help="dupeGuru edition to build (se, me or pe). Default is se.") + parser.add_option('--ui', dest='ui', + help="Type of UI to build. 'qt' or 'cocoa'. Default is determined by your system.") + parser.add_option('--dev', action='store_true', dest='dev', default=False, + help="If this flag is set, will configure for dev builds.") + (options, args) = parser.parse_args() + main(options.edition, options.ui, options.dev) diff --git a/base/core/LICENSE b/core/LICENSE similarity index 100% rename from base/core/LICENSE rename to core/LICENSE diff --git a/base/core/__init__.py b/core/__init__.py similarity index 100% rename from base/core/__init__.py rename to core/__init__.py diff --git a/base/core/app.py b/core/app.py similarity index 100% rename from base/core/app.py rename to core/app.py diff --git a/base/core/app_cocoa.py b/core/app_cocoa.py similarity index 100% rename from base/core/app_cocoa.py rename to core/app_cocoa.py diff --git a/base/core/data.py b/core/data.py similarity index 100% rename from base/core/data.py rename to core/data.py diff --git a/base/core/directories.py b/core/directories.py similarity index 100% rename from base/core/directories.py rename to core/directories.py diff --git a/base/core/engine.py b/core/engine.py similarity index 100% rename from base/core/engine.py rename to core/engine.py diff --git a/base/core/export.py b/core/export.py similarity index 100% rename from base/core/export.py rename to core/export.py diff --git a/base/core/fs.py b/core/fs.py similarity index 100% rename from base/core/fs.py rename to core/fs.py diff --git a/base/core/ignore.py b/core/ignore.py similarity index 100% rename from base/core/ignore.py rename to core/ignore.py diff --git a/base/core/results.py b/core/results.py similarity index 100% rename from base/core/results.py rename to core/results.py diff --git a/base/core/scanner.py b/core/scanner.py similarity index 100% rename from base/core/scanner.py rename to core/scanner.py diff --git a/base/core/tests/__init__.py b/core/tests/__init__.py similarity index 100% rename from base/core/tests/__init__.py rename to core/tests/__init__.py diff --git a/base/core/tests/app_cocoa_test.py b/core/tests/app_cocoa_test.py similarity index 100% rename from base/core/tests/app_cocoa_test.py rename to core/tests/app_cocoa_test.py diff --git a/base/core/tests/app_test.py b/core/tests/app_test.py similarity index 100% rename from base/core/tests/app_test.py rename to core/tests/app_test.py diff --git a/base/core/tests/data.py b/core/tests/data.py similarity index 100% rename from base/core/tests/data.py rename to core/tests/data.py diff --git a/base/core/tests/directories_test.py b/core/tests/directories_test.py similarity index 100% rename from base/core/tests/directories_test.py rename to core/tests/directories_test.py diff --git a/base/core/tests/engine_test.py b/core/tests/engine_test.py similarity index 100% rename from base/core/tests/engine_test.py rename to core/tests/engine_test.py diff --git a/base/core/tests/ignore_test.py b/core/tests/ignore_test.py similarity index 100% rename from base/core/tests/ignore_test.py rename to core/tests/ignore_test.py diff --git a/base/core/tests/results_test.py b/core/tests/results_test.py similarity index 100% rename from base/core/tests/results_test.py rename to core/tests/results_test.py diff --git a/base/core/tests/scanner_test.py b/core/tests/scanner_test.py similarity index 100% rename from base/core/tests/scanner_test.py rename to core/tests/scanner_test.py diff --git a/base/qt/__init__.py b/core_me/__init__.py similarity index 100% rename from base/qt/__init__.py rename to core_me/__init__.py diff --git a/me/core/app_cocoa.py b/core_me/app_cocoa.py similarity index 100% rename from me/core/app_cocoa.py rename to core_me/app_cocoa.py diff --git a/me/core/data.py b/core_me/data.py similarity index 100% rename from me/core/data.py rename to core_me/data.py diff --git a/me/core/fs.py b/core_me/fs.py similarity index 100% rename from me/core/fs.py rename to core_me/fs.py diff --git a/me/core/scanner.py b/core_me/scanner.py similarity index 100% rename from me/core/scanner.py rename to core_me/scanner.py diff --git a/me/core/__init__.py b/core_me/tests/__init__.py similarity index 100% rename from me/core/__init__.py rename to core_me/tests/__init__.py diff --git a/me/core/tests/scanner_test.py b/core_me/tests/scanner_test.py similarity index 100% rename from me/core/tests/scanner_test.py rename to core_me/tests/scanner_test.py diff --git a/base/qt/LICENSE b/core_pe/LICENSE similarity index 100% rename from base/qt/LICENSE rename to core_pe/LICENSE diff --git a/me/core/tests/__init__.py b/core_pe/__init__.py similarity index 100% rename from me/core/tests/__init__.py rename to core_pe/__init__.py diff --git a/pe/core/app_cocoa.py b/core_pe/app_cocoa.py similarity index 100% rename from pe/core/app_cocoa.py rename to core_pe/app_cocoa.py diff --git a/pe/core/block.py b/core_pe/block.py similarity index 100% rename from pe/core/block.py rename to core_pe/block.py diff --git a/pe/core/cache.py b/core_pe/cache.py similarity index 100% rename from pe/core/cache.py rename to core_pe/cache.py diff --git a/pe/core/data.py b/core_pe/data.py similarity index 100% rename from pe/core/data.py rename to core_pe/data.py diff --git a/pe/core/gen.py b/core_pe/gen.py similarity index 100% rename from pe/core/gen.py rename to core_pe/gen.py diff --git a/pe/core/matchbase.py b/core_pe/matchbase.py similarity index 100% rename from pe/core/matchbase.py rename to core_pe/matchbase.py diff --git a/pe/core/modules/block/block.pyx b/core_pe/modules/block/block.pyx similarity index 100% rename from pe/core/modules/block/block.pyx rename to core_pe/modules/block/block.pyx diff --git a/pe/core/modules/block/setup.py b/core_pe/modules/block/setup.py similarity index 100% rename from pe/core/modules/block/setup.py rename to core_pe/modules/block/setup.py diff --git a/pe/core/modules/cache/cache.pyx b/core_pe/modules/cache/cache.pyx similarity index 100% rename from pe/core/modules/cache/cache.pyx rename to core_pe/modules/cache/cache.pyx diff --git a/pe/core/modules/cache/setup.py b/core_pe/modules/cache/setup.py similarity index 100% rename from pe/core/modules/cache/setup.py rename to core_pe/modules/cache/setup.py diff --git a/pe/core/scanner.py b/core_pe/scanner.py similarity index 100% rename from pe/core/scanner.py rename to core_pe/scanner.py diff --git a/me/help/__init__.py b/core_pe/tests/__init__.py similarity index 100% rename from me/help/__init__.py rename to core_pe/tests/__init__.py diff --git a/pe/core/tests/block_test.py b/core_pe/tests/block_test.py similarity index 100% rename from pe/core/tests/block_test.py rename to core_pe/tests/block_test.py diff --git a/pe/core/tests/cache_test.py b/core_pe/tests/cache_test.py similarity index 100% rename from pe/core/tests/cache_test.py rename to core_pe/tests/cache_test.py diff --git a/me/cocoa/LICENSE b/core_se/LICENSE similarity index 100% rename from me/cocoa/LICENSE rename to core_se/LICENSE diff --git a/se/core/__init__.py b/core_se/__init__.py similarity index 100% rename from se/core/__init__.py rename to core_se/__init__.py diff --git a/se/core/app_cocoa.py b/core_se/app_cocoa.py similarity index 100% rename from se/core/app_cocoa.py rename to core_se/app_cocoa.py diff --git a/se/core/data.py b/core_se/data.py similarity index 100% rename from se/core/data.py rename to core_se/data.py diff --git a/se/core/fs.py b/core_se/fs.py similarity index 100% rename from se/core/fs.py rename to core_se/fs.py diff --git a/pe/core/__init__.py b/core_se/tests/__init__.py similarity index 100% rename from pe/core/__init__.py rename to core_se/tests/__init__.py diff --git a/se/core/tests/fs_test.py b/core_se/tests/fs_test.py similarity index 100% rename from se/core/tests/fs_test.py rename to core_se/tests/fs_test.py diff --git a/me/help/LICENSE b/help_me/LICENSE similarity index 100% rename from me/help/LICENSE rename to help_me/LICENSE diff --git a/pe/core/tests/__init__.py b/help_me/__init__.py similarity index 100% rename from pe/core/tests/__init__.py rename to help_me/__init__.py diff --git a/me/help/changelog.yaml b/help_me/changelog.yaml similarity index 100% rename from me/help/changelog.yaml rename to help_me/changelog.yaml diff --git a/me/help/gen.py b/help_me/gen.py similarity index 83% rename from me/help/gen.py rename to help_me/gen.py index d3b4da24..2c83a6e4 100644 --- a/me/help/gen.py +++ b/help_me/gen.py @@ -8,7 +8,7 @@ import os.path as op from hsdocgen import generate_help, filters -def generate(windows=False): +def generate(windows=False, force_render=True): tix = filters.tixgen("https://hardcoded.lighthouseapp.com/projects/31699-dupeguru/tickets/{0}") basepath = op.dirname(__file__) - generate_help.main(basepath, op.join(basepath, 'dupeguru_me_help'), force_render=True, tix=tix, windows=windows) + generate_help.main(basepath, op.join(basepath, 'dupeguru_me_help'), force_render=force_render, tix=tix, windows=windows) diff --git a/me/help/skeleton/hardcoded.css b/help_me/skeleton/hardcoded.css similarity index 100% rename from me/help/skeleton/hardcoded.css rename to help_me/skeleton/hardcoded.css diff --git a/me/help/skeleton/images/hs_title.png b/help_me/skeleton/images/hs_title.png similarity index 100% rename from me/help/skeleton/images/hs_title.png rename to help_me/skeleton/images/hs_title.png diff --git a/me/help/templates/base_dg.mako b/help_me/templates/base_dg.mako similarity index 100% rename from me/help/templates/base_dg.mako rename to help_me/templates/base_dg.mako diff --git a/me/help/templates/credits.mako b/help_me/templates/credits.mako similarity index 100% rename from me/help/templates/credits.mako rename to help_me/templates/credits.mako diff --git a/me/help/templates/directories.mako b/help_me/templates/directories.mako similarity index 100% rename from me/help/templates/directories.mako rename to help_me/templates/directories.mako diff --git a/me/help/templates/faq.mako b/help_me/templates/faq.mako similarity index 100% rename from me/help/templates/faq.mako rename to help_me/templates/faq.mako diff --git a/me/help/templates/intro.mako b/help_me/templates/intro.mako similarity index 100% rename from me/help/templates/intro.mako rename to help_me/templates/intro.mako diff --git a/me/help/templates/power_marker.mako b/help_me/templates/power_marker.mako similarity index 100% rename from me/help/templates/power_marker.mako rename to help_me/templates/power_marker.mako diff --git a/me/help/templates/preferences.mako b/help_me/templates/preferences.mako similarity index 100% rename from me/help/templates/preferences.mako rename to help_me/templates/preferences.mako diff --git a/me/help/templates/quick_start.mako b/help_me/templates/quick_start.mako similarity index 100% rename from me/help/templates/quick_start.mako rename to help_me/templates/quick_start.mako diff --git a/me/help/templates/results.mako b/help_me/templates/results.mako similarity index 100% rename from me/help/templates/results.mako rename to help_me/templates/results.mako diff --git a/me/help/templates/versions.mako b/help_me/templates/versions.mako similarity index 100% rename from me/help/templates/versions.mako rename to help_me/templates/versions.mako diff --git a/me/qt/LICENSE b/help_pe/LICENSE similarity index 100% rename from me/qt/LICENSE rename to help_pe/LICENSE diff --git a/pe/help/__init__.py b/help_pe/__init__.py similarity index 100% rename from pe/help/__init__.py rename to help_pe/__init__.py diff --git a/pe/help/changelog.yaml b/help_pe/changelog.yaml similarity index 100% rename from pe/help/changelog.yaml rename to help_pe/changelog.yaml diff --git a/pe/help/gen.py b/help_pe/gen.py similarity index 83% rename from pe/help/gen.py rename to help_pe/gen.py index f5d78df2..7f01fe19 100644 --- a/pe/help/gen.py +++ b/help_pe/gen.py @@ -8,7 +8,7 @@ import os.path as op from hsdocgen import generate_help, filters -def generate(windows=False): +def generate(windows=False, force_render=True): tix = filters.tixgen("https://hardcoded.lighthouseapp.com/projects/31699-dupeguru/tickets/{0}") basepath = op.dirname(__file__) - generate_help.main(basepath, op.join(basepath, 'dupeguru_pe_help'), force_render=True, tix=tix, windows=windows) + generate_help.main(basepath, op.join(basepath, 'dupeguru_pe_help'), force_render=force_render, tix=tix, windows=windows) diff --git a/pe/help/skeleton/hardcoded.css b/help_pe/skeleton/hardcoded.css similarity index 100% rename from pe/help/skeleton/hardcoded.css rename to help_pe/skeleton/hardcoded.css diff --git a/pe/help/skeleton/images/hs_title.png b/help_pe/skeleton/images/hs_title.png similarity index 100% rename from pe/help/skeleton/images/hs_title.png rename to help_pe/skeleton/images/hs_title.png diff --git a/pe/help/templates/base_dg.mako b/help_pe/templates/base_dg.mako similarity index 100% rename from pe/help/templates/base_dg.mako rename to help_pe/templates/base_dg.mako diff --git a/pe/help/templates/credits.mako b/help_pe/templates/credits.mako similarity index 100% rename from pe/help/templates/credits.mako rename to help_pe/templates/credits.mako diff --git a/pe/help/templates/directories.mako b/help_pe/templates/directories.mako similarity index 100% rename from pe/help/templates/directories.mako rename to help_pe/templates/directories.mako diff --git a/pe/help/templates/faq.mako b/help_pe/templates/faq.mako similarity index 100% rename from pe/help/templates/faq.mako rename to help_pe/templates/faq.mako diff --git a/pe/help/templates/intro.mako b/help_pe/templates/intro.mako similarity index 100% rename from pe/help/templates/intro.mako rename to help_pe/templates/intro.mako diff --git a/pe/help/templates/power_marker.mako b/help_pe/templates/power_marker.mako similarity index 100% rename from pe/help/templates/power_marker.mako rename to help_pe/templates/power_marker.mako diff --git a/pe/help/templates/preferences.mako b/help_pe/templates/preferences.mako similarity index 100% rename from pe/help/templates/preferences.mako rename to help_pe/templates/preferences.mako diff --git a/pe/help/templates/quick_start.mako b/help_pe/templates/quick_start.mako similarity index 100% rename from pe/help/templates/quick_start.mako rename to help_pe/templates/quick_start.mako diff --git a/pe/help/templates/results.mako b/help_pe/templates/results.mako similarity index 100% rename from pe/help/templates/results.mako rename to help_pe/templates/results.mako diff --git a/pe/help/templates/versions.mako b/help_pe/templates/versions.mako similarity index 100% rename from pe/help/templates/versions.mako rename to help_pe/templates/versions.mako diff --git a/pe/cocoa/LICENSE b/help_se/LICENSE similarity index 100% rename from pe/cocoa/LICENSE rename to help_se/LICENSE diff --git a/se/core/tests/__init__.py b/help_se/__init__.py similarity index 100% rename from se/core/tests/__init__.py rename to help_se/__init__.py diff --git a/se/help/changelog.yaml b/help_se/changelog.yaml similarity index 100% rename from se/help/changelog.yaml rename to help_se/changelog.yaml diff --git a/se/help/gen.py b/help_se/gen.py similarity index 51% rename from se/help/gen.py rename to help_se/gen.py index 375aaee8..eb02c162 100644 --- a/se/help/gen.py +++ b/help_se/gen.py @@ -5,10 +5,11 @@ # which should be included with this package. The terms are also available at # http://www.hardcoded.net/licenses/hs_license -import os - +import os.path as op from hsdocgen import generate_help, filters -tix = filters.tixgen("https://hardcoded.lighthouseapp.com/projects/31699-dupeguru/tickets/{0}") +def generate(windows=False, force_render=True): + tix = filters.tixgen("https://hardcoded.lighthouseapp.com/projects/31699-dupeguru/tickets/{0}") + basepath = op.dirname(__file__) + generate_help.main(basepath, op.join(basepath, 'dupeguru_help'), force_render=force_render, tix=tix, windows=windows) -generate_help.main('.', 'dupeguru_help', force_render=True, tix=tix) diff --git a/se/help/skeleton/hardcoded.css b/help_se/skeleton/hardcoded.css similarity index 100% rename from se/help/skeleton/hardcoded.css rename to help_se/skeleton/hardcoded.css diff --git a/se/help/skeleton/images/hs_title.png b/help_se/skeleton/images/hs_title.png similarity index 100% rename from se/help/skeleton/images/hs_title.png rename to help_se/skeleton/images/hs_title.png diff --git a/se/help/templates/base_dg.mako b/help_se/templates/base_dg.mako similarity index 100% rename from se/help/templates/base_dg.mako rename to help_se/templates/base_dg.mako diff --git a/se/help/templates/credits.mako b/help_se/templates/credits.mako similarity index 100% rename from se/help/templates/credits.mako rename to help_se/templates/credits.mako diff --git a/se/help/templates/directories.mako b/help_se/templates/directories.mako similarity index 100% rename from se/help/templates/directories.mako rename to help_se/templates/directories.mako diff --git a/se/help/templates/faq.mako b/help_se/templates/faq.mako similarity index 100% rename from se/help/templates/faq.mako rename to help_se/templates/faq.mako diff --git a/se/help/templates/intro.mako b/help_se/templates/intro.mako similarity index 100% rename from se/help/templates/intro.mako rename to help_se/templates/intro.mako diff --git a/se/help/templates/power_marker.mako b/help_se/templates/power_marker.mako similarity index 100% rename from se/help/templates/power_marker.mako rename to help_se/templates/power_marker.mako diff --git a/se/help/templates/preferences.mako b/help_se/templates/preferences.mako similarity index 100% rename from se/help/templates/preferences.mako rename to help_se/templates/preferences.mako diff --git a/se/help/templates/quick_start.mako b/help_se/templates/quick_start.mako similarity index 100% rename from se/help/templates/quick_start.mako rename to help_se/templates/quick_start.mako diff --git a/se/help/templates/results.mako b/help_se/templates/results.mako similarity index 100% rename from se/help/templates/results.mako rename to help_se/templates/results.mako diff --git a/se/help/templates/versions.mako b/help_se/templates/versions.mako similarity index 100% rename from se/help/templates/versions.mako rename to help_se/templates/versions.mako diff --git a/me/cocoa/gen.py b/me/cocoa/gen.py deleted file mode 100644 index ea248ae7..00000000 --- a/me/cocoa/gen.py +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env python -# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "HS" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at -# http://www.hardcoded.net/licenses/hs_license - -import sys -sys.path.insert(0, 'py') # for hsutil and hsdocgen -import os - -from help import gen - -print "Generating help" -gen.generate() -os.system('/Developer/Applications/Utilities/Help\\ Indexer.app/Contents/MacOS/Help\\ Indexer help/dupeguru_me_help') - -print "Generating py plugin" -os.chdir('py') -os.system('python -u gen.py') -os.chdir('..') \ No newline at end of file diff --git a/me/cocoa/py/gen.py b/me/cocoa/py/gen.py deleted file mode 100644 index f8bc07c4..00000000 --- a/me/cocoa/py/gen.py +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env python -# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "HS" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at -# http://www.hardcoded.net/licenses/hs_license - -import os -import os.path as op -import shutil - -from hsutil.build import print_and_do - -if op.exists('build'): - shutil.rmtree('build') -if op.exists('dist'): - shutil.rmtree('dist') - -os.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.5' -print_and_do('python -u setup.py py2app') \ No newline at end of file diff --git a/me/qt/WARNING b/me/qt/WARNING deleted file mode 100644 index 729666cc..00000000 --- a/me/qt/WARNING +++ /dev/null @@ -1,11 +0,0 @@ -WARNING ABOUT THE HS LICENSE AND PyQt - -Although Qt is now LGPL licensed, PyQt still is dual licensed. Until Nokia buys Riverbank and -releases PyQt as LGPL, users of this part of the code (The PyQt-based GUI code) have to use the -GPL version of PyQt, unless they possess a commercial license to it. - -There is no problem to this AS LONG AS YOU DON'T REDISTRIBUTE HS LICENSED CODE. The GPL license, from the point of view of the user, is very permissive. You can do WHATEVER you want with the GPLed version of PyQt, as long as you don't redistribute any of the code, or code dependent on it. When you do, the code you distribute has to be GPL compliant. The HS license is NOT, I repeat, NOT compliant with the GPL. - -So, what does it all mean? You have no restriction on the usage of the PyQt-dependent-HS-licensed code, but unless you possess a commercial PyQt license, Hardcoded Software (or anyone) cannot accept any contribution from you for this part of the code. - -Note that this only affects the PyQt dependent code, and not any other part of HS licensed code (if it has "import PyQt4" in it, it's PyQt dependent code). For the rest of the code, the only restrictions that apply are the ones from the HS license. \ No newline at end of file diff --git a/package.py b/package.py new file mode 100644 index 00000000..5e4042ad --- /dev/null +++ b/package.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Created By: Virgil Dupras +# Created On: 2009-12-30 +# $Id$ +# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) +# +# This software is licensed under the "HS" License as described in the "LICENSE" file, +# which should be included with this package. The terms are also available at +# http://www.hardcoded.net/licenses/hs_license + +import sys +import os +import os.path as op + +import yaml + +from hsutil.build import build_dmg, add_to_pythonpath + +def main(): + conf = yaml.load(open('conf.yaml')) + edition = conf['edition'] + ui = conf['ui'] + dev = conf['dev'] + if dev: + print "You can't package in dev mode" + return + print "Packaging dupeGuru {0} with UI {1}".format(edition.upper(), ui) + if ui == 'cocoa': + app_path = { + 'se': 'cocoa/se/build/Release/dupeGuru.app', + 'me': 'cocoa/me/build/Release/dupeGuru ME.app', + 'pe': 'cocoa/pe/build/Release/dupeGuru PE.app', + }[edition] + build_dmg(app_path, '.') + elif ui == 'qt': + if sys.platform != "win32": + print "Qt packaging only works under Windows." + return + add_to_pythonpath('.') + os.chdir('qt') + os.system('python build.py') + os.chdir('..') + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/pe/cocoa/gen.py b/pe/cocoa/gen.py deleted file mode 100644 index 60cabb4e..00000000 --- a/pe/cocoa/gen.py +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env python -# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "HS" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at -# http://www.hardcoded.net/licenses/hs_license - -import sys -sys.path.insert(0, 'py') # for hsutil and hsdocgen -import os - -from help import gen - -print "Generating help" -gen.generate() -os.system('/Developer/Applications/Utilities/Help\\ Indexer.app/Contents/MacOS/Help\\ Indexer help/dupeguru_pe_help') - -print "Generating py plugin" -os.chdir('py') -os.system('python -u gen.py') -os.chdir('..') \ No newline at end of file diff --git a/pe/cocoa/py/gen.py b/pe/cocoa/py/gen.py deleted file mode 100644 index 4b9f73d6..00000000 --- a/pe/cocoa/py/gen.py +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env python -# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "HS" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at -# http://www.hardcoded.net/licenses/hs_license - -import os -import os.path as op -import shutil - -from hsutil.build import print_and_do - -os.chdir('core_pe') -print_and_do('python gen.py') -os.chdir('..') - -if op.exists('build'): - shutil.rmtree('build') -if op.exists('dist'): - shutil.rmtree('dist') - -print_and_do('python -u setup.py py2app') \ No newline at end of file diff --git a/pe/core/LICENSE b/pe/core/LICENSE deleted file mode 100644 index f8818048..00000000 --- a/pe/core/LICENSE +++ /dev/null @@ -1,11 +0,0 @@ -Copyright 2009 Hardcoded Software Inc. (http://www.hardcoded.net) -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Hardcoded Software Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - * If the source code has been published less than two years ago, any redistribution, in whole or in part, must retain full licensing functionality, without any attempt to change, obscure or in other ways circumvent its intent. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/pe/help/LICENSE b/pe/help/LICENSE deleted file mode 100644 index f8818048..00000000 --- a/pe/help/LICENSE +++ /dev/null @@ -1,11 +0,0 @@ -Copyright 2009 Hardcoded Software Inc. (http://www.hardcoded.net) -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Hardcoded Software Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - * If the source code has been published less than two years ago, any redistribution, in whole or in part, must retain full licensing functionality, without any attempt to change, obscure or in other ways circumvent its intent. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/pe/qt/LICENSE b/pe/qt/LICENSE deleted file mode 100644 index f8818048..00000000 --- a/pe/qt/LICENSE +++ /dev/null @@ -1,11 +0,0 @@ -Copyright 2009 Hardcoded Software Inc. (http://www.hardcoded.net) -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Hardcoded Software Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - * If the source code has been published less than two years ago, any redistribution, in whole or in part, must retain full licensing functionality, without any attempt to change, obscure or in other ways circumvent its intent. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/pe/qt/WARNING b/pe/qt/WARNING deleted file mode 100644 index 729666cc..00000000 --- a/pe/qt/WARNING +++ /dev/null @@ -1,11 +0,0 @@ -WARNING ABOUT THE HS LICENSE AND PyQt - -Although Qt is now LGPL licensed, PyQt still is dual licensed. Until Nokia buys Riverbank and -releases PyQt as LGPL, users of this part of the code (The PyQt-based GUI code) have to use the -GPL version of PyQt, unless they possess a commercial license to it. - -There is no problem to this AS LONG AS YOU DON'T REDISTRIBUTE HS LICENSED CODE. The GPL license, from the point of view of the user, is very permissive. You can do WHATEVER you want with the GPLed version of PyQt, as long as you don't redistribute any of the code, or code dependent on it. When you do, the code you distribute has to be GPL compliant. The HS license is NOT, I repeat, NOT compliant with the GPL. - -So, what does it all mean? You have no restriction on the usage of the PyQt-dependent-HS-licensed code, but unless you possess a commercial PyQt license, Hardcoded Software (or anyone) cannot accept any contribution from you for this part of the code. - -Note that this only affects the PyQt dependent code, and not any other part of HS licensed code (if it has "import PyQt4" in it, it's PyQt dependent code). For the rest of the code, the only restrictions that apply are the ones from the HS license. \ No newline at end of file diff --git a/base/qt/WARNING b/qt/WARNING similarity index 100% rename from base/qt/WARNING rename to qt/WARNING diff --git a/qt/base/__init__.py b/qt/base/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/base/qt/app.py b/qt/base/app.py similarity index 100% rename from base/qt/app.py rename to qt/base/app.py diff --git a/base/qt/details_table.py b/qt/base/details_table.py similarity index 100% rename from base/qt/details_table.py rename to qt/base/details_table.py diff --git a/qt/base/dg.qrc b/qt/base/dg.qrc new file mode 100644 index 00000000..5c689656 --- /dev/null +++ b/qt/base/dg.qrc @@ -0,0 +1,16 @@ + + + ../../images/details32.png + ../../images/dgpe_logo_32.png + ../../images/dgpe_logo_128.png + ../../images/dgme_logo_32.png + ../../images/dgme_logo_128.png + ../../images/dgse_logo_32.png + ../../images/dgse_logo_128.png + ../../images/folderwin32.png + ../../images/preferences32.png + ../../images/actions32.png + ../../images/delta32.png + ../../images/power_marker32.png + + \ No newline at end of file diff --git a/base/qt/directories_dialog.py b/qt/base/directories_dialog.py similarity index 100% rename from base/qt/directories_dialog.py rename to qt/base/directories_dialog.py diff --git a/base/qt/directories_dialog.ui b/qt/base/directories_dialog.ui similarity index 100% rename from base/qt/directories_dialog.ui rename to qt/base/directories_dialog.ui diff --git a/base/qt/directories_model.py b/qt/base/directories_model.py similarity index 100% rename from base/qt/directories_model.py rename to qt/base/directories_model.py diff --git a/base/qt/main_window.py b/qt/base/main_window.py similarity index 100% rename from base/qt/main_window.py rename to qt/base/main_window.py diff --git a/base/qt/main_window.ui b/qt/base/main_window.ui similarity index 100% rename from base/qt/main_window.ui rename to qt/base/main_window.ui diff --git a/base/qt/platform.py b/qt/base/platform.py similarity index 100% rename from base/qt/platform.py rename to qt/base/platform.py diff --git a/base/qt/platform_osx.py b/qt/base/platform_osx.py similarity index 100% rename from base/qt/platform_osx.py rename to qt/base/platform_osx.py diff --git a/base/qt/platform_win.py b/qt/base/platform_win.py similarity index 100% rename from base/qt/platform_win.py rename to qt/base/platform_win.py diff --git a/base/qt/preferences.py b/qt/base/preferences.py similarity index 100% rename from base/qt/preferences.py rename to qt/base/preferences.py diff --git a/base/qt/results_model.py b/qt/base/results_model.py similarity index 100% rename from base/qt/results_model.py rename to qt/base/results_model.py diff --git a/me/qt/app.py b/qt/me/app.py similarity index 100% rename from me/qt/app.py rename to qt/me/app.py diff --git a/me/qt/build.py b/qt/me/build.py similarity index 100% rename from me/qt/build.py rename to qt/me/build.py diff --git a/me/qt/details_dialog.py b/qt/me/details_dialog.py similarity index 100% rename from me/qt/details_dialog.py rename to qt/me/details_dialog.py diff --git a/me/qt/details_dialog.ui b/qt/me/details_dialog.ui similarity index 100% rename from me/qt/details_dialog.ui rename to qt/me/details_dialog.ui diff --git a/me/qt/dgme.spec b/qt/me/dgme.spec similarity index 78% rename from me/qt/dgme.spec rename to qt/me/dgme.spec index 4d47e350..ab510aaa 100644 --- a/me/qt/dgme.spec +++ b/qt/me/dgme.spec @@ -1,6 +1,6 @@ # -*- mode: python -*- a = Analysis([os.path.join(HOMEPATH,'support\\_mountzlib.py'), os.path.join(HOMEPATH,'support\\useUnicode.py'), 'start.py'], - pathex=['C:\\src\\dupeguru\\me\\qt']) + pathex=[]) pyz = PYZ(a.pure) exe = EXE(pyz, a.scripts, @@ -9,7 +9,7 @@ exe = EXE(pyz, debug=False, strip=False, upx=True, - console=False , icon='base\\images\\dgme_logo.ico', version='verinfo_tmp') + console=False , icon='..\\base\\images\\dgme_logo.ico', version='verinfo_tmp') coll = COLLECT( exe, a.binaries, a.zipfiles, diff --git a/me/qt/gen.py b/qt/me/gen.py similarity index 70% rename from me/qt/gen.py rename to qt/me/gen.py index f71e4f81..f77c4af8 100644 --- a/me/qt/gen.py +++ b/qt/me/gen.py @@ -13,13 +13,7 @@ import os.path as op from hsutil.build import print_and_do, build_all_qt_ui -from help import gen - -build_all_qt_ui(op.join('qtlib', 'ui')) -build_all_qt_ui('base') +build_all_qt_ui(op.join('..', '..', 'qtlib', 'ui')) +build_all_qt_ui(op.join('..', 'base')) build_all_qt_ui('.') -os.chdir('base') -print_and_do("pyrcc4 dg.qrc > dg_rc.py") -os.chdir('..') - -gen.generate(windows=True) +print_and_do("pyrcc4 {0} > {1}".format(op.join('..', 'base', 'dg.qrc'), op.join('..', 'base', 'dg_rc.py'))) \ No newline at end of file diff --git a/me/qt/installer.aip b/qt/me/installer.aip similarity index 100% rename from me/qt/installer.aip rename to qt/me/installer.aip diff --git a/me/qt/preferences.py b/qt/me/preferences.py similarity index 100% rename from me/qt/preferences.py rename to qt/me/preferences.py diff --git a/me/qt/preferences_dialog.py b/qt/me/preferences_dialog.py similarity index 100% rename from me/qt/preferences_dialog.py rename to qt/me/preferences_dialog.py diff --git a/me/qt/preferences_dialog.ui b/qt/me/preferences_dialog.ui similarity index 100% rename from me/qt/preferences_dialog.ui rename to qt/me/preferences_dialog.ui diff --git a/me/qt/profile.py b/qt/me/profile.py similarity index 100% rename from me/qt/profile.py rename to qt/me/profile.py diff --git a/me/qt/start.py b/qt/me/start.py similarity index 100% rename from me/qt/start.py rename to qt/me/start.py diff --git a/me/qt/verinfo b/qt/me/verinfo similarity index 100% rename from me/qt/verinfo rename to qt/me/verinfo diff --git a/pe/qt/app.py b/qt/pe/app.py similarity index 100% rename from pe/qt/app.py rename to qt/pe/app.py diff --git a/pe/qt/block.py b/qt/pe/block.py similarity index 100% rename from pe/qt/block.py rename to qt/pe/block.py diff --git a/pe/qt/build.py b/qt/pe/build.py similarity index 100% rename from pe/qt/build.py rename to qt/pe/build.py diff --git a/pe/qt/details_dialog.py b/qt/pe/details_dialog.py similarity index 100% rename from pe/qt/details_dialog.py rename to qt/pe/details_dialog.py diff --git a/pe/qt/details_dialog.ui b/qt/pe/details_dialog.ui similarity index 100% rename from pe/qt/details_dialog.ui rename to qt/pe/details_dialog.ui diff --git a/pe/qt/dgpe.spec b/qt/pe/dgpe.spec similarity index 84% rename from pe/qt/dgpe.spec rename to qt/pe/dgpe.spec index 673d9039..55405804 100644 --- a/pe/qt/dgpe.spec +++ b/qt/pe/dgpe.spec @@ -9,7 +9,7 @@ exe = EXE(pyz, debug=False, strip=False, upx=True, - console=False , icon='base\\images\\dgpe_logo.ico', version='verinfo_tmp') + console=False , icon='..\\base\\images\\dgpe_logo.ico', version='verinfo_tmp') coll = COLLECT( exe, a.binaries, a.zipfiles, diff --git a/pe/qt/gen.py b/qt/pe/gen.py similarity index 77% rename from pe/qt/gen.py rename to qt/pe/gen.py index 83c4875a..12ec8463 100644 --- a/pe/qt/gen.py +++ b/qt/pe/gen.py @@ -13,14 +13,10 @@ import os.path as op from hsutil.build import print_and_do, build_all_qt_ui -from help import gen - -build_all_qt_ui(op.join('qtlib', 'ui')) -build_all_qt_ui('base') +build_all_qt_ui(op.join('..', '..', 'qtlib', 'ui')) +build_all_qt_ui(op.join('..', 'base')) build_all_qt_ui('.') -os.chdir('base') -print_and_do("pyrcc4 dg.qrc > dg_rc.py") -os.chdir('..') +print_and_do("pyrcc4 {0} > {1}".format(op.join('..', 'base', 'dg.qrc'), op.join('..', 'base', 'dg_rc.py'))) def move(src, dst): if not op.exists(src): @@ -30,18 +26,10 @@ def move(src, dst): print 'Moving %s --> %s' % (src, dst) os.rename(src, dst) -os.chdir('core_pe') -print_and_do('python gen.py') -os.chdir('..') - # The CC=gcc-4.0 thing is because, in Snow Leopard, gcc-4.2 can't compile these units. os.environ['CC'] = 'gcc-4.0' os.chdir(op.join('modules', 'block')) os.system('python setup.py build_ext --inplace') os.chdir(op.join('..', '..')) move(op.join('modules', 'block', '_block.so'), op.join('.', '_block.so')) -move(op.join('modules', 'block', '_block.pyd'), op.join('.', '_block.pyd')) - -os.chdir('help') -gen.generate(windows=True) -os.chdir('..') \ No newline at end of file +move(op.join('modules', 'block', '_block.pyd'), op.join('.', '_block.pyd')) \ No newline at end of file diff --git a/pe/qt/installer.aip b/qt/pe/installer.aip similarity index 100% rename from pe/qt/installer.aip rename to qt/pe/installer.aip diff --git a/pe/qt/main_window.py b/qt/pe/main_window.py similarity index 100% rename from pe/qt/main_window.py rename to qt/pe/main_window.py diff --git a/pe/qt/modules/block/block.pyx b/qt/pe/modules/block/block.pyx similarity index 100% rename from pe/qt/modules/block/block.pyx rename to qt/pe/modules/block/block.pyx diff --git a/pe/qt/modules/block/setup.py b/qt/pe/modules/block/setup.py similarity index 100% rename from pe/qt/modules/block/setup.py rename to qt/pe/modules/block/setup.py diff --git a/pe/qt/preferences.py b/qt/pe/preferences.py similarity index 100% rename from pe/qt/preferences.py rename to qt/pe/preferences.py diff --git a/pe/qt/preferences_dialog.py b/qt/pe/preferences_dialog.py similarity index 100% rename from pe/qt/preferences_dialog.py rename to qt/pe/preferences_dialog.py diff --git a/pe/qt/preferences_dialog.ui b/qt/pe/preferences_dialog.ui similarity index 100% rename from pe/qt/preferences_dialog.ui rename to qt/pe/preferences_dialog.ui diff --git a/pe/qt/profile.py b/qt/pe/profile.py similarity index 100% rename from pe/qt/profile.py rename to qt/pe/profile.py diff --git a/pe/qt/start.py b/qt/pe/start.py similarity index 100% rename from pe/qt/start.py rename to qt/pe/start.py diff --git a/pe/qt/verinfo b/qt/pe/verinfo similarity index 100% rename from pe/qt/verinfo rename to qt/pe/verinfo diff --git a/se/qt/app.py b/qt/se/app.py similarity index 100% rename from se/qt/app.py rename to qt/se/app.py diff --git a/se/qt/build.py b/qt/se/build.py similarity index 100% rename from se/qt/build.py rename to qt/se/build.py diff --git a/se/qt/details_dialog.py b/qt/se/details_dialog.py similarity index 100% rename from se/qt/details_dialog.py rename to qt/se/details_dialog.py diff --git a/se/qt/details_dialog.ui b/qt/se/details_dialog.ui similarity index 100% rename from se/qt/details_dialog.ui rename to qt/se/details_dialog.ui diff --git a/se/qt/dgse.spec b/qt/se/dgse.spec similarity index 84% rename from se/qt/dgse.spec rename to qt/se/dgse.spec index 124cf273..5b2d3470 100644 --- a/se/qt/dgse.spec +++ b/qt/se/dgse.spec @@ -1,6 +1,6 @@ # -*- mode: python -*- a = Analysis([os.path.join(HOMEPATH,'support\\_mountzlib.py'), os.path.join(HOMEPATH,'support\\useUnicode.py'), 'start.py'], - pathex=['C:\\src\\dupeguru\\se']) + pathex=[]) pyz = PYZ(a.pure) exe = EXE(pyz, a.scripts, @@ -10,7 +10,7 @@ exe = EXE(pyz, strip=False, upx=True, console=False, - icon='base\\images\\dgse_logo.ico', + icon='..\\base\\images\\dgse_logo.ico', version='verinfo_tmp') coll = COLLECT( exe, a.binaries, diff --git a/se/qt/gen.py b/qt/se/gen.py similarity index 67% rename from se/qt/gen.py rename to qt/se/gen.py index 88b8e4a9..d36494a4 100644 --- a/se/qt/gen.py +++ b/qt/se/gen.py @@ -13,11 +13,7 @@ import os.path as op from hsutil.build import print_and_do, build_all_qt_ui -build_all_qt_ui(op.join('qtlib', 'ui')) -build_all_qt_ui('base') +build_all_qt_ui(op.join('..', '..', 'qtlib', 'ui')) +build_all_qt_ui(op.join('..', 'base')) build_all_qt_ui('.') -print_and_do("pyrcc4 {0} > {1}".format(op.join('base', 'dg.qrc'), op.join('base', 'dg_rc.py'))) - -os.chdir('help') -print_and_do('python gen.py') -os.chdir('..') +print_and_do("pyrcc4 {0} > {1}".format(op.join('..', 'base', 'dg.qrc'), op.join('..', 'base', 'dg_rc.py'))) diff --git a/se/qt/installer.aip b/qt/se/installer.aip similarity index 100% rename from se/qt/installer.aip rename to qt/se/installer.aip diff --git a/se/qt/preferences.py b/qt/se/preferences.py similarity index 100% rename from se/qt/preferences.py rename to qt/se/preferences.py diff --git a/se/qt/preferences_dialog.py b/qt/se/preferences_dialog.py similarity index 100% rename from se/qt/preferences_dialog.py rename to qt/se/preferences_dialog.py diff --git a/se/qt/preferences_dialog.ui b/qt/se/preferences_dialog.ui similarity index 100% rename from se/qt/preferences_dialog.ui rename to qt/se/preferences_dialog.ui diff --git a/se/qt/profile.py b/qt/se/profile.py similarity index 100% rename from se/qt/profile.py rename to qt/se/profile.py diff --git a/se/qt/start.py b/qt/se/start.py similarity index 100% rename from se/qt/start.py rename to qt/se/start.py diff --git a/se/qt/verinfo b/qt/se/verinfo similarity index 100% rename from se/qt/verinfo rename to qt/se/verinfo diff --git a/run.py b/run.py new file mode 100644 index 00000000..232cddff --- /dev/null +++ b/run.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Created By: Virgil Dupras +# Created On: 2009-12-30 +# $Id$ +# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) +# +# This software is licensed under the "HS" License as described in the "LICENSE" file, +# which should be included with this package. The terms are also available at +# http://www.hardcoded.net/licenses/hs_license + +import sys +import os +import os.path as op + +import yaml + +from hsutil.build import add_to_pythonpath + +def main(): + conf = yaml.load(open('conf.yaml')) + edition = conf['edition'] + ui = conf['ui'] + print "Running dupeGuru {0} with UI {1}".format(edition.upper(), ui) + if ui == 'cocoa': + app_path = { + 'se': 'cocoa/se/build/Release/dupeGuru.app', + 'me': 'cocoa/me/build/Release/dupeGuru\\ ME.app', + 'pe': 'cocoa/pe/build/Release/dupeGuru\\ PE.app', + }[edition] + os.system('open {0}'.format(app_path)) + elif ui == 'qt': + add_to_pythonpath('.') + add_to_pythonpath('qt') + os.chdir(op.join('qt', edition)) + os.system('python start.py') + os.chdir('..') + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/se/cocoa/LICENSE b/se/cocoa/LICENSE deleted file mode 100644 index f8818048..00000000 --- a/se/cocoa/LICENSE +++ /dev/null @@ -1,11 +0,0 @@ -Copyright 2009 Hardcoded Software Inc. (http://www.hardcoded.net) -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Hardcoded Software Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - * If the source code has been published less than two years ago, any redistribution, in whole or in part, must retain full licensing functionality, without any attempt to change, obscure or in other ways circumvent its intent. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/se/cocoa/gen.py b/se/cocoa/gen.py deleted file mode 100644 index 7f6bc18e..00000000 --- a/se/cocoa/gen.py +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env python -# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "HS" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at -# http://www.hardcoded.net/licenses/hs_license - -import os - -print "Generating help" -os.chdir('help') -os.system('python -u gen.py') -os.system('/Developer/Applications/Utilities/Help\\ Indexer.app/Contents/MacOS/Help\\ Indexer dupeguru_help') -os.chdir('..') - -print "Generating py plugin" -os.chdir('py') -os.system('python -u gen.py') -os.chdir('..') \ No newline at end of file diff --git a/se/cocoa/py/gen.py b/se/cocoa/py/gen.py deleted file mode 100644 index f8bc07c4..00000000 --- a/se/cocoa/py/gen.py +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env python -# Copyright 2009 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "HS" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at -# http://www.hardcoded.net/licenses/hs_license - -import os -import os.path as op -import shutil - -from hsutil.build import print_and_do - -if op.exists('build'): - shutil.rmtree('build') -if op.exists('dist'): - shutil.rmtree('dist') - -os.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.5' -print_and_do('python -u setup.py py2app') \ No newline at end of file diff --git a/se/core/LICENSE b/se/core/LICENSE deleted file mode 100644 index f8818048..00000000 --- a/se/core/LICENSE +++ /dev/null @@ -1,11 +0,0 @@ -Copyright 2009 Hardcoded Software Inc. (http://www.hardcoded.net) -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Hardcoded Software Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - * If the source code has been published less than two years ago, any redistribution, in whole or in part, must retain full licensing functionality, without any attempt to change, obscure or in other ways circumvent its intent. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/se/help/LICENSE b/se/help/LICENSE deleted file mode 100644 index f8818048..00000000 --- a/se/help/LICENSE +++ /dev/null @@ -1,11 +0,0 @@ -Copyright 2009 Hardcoded Software Inc. (http://www.hardcoded.net) -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Hardcoded Software Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - * If the source code has been published less than two years ago, any redistribution, in whole or in part, must retain full licensing functionality, without any attempt to change, obscure or in other ways circumvent its intent. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/se/qt/LICENSE b/se/qt/LICENSE deleted file mode 100644 index f8818048..00000000 --- a/se/qt/LICENSE +++ /dev/null @@ -1,11 +0,0 @@ -Copyright 2009 Hardcoded Software Inc. (http://www.hardcoded.net) -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Hardcoded Software Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - * If the source code has been published less than two years ago, any redistribution, in whole or in part, must retain full licensing functionality, without any attempt to change, obscure or in other ways circumvent its intent. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/se/qt/WARNING b/se/qt/WARNING deleted file mode 100644 index 729666cc..00000000 --- a/se/qt/WARNING +++ /dev/null @@ -1,11 +0,0 @@ -WARNING ABOUT THE HS LICENSE AND PyQt - -Although Qt is now LGPL licensed, PyQt still is dual licensed. Until Nokia buys Riverbank and -releases PyQt as LGPL, users of this part of the code (The PyQt-based GUI code) have to use the -GPL version of PyQt, unless they possess a commercial license to it. - -There is no problem to this AS LONG AS YOU DON'T REDISTRIBUTE HS LICENSED CODE. The GPL license, from the point of view of the user, is very permissive. You can do WHATEVER you want with the GPLed version of PyQt, as long as you don't redistribute any of the code, or code dependent on it. When you do, the code you distribute has to be GPL compliant. The HS license is NOT, I repeat, NOT compliant with the GPL. - -So, what does it all mean? You have no restriction on the usage of the PyQt-dependent-HS-licensed code, but unless you possess a commercial PyQt license, Hardcoded Software (or anyone) cannot accept any contribution from you for this part of the code. - -Note that this only affects the PyQt dependent code, and not any other part of HS licensed code (if it has "import PyQt4" in it, it's PyQt dependent code). For the rest of the code, the only restrictions that apply are the ones from the HS license. \ No newline at end of file