├── .clang-format ├── .gitignore ├── LICENSE ├── README.md ├── configure.sh ├── data ├── com.neatdecisions.Detwinner.appdata.xml.in ├── com.neatdecisions.Detwinner.desktop.in ├── detwinner.1 ├── icons │ ├── hicolor │ │ ├── 16x16 │ │ │ └── apps │ │ │ │ └── com.neatdecisions.Detwinner.png │ │ ├── 24x24 │ │ │ └── apps │ │ │ │ └── com.neatdecisions.Detwinner.png │ │ ├── 256x256 │ │ │ └── apps │ │ │ │ └── com.neatdecisions.Detwinner.png │ │ ├── 32x32 │ │ │ └── apps │ │ │ │ └── com.neatdecisions.Detwinner.png │ │ └── 48x48 │ │ │ └── apps │ │ │ └── com.neatdecisions.Detwinner.png │ └── meson.build └── meson.build ├── meson.build ├── po ├── LINGUAS ├── POTFILES ├── detwinner.pot ├── en.po ├── fi.po ├── fr.po ├── it.po ├── meson.build ├── nl.po ├── pl.po ├── ru.po ├── sv.po └── uk.po ├── resources ├── meson.build ├── resources.xml └── ui │ ├── duplicateTreeViewMenu.ui │ ├── regexHelperMenu.ui │ ├── settingsDialog.ui │ ├── toolbarResultsPane.glade │ └── toolbarSearchPane.glade ├── src ├── detwinner-lib │ ├── logic │ │ ├── CommonDataTypes.hpp │ │ ├── DuplicateFilesFinder.cpp │ │ ├── DuplicateFilesFinder.hpp │ │ ├── DuplicateImageFinder.cpp │ │ ├── DuplicateImageFinder.hpp │ │ ├── FileIndexer.cpp │ │ ├── FileIndexer.hpp │ │ ├── FileSearchSettings.hpp │ │ ├── Initializer.cpp │ │ ├── Initializer.hpp │ │ ├── MurmurHash.cpp │ │ ├── MurmurHash.hpp │ │ ├── callbacks │ │ │ ├── IImageFinderCallback.hpp │ │ │ ├── IIndexedFileReceiver.hpp │ │ │ ├── ISearchProcessCallback.hpp │ │ │ ├── ImageFinderCallback.cpp │ │ │ └── ImageFinderCallback.hpp │ │ ├── images │ │ │ ├── DuplicateImageResult.hpp │ │ │ ├── HistogramT.hpp │ │ │ ├── ImageFeatures.cpp │ │ │ ├── ImageFeatures.hpp │ │ │ ├── ImageFeaturesBridge.cpp │ │ │ ├── ImageFeaturesBridge.hpp │ │ │ ├── ImageFeaturesBuilder.cpp │ │ │ ├── ImageFeaturesBuilder.hpp │ │ │ ├── ImageInfo.hpp │ │ │ ├── SimilarImageFinder.cpp │ │ │ ├── SimilarImageFinder.hpp │ │ │ ├── SimilarityCache.cpp │ │ │ ├── SimilarityCache.hpp │ │ │ ├── SimilarityCacheBuilder.cpp │ │ │ ├── SimilarityCacheBuilder.hpp │ │ │ └── Types.hpp │ │ └── tools │ │ │ ├── StopTimer.cpp │ │ │ └── StopTimer.hpp │ └── meson.build └── detwinner │ ├── Detwinner.cpp │ ├── DetwinnerApp.cpp │ ├── DetwinnerApp.hpp │ ├── callbacks │ ├── ControlCallback.cpp │ ├── ControlCallback.hpp │ ├── IDeferredAction.hpp │ ├── IDuplicateReceiver.hpp │ ├── SearchProgressCallback.cpp │ └── SearchProgressCallback.hpp │ ├── meson.build │ ├── settings │ ├── SearchSettings.hpp │ ├── SearchSettingsManager.cpp │ └── SearchSettingsManager.hpp │ ├── tools │ ├── AbstractFileDeleter.hpp │ ├── BackupFileDeleter.cpp │ ├── BackupFileDeleter.hpp │ ├── IconManager.cpp │ ├── IconManager.hpp │ ├── MemoryMappedFile.cpp │ ├── MemoryMappedFile.hpp │ ├── PermanentFileDeleter.cpp │ ├── PermanentFileDeleter.hpp │ ├── TrashFileDeleter.cpp │ └── TrashFileDeleter.hpp │ └── ui │ ├── AutosizedImage.cpp │ ├── AutosizedImage.hpp │ ├── DeferredActionProgressDialog.cpp │ ├── DeferredActionProgressDialog.hpp │ ├── DetwinnerWindow.cpp │ ├── DetwinnerWindow.hpp │ ├── DuplicatesTreeView.cpp │ ├── DuplicatesTreeView.hpp │ ├── FilePreview.cpp │ ├── FilePreview.hpp │ ├── FileTreeView.cpp │ ├── FileTreeView.hpp │ ├── PlacesSidebar.cpp │ ├── PlacesSidebar.hpp │ ├── RegexListbox.cpp │ ├── RegexListbox.hpp │ ├── SearchOptionsPane.cpp │ ├── SearchOptionsPane.hpp │ ├── SearchProgressDialog.cpp │ ├── SearchProgressDialog.hpp │ ├── SearchResultsPane.cpp │ ├── SearchResultsPane.hpp │ ├── SearchSettingsDialog.cpp │ └── SearchSettingsDialog.hpp └── test ├── detwinner-lib ├── data │ ├── files │ │ ├── empty.foo │ │ ├── file1.txt │ │ └── file2.txt │ └── images │ │ ├── gm-125x80.gif │ │ ├── gm-125x80.png │ │ ├── gm-125x80t (copy).png │ │ ├── gm-125x80t.png │ │ └── gm-654x418t.png ├── logic │ ├── DuplicateFilesFinderTest.cpp │ ├── DuplicateImageFinderTest.cpp │ ├── FileIndexerTest.cpp │ ├── MurmurHashTest.cpp │ ├── TestingHelpers.cpp │ ├── TestingHelpers.hpp │ ├── callbacks │ │ └── ImageFinderCallbackTest.cpp │ ├── images │ │ ├── HistogramTTest.cpp │ │ ├── ImageFeaturesBuilderTest.cpp │ │ ├── ImageFeaturesTest.cpp │ │ ├── ImageFeaturesTestFactory.cpp │ │ ├── ImageFeaturesTestFactory.hpp │ │ ├── SimilarImageFinderTest.cpp │ │ └── SimilarityCacheBuilderTest.cpp │ └── mocks │ │ ├── MockImageFinderCallback.hpp │ │ └── MockSearchProcessCallback.hpp ├── meson.build └── test.cpp └── detwinner ├── data └── settings │ ├── corrupted.ini │ └── settings.ini ├── meson.build ├── settings └── SearchSettingsManagerTest.cpp ├── test.cpp └── tools └── MemoryMappedFileTest.cpp /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/README.md -------------------------------------------------------------------------------- /configure.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/configure.sh -------------------------------------------------------------------------------- /data/com.neatdecisions.Detwinner.appdata.xml.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/data/com.neatdecisions.Detwinner.appdata.xml.in -------------------------------------------------------------------------------- /data/com.neatdecisions.Detwinner.desktop.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/data/com.neatdecisions.Detwinner.desktop.in -------------------------------------------------------------------------------- /data/detwinner.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/data/detwinner.1 -------------------------------------------------------------------------------- /data/icons/hicolor/16x16/apps/com.neatdecisions.Detwinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/data/icons/hicolor/16x16/apps/com.neatdecisions.Detwinner.png -------------------------------------------------------------------------------- /data/icons/hicolor/24x24/apps/com.neatdecisions.Detwinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/data/icons/hicolor/24x24/apps/com.neatdecisions.Detwinner.png -------------------------------------------------------------------------------- /data/icons/hicolor/256x256/apps/com.neatdecisions.Detwinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/data/icons/hicolor/256x256/apps/com.neatdecisions.Detwinner.png -------------------------------------------------------------------------------- /data/icons/hicolor/32x32/apps/com.neatdecisions.Detwinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/data/icons/hicolor/32x32/apps/com.neatdecisions.Detwinner.png -------------------------------------------------------------------------------- /data/icons/hicolor/48x48/apps/com.neatdecisions.Detwinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/data/icons/hicolor/48x48/apps/com.neatdecisions.Detwinner.png -------------------------------------------------------------------------------- /data/icons/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/data/icons/meson.build -------------------------------------------------------------------------------- /data/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/data/meson.build -------------------------------------------------------------------------------- /meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/meson.build -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | en 2 | fi 3 | fr 4 | it 5 | nl 6 | pl 7 | ru 8 | sv 9 | uk 10 | -------------------------------------------------------------------------------- /po/POTFILES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/POTFILES -------------------------------------------------------------------------------- /po/detwinner.pot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/detwinner.pot -------------------------------------------------------------------------------- /po/en.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/en.po -------------------------------------------------------------------------------- /po/fi.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/fi.po -------------------------------------------------------------------------------- /po/fr.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/fr.po -------------------------------------------------------------------------------- /po/it.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/it.po -------------------------------------------------------------------------------- /po/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/meson.build -------------------------------------------------------------------------------- /po/nl.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/nl.po -------------------------------------------------------------------------------- /po/pl.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/pl.po -------------------------------------------------------------------------------- /po/ru.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/ru.po -------------------------------------------------------------------------------- /po/sv.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/sv.po -------------------------------------------------------------------------------- /po/uk.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/po/uk.po -------------------------------------------------------------------------------- /resources/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/resources/meson.build -------------------------------------------------------------------------------- /resources/resources.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/resources/resources.xml -------------------------------------------------------------------------------- /resources/ui/duplicateTreeViewMenu.ui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/resources/ui/duplicateTreeViewMenu.ui -------------------------------------------------------------------------------- /resources/ui/regexHelperMenu.ui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/resources/ui/regexHelperMenu.ui -------------------------------------------------------------------------------- /resources/ui/settingsDialog.ui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/resources/ui/settingsDialog.ui -------------------------------------------------------------------------------- /resources/ui/toolbarResultsPane.glade: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/resources/ui/toolbarResultsPane.glade -------------------------------------------------------------------------------- /resources/ui/toolbarSearchPane.glade: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/resources/ui/toolbarSearchPane.glade -------------------------------------------------------------------------------- /src/detwinner-lib/logic/CommonDataTypes.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/CommonDataTypes.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/DuplicateFilesFinder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/DuplicateFilesFinder.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/DuplicateFilesFinder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/DuplicateFilesFinder.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/DuplicateImageFinder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/DuplicateImageFinder.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/DuplicateImageFinder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/DuplicateImageFinder.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/FileIndexer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/FileIndexer.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/FileIndexer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/FileIndexer.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/FileSearchSettings.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/FileSearchSettings.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/Initializer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/Initializer.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/Initializer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/Initializer.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/MurmurHash.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/MurmurHash.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/MurmurHash.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/MurmurHash.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/callbacks/IImageFinderCallback.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/callbacks/IImageFinderCallback.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/callbacks/IIndexedFileReceiver.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/callbacks/IIndexedFileReceiver.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/callbacks/ISearchProcessCallback.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/callbacks/ISearchProcessCallback.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/callbacks/ImageFinderCallback.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/callbacks/ImageFinderCallback.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/callbacks/ImageFinderCallback.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/callbacks/ImageFinderCallback.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/DuplicateImageResult.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/DuplicateImageResult.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/HistogramT.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/HistogramT.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/ImageFeatures.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/ImageFeatures.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/ImageFeatures.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/ImageFeatures.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/ImageFeaturesBridge.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/ImageFeaturesBridge.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/ImageFeaturesBridge.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/ImageFeaturesBridge.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/ImageFeaturesBuilder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/ImageFeaturesBuilder.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/ImageFeaturesBuilder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/ImageFeaturesBuilder.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/ImageInfo.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/ImageInfo.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/SimilarImageFinder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/SimilarImageFinder.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/SimilarImageFinder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/SimilarImageFinder.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/SimilarityCache.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/SimilarityCache.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/SimilarityCache.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/SimilarityCache.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/SimilarityCacheBuilder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/SimilarityCacheBuilder.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/SimilarityCacheBuilder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/SimilarityCacheBuilder.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/images/Types.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/images/Types.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/tools/StopTimer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/tools/StopTimer.cpp -------------------------------------------------------------------------------- /src/detwinner-lib/logic/tools/StopTimer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/logic/tools/StopTimer.hpp -------------------------------------------------------------------------------- /src/detwinner-lib/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner-lib/meson.build -------------------------------------------------------------------------------- /src/detwinner/Detwinner.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/Detwinner.cpp -------------------------------------------------------------------------------- /src/detwinner/DetwinnerApp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/DetwinnerApp.cpp -------------------------------------------------------------------------------- /src/detwinner/DetwinnerApp.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/DetwinnerApp.hpp -------------------------------------------------------------------------------- /src/detwinner/callbacks/ControlCallback.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/callbacks/ControlCallback.cpp -------------------------------------------------------------------------------- /src/detwinner/callbacks/ControlCallback.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/callbacks/ControlCallback.hpp -------------------------------------------------------------------------------- /src/detwinner/callbacks/IDeferredAction.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/callbacks/IDeferredAction.hpp -------------------------------------------------------------------------------- /src/detwinner/callbacks/IDuplicateReceiver.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/callbacks/IDuplicateReceiver.hpp -------------------------------------------------------------------------------- /src/detwinner/callbacks/SearchProgressCallback.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/callbacks/SearchProgressCallback.cpp -------------------------------------------------------------------------------- /src/detwinner/callbacks/SearchProgressCallback.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/callbacks/SearchProgressCallback.hpp -------------------------------------------------------------------------------- /src/detwinner/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/meson.build -------------------------------------------------------------------------------- /src/detwinner/settings/SearchSettings.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/settings/SearchSettings.hpp -------------------------------------------------------------------------------- /src/detwinner/settings/SearchSettingsManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/settings/SearchSettingsManager.cpp -------------------------------------------------------------------------------- /src/detwinner/settings/SearchSettingsManager.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/settings/SearchSettingsManager.hpp -------------------------------------------------------------------------------- /src/detwinner/tools/AbstractFileDeleter.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/tools/AbstractFileDeleter.hpp -------------------------------------------------------------------------------- /src/detwinner/tools/BackupFileDeleter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/tools/BackupFileDeleter.cpp -------------------------------------------------------------------------------- /src/detwinner/tools/BackupFileDeleter.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/tools/BackupFileDeleter.hpp -------------------------------------------------------------------------------- /src/detwinner/tools/IconManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/tools/IconManager.cpp -------------------------------------------------------------------------------- /src/detwinner/tools/IconManager.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/tools/IconManager.hpp -------------------------------------------------------------------------------- /src/detwinner/tools/MemoryMappedFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/tools/MemoryMappedFile.cpp -------------------------------------------------------------------------------- /src/detwinner/tools/MemoryMappedFile.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/tools/MemoryMappedFile.hpp -------------------------------------------------------------------------------- /src/detwinner/tools/PermanentFileDeleter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/tools/PermanentFileDeleter.cpp -------------------------------------------------------------------------------- /src/detwinner/tools/PermanentFileDeleter.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/tools/PermanentFileDeleter.hpp -------------------------------------------------------------------------------- /src/detwinner/tools/TrashFileDeleter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/tools/TrashFileDeleter.cpp -------------------------------------------------------------------------------- /src/detwinner/tools/TrashFileDeleter.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/tools/TrashFileDeleter.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/AutosizedImage.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/AutosizedImage.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/AutosizedImage.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/AutosizedImage.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/DeferredActionProgressDialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/DeferredActionProgressDialog.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/DeferredActionProgressDialog.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/DeferredActionProgressDialog.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/DetwinnerWindow.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/DetwinnerWindow.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/DetwinnerWindow.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/DetwinnerWindow.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/DuplicatesTreeView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/DuplicatesTreeView.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/DuplicatesTreeView.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/DuplicatesTreeView.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/FilePreview.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/FilePreview.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/FilePreview.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/FilePreview.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/FileTreeView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/FileTreeView.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/FileTreeView.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/FileTreeView.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/PlacesSidebar.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/PlacesSidebar.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/PlacesSidebar.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/PlacesSidebar.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/RegexListbox.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/RegexListbox.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/RegexListbox.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/RegexListbox.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/SearchOptionsPane.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/SearchOptionsPane.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/SearchOptionsPane.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/SearchOptionsPane.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/SearchProgressDialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/SearchProgressDialog.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/SearchProgressDialog.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/SearchProgressDialog.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/SearchResultsPane.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/SearchResultsPane.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/SearchResultsPane.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/SearchResultsPane.hpp -------------------------------------------------------------------------------- /src/detwinner/ui/SearchSettingsDialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/SearchSettingsDialog.cpp -------------------------------------------------------------------------------- /src/detwinner/ui/SearchSettingsDialog.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/src/detwinner/ui/SearchSettingsDialog.hpp -------------------------------------------------------------------------------- /test/detwinner-lib/data/files/empty.foo: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/detwinner-lib/data/files/file1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/data/files/file1.txt -------------------------------------------------------------------------------- /test/detwinner-lib/data/files/file2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/data/files/file2.txt -------------------------------------------------------------------------------- /test/detwinner-lib/data/images/gm-125x80.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/data/images/gm-125x80.gif -------------------------------------------------------------------------------- /test/detwinner-lib/data/images/gm-125x80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/data/images/gm-125x80.png -------------------------------------------------------------------------------- /test/detwinner-lib/data/images/gm-125x80t (copy).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/data/images/gm-125x80t (copy).png -------------------------------------------------------------------------------- /test/detwinner-lib/data/images/gm-125x80t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/data/images/gm-125x80t.png -------------------------------------------------------------------------------- /test/detwinner-lib/data/images/gm-654x418t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/data/images/gm-654x418t.png -------------------------------------------------------------------------------- /test/detwinner-lib/logic/DuplicateFilesFinderTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/DuplicateFilesFinderTest.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/DuplicateImageFinderTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/DuplicateImageFinderTest.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/FileIndexerTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/FileIndexerTest.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/MurmurHashTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/MurmurHashTest.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/TestingHelpers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/TestingHelpers.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/TestingHelpers.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/TestingHelpers.hpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/callbacks/ImageFinderCallbackTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/callbacks/ImageFinderCallbackTest.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/images/HistogramTTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/images/HistogramTTest.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/images/ImageFeaturesBuilderTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/images/ImageFeaturesBuilderTest.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/images/ImageFeaturesTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/images/ImageFeaturesTest.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/images/ImageFeaturesTestFactory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/images/ImageFeaturesTestFactory.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/images/ImageFeaturesTestFactory.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/images/ImageFeaturesTestFactory.hpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/images/SimilarImageFinderTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/images/SimilarImageFinderTest.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/images/SimilarityCacheBuilderTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/images/SimilarityCacheBuilderTest.cpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/mocks/MockImageFinderCallback.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/mocks/MockImageFinderCallback.hpp -------------------------------------------------------------------------------- /test/detwinner-lib/logic/mocks/MockSearchProcessCallback.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/logic/mocks/MockSearchProcessCallback.hpp -------------------------------------------------------------------------------- /test/detwinner-lib/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/meson.build -------------------------------------------------------------------------------- /test/detwinner-lib/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner-lib/test.cpp -------------------------------------------------------------------------------- /test/detwinner/data/settings/corrupted.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner/data/settings/corrupted.ini -------------------------------------------------------------------------------- /test/detwinner/data/settings/settings.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner/data/settings/settings.ini -------------------------------------------------------------------------------- /test/detwinner/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner/meson.build -------------------------------------------------------------------------------- /test/detwinner/settings/SearchSettingsManagerTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner/settings/SearchSettingsManagerTest.cpp -------------------------------------------------------------------------------- /test/detwinner/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner/test.cpp -------------------------------------------------------------------------------- /test/detwinner/tools/MemoryMappedFileTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neatdecisions/detwinner/HEAD/test/detwinner/tools/MemoryMappedFileTest.cpp --------------------------------------------------------------------------------