subsurface/qt-models
Berthold Stoeger 4d407dc666 pictures: turn QString into std::string for filenames
For undo of picture manipulation, it will be crucial that the
model and the core have the same order of pictures. The first
sort criterion will be time, the second filename in the case
that two pictures have, for whatever reason, the same timestamp.

However in the core we us C-strings and thus sort byte-wise
using strcmp. In the Qt-part we use QStrings, which sort according
to unicode encoding. To enable consistent sorting, change the
Qt-part to std::string, which uses a C-style 0-terminated string
as its backing store.

One might argue that in general filenames should use system-encoding
and therefore use std::string instead of QString. However, a
broader conversion to std::string turned out to be very painful,
since Qt is (deliberately?) difficult to use with std::string.
Notable all the file-manipulation functions don't take std::string
by default. Thus, this commit only converts the internal data
of DivePictureModel, but continues to use QString for the Qt-facing
interface.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-05-06 13:58:09 -07:00
..
cleanertablemodel.cpp Cleanup: return directly from data() methods 2019-06-19 13:11:10 -07:00
cleanertablemodel.h CylindersModel: fold CHANGED() macro into setData() 2020-04-07 00:13:35 +02:00
CMakeLists.txt mobile: remove no longer used DiveListModel 2020-03-10 09:25:57 -07:00
completionmodels.cpp code cleanup: replace use of toStdVector() 2020-01-10 02:37:03 +09:00
completionmodels.h
cylindermodel.cpp core: always keep an empty cylinder at the end of the cylinder array 2020-05-01 12:36:28 +02:00
cylindermodel.h undo: show multiple dive warning when editing equipment 2020-04-07 00:13:35 +02:00
divecomputerextradatamodel.cpp
divecomputerextradatamodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
divecomputermodel.cpp Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divecomputermodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
diveimportedmodel.cpp Grammar: replaces 'indexes' by 'indices' 2020-03-11 08:26:30 -07:00
diveimportedmodel.h Grammar: replaces 'indexes' by 'indices' 2020-03-11 08:26:30 -07:00
divelocationmodel.cpp debug output: ensure our debug output is captured on Android 2020-04-18 09:00:21 -07:00
divelocationmodel.h Desktop: don't connect to remove() slot of model from TableModel 2019-12-05 10:14:25 -08:00
divepicturemodel.cpp pictures: turn QString into std::string for filenames 2020-05-06 13:58:09 -07:00
divepicturemodel.h pictures: turn QString into std::string for filenames 2020-05-06 13:58:09 -07:00
diveplannermodel.cpp planner: remove conditional command-calls for mobile 2020-05-04 10:42:07 +02:00
diveplannermodel.h planner: send plan in calculatedPlanNotes 2020-05-04 10:42:07 +02:00
diveplotdatamodel.cpp cleanup: remove DivePlotDataModel::diveId 2020-04-30 14:14:13 -07:00
diveplotdatamodel.h cleanup: remove DivePlotDataModel::diveId 2020-04-30 14:14:13 -07:00
divesiteimportmodel.cpp Create DivesiteImportDialog to select sites to import 2019-05-06 10:48:44 +02:00
divesiteimportmodel.h Create DivesiteImportDialog to select sites to import 2019-05-06 10:48:44 +02:00
divesummarymodel.cpp mobile/dive-summary: use 64bit integers for statistics 2020-03-31 08:42:20 -07:00
divesummarymodel.h mobile/summary: add section headers 2020-02-08 10:29:36 -08:00
divetripmodel.cpp models: emit dive changed signal when cylinders edited 2020-05-06 11:44:22 -07:00
divetripmodel.h models: emit dive changed signal when cylinders edited 2020-05-06 11:44:22 -07:00
filtermodels.cpp dive sites: properly reload dive site model on desktop 2020-04-13 16:55:15 -07:00
filtermodels.h Grammar: replaces 'indexes' by 'indices' 2020-03-11 08:26:30 -07:00
gpslistmodel.cpp Cleanup: turn GpsListModel into standard singleton 2019-10-04 09:19:10 -07:00
gpslistmodel.h Cleanup: Make constructor of singletons private 2019-10-04 09:19:10 -07:00
maplocationmodel.cpp Filter: split out filter from model 2019-11-19 21:13:40 -08:00
maplocationmodel.h Cleanup: lower-case filenames in core/subsurface-qt/ 2020-02-04 02:16:46 +01:00
messagehandlermodel.cpp debug output: ensure our debug output is captured on Android 2020-04-18 09:00:21 -07:00
messagehandlermodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
mobilelistmodel.cpp mobile/models: make dive invalid flag available to mobile UI 2020-03-21 14:31:37 -07:00
mobilelistmodel.h mobile/models: make dive invalid flag available to mobile UI 2020-03-21 14:31:37 -07:00
models.cpp Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
models.h Cleanup: remove includes from qt-models/models.h 2019-07-18 05:42:55 -07:00
tankinfomodel.cpp Cleanup: implement proper Qt-model semantics in TankInfoModel 2019-04-29 13:06:39 -07:00
tankinfomodel.h Cleanup: remove biggerString() functions 2019-04-29 13:06:39 -07:00
treemodel.cpp Cleanup: make DiveTripModel a global object 2018-09-01 07:48:43 -07:00
treemodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
weightmodel.cpp undo: show multiple dive warning when editing equipment 2020-04-07 00:13:35 +02:00
weightmodel.h undo: show multiple dive warning when editing equipment 2020-04-07 00:13:35 +02:00
weightsysteminfomodel.cpp Cleanup: implement proper Qt-model semantics in WeightInfoModel 2019-04-29 13:06:39 -07:00
weightsysteminfomodel.h Cleanup: implement proper Qt-model semantics in WeightInfoModel 2019-04-29 13:06:39 -07:00
yearlystatisticsmodel.cpp Core: dynamically allocate the result of get_gas_used() 2019-11-09 19:19:04 +01:00
yearlystatisticsmodel.h Show average max depth in yearly statistics 2018-12-17 12:18:26 +01:00