mirror of
https://github.com/arsenetar/dupeguru.git
synced 2026-01-25 16:11:39 +00:00
Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
24c3d7ed00 | ||
|
|
8f7657573d | ||
|
|
c03c7f2be1 | ||
|
|
91a157cb2b | ||
|
|
7ced1e7b9d | ||
|
|
4c0545189e | ||
|
|
21af7b2fcd | ||
|
|
df9af9a796 | ||
|
|
933474400c | ||
|
|
b2c8e779bd | ||
|
|
e570a308bb | ||
|
|
69c01a658b | ||
|
|
0741cbe17b | ||
|
|
ad4ccfe347 | ||
|
|
57375f83f6 | ||
|
|
2d75ffefa7 | ||
|
|
87aa181e4b |
4
.hgtags
4
.hgtags
@@ -68,3 +68,7 @@ a2f7b7302e178f08725a6404ddc28464409510b1 se3.2.0
|
|||||||
6a08c1205dfe5e537e5c2dc99d05e05d1d3928f6 me6.2.1
|
6a08c1205dfe5e537e5c2dc99d05e05d1d3928f6 me6.2.1
|
||||||
a619f313712e2923160b8f90d8250ee0e184c7b9 pe2.4.1
|
a619f313712e2923160b8f90d8250ee0e184c7b9 pe2.4.1
|
||||||
fad463ae749b7189dce92f1e42a57ac4ee03987d se3.3.3
|
fad463ae749b7189dce92f1e42a57ac4ee03987d se3.3.3
|
||||||
|
236cf9b690a144392e7e86e7c9749fc834a8b271 me6.3.0
|
||||||
|
90318f1303858d9d01065d92d78d98b888b38ea0 se3.4.0
|
||||||
|
93ed33410df2d2f21229a77ae49c83ece2c50a55 pe2.5.0
|
||||||
|
c153aef25e5c9911f2197d13899591c50cf38ffc se3.4.1
|
||||||
|
|||||||
6
build.py
6
build.py
@@ -117,9 +117,6 @@ def build_localizations(ui, edition):
|
|||||||
loc.compile_all_po('locale')
|
loc.compile_all_po('locale')
|
||||||
loc.compile_all_po(op.join('hscommon', 'locale'))
|
loc.compile_all_po(op.join('hscommon', 'locale'))
|
||||||
loc.merge_locale_dir(op.join('hscommon', 'locale'), 'locale')
|
loc.merge_locale_dir(op.join('hscommon', 'locale'), 'locale')
|
||||||
if op.exists(op.join('build', 'locale')):
|
|
||||||
shutil.rmtree(op.join('build', 'locale'))
|
|
||||||
shutil.copytree('locale', op.join('build', 'locale'), ignore=shutil.ignore_patterns('*.po', '*.pot'))
|
|
||||||
if ui == 'cocoa':
|
if ui == 'cocoa':
|
||||||
print("Creating lproj folders based on .po files")
|
print("Creating lproj folders based on .po files")
|
||||||
for lang in loc.get_langs('locale'):
|
for lang in loc.get_langs('locale'):
|
||||||
@@ -140,6 +137,9 @@ def build_localizations(ui, edition):
|
|||||||
elif ui == 'qt':
|
elif ui == 'qt':
|
||||||
loc.compile_all_po(op.join('qtlib', 'locale'))
|
loc.compile_all_po(op.join('qtlib', 'locale'))
|
||||||
loc.merge_locale_dir(op.join('qtlib', 'locale'), 'locale')
|
loc.merge_locale_dir(op.join('qtlib', 'locale'), 'locale')
|
||||||
|
if op.exists(op.join('build', 'locale')):
|
||||||
|
shutil.rmtree(op.join('build', 'locale'))
|
||||||
|
shutil.copytree('locale', op.join('build', 'locale'), ignore=shutil.ignore_patterns('*.po', '*.pot'))
|
||||||
|
|
||||||
def build_updatepot():
|
def build_updatepot():
|
||||||
print("Building .pot files from source files")
|
print("Building .pot files from source files")
|
||||||
|
|||||||
@@ -83,7 +83,10 @@ def get_itunes_songs(plistpath):
|
|||||||
for song_data in plist['Tracks'].values():
|
for song_data in plist['Tracks'].values():
|
||||||
if song_data['Track Type'] != 'File':
|
if song_data['Track Type'] != 'File':
|
||||||
continue
|
continue
|
||||||
|
try:
|
||||||
song = ITunesSong(song_data)
|
song = ITunesSong(song_data)
|
||||||
|
except KeyError: # No "Location" or "Track ID" key in track
|
||||||
|
continue
|
||||||
if io.exists(song.path):
|
if io.exists(song.path):
|
||||||
result.append(song)
|
result.append(song)
|
||||||
return result
|
return result
|
||||||
|
|||||||
@@ -40,14 +40,6 @@
|
|||||||
CE11958F1510FF700063C8AF /* PyIgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE11958E1510FF700063C8AF /* PyIgnoreListDialog.m */; };
|
CE11958F1510FF700063C8AF /* PyIgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE11958E1510FF700063C8AF /* PyIgnoreListDialog.m */; };
|
||||||
CE1195931510FF890063C8AF /* IgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE1195921510FF890063C8AF /* IgnoreListDialog.m */; };
|
CE1195931510FF890063C8AF /* IgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE1195921510FF890063C8AF /* IgnoreListDialog.m */; };
|
||||||
CE1195961510FFB20063C8AF /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE1195941510FFB20063C8AF /* IgnoreListDialog.xib */; };
|
CE1195961510FFB20063C8AF /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE1195941510FFB20063C8AF /* IgnoreListDialog.xib */; };
|
||||||
CE11959F151100020063C8AF /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330D12E5D3ED0029EF25 /* DetailsPanel.xib */; };
|
|
||||||
CE1195A0151100020063C8AF /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330F12E5D3ED0029EF25 /* DirectoryPanel.xib */; };
|
|
||||||
CE1195A1151100020063C8AF /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331112E5D3ED0029EF25 /* MainMenu.xib */; };
|
|
||||||
CE1195A2151100020063C8AF /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331312E5D3ED0029EF25 /* ProblemDialog.xib */; };
|
|
||||||
CE1195A3151100020063C8AF /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE1195941510FFB20063C8AF /* IgnoreListDialog.xib */; };
|
|
||||||
CE1195A4151100020063C8AF /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331512E5D3ED0029EF25 /* ResultWindow.xib */; };
|
|
||||||
CE1195A5151100020063C8AF /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05332112E5D4100029EF25 /* Preferences.xib */; };
|
|
||||||
CE1195A6151100020063C8AF /* PrioritizeDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE84C9BB1423AF200050A6AD /* PrioritizeDialog.xib */; };
|
|
||||||
CE1425890AFB718500BD5167 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE1425880AFB718500BD5167 /* Sparkle.framework */; };
|
CE1425890AFB718500BD5167 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE1425880AFB718500BD5167 /* Sparkle.framework */; };
|
||||||
CE14259F0AFB719300BD5167 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE1425880AFB718500BD5167 /* Sparkle.framework */; };
|
CE14259F0AFB719300BD5167 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE1425880AFB718500BD5167 /* Sparkle.framework */; };
|
||||||
CE1EAA0A12DF3E81009BA949 /* HSRecentFiles.m in Sources */ = {isa = PBXBuildFile; fileRef = CE1EAA0912DF3E81009BA949 /* HSRecentFiles.m */; };
|
CE1EAA0A12DF3E81009BA949 /* HSRecentFiles.m in Sources */ = {isa = PBXBuildFile; fileRef = CE1EAA0912DF3E81009BA949 /* HSRecentFiles.m */; };
|
||||||
@@ -705,14 +697,6 @@
|
|||||||
CE9705FF14C46F60007A28F6 /* py in Resources */,
|
CE9705FF14C46F60007A28F6 /* py in Resources */,
|
||||||
CE97060114C46F70007A28F6 /* dg_cocoa.py in Resources */,
|
CE97060114C46F70007A28F6 /* dg_cocoa.py in Resources */,
|
||||||
CE1195961510FFB20063C8AF /* IgnoreListDialog.xib in Resources */,
|
CE1195961510FFB20063C8AF /* IgnoreListDialog.xib in Resources */,
|
||||||
CE11959F151100020063C8AF /* DetailsPanel.xib in Resources */,
|
|
||||||
CE1195A0151100020063C8AF /* DirectoryPanel.xib in Resources */,
|
|
||||||
CE1195A1151100020063C8AF /* MainMenu.xib in Resources */,
|
|
||||||
CE1195A2151100020063C8AF /* ProblemDialog.xib in Resources */,
|
|
||||||
CE1195A3151100020063C8AF /* IgnoreListDialog.xib in Resources */,
|
|
||||||
CE1195A4151100020063C8AF /* ResultWindow.xib in Resources */,
|
|
||||||
CE1195A5151100020063C8AF /* Preferences.xib in Resources */,
|
|
||||||
CE1195A6151100020063C8AF /* PrioritizeDialog.xib in Resources */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -51,14 +51,6 @@
|
|||||||
CE7501AD14C477B100E2A349 /* PyStatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE75019B14C477B100E2A349 /* PyStatsLabel.m */; };
|
CE7501AD14C477B100E2A349 /* PyStatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE75019B14C477B100E2A349 /* PyStatsLabel.m */; };
|
||||||
CE7501AE14C477B100E2A349 /* PyTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE75019D14C477B100E2A349 /* PyTable.m */; };
|
CE7501AE14C477B100E2A349 /* PyTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE75019D14C477B100E2A349 /* PyTable.m */; };
|
||||||
CE7857971511019400174D51 /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7857951511019400174D51 /* IgnoreListDialog.xib */; };
|
CE7857971511019400174D51 /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7857951511019400174D51 /* IgnoreListDialog.xib */; };
|
||||||
CE78579B151101B000174D51 /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339312E5DA350029EF25 /* DirectoryPanel.xib */; };
|
|
||||||
CE78579C151101B000174D51 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339512E5DA350029EF25 /* MainMenu.xib */; };
|
|
||||||
CE78579D151101B000174D51 /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339712E5DA350029EF25 /* ProblemDialog.xib */; };
|
|
||||||
CE7857A1151101C900174D51 /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339912E5DA350029EF25 /* ResultWindow.xib */; };
|
|
||||||
CE7857A2151101C900174D51 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */; };
|
|
||||||
CE7857A3151101C900174D51 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A512E5DA4D0029EF25 /* Preferences.xib */; };
|
|
||||||
CE7857A6151101DD00174D51 /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339912E5DA350029EF25 /* ResultWindow.xib */; };
|
|
||||||
CE7857A7151101DD00174D51 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */; };
|
|
||||||
CE7857AA1511021200174D51 /* PyIgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7857A91511021200174D51 /* PyIgnoreListDialog.m */; };
|
CE7857AA1511021200174D51 /* PyIgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7857A91511021200174D51 /* PyIgnoreListDialog.m */; };
|
||||||
CE7857AD1511022A00174D51 /* IgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7857AC1511022A00174D51 /* IgnoreListDialog.m */; };
|
CE7857AD1511022A00174D51 /* IgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7857AC1511022A00174D51 /* IgnoreListDialog.m */; };
|
||||||
CE7AC9191119911200D02F6C /* progress.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7AC9161119911200D02F6C /* progress.xib */; };
|
CE7AC9191119911200D02F6C /* progress.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7AC9161119911200D02F6C /* progress.xib */; };
|
||||||
@@ -707,14 +699,6 @@
|
|||||||
CE75017514C4771800E2A349 /* py in Resources */,
|
CE75017514C4771800E2A349 /* py in Resources */,
|
||||||
CE75017714C4772100E2A349 /* dg_cocoa.py in Resources */,
|
CE75017714C4772100E2A349 /* dg_cocoa.py in Resources */,
|
||||||
CE7857971511019400174D51 /* IgnoreListDialog.xib in Resources */,
|
CE7857971511019400174D51 /* IgnoreListDialog.xib in Resources */,
|
||||||
CE78579B151101B000174D51 /* DirectoryPanel.xib in Resources */,
|
|
||||||
CE78579C151101B000174D51 /* MainMenu.xib in Resources */,
|
|
||||||
CE78579D151101B000174D51 /* ProblemDialog.xib in Resources */,
|
|
||||||
CE7857A1151101C900174D51 /* ResultWindow.xib in Resources */,
|
|
||||||
CE7857A2151101C900174D51 /* DetailsPanel.xib in Resources */,
|
|
||||||
CE7857A3151101C900174D51 /* Preferences.xib in Resources */,
|
|
||||||
CE7857A6151101DD00174D51 /* ResultWindow.xib in Resources */,
|
|
||||||
CE7857A7151101DD00174D51 /* DetailsPanel.xib in Resources */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
|||||||
- (void)setScanOptions
|
- (void)setScanOptions
|
||||||
{
|
{
|
||||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||||
[model setScanType:n2b([ud objectForKey:@"scanType"])];
|
[model setScanType:n2i([ud objectForKey:@"scanType"])];
|
||||||
[model setMinMatchPercentage:n2i([ud objectForKey:@"minMatchPercentage"])];
|
[model setMinMatchPercentage:n2i([ud objectForKey:@"minMatchPercentage"])];
|
||||||
[model setWordWeighting:n2b([ud objectForKey:@"wordWeighting"])];
|
[model setWordWeighting:n2b([ud objectForKey:@"wordWeighting"])];
|
||||||
[model setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];
|
[model setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];
|
||||||
|
|||||||
@@ -9,10 +9,6 @@
|
|||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||||
CE073F6309CAE1A3005C1D2F /* help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* help */; };
|
CE073F6309CAE1A3005C1D2F /* help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* help */; };
|
||||||
CE148035151100EC00CD5DAD /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
|
|
||||||
CE148038151100FB00CD5DAD /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
|
|
||||||
CE14803A1511010500CD5DAD /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
|
|
||||||
CE14803C1511011000CD5DAD /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
|
|
||||||
CE18004D14BDD837001B6329 /* Python in Frameworks */ = {isa = PBXBuildFile; fileRef = CE18004C14BDD837001B6329 /* Python */; };
|
CE18004D14BDD837001B6329 /* Python in Frameworks */ = {isa = PBXBuildFile; fileRef = CE18004C14BDD837001B6329 /* Python */; };
|
||||||
CE18004F14BDD854001B6329 /* Python in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE18004C14BDD837001B6329 /* Python */; };
|
CE18004F14BDD854001B6329 /* Python in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE18004C14BDD837001B6329 /* Python */; };
|
||||||
CE18005114BDD87B001B6329 /* py in Resources */ = {isa = PBXBuildFile; fileRef = CE18005014BDD87B001B6329 /* py */; };
|
CE18005114BDD87B001B6329 /* py in Resources */ = {isa = PBXBuildFile; fileRef = CE18005014BDD87B001B6329 /* py */; };
|
||||||
@@ -24,10 +20,6 @@
|
|||||||
CE27D3C412CCA43800859E67 /* HSAboutBox.m in Sources */ = {isa = PBXBuildFile; fileRef = CE27D3C312CCA43800859E67 /* HSAboutBox.m */; };
|
CE27D3C412CCA43800859E67 /* HSAboutBox.m in Sources */ = {isa = PBXBuildFile; fileRef = CE27D3C312CCA43800859E67 /* HSAboutBox.m */; };
|
||||||
CE31819D13D85D9B00B6D649 /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE31819913D85D9B00B6D649 /* about.xib */; };
|
CE31819D13D85D9B00B6D649 /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE31819913D85D9B00B6D649 /* about.xib */; };
|
||||||
CE31819E13D85D9B00B6D649 /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE31819B13D85D9B00B6D649 /* ErrorReportWindow.xib */; };
|
CE31819E13D85D9B00B6D649 /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE31819B13D85D9B00B6D649 /* ErrorReportWindow.xib */; };
|
||||||
CE3491E3151100A40030B64C /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
|
|
||||||
CE3491E6151100AD0030B64C /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
|
|
||||||
CE3491E9151100BB0030B64C /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
|
|
||||||
CE3491EA151100BB0030B64C /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81135612E5CE6D00A36C80 /* Preferences.xib */; };
|
|
||||||
CE381C9609914ACE003581CE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CE381C9409914ACE003581CE /* AppDelegate.m */; };
|
CE381C9609914ACE003581CE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CE381C9409914ACE003581CE /* AppDelegate.m */; };
|
||||||
CE381C9C09914ADF003581CE /* ResultWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE381C9A09914ADF003581CE /* ResultWindow.m */; };
|
CE381C9C09914ADF003581CE /* ResultWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE381C9A09914ADF003581CE /* ResultWindow.m */; };
|
||||||
CE3A3B4914BF19B8007898AB /* PyDetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE3A3B4814BF19B8007898AB /* PyDetailsPanel.m */; };
|
CE3A3B4914BF19B8007898AB /* PyDetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE3A3B4814BF19B8007898AB /* PyDetailsPanel.m */; };
|
||||||
@@ -690,14 +682,6 @@
|
|||||||
CE18005114BDD87B001B6329 /* py in Resources */,
|
CE18005114BDD87B001B6329 /* py in Resources */,
|
||||||
CEA450B814BDDFD7002DAAF2 /* dg_cocoa.py in Resources */,
|
CEA450B814BDDFD7002DAAF2 /* dg_cocoa.py in Resources */,
|
||||||
CE412C111510ECCA00484122 /* IgnoreListDialog.xib in Resources */,
|
CE412C111510ECCA00484122 /* IgnoreListDialog.xib in Resources */,
|
||||||
CE3491E3151100A40030B64C /* ResultWindow.xib in Resources */,
|
|
||||||
CE3491E6151100AD0030B64C /* ResultWindow.xib in Resources */,
|
|
||||||
CE3491E9151100BB0030B64C /* ResultWindow.xib in Resources */,
|
|
||||||
CE3491EA151100BB0030B64C /* Preferences.xib in Resources */,
|
|
||||||
CE148035151100EC00CD5DAD /* ResultWindow.xib in Resources */,
|
|
||||||
CE148038151100FB00CD5DAD /* ResultWindow.xib in Resources */,
|
|
||||||
CE14803A1511010500CD5DAD /* ResultWindow.xib in Resources */,
|
|
||||||
CE14803C1511011000CD5DAD /* ResultWindow.xib in Resources */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
__version__ = '6.3.0'
|
__version__ = '6.3.1'
|
||||||
__appname__ = 'dupeGuru Music Edition'
|
__appname__ = 'dupeGuru Music Edition'
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
__version__ = '2.4.1'
|
__version__ = '2.5.0'
|
||||||
__appname__ = 'dupeGuru Picture Edition'
|
__appname__ = 'dupeGuru Picture Edition'
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
__version__ = '3.3.3'
|
__version__ = '3.4.1'
|
||||||
__appname__ = 'dupeGuru'
|
__appname__ = 'dupeGuru'
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
=== 6.3.1 (2012-04-15)
|
||||||
|
|
||||||
|
* Fixed crash on iTunes library parsing. [Mac]
|
||||||
|
* Fixed localization issues. [Windows, Linux]
|
||||||
|
|
||||||
=== 6.3.0 (2012-03-27)
|
=== 6.3.0 (2012-03-27)
|
||||||
|
|
||||||
* Improved iTunes support. [Mac]
|
* Improved iTunes support. [Mac]
|
||||||
|
|||||||
@@ -1,3 +1,14 @@
|
|||||||
|
=== 2.5.0 (2012-03-31)
|
||||||
|
|
||||||
|
* Improved results window UI. [Windows, Linux]
|
||||||
|
* Added a dialog to edit the Ignore List.
|
||||||
|
* Added the ability to sort results by "marked" status.
|
||||||
|
* Fixed "Open with default application". (#190)
|
||||||
|
* Fixed a bug where there would be a false reporting of discarded matches. (#195)
|
||||||
|
* Fixed various localization glitches.
|
||||||
|
* Fixed hard crashes on crash reporting. (#196)
|
||||||
|
* Fixed bug where the details panel would show up at inconvenient places in the screen. [Windows, Linux]
|
||||||
|
|
||||||
=== 2.4.1 (2012-01-23)
|
=== 2.4.1 (2012-01-23)
|
||||||
|
|
||||||
* Fixed a crash on sorting by dimensions.
|
* Fixed a crash on sorting by dimensions.
|
||||||
|
|||||||
@@ -1,3 +1,19 @@
|
|||||||
|
=== 3.4.1 (2012-04-14)
|
||||||
|
|
||||||
|
* Fixed the "Folders" scan type. [Mac]
|
||||||
|
* Fixed localization issues. [Windows, Linux]
|
||||||
|
|
||||||
|
=== 3.4.0 (2012-03-29)
|
||||||
|
|
||||||
|
* Improved results window UI. [Windows, Linux]
|
||||||
|
* Added a dialog to edit the Ignore List.
|
||||||
|
* Added the ability to sort results by "marked" status.
|
||||||
|
* Fixed "Open with default application". (#190)
|
||||||
|
* Fixed a bug where there would be a false reporting of discarded matches. (#195)
|
||||||
|
* Fixed various localization glitches.
|
||||||
|
* Fixed hard crashes on crash reporting. (#196)
|
||||||
|
* Fixed bug where the details panel would show up at inconvenient places in the screen. [Windows, Linux]
|
||||||
|
|
||||||
=== 3.3.3 (2012-02-01)
|
=== 3.3.3 (2012-02-01)
|
||||||
|
|
||||||
* Fixed crash on adding some folders. [Mac OS X]
|
* Fixed crash on adding some folders. [Mac OS X]
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import sys, os
|
|||||||
|
|
||||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||||
extensions = []
|
extensions = ['sphinx.ext.todo']
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
templates_path = ['_templates']
|
templates_path = ['_templates']
|
||||||
|
|||||||
22
package.py
22
package.py
@@ -6,23 +6,38 @@
|
|||||||
# which should be included with this package. The terms are also available at
|
# which should be included with this package. The terms are also available at
|
||||||
# http://www.hardcoded.net/licenses/bsd_license
|
# http://www.hardcoded.net/licenses/bsd_license
|
||||||
|
|
||||||
import sys
|
|
||||||
import os
|
import os
|
||||||
import os.path as op
|
import os.path as op
|
||||||
import compileall
|
import compileall
|
||||||
import shutil
|
import shutil
|
||||||
import json
|
import json
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
|
||||||
from hscommon.plat import ISWINDOWS, ISLINUX
|
from hscommon.plat import ISWINDOWS, ISLINUX
|
||||||
from hscommon.build import (build_dmg, add_to_pythonpath, print_and_do, copy_packages,
|
from hscommon.build import (build_dmg, add_to_pythonpath, print_and_do, copy_packages,
|
||||||
build_debian_changelog, copy_qt_plugins, get_module_version)
|
build_debian_changelog, copy_qt_plugins, get_module_version)
|
||||||
|
|
||||||
def package_cocoa(edition):
|
def parse_args():
|
||||||
|
parser = ArgumentParser()
|
||||||
|
parser.add_argument('--sign', dest='sign_identity',
|
||||||
|
help="Sign app under specified identity before packaging (OS X only)")
|
||||||
|
args = parser.parse_args()
|
||||||
|
return args
|
||||||
|
|
||||||
|
def package_cocoa(edition, sign_identity):
|
||||||
app_path = {
|
app_path = {
|
||||||
'se': 'cocoa/se/dupeGuru.app',
|
'se': 'cocoa/se/dupeGuru.app',
|
||||||
'me': 'cocoa/me/dupeGuru ME.app',
|
'me': 'cocoa/me/dupeGuru ME.app',
|
||||||
'pe': 'cocoa/pe/dupeGuru PE.app',
|
'pe': 'cocoa/pe/dupeGuru PE.app',
|
||||||
}[edition]
|
}[edition]
|
||||||
|
# Rather than signing our app in XCode during the build phase, we sign it during the package
|
||||||
|
# phase because running the app before packaging can modify it and we want to be sure to have
|
||||||
|
# a valid signature.
|
||||||
|
if sign_identity:
|
||||||
|
sign_identity = "Developer ID Application: {}".format(sign_identity)
|
||||||
|
print_and_do('codesign --force --sign "{}" "{}"'.format(sign_identity, app_path))
|
||||||
|
else:
|
||||||
|
print("WARNING: packaging an unsigned application")
|
||||||
build_dmg(app_path, '.')
|
build_dmg(app_path, '.')
|
||||||
|
|
||||||
def package_windows(edition, dev):
|
def package_windows(edition, dev):
|
||||||
@@ -107,13 +122,14 @@ def package_debian(edition):
|
|||||||
os.system("dpkg-buildpackage")
|
os.system("dpkg-buildpackage")
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
args = parse_args()
|
||||||
conf = json.load(open('conf.json'))
|
conf = json.load(open('conf.json'))
|
||||||
edition = conf['edition']
|
edition = conf['edition']
|
||||||
ui = conf['ui']
|
ui = conf['ui']
|
||||||
dev = conf['dev']
|
dev = conf['dev']
|
||||||
print("Packaging dupeGuru {0} with UI {1}".format(edition.upper(), ui))
|
print("Packaging dupeGuru {0} with UI {1}".format(edition.upper(), ui))
|
||||||
if ui == 'cocoa':
|
if ui == 'cocoa':
|
||||||
package_cocoa(edition)
|
package_cocoa(edition, args.sign_identity)
|
||||||
elif ui == 'qt':
|
elif ui == 'qt':
|
||||||
if ISWINDOWS:
|
if ISWINDOWS:
|
||||||
package_windows(edition, dev)
|
package_windows(edition, dev)
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
# which should be included with this package. The terms are also available at
|
# which should be included with this package. The terms are also available at
|
||||||
# http://www.hardcoded.net/licenses/bsd_license
|
# http://www.hardcoded.net/licenses/bsd_license
|
||||||
|
|
||||||
from PyQt4.QtCore import SIGNAL
|
|
||||||
from PyQt4.QtGui import QMessageBox, QAction
|
from PyQt4.QtGui import QMessageBox, QAction
|
||||||
|
|
||||||
from hscommon.trans import trget
|
from hscommon.trans import trget
|
||||||
@@ -15,11 +14,11 @@ from ..base.result_window import ResultWindow as ResultWindowBase
|
|||||||
tr = trget('ui')
|
tr = trget('ui')
|
||||||
|
|
||||||
class ResultWindow(ResultWindowBase):
|
class ResultWindow(ResultWindowBase):
|
||||||
def _setupUi(self):
|
def _setupMenu(self):
|
||||||
ResultWindowBase._setupUi(self)
|
ResultWindowBase._setupMenu(self)
|
||||||
self.actionClearPictureCache = QAction(tr("Clear Picture Cache"), self)
|
self.actionClearPictureCache = QAction(tr("Clear Picture Cache"), self)
|
||||||
self.menuFile.insertAction(self.actionClearIgnoreList, self.actionClearPictureCache)
|
self.menuFile.insertAction(self.actionSaveResults, self.actionClearPictureCache)
|
||||||
self.connect(self.actionClearPictureCache, SIGNAL("triggered()"), self.clearPictureCacheTriggered)
|
self.actionClearPictureCache.triggered.connect(self.clearPictureCacheTriggered)
|
||||||
|
|
||||||
def clearPictureCacheTriggered(self):
|
def clearPictureCacheTriggered(self):
|
||||||
title = tr("Clear Picture Cache")
|
title = tr("Clear Picture Cache")
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<DOCUMENT type="Advanced Installer" CreateVersion="4.4.1" version="7.5.2" modules="professional" RootPath="." Language="en">
|
<DOCUMENT Type="Advanced Installer" CreateVersion="4.4.1" version="8.0.2" Modules="professional" RootPath="." Language="en">
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiPropsComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.MsiPropsComponent">
|
||||||
<ROW Property="AI_FINDEXE_TITLE" Value="Select the installation package for [|ProductName]" ValueLocId="AI.Property.FindExeTitle"/>
|
<ROW Property="AI_FINDEXE_TITLE" Value="Select the installation package for [|ProductName]" ValueLocId="AI.Property.FindExeTitle"/>
|
||||||
<ROW Property="AI_SHORTCUTSREG" Value="0|0|0|"/>
|
<ROW Property="AI_SHORTCUTSREG" Value="0|0|0|"/>
|
||||||
@@ -20,80 +20,34 @@
|
|||||||
<ROW Property="RUNAPPLICATION" Value="1" Type="4"/>
|
<ROW Property="RUNAPPLICATION" Value="1" Type="4"/>
|
||||||
<ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/>
|
<ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/>
|
||||||
<ROW Property="UpgradeCode" Value="{33E0D6C8-D7C6-46ED-B1A9-ECFE409EC9D5}"/>
|
<ROW Property="UpgradeCode" Value="{33E0D6C8-D7C6-46ED-B1A9-ECFE409EC9D5}"/>
|
||||||
<ROW Property="WindowsFamily9X" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/>
|
<ROW Property="WindowsType9X" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/>
|
||||||
<ROW Property="WindowsTypeNT" MultiBuildValue="DefaultBuild:Windows 2000" ValueLocId="-"/>
|
<ROW Property="WindowsType9XDisplay" MultiBuildValue="DefaultBuild:Windows 9x/ME" ValueLocId="-"/>
|
||||||
|
<ROW Property="WindowsTypeNT" MultiBuildValue="DefaultBuild:Windows NT 4.0, Windows NT 4.0 Service Pack 1, Windows NT 4.0 Service Pack 2, Windows NT 4.0 Service Pack 3, Windows NT 4.0 Service Pack 4, Windows NT 4.0 Service Pack 5, Windows NT 4.0 Service Pack 6" ValueLocId="-"/>
|
||||||
|
<ROW Property="WindowsTypeNTDisplay" MultiBuildValue="DefaultBuild:Windows NT 4.0" ValueLocId="-"/>
|
||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiDirsComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.MsiDirsComponent">
|
||||||
<ROW Directory="APPDIR" Directory_Parent="TARGETDIR" DefaultDir="APPDIR:." IsPseudoRoot="1"/>
|
<ROW Directory="APPDIR" Directory_Parent="TARGETDIR" DefaultDir="APPDIR:." IsPseudoRoot="1"/>
|
||||||
<ROW Directory="DesktopFolder" Directory_Parent="TARGETDIR" DefaultDir="Deskto~1|DesktopFolder" IsPseudoRoot="1"/>
|
<ROW Directory="DesktopFolder" Directory_Parent="TARGETDIR" DefaultDir="Deskto~1|DesktopFolder" IsPseudoRoot="1"/>
|
||||||
<ROW Directory="SHORTCUTDIR" Directory_Parent="TARGETDIR" DefaultDir="SHORTC~1|SHORTCUTDIR" IsPseudoRoot="1"/>
|
<ROW Directory="SHORTCUTDIR" Directory_Parent="TARGETDIR" DefaultDir="SHORTC~1|SHORTCUTDIR" IsPseudoRoot="1"/>
|
||||||
<ROW Directory="TARGETDIR" DefaultDir="SourceDir"/>
|
<ROW Directory="TARGETDIR" DefaultDir="SourceDir"/>
|
||||||
<ROW Directory="accessible_DIR" Directory_Parent="qt4_plugins_DIR" DefaultDir="access~1|accessible"/>
|
|
||||||
<ROW Directory="codecs_DIR" Directory_Parent="qt4_plugins_DIR" DefaultDir="codecs"/>
|
|
||||||
<ROW Directory="iconengines_DIR" Directory_Parent="qt4_plugins_DIR" DefaultDir="iconen~1|iconengines"/>
|
|
||||||
<ROW Directory="imageformats_DIR" Directory_Parent="qt4_plugins_DIR" DefaultDir="imagef~1|imageformats"/>
|
|
||||||
<ROW Directory="qt4_plugins_DIR" Directory_Parent="APPDIR" DefaultDir="qt4_pl~1|qt4_plugins"/>
|
|
||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiCompsComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.MsiCompsComponent">
|
||||||
<ROW Component="AIShRegAnswer" ComponentId="{775090B3-2E56-40F5-9DD8-24A2F82DA601}" Directory_="APPDIR" Attributes="4" KeyPath="AIShRegAnswer"/>
|
<ROW Component="AIShRegAnswer" ComponentId="{775090B3-2E56-40F5-9DD8-24A2F82DA601}" Directory_="APPDIR" Attributes="4" KeyPath="AIShRegAnswer"/>
|
||||||
<ROW Component="AI_ExePath" ComponentId="{56EC90C1-F906-4F6E-95B2-1876CAA651C2}" Directory_="APPDIR" Attributes="4" KeyPath="AI_ExePath"/>
|
<ROW Component="AI_ExePath" ComponentId="{56EC90C1-F906-4F6E-95B2-1876CAA651C2}" Directory_="APPDIR" Attributes="4" KeyPath="AI_ExePath"/>
|
||||||
<ROW Component="CurrentVersion" ComponentId="{398CD484-F093-4CEC-BE84-1BD0DD461942}" Directory_="APPDIR" Attributes="4" KeyPath="CurrentVersion"/>
|
<ROW Component="CurrentVersion" ComponentId="{398CD484-F093-4CEC-BE84-1BD0DD461942}" Directory_="APPDIR" Attributes="4" KeyPath="CurrentVersion"/>
|
||||||
<ROW Component="QtCore4.dll" ComponentId="{F517476C-BC6D-40B6-A063-5A10680ECA05}" Directory_="APPDIR" Attributes="0" KeyPath="QtCore4.dll"/>
|
|
||||||
<ROW Component="QtGui4.dll" ComponentId="{4915BAC4-AFB0-42E1-BF2E-D4C3E58D4BEE}" Directory_="APPDIR" Attributes="0" KeyPath="QtGui4.dll"/>
|
|
||||||
<ROW Component="bz2.pyd" ComponentId="{E03E8F51-0E8D-40A2-9ED0-A8EA0ED4CD19}" Directory_="APPDIR" Attributes="0" KeyPath="bz2.pyd" Type="0"/>
|
|
||||||
<ROW Component="dupeGuru.exe" ComponentId="{A8FFC84F-B54B-4883-B9FD-5C545AF0E51C}" Directory_="APPDIR" Attributes="0" KeyPath="dupeGuru.exe"/>
|
<ROW Component="dupeGuru.exe" ComponentId="{A8FFC84F-B54B-4883-B9FD-5C545AF0E51C}" Directory_="APPDIR" Attributes="0" KeyPath="dupeGuru.exe"/>
|
||||||
<ROW Component="python26.dll" ComponentId="{C47E3AEB-FCE1-4A7D-90AF-26D52100756F}" Directory_="APPDIR" Attributes="0" KeyPath="python26.dll"/>
|
|
||||||
<ROW Component="qcncodecs4.dll" ComponentId="{1FA15E05-79B4-490E-8BE7-2915DAFECDA0}" Directory_="codecs_DIR" Attributes="0" KeyPath="qcncodecs4.dll"/>
|
|
||||||
<ROW Component="qgif4.dll" ComponentId="{12390BD7-63E5-4BAE-A760-84D6E47387F3}" Directory_="imageformats_DIR" Attributes="0" KeyPath="qgif4.dll"/>
|
|
||||||
<ROW Component="qico4.dll" ComponentId="{7EC94828-5141-4383-BB9C-89C6AE543237}" Directory_="imageformats_DIR" Attributes="0" KeyPath="qico4.dll"/>
|
|
||||||
<ROW Component="qjpcodecs4.dll" ComponentId="{A607689B-97DD-4F1F-9655-7EEC2D934A75}" Directory_="codecs_DIR" Attributes="0" KeyPath="qjpcodecs4.dll"/>
|
|
||||||
<ROW Component="qjpeg4.dll" ComponentId="{58EB6546-1E7D-48E3-A407-08B945D68317}" Directory_="imageformats_DIR" Attributes="0" KeyPath="qjpeg4.dll"/>
|
|
||||||
<ROW Component="qkrcodecs4.dll" ComponentId="{3D322ADA-9D38-4B5F-8335-44BDE935D5D7}" Directory_="codecs_DIR" Attributes="0" KeyPath="qkrcodecs4.dll"/>
|
|
||||||
<ROW Component="qmng4.dll" ComponentId="{11B243B6-A6E5-4282-A58B-5A4F5A2CB253}" Directory_="imageformats_DIR" Attributes="0" KeyPath="qmng4.dll"/>
|
|
||||||
<ROW Component="qsvg4.dll" ComponentId="{D689DDEB-D4E9-4DE0-B32B-85FD25C40726}" Directory_="imageformats_DIR" Attributes="0" KeyPath="qsvg4.dll"/>
|
|
||||||
<ROW Component="qsvgicon4.dll" ComponentId="{6EF94FDD-3E92-4886-925F-B264C962E7EF}" Directory_="iconengines_DIR" Attributes="0" KeyPath="qsvgicon4.dll"/>
|
|
||||||
<ROW Component="qtaccessiblewidgets4.dll" ComponentId="{0DB9EE4C-922F-42AC-80CC-4EA3CBBB1629}" Directory_="accessible_DIR" Attributes="0" KeyPath="qtaccessiblewidgets4.dll"/>
|
|
||||||
<ROW Component="qtiff4.dll" ComponentId="{660F482B-9508-4A26-BC1A-610E84829CA4}" Directory_="imageformats_DIR" Attributes="0" KeyPath="qtiff4.dll"/>
|
|
||||||
<ROW Component="qtwcodecs4.dll" ComponentId="{68610953-B652-4340-BBB9-B1EEB3A6AF7A}" Directory_="codecs_DIR" Attributes="0" KeyPath="qtwcodecs4.dll"/>
|
|
||||||
<ROW Component="updater.exe" ComponentId="{CB63C33D-EB1B-420A-8BAA-CD380923F12B}" Directory_="APPDIR" Attributes="0" KeyPath="updater.exe"/>
|
<ROW Component="updater.exe" ComponentId="{CB63C33D-EB1B-420A-8BAA-CD380923F12B}" Directory_="APPDIR" Attributes="0" KeyPath="updater.exe"/>
|
||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiFeatsComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.MsiFeatsComponent">
|
||||||
<ROW Feature="MainFeature" Title="MainFeature" Description="Description" Display="1" Level="1" Directory_="APPDIR" Attributes="0" Components="updater.exe dupeGuru.exe AIShRegAnswer python26.dll QtCore4.dll QtGui4.dll bz2.pyd qtaccessiblewidgets4.dll qcncodecs4.dll qjpcodecs4.dll qkrcodecs4.dll qtwcodecs4.dll qsvgicon4.dll qgif4.dll qico4.dll qjpeg4.dll qmng4.dll qsvg4.dll qtiff4.dll AI_ExePath CurrentVersion"/>
|
<ROW Feature="MainFeature" Title="MainFeature" Description="Description" Display="1" Level="1" Directory_="APPDIR" Attributes="0" Components="updater.exe dupeGuru.exe AIShRegAnswer AI_ExePath CurrentVersion"/>
|
||||||
<ATTRIBUTE name="CurrentFeature" value="MainFeature"/>
|
<ATTRIBUTE name="CurrentFeature" value="MainFeature"/>
|
||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiFilesComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.MsiFilesComponent">
|
||||||
<ROW File="PyQt4.QtCore.pyd" Component_="bz2.pyd" FileName="PyQt4Q~1.pyd|PyQt4.QtCore.pyd" Attributes="0" SourcePath="dist\PyQt4.QtCore.pyd" SelfReg="false" Sequence="7"/>
|
|
||||||
<ROW File="PyQt4.QtGui.pyd" Component_="bz2.pyd" FileName="PyQt4Q~2.pyd|PyQt4.QtGui.pyd" Attributes="0" SourcePath="dist\PyQt4.QtGui.pyd" SelfReg="false" Sequence="8"/>
|
|
||||||
<ROW File="QtCore4.dll" Component_="QtCore4.dll" FileName="QtCore4.dll" Attributes="0" SourcePath="dist\QtCore4.dll" SelfReg="false" Sequence="4"/>
|
|
||||||
<ROW File="QtGui4.dll" Component_="QtGui4.dll" FileName="QtGui4.dll" Attributes="0" SourcePath="dist\QtGui4.dll" SelfReg="false" Sequence="5"/>
|
|
||||||
<ROW File="bz2.pyd" Component_="bz2.pyd" FileName="bz2.pyd" Attributes="0" SourcePath="dist\bz2.pyd" SelfReg="false" Sequence="6"/>
|
|
||||||
<ROW File="dupeGuru.exe" Component_="dupeGuru.exe" FileName="dupeGuru.exe" Version="65535.65535.65535.65535" Attributes="0" SourcePath="dist\dupeGuru.exe" SelfReg="false" Sequence="2"/>
|
<ROW File="dupeGuru.exe" Component_="dupeGuru.exe" FileName="dupeGuru.exe" Version="65535.65535.65535.65535" Attributes="0" SourcePath="dist\dupeGuru.exe" SelfReg="false" Sequence="2"/>
|
||||||
<ROW File="dupeGuru.upx" Component_="bz2.pyd" FileName="dupeGuru.upx" Attributes="0" SourcePath="dist\dupeGuru.upx" SelfReg="false" Sequence="27"/>
|
<ROW File="updater.exe" Component_="updater.exe" FileName="updater.exe" Attributes="0" SourcePath="<AI_STUBS>updater.exe" SelfReg="false" Sequence="1"/>
|
||||||
<ROW File="hashlib.pyd" Component_="bz2.pyd" FileName="_hashlib.pyd" Attributes="0" SourcePath="dist\_hashlib.pyd" SelfReg="false" Sequence="24"/>
|
|
||||||
<ROW File="lxml.etree.pyd" Component_="bz2.pyd" FileName="lxmlet~1.pyd|lxml.etree.pyd" Attributes="0" SourcePath="dist\lxml.etree.pyd" SelfReg="false" Sequence="28"/>
|
|
||||||
<ROW File="python26.dll" Component_="python26.dll" FileName="python26.dll" Attributes="0" SourcePath="dist\python26.dll" SelfReg="false" Sequence="3"/>
|
|
||||||
<ROW File="qcncodecs4.dll" Component_="qcncodecs4.dll" FileName="qcncod~1.dll|qcncodecs4.dll" Attributes="0" SourcePath="dist\qt4_plugins\codecs\qcncodecs4.dll" SelfReg="false" Sequence="10"/>
|
|
||||||
<ROW File="qgif4.dll" Component_="qgif4.dll" FileName="qgif4.dll" Attributes="0" SourcePath="dist\qt4_plugins\imageformats\qgif4.dll" SelfReg="false" Sequence="15"/>
|
|
||||||
<ROW File="qico4.dll" Component_="qico4.dll" FileName="qico4.dll" Attributes="0" SourcePath="dist\qt4_plugins\imageformats\qico4.dll" SelfReg="false" Sequence="16"/>
|
|
||||||
<ROW File="qjpcodecs4.dll" Component_="qjpcodecs4.dll" FileName="qjpcod~1.dll|qjpcodecs4.dll" Attributes="0" SourcePath="dist\qt4_plugins\codecs\qjpcodecs4.dll" SelfReg="false" Sequence="11"/>
|
|
||||||
<ROW File="qjpeg4.dll" Component_="qjpeg4.dll" FileName="qjpeg4.dll" Attributes="0" SourcePath="dist\qt4_plugins\imageformats\qjpeg4.dll" SelfReg="false" Sequence="17"/>
|
|
||||||
<ROW File="qkrcodecs4.dll" Component_="qkrcodecs4.dll" FileName="qkrcod~1.dll|qkrcodecs4.dll" Attributes="0" SourcePath="dist\qt4_plugins\codecs\qkrcodecs4.dll" SelfReg="false" Sequence="12"/>
|
|
||||||
<ROW File="qmng4.dll" Component_="qmng4.dll" FileName="qmng4.dll" Attributes="0" SourcePath="dist\qt4_plugins\imageformats\qmng4.dll" SelfReg="false" Sequence="18"/>
|
|
||||||
<ROW File="qsvg4.dll" Component_="qsvg4.dll" FileName="qsvg4.dll" Attributes="0" SourcePath="dist\qt4_plugins\imageformats\qsvg4.dll" SelfReg="false" Sequence="19"/>
|
|
||||||
<ROW File="qsvgicon4.dll" Component_="qsvgicon4.dll" FileName="qsvgic~1.dll|qsvgicon4.dll" Attributes="0" SourcePath="dist\qt4_plugins\iconengines\qsvgicon4.dll" SelfReg="false" Sequence="14"/>
|
|
||||||
<ROW File="qtaccessiblewidgets4.dll" Component_="qtaccessiblewidgets4.dll" FileName="qtacce~2.dll|qtaccessiblewidgets4.dll" Attributes="0" SourcePath="dist\qt4_plugins\accessible\qtaccessiblewidgets4.dll" SelfReg="false" Sequence="9"/>
|
|
||||||
<ROW File="qtiff4.dll" Component_="qtiff4.dll" FileName="qtiff4.dll" Attributes="0" SourcePath="dist\qt4_plugins\imageformats\qtiff4.dll" SelfReg="false" Sequence="20"/>
|
|
||||||
<ROW File="qtwcodecs4.dll" Component_="qtwcodecs4.dll" FileName="qtwcod~1.dll|qtwcodecs4.dll" Attributes="0" SourcePath="dist\qt4_plugins\codecs\qtwcodecs4.dll" SelfReg="false" Sequence="13"/>
|
|
||||||
<ROW File="select.pyd" Component_="bz2.pyd" FileName="select.pyd" Attributes="0" SourcePath="dist\select.pyd" SelfReg="false" Sequence="21"/>
|
|
||||||
<ROW File="send2trash_win.pyd" Component_="bz2.pyd" FileName="_send2~1.pyd|_send2trash_win.pyd" Attributes="0" SourcePath="dist\_send2trash_win.pyd" SelfReg="false" Sequence="29"/>
|
|
||||||
<ROW File="sip.pyd" Component_="bz2.pyd" FileName="sip.pyd" Attributes="0" SourcePath="dist\sip.pyd" SelfReg="false" Sequence="22"/>
|
|
||||||
<ROW File="socket.pyd" Component_="bz2.pyd" FileName="_socket.pyd" Attributes="0" SourcePath="dist\_socket.pyd" SelfReg="false" Sequence="25"/>
|
|
||||||
<ROW File="ssl.pyd" Component_="bz2.pyd" FileName="_ssl.pyd" Attributes="0" SourcePath="dist\_ssl.pyd" SelfReg="false" Sequence="26"/>
|
|
||||||
<ROW File="unicodedata.pyd" Component_="bz2.pyd" FileName="unicod~1.pyd|unicodedata.pyd" Attributes="0" SourcePath="dist\unicodedata.pyd" SelfReg="false" Sequence="23"/>
|
|
||||||
<ROW File="updater.exe" Component_="updater.exe" FileName="updater.exe" Attributes="0" SourcePath="<AI_HOME>updater.exe" SelfReg="false" Sequence="1"/>
|
|
||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.BuildComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.BuildComponent">
|
||||||
<ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageName="install\dupeguru_win_[|ProductVersion]" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" CreateMd5="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName]\install" ExtUI="true" ExeName="dupeguru_win_[|ProductVersion]"/>
|
<ROW BuildKey="DefaultBuild" BuildName="DefaultBuild" BuildOrder="1" BuildType="0" PackageFolder="install" PackageFileName="dupeguru_win_[|ProductVersion]" Languages="en" InstallationType="4" CabsLocation="1" PackageType="1" FilesInsideExe="true" CreateMd5="true" ExtractionFolder="[AppDataFolder][|Manufacturer]\[|ProductName]\install" ExtUI="true" ExeName="dupeguru_win_[|ProductVersion]"/>
|
||||||
<ATTRIBUTE name="CurrentBuild" value="DefaultBuild"/>
|
<ATTRIBUTE name="CurrentBuild" value="DefaultBuild"/>
|
||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.DictionaryComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.DictionaryComponent">
|
||||||
@@ -148,6 +102,14 @@
|
|||||||
<ROW Dialog_="PatchWelcomeDlg" Control_="Next" Event="NewDialog" Argument="VerifyReadyDlg" Condition="AI_PATCH" Ordering="3"/>
|
<ROW Dialog_="PatchWelcomeDlg" Control_="Next" Event="NewDialog" Argument="VerifyReadyDlg" Condition="AI_PATCH" Ordering="3"/>
|
||||||
<ROW Dialog_="ShortcutsDlg" Control_="Back" Event="NewDialog" Argument="WelcomeDlg" Condition="AI_INSTALL" Ordering="1"/>
|
<ROW Dialog_="ShortcutsDlg" Control_="Back" Event="NewDialog" Argument="WelcomeDlg" Condition="AI_INSTALL" Ordering="1"/>
|
||||||
<ROW Dialog_="ShortcutsDlg" Control_="Next" Event="NewDialog" Argument="FolderDlg" Condition="AI_INSTALL" Ordering="1"/>
|
<ROW Dialog_="ShortcutsDlg" Control_="Next" Event="NewDialog" Argument="FolderDlg" Condition="AI_INSTALL" Ordering="1"/>
|
||||||
|
<ROW Dialog_="CustomizeDlg" Control_="Back" Event="NewDialog" Argument="MaintenanceTypeDlg" Condition="AI_MAINT" Ordering="1"/>
|
||||||
|
<ROW Dialog_="CustomizeDlg" Control_="Next" Event="NewDialog" Argument="VerifyReadyDlg" Condition="AI_MAINT" Ordering="1"/>
|
||||||
|
<ROW Dialog_="MaintenanceTypeDlg" Control_="ChangeButton" Event="NewDialog" Argument="CustomizeDlg" Condition="AI_MAINT" Ordering="301"/>
|
||||||
|
<ROW Dialog_="ResumeDlg" Control_="Install" Event="EndDialog" Argument="Return" Condition="AI_RESUME" Ordering="299"/>
|
||||||
|
<ROW Dialog_="VerifyReadyDlg" Control_="Install" Event="EndDialog" Argument="Return" Condition="AI_MAINT" Ordering="197"/>
|
||||||
|
<ROW Dialog_="VerifyReadyDlg" Control_="Install" Event="EndDialog" Argument="Return" Condition="AI_PATCH" Ordering="198"/>
|
||||||
|
<ROW Dialog_="VerifyReadyDlg" Control_="Install" Event="EndDialog" Argument="Return" Condition="AI_INSTALL" Ordering="199"/>
|
||||||
|
<ROW Dialog_="VerifyReadyDlg" Control_="Back" Event="NewDialog" Argument="CustomizeDlg" Condition="AI_MAINT" Ordering="201"/>
|
||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiCustActComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.MsiCustActComponent">
|
||||||
<ROW Action="AI_AppSearchEx" Type="1" Source="Prereq.dll" Target="DoAppSearchEx"/>
|
<ROW Action="AI_AppSearchEx" Type="1" Source="Prereq.dll" Target="DoAppSearchEx"/>
|
||||||
@@ -205,8 +167,8 @@
|
|||||||
<ROW Action="AI_ResolveKnownFolders" Sequence="51"/>
|
<ROW Action="AI_ResolveKnownFolders" Sequence="51"/>
|
||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiLaunchConditionsComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.MsiLaunchConditionsComponent">
|
||||||
<ROW Condition="Version9X OR VersionNT64 OR (VersionNT >= 500 )" Description="[ProductName] cannot be installed on systems earlier than [WindowsTypeNT]" DescriptionLocId="AI.LaunchCondition.NoSpecificNT" IsPredefined="true" Builds="DefaultBuild"/>
|
<ROW Condition="( Version9X OR VersionNT64 OR ( VersionNT AND ((VersionNT <> 400) OR ((VersionNT = 400) AND (ServicePackLevel >= 1))) AND ((VersionNT <> 400) OR ((VersionNT = 400) AND (ServicePackLevel <> 1))) AND ((VersionNT <> 400) OR ((VersionNT = 400) AND (ServicePackLevel <> 2))) AND ((VersionNT <> 400) OR ((VersionNT = 400) AND (ServicePackLevel <> 3))) AND ((VersionNT <> 400) OR ((VersionNT = 400) AND (ServicePackLevel <> 4))) AND ((VersionNT <> 400) OR ((VersionNT = 400) AND (ServicePackLevel <> 5))) AND ((VersionNT <> 400) OR ((VersionNT = 400) AND (ServicePackLevel <> 6))) ) )" Description="[ProductName] cannot be installed on the following Windows versions: [WindowsTypeNTDisplay]" DescriptionLocId="AI.LaunchCondition.NoSpecificNT" IsPredefined="true" Builds="DefaultBuild"/>
|
||||||
<ROW Condition="VersionNT" Description="[ProductName] cannot be installed on [WindowsFamily9X]" DescriptionLocId="AI.LaunchCondition.No9X" IsPredefined="true" Builds="DefaultBuild"/>
|
<ROW Condition="VersionNT" Description="[ProductName] cannot be installed on [WindowsType9XDisplay]" DescriptionLocId="AI.LaunchCondition.No9X" IsPredefined="true" Builds="DefaultBuild"/>
|
||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiRegLocatorComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.MsiRegLocatorComponent">
|
||||||
<ROW Signature_="AI_EXE_PATH_CU" Root="1" Key="Software\Caphyon\Advanced Installer\LZMA\[ProductCode]\[ProductVersion]" Name="AI_ExePath" Type="2"/>
|
<ROW Signature_="AI_EXE_PATH_CU" Root="1" Key="Software\Caphyon\Advanced Installer\LZMA\[ProductCode]\[ProductVersion]" Name="AI_ExePath" Type="2"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user