Virgil Dupras
fbdd1d866e
Simplify getmatches_by_contents() signature
...
partial and sizeattr attributes are not needed anymore.
2016-06-08 12:06:08 -04:00
Virgil Dupras
80f659858c
Fail with excplicit message when unable to load results file
...
Previously, we would simply show an empty results window. Not very
helpful.
2016-06-07 21:34:04 -04:00
Virgil Dupras
ef8f8f0e44
Fix broken tests
2016-06-07 21:32:30 -04:00
Virgil Dupras
b7a7282c2a
Fix results loading
...
The merge operation broke it. It would try to access a result_table that
didn't exist yet.
2016-06-07 16:56:59 -04:00
Virgil Dupras
13fb06a693
Remove ContentsAusio scan type
...
It had few uses and had a confusing name. People though it did fuzzy
audio data matching, which it does not.
2016-06-06 17:08:41 -04:00
Virgil Dupras
8c1078aa71
cocoa: merge se/me/pe into one single app
...
That merge has already been done in core and qt, we're following.
I broke picture scan details panel image loading. Will fix later.
2016-06-05 21:18:48 -04:00
Virgil Dupras
a65077f871
Merge core_{se,me,pe} into core.{se,me,pe}
2016-05-31 22:32:37 -04:00
Virgil Dupras
d4919054f9
qt: move qt.base units into qt root package
2016-05-31 21:59:31 -04:00
Virgil Dupras
773f6651e6
Merge core_se.app into core.app
2016-05-31 21:43:24 -04:00
Virgil Dupras
8c9ef3ea29
Re-add the Clear Picture Cache action
2016-05-31 20:55:32 -04:00
Virgil Dupras
7d749779f2
qt: merge ME edition into SE
...
(breaks PE temporarily)
Adds a Standard/Music Application Mode button to SE and thus adds the
ability to run ME scan types in SE. When in Music mode, the
Music-specific results window, details panel and preferences panel will
show up.
All preferences except scan_type become shared between app modes
(changing the pref in a mode changes it in the other mode).
Results Window and Details Panel are now re-created at each scan
operation because they could change their type between two runs.
Preferences panel is instantiated on the fly and discarded after close.
This is a very big merge operation and I'm trying to touch as little
code as possible, sometimes at the cost of elegance. I try to minimize
the breakage that this change brings.
2016-05-29 22:37:38 -04:00
Virgil Dupras
0056f696df
refactoring: move fileclasses and folderclass options in app class
...
Previously, it was in `Directory`.
This will make our job easier for an upcoming SE/ME/PE merge.
2016-05-29 17:15:55 -04:00
Virgil Dupras
5c57a2a8fc
Instantiate Scanner on-the-fly
...
Previously, it would be instantiated on startup.
This will make our job easier for an upcoming SE/ME/PE merge.
2016-05-29 16:52:07 -04:00
Virgil Dupras
130581db53
Apply flake8 checks to tests
2016-05-29 15:02:39 -04:00
Virgil Dupras
9ed4b7abf0
refactoring: take ignore_list out of Scanner class
...
It's now `DupeGuru` that holds it and passes it to `get_dupe_groups()`,
the only place where it's actually used in `Scanner`.
This will make the SE/ME/PE merge easier by allowing us to instantiate
the Scanner on-the-fly since it doesn't hold state anymore.
2016-05-29 14:13:19 -04:00
Virgil Dupras
2ed1b82ecf
Push edition-specific scan option listing down to the core
...
... rather than have each UI layer repeat them.
Did qt, but not cocoa yet.
2016-05-24 22:53:03 -04:00
Virgil Dupras
e7076bc3bd
Change license from BSD to GPLv3
...
See http://www.hardcoded.net/archive2014#2014-12-28 for context
2015-01-03 16:33:16 -05:00
Virgil Dupras
fc16ea8c49
Change copyright year to 2015
2015-01-03 16:30:57 -05:00
Virgil Dupras
bf09c4ce8a
Nicely wrap PermissionDenied errors on save
...
In fact, all `OSError`.
ref #266
2014-10-17 15:46:43 -04:00
Virgil Dupras
2166a0996c
Added tox configuration
...
... and fixed pep8 warnings. There's a lot of them that are still
ignored, but that's because it's too much of a step to take at once.
2014-10-13 15:08:59 -04:00
Virgil Dupras
ac32305532
Integrated the jobprogress library into hscommon
...
I have a fix to make in it and it's really silly to pretend that this
lib is of any use to anybody outside HS apps. Bringing it back here will
make things more simple.
2014-10-05 16:31:16 -04:00
Virgil Dupras
878205fc49
Fix empty ignore List dialog bug in PE
...
Re-instantiating a new scanner for PE made the ignore list dialog
target the wrong ignore list. We now only instantiate a scanner once.
Fixes #253
2014-05-03 13:44:38 -04:00
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