subsurface/core
Berthold Stoeger 75767c456a Turn application state into enum
The application state was encoded in a QByteArray. Thus, there was
no compile-time checking. Typos would lead to silent failures.

Turn the application state into an enum. Use the enum-class construct,
so that the values don't polute the global namespace. Moreover,
this makes them strongly typed, i.e. they don't auto-convert to
integers.

A disadvantage is that the enums now have to be cast to int
explicitly when used to index an array.

Replace two hash-maps in MainWindow to arrays of fixed sizes.

Move the application-state details into their own files.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-05-12 12:33:55 -07:00
..
settings use the default constructor for empty QString and QByteArray constants 2019-04-12 12:59:17 +03:00
subsurface-qt Undo: implement undo of dive trip editing 2019-04-12 18:19:07 +03:00
android.cpp Make device enumeration use the device transport data 2018-08-27 22:10:38 -07:00
applicationstate.cpp Turn application state into enum 2019-05-12 12:33:55 -07:00
applicationstate.h Turn application state into enum 2019-05-12 12:33:55 -07:00
btdiscovery.cpp Support for Scubapro G2 HUD discovery via bluetooth 2019-04-28 09:39:50 +02:00
btdiscovery.h Mobile: only show dive computers in the Bluetooth connection list 2019-02-14 09:05:58 -08:00
checkcloudconnection.cpp get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
checkcloudconnection.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
cloudstorage.cpp get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
cloudstorage.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
CMakeLists.txt Turn application state into enum 2019-05-12 12:33:55 -07:00
cochran.c Cleanup: remove "sha1.h" include in "dive.h" 2019-04-12 18:19:07 +03:00
cochran.h Cochran import: better support for older models 2017-05-31 21:53:00 -07:00
color.cpp Cleanup: silence clang missing braces warning in core/color.cpp 2018-09-01 11:31:18 -07:00
color.h Cleanups to core/color.[c|hpp] 2018-07-18 02:09:15 +03:00
compressibility.r Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
configuredivecomputer.cpp ConfigureDiveComputer::saveXMLBackup(): factor out writing gas details 2019-03-27 07:36:33 -07:00
configuredivecomputer.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
configuredivecomputerthreads.cpp Misc: replace some FIXME comments 2019-03-19 09:56:48 -07:00
configuredivecomputerthreads.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
connectionlistmodel.cpp Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
connectionlistmodel.h Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
datatrak.c Dive site: add dive site ref-counting 2019-04-12 18:19:07 +03:00
datatrak.h Cleanup: const-ify functions taking dives and divecomputers 2018-08-23 14:41:01 -07:00
deco.c Coding style: remove Java-style function definition 2019-04-12 18:19:07 +03:00
deco.h Cleanup: const-ify functions taking pointers to events 2018-08-23 05:16:38 -07: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 Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
devicedetails.h Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
display.h Make device enumeration use the device transport data 2018-08-27 22:10:38 -07:00
dive.c Cleanup: remove UTF8 macros 2019-05-12 12:25:43 -07:00
dive.h Cleanup: remove UTF8 macros 2019-05-12 12:25:43 -07:00
divecomputer.cpp core: remove SettingsObjectWrapper and update qPref calls 2018-08-15 16:11:39 -07:00
divecomputer.h Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divelist.c Core: consider dive-number on sorting 2019-05-12 12:28:06 -07:00
divelist.h Add "Import dive sites" menu to mainwindow 2019-05-06 10:48:44 +02:00
divelogexportlogic.cpp avoid duplicate and inconsistent applying of QDir::separator() 2019-03-27 07:36:33 -07:00
divelogexportlogic.h avoid duplicate and inconsistent applying of QDir::separator() 2019-03-27 07:36:33 -07:00
divesite-helper.cpp Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
divesite.c Bugfix for algorithm in get_distance() 2019-04-30 23:32:50 +02:00
divesite.h Undo: make dive site merging undoable 2019-04-12 18:19:07 +03:00
divesitehelpers.cpp Undo: use QUndoStack::isClean() to determine unsaved changes 2019-04-12 18:19:07 +03:00
divesitehelpers.h Geo lookup: don't pass arguments / result via global object 2018-10-11 16:25:02 -07:00
downloadfromdcthread.cpp Mobile: add checkbox to force downloading all dives 2019-05-11 11:40:07 -07:00
downloadfromdcthread.h Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
equipment.c Cleanup: user properly typed pointers 2018-08-23 05:21:08 -07:00
errorhelper.c Coding style: remove Java-style function definition 2019-04-12 18:19:07 +03:00
exif.cpp Coding-style: remove superfluous parentheses 2018-02-17 19:38:52 -08:00
exif.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
file.c Cleanup: move parse-function declarations out of "dive.h" 2019-04-12 18:19:07 +03:00
file.h Cleanup: move parse-function declarations out of "dive.h" 2019-04-12 18:19:07 +03: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 Cleanup: pass gasmix by value 2018-08-23 05:16:38 -07:00
gaspressures.c Cleanup: const-ify functions taking pointers to events 2018-08-23 05:16:38 -07:00
gaspressures.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
gettext.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
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 Cleanup: remove "sha1.h" include in "dive.h" 2019-04-12 18:19:07 +03:00
git-access.h prefs: git_local_only is not a preference 2018-09-10 16:26:49 -07:00
gpslocation.cpp Dive site: add dive site ref-counting 2019-04-12 18:19:07 +03:00
gpslocation.h Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
imagedownloader.cpp Core: remove variable name conflict 2019-03-18 19:40:32 -07:00
imagedownloader.h Profile: add "synchronous" mode for picture plotting 2019-02-07 16:06:43 +01:00
import-cobalt.c Dive site: add dive site ref-counting 2019-04-12 18:19:07 +03:00
import-csv.c Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
import-csv.h Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
import-divinglog.c Dive site: add dive site ref-counting 2019-04-12 18:19:07 +03:00
import-shearwater.c Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
import-suunto.c Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
ios.cpp Make device enumeration use the device transport data 2018-08-27 22:10:38 -07:00
libdivecomputer.c Cleanup: move parse_location() declaration into header file 2019-05-11 12:35:11 -07:00
libdivecomputer.h Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
liquivision.c Dive site: add dive site ref-counting 2019-04-12 18:19:07 +03:00
load-git.c Cleanup: move parse_location() declaration into header file 2019-05-11 12:35:11 -07:00
macos.c macOS: always list 'FTDI' as a serial connection 2018-09-24 18:51:21 +02:00
membuffer.c Cleanup: unconstify string argument to add_to_string() 2019-03-27 13:58:15 +01:00
membuffer.h Cleanup: unconstify string argument to add_to_string() 2019-03-27 13:58:15 +01:00
metadata.cpp Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metadata.h Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metrics.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
metrics.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
ostctools.c Parser: parse into custom dive site table 2019-04-12 18:19:07 +03:00
parse-xml.c Cleanup: move parse_location() declaration into header file 2019-05-11 12:35:11 -07:00
parse.c Dive site: add dive site ref-counting 2019-04-12 18:19:07 +03:00
parse.h Cleanup: move parse-function declarations out of "dive.h" 2019-04-12 18:19:07 +03:00
planner.c Make sure surface air is not considered a deco gas 2019-03-29 06:51:12 -07:00
planner.h Cleanup: pass gasmix by value 2018-08-23 05:16:38 -07:00
plannernotes.c Don't show surface gas in gas use list 2019-04-16 02:00:35 +12:00
pref.h Add UI element for final surface segment in planner 2019-03-29 06:51:12 -07:00
profile.c Cleanup: remove UTF8 macros 2019-05-12 12:25:43 -07:00
profile.h Include surface GF in infobox 2019-02-05 14:18:14 +01:00
qt-ble.cpp qt-ble: return DC_STATUS_TIMEOUT rather than DC_STATUS_IO on timeout 2019-04-18 05:42:54 +12:00
qt-ble.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
qt-gui.h core,tests: change qml register function 2018-09-11 17:22:58 -07:00
qt-init.cpp Core: use British translations in South Africa 2018-11-01 09:30:14 -07:00
qthelper.cpp Turn application state into enum 2019-05-12 12:33:55 -07:00
qthelper.h Turn application state into enum 2019-05-12 12:33:55 -07:00
qtserialbluetooth.cpp drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
save-git.c Remove check for whether a site is used before saving it. 2019-04-12 18:19:07 +03:00
save-html.c Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
save-html.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
save-profiledata.c Write dive data as video subtitles 2019-04-16 20:38:19 +02:00
save-profiledata.h Write dive data as video subtitles 2019-04-16 20:38:19 +02:00
save-xml.c Add export option to export dive sites. 2019-04-13 08:18:32 -07:00
serial_ftdi.c Fix Cressi interface ftdi opening bug 2018-11-18 20:01:28 +02:00
sha1.c Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
sha1.h Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
ssrf.h mobile: add timer to measure startup. 2018-05-30 21:47:07 -07:00
statistics.c Add backend support for statistics by depth and temperature 2019-03-12 00:53:51 +01:00
statistics.h Add backend support for statistics by depth and temperature 2019-03-12 00:53:51 +01:00
strndup.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
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 Add UI element for final surface segment in planner 2019-03-29 06:51:12 -07:00
subsurfacestartup.h Fix ownership issues in preferences code 2017-11-25 07:41:09 -08:00
subsurfacesysinfo.cpp drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
subsurfacesysinfo.h drop support for Qt 5.4 and before 2019-03-27 07:36:33 -07:00
table.h Dive site: inform model of dive site addition / deletion 2019-04-12 18:19:07 +03:00
taxonomy.c Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
taxonomy.h Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
time.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
uemis-downloader.c Dive site: add dive site ref-counting 2019-04-12 18:19:07 +03:00
uemis.c Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
uemis.h Dive site: use pointer instead of uuid in uemis_helper 2018-10-29 00:09:31 +00:00
units.h Cleanup: move parse_location() declaration into header file 2019-05-11 12:35:11 -07:00
unix.c Don't allow empty username for git 2019-01-16 02:38:30 +01:00
version.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
version.h Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
videoframeextractor.cpp Dive media: Extract thumbnails from videos with ffmpeg 2018-07-28 15:31:25 -07:00
videoframeextractor.h Dive media: Extract thumbnails from videos with ffmpeg 2018-07-28 15:31:25 -07:00
webservice.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
windows.c windows.c: fix wrong usage of wcslen() for utf8 conversation 2018-12-29 18:27:21 +01:00
windowtitleupdate.cpp Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
windowtitleupdate.h Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
worldmap-options.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
worldmap-save.c Cleanup: remove redundant checks for null dive site 2019-04-12 18:19:07 +03:00
worldmap-save.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
xmp_parser.cpp Desktop: fix yet another variable name conflict 2019-03-18 19:40:32 -07:00
xmp_parser.h Metadata: rudimentary support for XMP metadataa in MP4-based videos 2018-09-25 14:59:14 -07:00