Virgil Dupras
10dbfa9b38
Refactoring: Path API compatibility with pathlib
...
Refactored dupeGuru to make hscommon.path's API a bit close to pathlib's
API. It's not 100% compatible yet, but it's much better than before.
This is more of a hscommon refactoring than a dupeguru one, but since
duepGuru is the main user of Path, it was the driver behind the
refactoring.
This refactoring also see the introduction of @pathify, which ensure
Path arguments. Previously, we were often unsure of whether the caller
of a function was passing a Path or a str. This problem is now solved
and this allows us to remove hscommon.io, an ill-conceived attempt to
solve that same ambiguity problem.
Fixes #235 .
2013-11-16 12:06:16 -05:00
Virgil Dupras
76f45fb5a6
Fixed appdata logic which was broken on OS X.
2013-11-10 11:05:03 -05:00
Virgil Dupras
12cf9b800b
Merge branch 'master' into develop
2013-11-09 16:21:59 -05:00
Virgil Dupras
ba7e6494c6
Fixed crash on Dupe Count sorting with Delta + Dupes Only
...
Fixes #238
2013-11-09 16:20:33 -05:00
Virgil Dupras
6d53511cee
Merge branch 'master' into develop
2013-11-08 16:03:35 -05:00
Virgil Dupras
8efefaf0bf
Improved API docs
2013-10-12 13:55:36 -04:00
Virgil Dupras
33d9569427
Refactoring: Created hscommon.desktop
...
This unit hosts previously awkward UI view methods which weren't related
to the view itself, but to the current desktop environment. These
functions are now at their appropriate place.
2013-10-12 13:54:13 -04:00
Virgil Dupras
7e8f9036d8
Began serious code documentation effort
...
Enabled the autodoc Sphinx extension and started adding docstrings to
classes, methods, etc.. It's quickly becoming quite interesting...
2013-08-18 18:36:09 -04:00
Virgil Dupras
1c779cb3ec
Removed spurious debug code
2013-08-03 17:36:12 -04:00
Virgil Dupras
e5ce6680ca
Modernized progress window GUI
...
Following the refactoring that has been initiated in pdfmasher's
"vala" branch, I pushed more progress window logic into the
core.
The UI code is now a bit dumber than it used to be, and the core
now directly decides when the progress window is shown and
hidden. The "job finished" notification is also directly sent by the
core. Job description update logic is handled by a core gui
textfield.
Job description contsants also moved to the core, triggering
a localisation migration from "ui" to "core".
2013-08-03 16:27:36 -04:00
Virgil Dupras
b11b97dd7c
Improved delta values to support non-numerical values
...
Delta values now work for non-numerical values. Any column,
when its value differs from its ref, becomes orange.
A column that was already a "delta column" keeps its previous
behavior (dupe cells for these columns are always displayed in
orange).
Sorting behavior, when Dupes Only and Delta Values are enabled
at the same time, has also been extended to non-numerical
values, making it easy to mass-mark dupe rows with orange
values.
Documentation was updated, unit tests were added.
Fixes #213
2013-07-28 17:45:23 -04:00
Virgil Dupras
7891fb5396
Refactoring: Moved some code from app.DupeGuru to fs.File.
...
Moved DupeGuru._get_display_info() to File.get_display_info().
This method used none of the app's global state or methods
and had nothing to do there.
2013-07-14 17:43:58 -04:00
Virgil Dupras
e86b23259c
Improved selection handling during ref-swapping under dupes-only mode.
...
Previously, our selection would simply be lost (because the dupes that were
just swapped wouldn't be present in the table). Now, instead of trying to
preserve our dupe-selection, we preserve our index-selection when in dupes-only
mode. [#222 ]
2013-04-28 16:27:45 -04:00
Virgil Dupras
70e505ad92
Tweaked Make Selected into Reference.
...
Having dupes from ref folders (which makes ref switching impossible) would make
the new feature glitchy (selection would be emptied). Now, in cases where the action
results in nothing being changed, the selection stays intact. [#222 ]
2013-04-28 14:12:08 -04:00
Virgil Dupras
4a8ce9b6c4
Updated copyright year to 2013.
2013-04-28 10:35:51 -04:00
Virgil Dupras
d4e6632e7e
Fixed typo in messages.
...
Sucessfully --> Successfully. [#216 state:fixed]
2013-04-28 10:20:59 -04:00
Virgil Dupras
0ced3e39c8
Allow "Open selected" to open more than one file at once.
...
When there's mpre than 10 selected dupes, a warning is shown, asking
confirmation. [#142 state:fixed]
2013-04-28 10:12:25 -04:00
Virgil Dupras
592eba9eaa
[ #222 ] Tweaked dupe selection after a ref-swapping action.
2013-04-27 10:08:38 -04:00
Virgil Dupras
df30a31782
Refactoring: Began to phase out to the use of hscommon.io in favor of Path methods.
2012-08-09 10:53:24 -04:00
Virgil Dupras
5a5a74d0e1
[ #194 state:fixed] Added the "Replace with symlink" deletion option.
2012-08-01 12:36:23 -04:00
Virgil Dupras
fcdc692b61
[ #189 state:fixed] Added "Export to CSV" feature.
2012-07-31 16:46:51 -04:00
Virgil Dupras
deb5260c6a
Pushed the error message logic in Cocoa' addDirectory into the core.
2012-07-31 15:33:44 -04:00
Virgil Dupras
4f097a3a89
[ #204 state:fixed] Added a message after re-prioritization telling how many dupe groups were changed by it.
2012-07-31 11:37:51 -04:00
Virgil Dupras
721591d3e3
Added a Deletion Options dialog that pops up when Send to Trash is triggered.
...
It offers hardlink and direct deletion options. This new feature supersedes the old "Send to Trash and Hardlink" menu item, which was removed.
2012-05-30 12:10:56 -04:00
Virgil Dupras
03712860b1
Added debug message on sending to trash.
2012-03-23 15:51:39 -04:00
Virgil Dupras
6ee56dc55c
Under Qt, added a 'marked' column thus uncoupling the marked' attribute from the 'filename' column.
...
Also, added the ability to sort by 'marked' status.
2012-03-16 15:05:52 -04:00
Virgil Dupras
771f22f208
Removed code duplication among editions in sorting algorithms.
2012-03-16 14:57:21 -04:00
Virgil Dupras
657f6743c2
Changed copyright year to 2012
2012-03-15 14:28:40 -04:00
Virgil Dupras
3fc83d6245
Added an Ignore List dialog.
2012-03-14 12:47:21 -04:00
Virgil Dupras
878c744c21
Refactoring: de-notified problems_dialog. It simplifies things.
2012-03-13 11:58:07 -04:00
Virgil Dupras
bf17eb715a
Pushed some action confirmation logic down from GUI layers to the core.
2012-03-10 14:32:56 -05:00
Virgil Dupras
cd9f54163b
Pushed some action confirmation logic down from GUI layers to the core.
2012-03-10 10:58:08 -05:00
Virgil Dupras
ef0a66f794
Pushed job_finished logic down from GUI layers to the core.
2012-03-09 13:47:28 -05:00
Virgil Dupras
5fb7742cf4
[ #188 state:fixed] Instead of showing a crash report on iTunes communication problems, show a friendlier message.
2012-03-09 11:34:08 -05:00
Virgil Dupras
22de2d803a
[ #196 state:fixed] [ #188 ] Fixed a crash on crash reporting under Cocoa and improved job management to allow threaded error handling on _job_finished().
2012-03-05 14:09:42 -05:00
Virgil Dupras
4592000464
Removed extra_fairware_reminder.
...
With the introduction of dual-mode fairware, the presence of the extra fairware reminder has been made rather useless.
2012-02-27 09:44:51 -05:00
Virgil Dupras
a1fc64cd36
Ignore files in the scanning list that point to the same path as another file in the scanning list.
2012-02-21 11:14:12 -05:00
Virgil Dupras
1b571f6fd2
Create the extra fairware reminder on-the-fly rather than on launch time.
...
--HG--
branch : objp
2012-01-15 17:31:15 -05:00
Virgil Dupras
baa2177439
Fixed a bug where re-prioritization criteria list would initially be empty.
...
That was because the dialog was created on launch time rather than on-the-fly.
--HG--
branch : objp
2012-01-15 17:24:30 -05:00
Virgil Dupras
9392f818cc
Pushed connect() calls in objc into the core.
...
--HG--
branch : objp
2012-01-13 16:34:21 -05:00
Virgil Dupras
58347bc36f
Removed view arguments from core.gui classes's init methods.
...
--HG--
branch : objp
2012-01-13 16:14:06 -05:00
Virgil Dupras
937ea73c87
Converted ProblemDialog to objp.
...
--HG--
branch : objp
2012-01-13 12:19:23 -05:00
Virgil Dupras
4c8ce4b52d
Converted the prioritize dialog to objp. A bit hackish though. Refactorings required before going further.
...
--HG--
branch : objp
2012-01-12 17:40:23 -05:00
Virgil Dupras
0d78201548
Comverted DirectoryOutline to objp. I converted HSColumns and I realized at the end that I didn't need to do it yet, but well, it will be done for ResultsTable.
...
--HG--
branch : objp
2012-01-12 15:19:40 -05:00
Virgil Dupras
e6819781f6
Converted details_panel to objp.
...
--HG--
branch : objp
2012-01-12 09:41:03 -05:00
Virgil Dupras
12467c9493
Converted extra_fairware_reminder to objp.
...
--HG--
branch : objp
2012-01-11 15:55:25 -05:00
Virgil Dupras
989026051c
Converted PyStatsLabel to a core instance mode.
...
--HG--
branch : objp
2012-01-09 11:15:20 -05:00
Virgil Dupras
1b7068bfe9
[ #179 state:fixed] Added multiple-selection to the folder selection dialog and thus added the ability to remove multiple folders at once.
2011-11-28 15:25:18 -05:00
Virgil Dupras
fca66d5108
Fixed HTML exporting.
2011-11-27 13:02:59 -05:00
Virgil Dupras
7e95404903
Moved column information in new edition-specific core result_table units.
2011-11-27 12:47:00 -05:00
Virgil Dupras
eb83b830df
Began a long overdue overhaul of the columns system. Cocoa-only so far, but it will affect the Qt part.
2011-11-26 10:55:14 -05:00
Virgil Dupras
428a400848
De-message-ified the rest of the project.
2011-11-04 14:37:07 -04:00
Virgil Dupras
d80a56db78
Started moving towards a gettext-based localization.
2011-11-01 15:44:18 -04:00
Virgil Dupras
3553d1a458
Added demo limitations.
2011-09-26 14:55:03 -04:00
Virgil Dupras
1b855ad64b
Adapted to recent fairware changes in hscommon.
2011-09-26 11:54:17 -04:00
Virgil Dupras
9a7a20472d
Pushed some logic for fairware from gui layers to hscommon.
2011-09-24 16:21:20 -04:00
Virgil Dupras
8102c89802
[ #169 state:fixed] Ignore filename extension during filename sorting in results.
2011-09-22 12:29:56 -04:00
Virgil Dupras
48e2acf0a2
[ #139 state:fixed] Make "mark selected" behave in a more standard way.
2011-09-22 12:12:43 -04:00
Virgil Dupras
abe25d6967
Refactored the scan error message system which was too complicated, especially on cocoa. Replaced it with a simpler view.show_message(msg)
call.
2011-09-22 10:35:17 -04:00
Virgil Dupras
0da1947902
Fixed broken dgme-cocoa and replaced JOB_* consts with JobType const class.
2011-09-21 13:55:26 -04:00
Virgil Dupras
70689ce057
Removed data modules and moved their functionalities to core_*.app.
2011-09-21 10:26:58 -04:00
Virgil Dupras
f2164924f7
Wrapped data modules around edition-specific core.app subclasses to prepare for data modules removal.
2011-09-20 18:40:27 -04:00
Virgil Dupras
f730f4f55a
Decoupled app in core.app from apps in qt.app and core.app_cocoa. Instead of subclassing it, they now hold a reference to it while fulfilling the role of core.app's "view".
2011-09-20 15:06:29 -04:00
Virgil Dupras
9c30486f14
[ #138 ] Completed re-prioritization workflow, now all that is needed is to add more criteria, handle corner case and build the GUI for it.
2011-09-08 12:36:57 -04:00
Virgil Dupras
99e3c34060
[ #168 state:fixed] Made the file collection phase cancellable.
2011-07-11 14:18:55 -04:00
Virgil Dupras
56207f4dbb
[ #161 state:fixed] Fixed folder sorting.
2011-06-15 11:58:33 -04:00
Virgil Dupras
0b20b35ffb
Fixed copying operations for folders which didn't work.
2011-04-14 12:55:50 +02:00
Virgil Dupras
279d44b7f3
[ #89 state:fixed] Added a Folders scan type in dgse.
...
--HG--
rename : core_se/tests/fs_test.py => core/tests/fs_test.py
2011-04-12 13:22:29 +02:00
Virgil Dupras
0fea59007c
Updated copyright year to 2011.
2011-04-12 10:04:01 +02:00
Virgil Dupras
fb3d3a135d
[ #148 state:fixed] Fixed a crash on copy/move when windows drive letters were involved.
2011-03-06 17:21:42 +01:00
Virgil Dupras
6e60ea6984
Added extra Fairware reminder. We'll see if that boosts dupeGuru contributions.
2011-03-05 13:03:23 +01:00
Virgil Dupras
084068852e
[ #140 state:fixed] Fixed a crash on showing details panel in PE right after a mark-based removal (selection wasn't refreshed).
2011-02-18 10:37:40 +01:00
Virgil Dupras
da41d07dae
[ #115 state:fixed] Re-factored the data columns (and delta columns) and made the Dimensions column a delta one.
2011-01-29 11:07:33 +01:00
Virgil Dupras
6abbeaf987
[ #132 state:fixed] Added a debug mode preference as well as extra debug loggings.
2011-01-26 12:50:44 +01:00
Virgil Dupras
6c60e76b55
Localized Fairware dialogs to french and made a few fixes here and there.
2011-01-24 11:30:45 +01:00
Virgil Dupras
42cff20710
[ #32 ] Internationalized the core and localized it to french.
2011-01-18 17:33:33 +01:00
Virgil Dupras
3ef118c9fa
Results are not automatically saved/load anymore. There's a reminder on quitting if you haven't saved your results. Also, for easier re-loading, there's a 'open recent results' menu item.
2011-01-13 16:20:03 +01:00
Virgil Dupras
eefe464fba
Replaced dependencies from hsutil to hscommon.
2011-01-11 13:36:05 +01:00
Virgil Dupras
33c0ba808c
Changed references to what has already been moved from hsutil to hscommon (io, path, testutil).
2011-01-11 11:59:53 +01:00
Virgil Dupras
92fadd26b7
[ #120 state:fixed] Fixed dangling bogus results after cancelled scan.
2010-12-30 10:24:37 +01:00
Virgil Dupras
3a9f51b600
[ #122 state:fixed] Fixed crash on scanning when file is being deleted during the scan.
2010-12-29 15:41:12 +01:00
Virgil Dupras
4886982d43
Re-licensed to BSD
2010-09-30 12:17:41 +02:00
Virgil Dupras
7360f57beb
Converted registration system to Fairware.
2010-09-29 16:49:50 +02:00
Virgil Dupras
359f9c0680
[ #92 state:fixed] Added an action to delete duplicates and then create hardlinks to group ref.
2010-09-25 15:37:18 +02:00
Virgil Dupras
0a64d653e1
[ #92 state:fixed] Added an option to ignore duplicates hardlinking to the same file.
2010-09-25 12:28:34 +02:00
Virgil Dupras
36eccb7122
Removed the "all files are refs" error message and made the "no files, can't scan" message quicker. That's because when scanning iPhoto libraries with big libraries, the GUI would hang because these checks would involve loading the whole library.
2010-08-15 15:07:44 +02:00
Virgil Dupras
12e6c400b9
Fixes here and there to make dupeGuru PE run.
2010-08-15 14:23:16 +02:00
Virgil Dupras
7450eec7eb
Added Load/Save Results menu items, allowing to save results at arbitrary places.
2010-08-13 13:06:18 +02:00
Virgil Dupras
3a5802435f
Only save results on quit if the results are actually modified.
2010-08-13 11:48:05 +02:00
Virgil Dupras
3a821edd45
Results loading now takes place in one shot (file locate and metadata read). It makes weeding out the bad files more convenient and fixes the Cancel loading glitch where we end up with "ghost" results.
2010-08-12 15:57:47 +02:00
Virgil Dupras
854d194f88
Converted to py3k. There's probably some bugs still. So far, I managed to run dupeGuru SE under pyobjc and qt.
2010-08-11 16:39:06 +02:00
Virgil Dupras
a03e2a69d4
[ #97 state:fixed] Fixed a crash on load.
2010-07-14 10:50:15 +02:00
Virgil Dupras
371426a08e
Adapted codebase to the hsutil/hscommon split and the hsmedia --> hsaudiotag rename.
2010-07-13 08:08:18 +02:00
Virgil Dupras
7346b422d5
[ #12 ] Added the Custom Command preference on the Qt side.
2010-04-13 09:02:09 +01:00
Virgil Dupras
5c80ac1c74
[ #12 ] dgse cocoa: Added custom command invocation.
2010-04-12 17:43:24 +02:00
Virgil Dupras
1e0f6bfecb
Added a dialog giving more information about the causes of problems during operations.
2010-04-12 12:21:01 +02:00
Virgil Dupras
88334acdef
[ #90 state:fixed] Fixed a rare crash on results loading.
2010-04-07 10:29:00 +02:00
Virgil Dupras
5be76d7c0f
Use the send2trash lib in _do_delete_dupe().
2010-04-07 09:11:36 +02:00
Virgil Dupras
6dd53c6bfd
Removing duplicates now preserve selected paths.
2010-02-17 18:05:19 +01:00
Virgil Dupras
6b0bfda9fb
During Make Selected Reference, it's now the selection *paths* that are restored rather than the selected *dupes*
2010-02-13 10:39:54 +01:00