From cb051e28f2e354bfe2e19171a6232e3d6d9d9abc Mon Sep 17 00:00:00 2001 From: Mark Watkins Date: Tue, 30 Sep 2014 19:05:29 +1000 Subject: [PATCH] Make CreateMachine searchf for lost machine folders --- sleepyhead/SleepLib/machine_loader.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sleepyhead/SleepLib/machine_loader.cpp b/sleepyhead/SleepLib/machine_loader.cpp index c6839f36..c7dc1e27 100644 --- a/sleepyhead/SleepLib/machine_loader.cpp +++ b/sleepyhead/SleepLib/machine_loader.cpp @@ -103,6 +103,19 @@ Machine * MachineLoader::CreateMachine(MachineInfo info, MachineID id) } } + // Before we create, find any lost folder to get the old ID + if ((id == 0) && ((info.type == MT_OXIMETER) || (info.type == MT_JOURNAL) || (info.type == MT_POSITION)|| (info.type == MT_SLEEPSTAGE))) { + QString dataPath = p_profile->Get("{" + STR_GEN_DataFolder + "}/"); + QDir dir(dataPath); + QStringList namefilter(QString(info.loadername+"_*")); + QStringList files = dir.entryList(namefilter, QDir::Dirs); + if (files.size() > 0) { + QString idstr = files[0].section("_",-1); + bool ok; + id = idstr.toInt(&ok, 16); + } + } + switch (info.type) { case MT_CPAP: m = new CPAP(id);