Commit Graph

3330 Commits

Author SHA1 Message Date
sawinglogz
c4619dad35 Clean up zip API. 2020-01-22 11:25:20 -05:00
sawinglogz
607002ffa1 Separate directory walking from zip creation.
This is necessary for presenting a progress bar during zip creation.
2020-01-22 10:56:08 -05:00
sawinglogz
1c4c7871da Add zip creation of SD card data.
This uses the miniz library, which is self-contained in a single
.c/.h pair and has an MIT license.

Swapping out the zip library should be fairly straightforward
if ever necessary.
2020-01-21 17:37:37 -05:00
Phil Olynyk
04c085f924 Add code to use old calls with old Qt versions 2020-01-21 15:53:08 -05:00
Phil Olynyk
0dba31e58b Changes for old QT and compiler versions 2020-01-21 13:49:02 -05:00
sawinglogz
46e061d12b Add CPAP data card selection to archive creation workflow.
Also slightly refine some verbiage in the import process to make it simpler.

Zip creation still to come.
2020-01-21 12:56:08 -05:00
sawinglogz
36d3467a64 Refactor on_action_Import_Data_triggered into multiple functions.
No change in behavior.
2020-01-21 11:56:22 -05:00
sawinglogz
99badd40c3 Add menu entries for creating zip archives of SD cards and OSCAR data.
Also hide a few "not yet implemented" items.

Actual zipping comes later.
2020-01-21 11:22:49 -05:00
Guy Scharf
703fe2a613 Update awk and inno setup scripts for new versioning changes in Windows build tools
Version number in Windows oscar.exe has first three numbers same as string and fourth as 0
    Version number in Windows installer has first three numbers same as string and fourth indicates build type:
    0 = release, 100=alpha, 200=beta, 300=gamma, 400=rc
2020-01-19 18:18:21 -07:00
Guy Scharf
0a55e12d5b Merge branch 'master' into version 2020-01-18 19:58:13 -07:00
Guy Scharf
8a0dc47279 New update_gitinfo.bat and changes to oscar.pro to support new versioning on Windows 2020-01-18 19:56:25 -07:00
sawinglogz
aba58d9085 Second pass at fixing display of Preferences menu shortcut on macOS.
The previous fix didn't work 100% of the time either.
2020-01-18 20:34:10 -05:00
sawinglogz
d8cc142501 Add "ignore older than" support to PRS1 importer.
Now it actually works.
2020-01-18 20:16:31 -05:00
sawinglogz
91dbd3a204 Fix the display of Preferences menu shortcut on macOS.
It was appearing only on first launch, when OSCAR was asking where
to store its data. Now it appears consistently.
2020-01-18 17:01:35 -05:00
sawinglogz
127a3e1964 Fix logger thread so that it doesn't lose messages at startup.
This was particularly noticeable when running for the first time and
selecting OSCAR's data location.
2020-01-18 11:41:09 -05:00
sawinglogz
407827e5f9 Update the create_dmg script to run macdeployqt every time.
We need it to strip the binary before creating the dmg.
2020-01-17 17:35:56 -05:00
sawinglogz
b5d5be6475 Work around qmake limitations in Info.plist generation. 2020-01-17 16:41:02 -05:00
sawinglogz
62b5ba3a60 Fix annoying precompiler limitation/bug in version sandbox logic. 2020-01-17 16:27:52 -05:00
sawinglogz
79ec192051 Fix update_gitinfo to detect detached head state properly. 2020-01-17 16:19:13 -05:00
sawinglogz
796f4659ab Update preference sandbox logic.
Release/RC version: no sandbox
Testing releases (tagged prerelease version): -test
Development builds: -branchname (if at the head of a branch)
                    -(commitid) (if in a headless state)

And in the unlikely event someone tries to build a non-release version
from a tarball instead of git, its sandbox will be "-unreleased".
2020-01-17 15:59:29 -05:00
sawinglogz
f7502d6369 Update mkDebian9.sh to pull version information from source code.
This may require a tweak to look in the right directory for the
source code, but it will automatically format the version number
appropriately for Debian packaging.

The iteration number is now the only optional argument, defaulting
to 1.
2020-01-17 15:33:33 -05:00
sawinglogz
740ff460e7 Add version information to macOS application bundle and dmg. 2020-01-17 13:06:33 -05:00
sawinglogz
8417e7d43f Move macOS create_dmg script to its proper place. 2020-01-16 19:48:30 -05:00
sawinglogz
8742eb3559 Update Windows deploy scripts for new version information.
These changes should work. At least the awk script has been tested.
2020-01-16 19:44:11 -05:00
sawinglogz
656f8a3c61 Attempt to update update_gitinfo.bat to match the bash script.
This is almost certain to be broken. Somebody with a Windows build
environment will need to test and fix it.
2020-01-16 17:47:48 -05:00
sawinglogz
083fa3debd Move version and git constants into #defines and update bash script.
The bash script now adds a #define if the current checkout is
exactly on a tag, and it leaves all #defines empty if building
from a tarball.

The batch file still needs to be updated.
2020-01-16 17:37:43 -05:00
sawinglogz
6d53fc5ebf Make the list of machines in the release notes an actual list. 2020-01-16 16:13:53 -05:00
sawinglogz
e125e79d00 Remove old build_number.h and infrastructure now that it's abandoned. 2020-01-16 16:07:55 -05:00
sawinglogz
768f32821a Clean up version.cpp, no functional changes. 2020-01-16 16:06:11 -05:00
sawinglogz
1f4bb2d435 Clean up build information and version interface.
This removes git dependencies from everything except for version.cpp,
and removes the associated interfaces in version.h.

Since the full version string contains the branch and revision
number where applicable, the build information no longer needs
to report branch and revision separately. It also now queries
version.cpp for a more consistent and reliable build time.

Debug output of build information is also now more consistent with
less redundant code.
2020-01-16 13:58:18 -05:00
sawinglogz
2e92107cce Update version display throughout to use the new information and be consistent.
The full version now includes the build/git information embedded within
it as build metadata according to the Semantic Versioning 2.0.0 spec,
for example: "1.1.0-beta-1+branch-name-a1b2c3d".

Now the full version string, with all detail is always displayed
EXCEPT for release versions, in which case just the simple version
number ("1.1.0") is displayed in the primary UI.

- Main window title: simple version for release versions, full version
    string otherwise
- Notifications: same as main window title
- System tray: same as main window title
- About window title: same as main window title
- About window release notes: always include full version string
- Reports: always include full version string
- Under the logo (about dialog, profile selector, new profile
    window): removed, as it is largely redundant and can
    interfere with the window geometry.
- Database upgrade alert: same as main window title
- Database newer alert: same as main window title

The full version string is also included within the preference and
profile .xml files, but because build metadata is ignored in version
comparisons, differences in builds will not cause any spurious
alerts. However, changes in prerelease versions will continue to
be significant, as they should be.
2020-01-16 13:05:55 -05:00
sawinglogz
80489a4b29 Add error handling in case a developer accidentally defines an invalid version. 2020-01-16 11:54:41 -05:00
sawinglogz
c71a953afd Add build metadata to version string.
Also update git scripts to make build metadata compliant with
semantic versioning.
2020-01-16 11:33:39 -05:00
sawinglogz
88957aeb7f Replace VersionString with getVersion() everywhere. 2020-01-15 19:45:46 -05:00
sawinglogz
f7f1ddfcbd Update version logic to drive entirely from defined string rather than individual components. 2020-01-15 19:27:03 -05:00
sawinglogz
93b9007f67 Remove old version comparison code. 2020-01-15 17:15:24 -05:00
sawinglogz
d7fade5f4c Add Version class for Semantic Versioning 2.0.0 parsing and comparison.
Also add unit tests for the new class.
2020-01-15 17:00:21 -05:00
sawinglogz
d898581ca4 Remove version.h dependency from appsettings.h to reduce unnecessary recompiling. 2020-01-15 16:34:28 -05:00
sawinglogz
fb32e16c96 Clean up version.h interface and reduce duplcate code.
Only minor cosmetic changes in how the version is displayed in
certain places.
2020-01-15 13:18:00 -05:00
sawinglogz
6f194507a8 Move version-related code into version.cpp. 2020-01-13 18:41:24 -05:00
sawinglogz
097362dfa1 Move version constants out of header file into new cpp file. 2020-01-13 18:41:24 -05:00
sawinglogz
cb036c4497 Remove some redundant hard-coding in daily settings view. 2020-01-12 20:17:07 -05:00
sawinglogz
787a6ed128 Fix PRS1 humidifer settings labels.
For this to be visible, the user needs to reset their channel
preferences to defaults. (This general limitation is logged as
an issue in Mantis.)
2020-01-12 20:13:21 -05:00
sawinglogz
46a81cd804 Fix PRS1 F5V01 flex parsing and add logging for F5V2.
Pre-DreamStation ASV flex settings should now be correct.
2020-01-12 19:34:51 -05:00
sawinglogz
2d3d5453b9 Update PRS1 flex parser for F0V234 based on remaining sample data.
Minimal changes, it was already mostly right.
2020-01-12 17:27:12 -05:00
sawinglogz
7909a26ab6 Split ParseFlexSetting into F0V234 and F5V012 versions, begin rewrite based on initial sample data.
These were incorrectly merged, resulting in convoluted logic and
occasionally incorrect results.  ASV is still very much a work in
progress.
2020-01-12 16:53:43 -05:00
sawinglogz
3b1d3028ff Document a few lingering PRS1 humidification samples. 2020-01-11 19:23:43 -05:00
sawinglogz
9edfd59476 Fix PRS1 humidity import.
Previously it was reporting spurious information when the humidifier was
disconnected.  Now it only reports settings details when the humidifier is
connected (the only time they're valid.)

It also now reports the humidification mode (fixed, adaptive, or heated
tube), and the heated tube temperature when appropriate.
2020-01-11 19:14:01 -05:00
sawinglogz
b0de30082c Update F0V6, F5V3 and F3V6 (DreamStation) humidifier parsing based on all available sample data.
No real change to functionality, other than confirming correct behavior,
documenting observed data and adding flags for anything new.
2020-01-11 15:13:24 -05:00
sawinglogz
37882ef750 Update F3V3 humidifier parsing based on all available sample data.
No real change to functionality, other than confirming correct behavior,
documenting observed data and adding flags for anything new.
2020-01-10 17:28:31 -05:00