Commit Graph

286 Commits

Author SHA1 Message Date
Virgil Dupras ca709a60cf Updated copyright year to 2014 2014-04-19 12:19:11 -04:00
Virgil Dupras 781f13ae1a Overwrite subfolders' state when setting states in folder dialog
Fixes #248
2014-03-15 17:31:33 -04:00
Virgil Dupras 418acf6e5e Merge branch 'regless' into develop
Conflicts:
	cocoa/inter/app.py
	core/app.py
	hscommon/reg.py
	locale/cs/LC_MESSAGES/ui.po
	locale/de/LC_MESSAGES/ui.po
	locale/fr/LC_MESSAGES/ui.po
	locale/hy/LC_MESSAGES/ui.po
	locale/it/LC_MESSAGES/ui.po
	locale/pt_BR/LC_MESSAGES/ui.po
	locale/ru/LC_MESSAGES/ui.po
	locale/ui.pot
	locale/uk/LC_MESSAGES/ui.po
	locale/vi/LC_MESSAGES/ui.po
	locale/zh_CN/LC_MESSAGES/ui.po
	qt/base/app.py
2013-12-07 10:19:31 -05:00
Virgil Dupras cb8bb5a70e Disable symlink/hardlink option when not relevant (Qt)
When the "Replace with links" option is not enabled, the choice of
symlink or hardlink is irrelevant and causes confusion. Implemented core
mechanism for controlling the enabled state of that option. Also
implemented the Qt interface for it. Cocoa-part is still to be done.

I used this opportunity to greatly enhance documentation of this part of
the code. I'm beginning to like documenting...

Ref #247.
2013-12-06 15:48:01 -05:00
Virgil Dupras 01403a3f92 Removed fairware 2013-11-30 17:54:40 -05:00
Virgil Dupras c1cfa86ad1 Make Cmd+A select all folders in the Folder Selection dialog (Cocoa)
Fixes #228.
2013-11-24 10:12:47 -05:00
Virgil Dupras c34c9562d3 Make non-numeric delta comparison case insensitive
Fixes #239.
2013-11-23 15:31:20 -05:00
Virgil Dupras 0e542577b0 Merge branch 'master' into develop 2013-11-23 12:39:59 -05:00
Virgil Dupras 42be49da83 Fix surrogate-related UnicodeEncodeError on CSV export
Fixes #210.
2013-11-23 12:38:55 -05:00
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 e8c42740cf Fixed tests which were broken 2013-11-10 12:54:35 -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 72d8160b28 Fix boken tests 2013-11-08 16:45:14 -05:00
Virgil Dupras 6d53511cee Merge branch 'master' into develop 2013-11-08 16:03:35 -05:00
Virgil Dupras 8e65f15e1a Fixed core.engine.Match docstring
The way it was set made dupeGuru crash under Python 3.2
2013-10-20 13:33:27 -04: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 78c3c8ec2d Improved dev docs 2013-08-20 22:52:43 -04:00
Virgil Dupras be8efea081 Fixed folder scanning in SE, which was completely broken
Oops
2013-08-18 20:50:31 -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 e1f532e2fd Fixed broken tests 2013-08-04 09:26:18 -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 db0901b1de Handle OSError during symlink support check
Under a windows that supports symlinks (Vista+), we still need
proper privileges. If we don't have it, OSError is raised and we
need to correctly handle this case. Ref #220.
2013-07-14 13:59:03 -04:00
Virgil Dupras 9225697053 Added hardlink/symlink support for Windows Vista+.
Fixes #220.
2013-07-14 11:58:49 -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 6dddcb1a47 Fixed scanner_test which was broken.
The monkeypatching made to hscommon.io wasn't correctly transferred to Path
after the migration at [dfc82cd].
2013-04-28 10:43:20 -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 8c36218150 In addition to EnvironmentError, catch UnicodeEncodeError when performing actions on marked duplicates.
When running dupeGuru under Linux with a messed up locale, it's
UnicodeEncodeError we get. Instead of popping a reportable traceback, it's
better to just pop the Problems dialog up.
2012-10-28 11:06:09 -04:00
Virgil Dupras 111edc3ce5 Fixed a bug causing groups with more than one ref file in it to appear (which looks weird and messes with selection).
Contents scans already weeded them out, bu t they were still possible with name-based scans. Now, the Scanner removes them all.
2012-08-09 11:16:06 -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 91f3a59523 Fixed add_directory() test which were broken. 2012-08-09 10:22:04 -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 b19d6c9a27 [#198 state:fixed] Added Longest/Shortest filename criteria in the re-prioritize dialog. 2012-07-31 11:18:39 -04:00
Virgil Dupras 07de7d6f0e Fix test that became flaky under Python v3.3. 2012-07-08 09:03:05 -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 1171705921 Made core.fs.File slotted to save a lot of memory usage. 2012-05-29 17:39:54 -04:00
Virgil Dupras 03712860b1 Added debug message on sending to trash. 2012-03-23 15:51:39 -04:00
Virgil Dupras c63df97dd6 Fixed prioritize dialog which was broken. 2012-03-19 16:52:08 -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 49a7043b4d Updated hscommon to its tip.
Because the latest changes in hscommon include the introduction of a base GUIObject which significantly changes view setting mechanisms, significant adjustments had to be made in dupeGuru.
2012-03-13 14:27:08 -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 93781a0f35 [#195 state:fixed] Fixed bug where there would be a false reporting of discarded matches. 2012-02-26 11:18:29 -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 d885bf0b18 Fixed tests. 2012-01-23 15:09:13 -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 756190cb8e [#179] Pushed the delete-or-exclude folder down from GUI layers to the core. 2011-11-28 14:52:48 -05:00
Virgil Dupras 3342b32882 [#179] Refactored folder deletion so that it uses selection in the core's directory_tree instead of using the one from the GUI layer. 2011-11-28 14:21:10 -05:00
Virgil Dupras 63180eaa5b Merge dev branch with fix for #181 2011-11-28 13:40:19 -05:00
Virgil Dupras 25faa458b9 [#181 state:fixed] Fixed a bug where performing actions like Mark All under a filtered environment would mark dupes even if they weren't in the filter. 2011-11-28 13:39:37 -05:00
Virgil Dupras 760e4085fa Merge dev branch with fix for #178 2011-11-28 13:16:22 -05:00
Virgil Dupras fbe66d27c9 [#178 state:fixed] Fixed a crash on adding a criterion with an empty selection. 2011-11-28 13:14:36 -05:00
Virgil Dupras d9ae967439 Updated the qt part of dupeguru to adjust to the latest column reorganization. 2011-11-28 10:27:17 -05:00
Virgil Dupras 9226a4fb7c Fixed unittests. 2011-11-27 16:49:12 -05:00
Virgil Dupras fca66d5108 Fixed HTML exporting. 2011-11-27 13:02:59 -05:00
Virgil Dupras 0571151c5f Fixed delta columns. 2011-11-27 12:54:58 -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 436a8e686d Fixed broken actions: reveal_path in problems dialog and copy/move under Qt. 2011-10-02 10:27:40 -04:00
Virgil Dupras 26e496a051 Fixed failing tests on Windows. 2011-09-29 19:23:35 +01: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 9fac97c147 Don't allow dupes from ref folders to step down from their ref position during reprioritization. 2011-09-23 13:14:57 -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 01731a8277 Moved the 'markable' unit from hscommon to core. 2011-09-22 11:55:31 -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