subsurface/core
Berthold Stoeger 1ed2f1681a desktop: remove the view-state
There was the "application state", which decided what to show
in the "quadrants" and the "view state" which decided which
quadrant to show. These interacted in a hard-to-grasp way.

The "view state" is used to show the map or dive list in
full screen.

I simply couldn't get these two orthogonal states to interact
properly. Moreover the thing was buggy: If a quadrant was hidden,
the user could still show it, by dragging from the side of the
window, at least under KDE.

To solve these woes, merge the two states into a single
application state. If the widget of a quadrant is set to null,
don't show it. So the four "view states" are now "application
states" where three of the four quadrants are not shown.

This also changes the memory management of the widgets:
widgets that are not shown are now removed from the QSplitter
objects. This makes it possible that the same widget is
shown in *different* quadrants.

While writing this, I stumbled upon a Qt bug, which is known
since 2014:
https://forum.qt.io/topic/43176/qsplitter-sizes-return-0

When restoring the quadrant sizes there was a test whether
the quadrant size is 0. If that was the case, a default size
was set. This seems not to work if the widgets were recently
added. Since this test now always fails, make the quadrants
non-collapsible and thus guarantee that 0 is never saved as
a size.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-06 10:00:39 -08:00
..
settings mobile: add GF fields for ceiling calculation 2021-01-19 12:34:46 -08:00
subsurface-qt core: remove DiveObjectHelper 2020-12-17 13:03:56 -08:00
android.cpp build-system/android: remove libusb at QTest 2020-04-25 13:18:41 -07:00
applicationstate.cpp desktop: add statistics widget dummy and application state 2021-01-03 13:41:15 -08:00
applicationstate.h desktop: remove the view-state 2021-02-06 10:00:39 -08:00
btdiscovery.cpp core/BT: fix duplicate entries in BT detection 2021-01-28 12:51:19 -08:00
btdiscovery.h bluetooth discovery: report more information about progress 2020-09-30 16:40:41 -07:00
checkcloudconnection.cpp Cloud storage: remove outdated certificate hack 2019-10-09 22:38:29 +03:00
checkcloudconnection.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
cloudstorage.cpp core: correct cloudstorage.cpp to use static qPrefCloudStorage functions. 2019-12-05 11:48:26 -08:00
cloudstorage.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
CMakeLists.txt cleanup: move pref related structs and functions to pref.c 2021-01-02 10:26:29 -08:00
cochran.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
cochran.h
color.cpp Cleanup: silence clang missing braces warning in core/color.cpp 2018-09-01 11:31:18 -07:00
color.h Indicate negative cylider pressure 2019-08-08 08:56:44 -07:00
compressibility.r
configuredivecomputer.cpp cleanup: use pointer-to-function connect() in ConfigureDiveComputer 2020-10-06 10:38:45 -07:00
configuredivecomputer.h cleanup: use pointer-to-function connect() in ConfigureDiveComputer 2020-10-06 10:38:45 -07:00
configuredivecomputerthreads.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
configuredivecomputerthreads.h
connectionlistmodel.cpp core/bt: ensure that BT/BLE addresses with name sort first 2020-05-15 04:05:06 +03:00
connectionlistmodel.h Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
datatrak.c core: keep tank infos in a dynamic table 2020-12-13 11:49:59 -08:00
datatrak.h Cleanup: const-ify functions taking dives and divecomputers 2018-08-23 14:41:01 -07:00
deco.c core: make gas type enum globally available 2020-10-03 10:29:15 -07:00
deco.h Parser: remove global state 2019-08-08 16:26:31 -07:00
device.cpp core: don't construct std::string from null in device.cpp 2020-11-04 15:53:15 -08:00
device.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
devicedetails.cpp
devicedetails.h
display.h profile: move adding of ceiling-violation-event 2021-01-10 15:57:39 -08:00
dive.c undo: remove invalidate_dive_cache() call from make_first_dc() 2021-01-11 08:42:17 -08:00
dive.h profile: pass dive to plot function of profile-items 2021-01-10 15:57:39 -08:00
divecomputer.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
divecomputer.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
divefilter.cpp cleanup: ensure DiveFilter is consistent when created 2021-01-01 12:38:50 -08:00
divefilter.h filter: provide function that returns all shown dives 2020-12-29 08:34:09 -08:00
divelist.c cleanup: constify init_decompression() 2021-01-20 10:01:50 -08:00
divelist.h cleanup: constify init_decompression() 2021-01-20 10:01:50 -08:00
divelogexportlogic.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
divelogexportlogic.h avoid duplicate and inconsistent applying of QDir::separator() 2019-03-27 07:36:33 -07:00
divemode.h Cleanup: move planner/deco related declarations planner/deco.h 2019-08-08 16:26:31 -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 mobile/edit: don't add dive site twice to table 2020-03-17 14:05:24 -07:00
divesite.h cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
divesitehelpers.cpp cleanup: use taxonomy_get_value() instead of taxonomy_get_index() 2020-09-06 12:59:54 -07:00
divesitehelpers.h [Bug #2934] Geo Lookup - support for remote dive sites 2020-09-05 17:34:15 +02:00
downloadfromdcthread.cpp core: fix incorrect QString::asprintf/vasprintf usage 2020-11-17 12:56:40 -08:00
downloadfromdcthread.h downloader: small improvements 2020-12-03 13:26:55 -08:00
equipment.c core: correct AL* tankinfo sizes. 2020-12-17 08:10:56 -08:00
equipment.h core: keep tank infos in a dynamic table 2020-12-13 11:49:59 -08:00
errorhelper.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
errorhelper.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
event.c cleanup: break out event-related code into event.[c|h] 2020-10-25 13:59:52 -07:00
event.h cleanup: break out event-related code into event.[c|h] 2020-10-25 13:59:52 -07:00
exif.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
exif.h
extradata.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
file.c devices: create device nodes in parsers 2020-10-24 09:51:37 -07:00
file.h devices: create device nodes in parsers 2020-10-24 09:51:37 -07:00
filterconstraint.cpp core: move formatting of day-of-week to string-format.cpp 2021-01-01 21:10:10 +01:00
filterconstraint.h filter: add tank size filter constraint 2020-10-03 10:29:15 -07:00
filterpreset.cpp filter: remove filter_preset_table_t 2020-10-17 09:04:20 -07:00
filterpreset.h filter: remove filter_preset_table_t 2020-10-17 09:04:20 -07:00
format.cpp
format.h
fulltext.cpp filter: implement importing of filter presets 2020-09-29 16:13:03 -07:00
fulltext.h fulltext: remember original query 2020-09-29 16:13:03 -07:00
gas-model.c Cleanup: replace macro by inline function in gas-model.c 2019-08-08 15:22:09 -07:00
gas.c core: make gasmix_is_invalid globally accessible 2021-01-01 21:10:10 +01:00
gas.h core: make gasmix_is_invalid globally accessible 2021-01-01 21:10:10 +01:00
gaspressures.c cleanup: constify populate_pressure_information() 2021-01-20 10:01:50 -08:00
gaspressures.h cleanup: constify populate_pressure_information() 2021-01-20 10:01:50 -08:00
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 cleanup: silence two compiler warnings in git-access.c 2020-09-22 14:10:12 -07:00
git-access.h cleanup: move function declarations to divelist.h 2020-10-25 13:59:52 -07:00
gpslocation.cpp mobile/debugging: copy GPS fixes to clipboard 2021-01-23 13:19:11 -08:00
gpslocation.h mobile/debugging: copy GPS fixes to clipboard 2021-01-23 13:19:11 -08:00
imagedownloader.cpp core: add "transparent" parameter to renderSVGIcon 2021-01-01 21:10:10 +01:00
imagedownloader.h Profile: add "synchronous" mode for picture plotting 2019-02-07 16:06:43 +01:00
import-cobalt.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
import-csv.c cleanup: move variable declaration closer to use 2020-10-26 19:27:03 -07:00
import-csv.h parser: add device_table to parser state 2020-10-24 09:51:37 -07:00
import-divinglog.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
import-seac.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
import-shearwater.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
import-suunto.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
interpolate.h cleanup: move interpolate inline function to its own header file 2020-10-25 13:59:52 -07:00
ios.cpp cloud-storage: simplify creation of git authorship 2020-04-09 17:05:44 -07:00
libdivecomputer.c cleanup: remove unused function argument 2020-10-26 19:27:03 -07:00
libdivecomputer.h divecomputer: add device_table pointer to device_data_t 2020-10-24 09:51:37 -07:00
liquivision.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
load-git.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
macos.c cloud-storage: simplify creation of git authorship 2020-04-09 17:05:44 -07:00
membuffer.c membuffer: be defensive about bad C library vsnprintf implementations 2020-10-01 13:43:21 -07:00
membuffer.h Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
metadata.cpp cleanup: remove getDivesInTrip() in qthelper.cpp 2020-12-29 08:34:09 -08:00
metadata.h Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metrics.cpp mobile/UI: remember the system default font size 2021-01-19 12:35:29 -08:00
metrics.h
ostctools.c cleanup: move sort_dive_table declaration to divetable.h 2020-10-25 13:59:52 -07:00
parse-gpx.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
parse-gpx.h cleanup: only include QString in desktop-widgets/importgps.h 2020-05-01 09:42:31 -07:00
parse-xml.c parser: don't crash when parsing <weight> tags 2020-11-01 10:59:39 -08:00
parse.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
parse.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
picture.c core/picture: don't compile all on mobile 2020-11-19 17:18:33 -08:00
picture.h core: move picture-related function from dive.c to picture.c 2020-05-06 13:58:09 -07:00
pictureobj.cpp media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
pictureobj.h media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
planner.c cleanup: move interpolate inline function to its own header file 2020-10-25 13:59:52 -07:00
planner.h cleanup: move DECOTIMESTEP from dive.h to planner.h 2020-05-01 09:42:31 -07:00
plannernotes.c Cylinders: access cylinders with get_cylinder() 2019-11-09 19:19:04 +01:00
pref.c cleanup: move pref related structs and functions to pref.c 2021-01-02 10:26:29 -08:00
pref.h preferences: remove pointless member 2021-01-06 10:18:23 -08:00
profile.c cleanup: constify create_plot_info_new() 2021-01-20 10:01:50 -08:00
profile.h cleanup: constify create_plot_info_new() 2021-01-20 10:01:50 -08:00
qt-ble.cpp cleanup: remove dc_user_device_t 2020-10-24 09:51:37 -07:00
qt-ble.h cleanup: remove dc_user_device_t 2020-10-24 09:51:37 -07:00
qt-gui.h mobile/UI: remember the system default font size 2021-01-19 12:35:29 -08:00
qt-init.cpp cleanup: remove getDivesInTrip() in qthelper.cpp 2020-12-29 08:34:09 -08:00
qthelper.cpp profile: pass dive to DiveHandler 2021-01-10 15:57:39 -08:00
qthelper.h profile: pass dive to DiveHandler 2021-01-10 15:57:39 -08:00
qtserialbluetooth.cpp cleanup: remove dc_user_device_t 2020-10-24 09:51:37 -07:00
sample.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
sample.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
save-git.c cleanup: don't save PASCAL pressure units to git 2021-01-02 10:26:29 -08:00
save-html.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
save-html.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
save-profiledata.c Fix CSV for profile export 2020-04-18 13:41:29 +02:00
save-profiledata.h Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
save-xml.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
selection.cpp selection: when changing current dive make sure it is selected 2020-09-20 18:23:57 -07:00
selection.h selection: create global single_selected_trip() function 2020-05-03 15:02:21 -07:00
serial_ftdi.c core: fix libdivecomputer dc_custom callbacks structures 2020-06-18 09:05:13 -07:00
serial_usb_android.cpp android/usb: remove "autoselect driver" option for unknown VID/PIDs 2020-03-16 07:58:20 -07:00
serial_usb_android.h android/usb: pass in the UsbDevice when downloading 2020-03-16 07:58:20 -07:00
sha1.c
sha1.h
ssrf.h core: remove LOG_STP from mobile 2019-12-13 07:04:00 -05:00
statistics.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
statistics.h cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
string-format.cpp core: move formatting of day-of-week to string-format.cpp 2021-01-01 21:10:10 +01:00
string-format.h core: move formatting of day-of-week to string-format.cpp 2021-01-01 21:10:10 +01:00
strndup.h
strtod.c Core: introduce new subsurface-string header 2018-05-14 10:13:39 -07:00
structured_list.h media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
subsurface-string.h Core: don't inline rarely used function 2018-05-14 10:13:39 -07:00
subsurface-time.h cleanup: const-ify utc_mktime() 2020-12-29 08:34:09 -08:00
subsurfacestartup.c cleanup: move pref related structs and functions to pref.c 2021-01-02 10:26:29 -08:00
subsurfacestartup.h cleanup: move application flags to core/subsurfacehelper.h 2020-10-25 13:59:52 -07:00
subsurfacesysinfo.cpp cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07:00
subsurfacesysinfo.h cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07:00
table.h media: create sort_picture_table function via macro 2020-05-06 13:58:09 -07:00
tag.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
tag.h Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
taxonomy.c cleanup: make taxonomy_index_for_category() local to taxonomy.c 2020-09-06 12:59:54 -07:00
taxonomy.h cleanup: make taxonomy_index_for_category() local to taxonomy.c 2020-09-06 12:59:54 -07:00
time.c cleanup: const-ify utc_mktime() 2020-12-29 08:34:09 -08:00
timer.c Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
timer.h Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
trip.c cleanup: fix over-eager Coverity warnings 2020-10-25 13:58:03 -07:00
trip.h selection: add selection flag for trips 2020-05-03 15:02:21 -07:00
uemis-downloader.c cleanup: initialize all members of weightsystem 2020-10-26 19:27:03 -07:00
uemis.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
uemis.h Dive site: use pointer instead of uuid in uemis_helper 2018-10-29 00:09:31 +00:00
units.c cleanup: move definition of get_units() to core/unit.c 2021-01-02 10:26:29 -08:00
units.h Implement Seac SeacSync databaser parser. 2020-09-04 15:54:08 +03:00
unix.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
uploadDiveLogsDE.cpp core: fix incorrect changes in divelogs.de export 2020-02-17 10:50:51 -08:00
uploadDiveLogsDE.h Cleanup: remove const bool parameters and return types 2020-02-09 12:13:18 -08:00
uploadDiveShare.cpp core: divehare avoid race problem. 2019-12-12 10:10:01 -05:00
uploadDiveShare.h core: divehare change slot names 2019-12-12 10:10:01 -05:00
version.c
version.h
videoframeextractor.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
videoframeextractor.h Dive media: Extract thumbnails from videos with ffmpeg 2018-07-28 15:31:25 -07:00
webservice.h
windows.c cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07: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
worldmap-save.c cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
worldmap-save.h Cleanup: remove const bool parameters and return types 2020-02-09 12:13:18 -08:00
xmlparams.cpp core: add a small helper-struct that keeps track of xml-parameters 2020-10-23 18:17:02 -07:00
xmlparams.h core: add a small helper-struct that keeps track of xml-parameters 2020-10-23 18:17:02 -07:00
xmp_parser.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
xmp_parser.h Metadata: rudimentary support for XMP metadataa in MP4-based videos 2018-09-25 14:59:14 -07:00