subsurface/core
Berthold Stoeger 0646b41275 Dive pictures: find moved pictures based on filename
Users might have edited their pictures. Therefore, instead of identifying
pictures by the hash of the file-content, use the file path. The match
between original and new filename is graded by a score. Currently, this
is the number of path components that match, starting from the filename.
Camparison is case-insensitive.

After having identified the matching images, write the caches so that they
are saved even if the user doesn't cleanly quit the application.

Since the new code uses significantly less resources, it can be run in a
single background thread. Thus, the multi-threading can be simplified.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-07-04 02:27:36 +08:00
..
subsurface-qt core: remove prefs-macros.h where unused 2018-07-01 22:06:28 +02:00
android.cpp Cleanup: introduce copy_qstring() function 2018-03-14 13:55:36 +02:00
btdiscovery.cpp Correctly recognize more OSTC variants as BLE 2018-07-02 09:24:30 -07:00
btdiscovery.h Cleanup: Use QString as parameter for [get|save]BtDeviceInfo() 2018-02-26 08:52:34 +01:00
checkcloudconnection.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
checkcloudconnection.h Remove self-include of core/checkcloudconnection.h 2017-12-06 02:23:47 +01:00
cloudstorage.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
cloudstorage.h Remove bogus member that hides global variable 2017-10-26 20:44:02 +02:00
CMakeLists.txt build-system: don't always build qtserialbluetooth.cpp 2018-05-19 16:49:05 -07:00
cochran.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
cochran.h
color.cpp Fix CCR setpoint display bug 2018-05-07 13:56:23 +02:00
color.h Plot OC-pO2 graph for SCR dives 2018-04-28 20:11:22 +03:00
compressibility.r
configuredivecomputer.cpp Actually tie in the new libdivecomputer IO model to open the dive computer device 2018-04-24 17:54:08 -07:00
configuredivecomputer.h
configuredivecomputerthreads.cpp core: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
configuredivecomputerthreads.h
connectionlistmodel.cpp core: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
connectionlistmodel.h Add function to clear connectionModel data 2017-10-12 09:32:12 +02:00
datatrak.c Core: remove dive.h from files that don't need it 2018-05-14 10:13:39 -07:00
datatrak.h
deco.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
deco.h Localize global planner state 2017-11-25 20:13:01 +01:00
device.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
device.h Core: remove dive.h from files that don't need it 2018-05-14 10:13:39 -07:00
devicedetails.cpp
devicedetails.h
display.h Display values in info box only if value is interesting 2017-11-13 20:50:10 -08:00
dive.c Use (and update) dive computer times when merging and splitting dives 2018-07-02 08:38:31 -07:00
dive.h equipment: sanitize 'ws_info' loop limits 2018-06-20 09:30:58 +09:00
divecomputer.cpp core: remove prefs-macros.h where unused 2018-07-01 22:06:28 +02:00
divecomputer.h Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divelist.c Don't compute SAC if total gas use is unknown 2018-05-28 09:57:00 +02:00
divelist.h Unused code: remove trip_has_selected_dives() 2018-01-10 16:45:42 +01:00
divelogexportlogic.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
divelogexportlogic.h
divesite-helper.cpp Cleanup: rename file to avoid confusion 2017-12-08 16:29:49 +01:00
divesite.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
divesite.h Tags for geo references: Nicer look, translations and warning message 2017-10-17 06:12:07 -04:00
divesitehelpers.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
divesitehelpers.h
downloadfromdcthread.cpp Add Cressi Giotto, Newton and Drake to list of devices 2018-06-28 11:52:24 +08:00
downloadfromdcthread.h core: remove qml properties from downloadfromcthread 2018-06-09 21:19:46 +02:00
equipment.c equipment: use MAX_TANK_INFO in equipment.c 2018-06-20 09:30:58 +09:00
errorhelper.c Make report_error() reentrant 2018-01-31 14:47:26 +01:00
exif.cpp Coding-style: remove superfluous parentheses 2018-02-17 19:38:52 -08:00
exif.h
file.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
file.h Make a few functions of static linkage 2018-01-08 09:52:55 +02:00
format.cpp Cleanup: Slightly shorten code in vqasprintf_loc() 2018-04-09 11:29:43 -07:00
format.h Cleanup: Move *_loc formatting functions into new format.cpp file 2018-04-09 11:29:43 -07:00
gas-model.c
gaspressures.c Provide correct cylinder pressures for bailout dives 2018-06-08 17:07:20 +03:00
gaspressures.h
gettext.h
gettextfromc.cpp Localization: make cache thread safe and robust against use-after-free 2018-06-24 20:31:14 +02:00
gettextfromc.h Localization: remove gettextFromC::instance() 2018-06-24 20:31:14 +02:00
git-access.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
git-access.h Support non-https:// repositories for saving 2018-01-19 09:45:08 +02:00
gpslocation.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
gpslocation.h GPS: add signal to show that a new fix has been acquired 2018-04-14 13:37:44 -07:00
imagedownloader.cpp Dive pictures: index local file name by canonical filname 2018-07-04 02:27:36 +08:00
imagedownloader.h Dive pictures: Make failure of loading images less noisy 2018-06-13 08:35:23 -07:00
import-cobalt.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
import-csv.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
import-csv.h Make a few functions of static linkage 2018-01-08 09:52:55 +02:00
import-divinglog.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
import-shearwater.c Remove unnecessary {} 2018-05-27 23:18:01 +03:00
import-suunto.c DM5 import: support for larger sample size 2018-06-15 17:45:33 -07:00
ios.cpp core: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
isocialnetworkintegration.cpp
isocialnetworkintegration.h
libdivecomputer.c FTDI support: try ftdi_open first if the device name is 'ftdi' 2018-06-21 16:16:29 +09:00
libdivecomputer.h Create one function to determine the supported transports 2018-04-27 11:52:48 -07:00
linux.c Revert "cleanup: remove empty function" 2018-06-21 06:28:39 +09:00
liquivision.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
load-git.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
macos.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
membuffer.c Localization: Make Qt's locale-aware formatting accessible from C 2018-03-05 16:23:55 +01:00
membuffer.h Add usage documentation for membuffer helper functions 2018-04-10 08:18:32 -07:00
metadata.cpp Dive pictures: extract timestamp from MP4 and related formats 2018-04-01 16:04:48 +03:00
metadata.h Dive pictures: use get_metadata() in dive_create_picture() 2018-04-01 16:04:48 +03:00
metrics.cpp
metrics.h
ostctools.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
parse-xml.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
parse.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
parse.h Don't define cur_setting in header file 2018-01-05 00:29:20 +01:00
planner.c Fix interpretation of dive mode changes upon replan 2018-06-24 09:35:55 +02:00
planner.h
plannernotes.c Make planner notes divemode aware... 2018-06-24 09:35:55 +02:00
pluginmanager.cpp Unused code: remove PluginManager::socialNetworkIntegrationPlugins() 2018-01-10 16:45:42 +01:00
pluginmanager.h Unused code: remove PluginManager::socialNetworkIntegrationPlugins() 2018-01-10 16:45:42 +01:00
pref.h Revert "cleanup: remove empty function" 2018-06-21 06:28:39 +09:00
prefs-macros.h core: make prefs-macros compile safe. 2018-06-15 14:11:57 -07:00
profile.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
profile.h Plot OC-pO2 graph for SCR dives 2018-04-28 20:11:22 +03:00
qt-ble.cpp qt-ble: purge pending read data when writing 2018-06-20 16:38:04 +09:00
qt-ble.h Convert our custom IO model to new libdivecomputer IO model 2018-04-24 17:54:08 -07:00
qt-gui.h Remove dead code 2017-11-19 12:20:43 -08:00
qt-init.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
qthelper.cpp Dive pictures: find moved pictures based on filename 2018-07-04 02:27:36 +08:00
qthelper.h Dive pictures: find moved pictures based on filename 2018-07-04 02:27:36 +08:00
qtserialbluetooth.cpp core: replace (void) with no parameter name 2018-05-24 08:34:14 -07:00
save-git.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
save-html.c Cleanup: Unify qthelper.h and qthelperfromc.h 2018-02-26 19:06:02 +02:00
save-html.h
save-xml.c Bugfix: Saving divemode to xml and to git 2018-05-17 07:35:58 -07:00
serial_ftdi.c Convert our custom IO model to new libdivecomputer IO model 2018-04-24 17:54:08 -07:00
sha1.c
sha1.h
ssrf.h mobile: add timer to measure startup. 2018-05-30 21:47:07 -07:00
statistics.c Fix an error around translation of dive modes in the UI 2018-06-17 06:36:20 +09:00
statistics.h Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
strndup.h
strtod.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
subsurface-string.h Core: don't inline rarely used function 2018-05-14 10:13:39 -07:00
subsurfacestartup.c Revert "cleanup: remove empty function" 2018-06-21 06:28:39 +09:00
subsurfacestartup.h Fix ownership issues in preferences code 2017-11-25 07:41:09 -08:00
subsurfacesysinfo.cpp
subsurfacesysinfo.h
taxonomy.c Fix two bugs in taxonomy_set_country 2017-10-07 08:16:53 -07:00
taxonomy.h Add taxonomy helper functions 2017-10-04 08:05:09 -07:00
time.c
uemis-downloader.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
uemis.c Core: remove dive.h from files that don't need it 2018-05-14 10:13:39 -07:00
uemis.h
units.h core: removed clang warnings from units.h 2018-05-18 21:27:37 +03:00
version.c
version.h
webservice.h
windows.c core: replace (void) with UNUSED(x) and include ssrf.h 2018-05-24 08:34:14 -07:00
windowtitleupdate.cpp
windowtitleupdate.h
worldmap-options.h
worldmap-save.c Core: remove dive.h from files that don't need it 2018-05-14 10:13:39 -07:00
worldmap-save.h