mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Parser: parse into custom dive site table
To extend the undo system to dive sites, the importers and downloaders must not parse directly into the global dive site table. Instead, pass a dive_site_table argument to parse into. For now, always pass the global dive_site_table so that this commit should not cause any functional change. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
926b6895bb
commit
37146c5742
36 changed files with 216 additions and 185 deletions
|
|
@ -272,7 +272,7 @@ void QMLManager::openLocalThenRemote(QString url)
|
|||
QByteArray fileNamePrt = QFile::encodeName(url);
|
||||
bool glo = git_local_only;
|
||||
git_local_only = true;
|
||||
int error = parse_file(fileNamePrt.data(), &dive_table, &trip_table);
|
||||
int error = parse_file(fileNamePrt.data(), &dive_table, &trip_table, &dive_site_table);
|
||||
git_local_only = glo;
|
||||
if (error) {
|
||||
appendTextToLog(QStringLiteral("loading dives from cache failed %1").arg(error));
|
||||
|
|
@ -341,7 +341,7 @@ void QMLManager::mergeLocalRepo()
|
|||
char *filename = NOCLOUD_LOCALSTORAGE;
|
||||
struct dive_table table = { 0 };
|
||||
struct trip_table trips = { 0 };
|
||||
parse_file(filename, &table, &trips);
|
||||
parse_file(filename, &table, &trips, &dive_site_table);
|
||||
add_imported_dives(&table, &trips, IMPORT_MERGE_ALL_TRIPS);
|
||||
}
|
||||
|
||||
|
|
@ -406,7 +406,7 @@ void QMLManager::finishSetup()
|
|||
QMLPrefs::instance()->setCredentialStatus(qPrefCloudStorage::CS_NOCLOUD);
|
||||
saveCloudCredentials();
|
||||
appendTextToLog(tr("working in no-cloud mode"));
|
||||
int error = parse_file(existing_filename, &dive_table, &trip_table);
|
||||
int error = parse_file(existing_filename, &dive_table, &trip_table, &dive_site_table);
|
||||
if (error) {
|
||||
// we got an error loading the local file
|
||||
setNotificationText(tr("Error parsing local storage, giving up"));
|
||||
|
|
@ -666,7 +666,7 @@ void QMLManager::loadDivesWithValidCredentials()
|
|||
error = git_load_dives(git, branch);
|
||||
} else {
|
||||
appendTextToLog(QString("didn't receive valid git repo, try again"));
|
||||
error = parse_file(fileNamePrt.data(), &dive_table, &trip_table);
|
||||
error = parse_file(fileNamePrt.data(), &dive_table, &trip_table, &dive_site_table);
|
||||
}
|
||||
if (!error) {
|
||||
report_error("filename is now %s", fileNamePrt.data());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue