aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/dive.h2
-rw-r--r--core/qthelper.cpp4
-rw-r--r--desktop-widgets/mainwindow.cpp8
-rw-r--r--mobile-widgets/qmlmanager.cpp16
-rw-r--r--subsurface-mobile-main.cpp4
5 files changed, 16 insertions, 18 deletions
diff --git a/core/dive.h b/core/dive.h
index 2b227690b..7b2f3d658 100644
--- a/core/dive.h
+++ b/core/dive.h
@@ -723,7 +723,7 @@ extern int match_one_dc(struct divecomputer *a, struct divecomputer *b);
extern void parse_xml_init(void);
extern int parse_xml_buffer(const char *url, const char *buf, int size, struct dive_table *table, const char **params);
extern void parse_xml_exit(void);
-extern void set_filename(const char *filename, bool force);
+extern void set_filename(const char *filename);
extern int parse_dm4_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table);
extern int parse_dm5_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table);
diff --git a/core/qthelper.cpp b/core/qthelper.cpp
index 7f72fd9a2..b63ea3929 100644
--- a/core/qthelper.cpp
+++ b/core/qthelper.cpp
@@ -560,10 +560,8 @@ QLocale getLocale()
return loc;
}
-void set_filename(const char *filename, bool force)
+void set_filename(const char *filename)
{
- if (!force && existing_filename)
- return;
free((void *)existing_filename);
if (filename)
existing_filename = strdup(filename);
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp
index a9dd960d0..7854a6977 100644
--- a/desktop-widgets/mainwindow.cpp
+++ b/desktop-widgets/mainwindow.cpp
@@ -611,7 +611,7 @@ void MainWindow::on_actionCloudstorageopen_triggered()
showProgressBar();
QByteArray fileNamePtr = QFile::encodeName(filename);
if (!parse_file(fileNamePtr.data())) {
- set_filename(fileNamePtr.data(), true);
+ set_filename(fileNamePtr.data());
setTitle(MWTF_FILENAME);
}
getNotificationWidget()->hideNotification();
@@ -642,7 +642,7 @@ void MainWindow::on_actionCloudstoragesave_triggered()
if (error)
return;
- set_filename(filename.toUtf8().data(), true);
+ set_filename(filename.toUtf8().data());
setTitle(MWTF_FILENAME);
mark_divelist_changed(false);
}
@@ -1655,7 +1655,7 @@ int MainWindow::file_save_as(void)
if (save_dives(filename.toUtf8().data()))
return -1;
- set_filename(filename.toUtf8().data(), true);
+ set_filename(filename.toUtf8().data());
setTitle(MWTF_FILENAME);
mark_divelist_changed(false);
addRecentFile(filename, true);
@@ -1801,7 +1801,7 @@ void MainWindow::loadFiles(const QStringList fileNames)
for (int i = 0; i < fileNames.size(); ++i) {
fileNamePtr = QFile::encodeName(fileNames.at(i));
if (!parse_file(fileNamePtr.data())) {
- set_filename(fileNamePtr.data(), true);
+ set_filename(fileNamePtr.data());
addRecentFile(fileNamePtr, false);
setTitle(MWTF_FILENAME);
}
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index 144b3bd31..85c606cd0 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -240,7 +240,7 @@ void QMLManager::openLocalThenRemote(QString url)
prefs.git_local_only = false;
appendTextToLog(QStringLiteral("taking things online to be able to switch to cloud account"));
}
- set_filename(fileNamePrt.data(), true);
+ set_filename(fileNamePrt.data());
if (prefs.git_local_only) {
appendTextToLog(QStringLiteral("have cloud credentials, but user asked not to connect to network"));
alreadySaving = false;
@@ -318,7 +318,7 @@ void QMLManager::finishSetup()
// we got an error loading the local file
appendTextToLog(QString("got error %2 when parsing file %1").arg(existing_filename, get_error_string()));
setNotificationText(tr("Error parsing local storage, giving up"));
- set_filename(NULL, true);
+ set_filename(NULL);
} else {
// successfully opened the local file, now add thigs to the dive list
consumeFinishedLoad(0);
@@ -596,7 +596,7 @@ void QMLManager::loadDivesWithValidCredentials()
report_error("filename is now %s", fileNamePrt.data());
QString errorString(get_error_string());
appendTextToLog(errorString);
- set_filename(fileNamePrt.data(), true);
+ set_filename(fileNamePrt.data());
} else {
report_error("failed to open file %s", fileNamePrt.data());
QString errorString(get_error_string());
@@ -657,7 +657,7 @@ void QMLManager::revertToNoCloudIfNeeded()
setCloudUserName("");
setCloudPassword("");
setCredentialStatus(CS_NOCLOUD);
- set_filename(NOCLOUD_LOCALSTORAGE, true);
+ set_filename(NOCLOUD_LOCALSTORAGE);
setStartPageText(RED_FONT + tr("Failed to connect to cloud server, reverting to no cloud status") + END_FONT);
}
alreadySaving = false;
@@ -1099,7 +1099,7 @@ void QMLManager::openNoCloudRepo()
if (git == dummy_git_repository) {
if (git_create_local_repo(filename))
appendTextToLog(get_error_string());
- set_filename(filename, true);
+ set_filename(filename);
GeneralSettingsObjectWrapper s(this);
s.setDefaultFilename(filename);
s.setDefaultFileBehavior(LOCAL_DEFAULT_FILE);
@@ -1116,7 +1116,7 @@ void QMLManager::saveChangesLocal()
char *filename = NOCLOUD_LOCALSTORAGE;
if (git_create_local_repo(filename))
appendTextToLog(get_error_string());
- set_filename(filename, true);
+ set_filename(filename);
GeneralSettingsObjectWrapper s(this);
s.setDefaultFilename(filename);
s.setDefaultFileBehavior(LOCAL_DEFAULT_FILE);
@@ -1138,7 +1138,7 @@ void QMLManager::saveChangesLocal()
QString errorString(get_error_string());
appendTextToLog(errorString);
setNotificationText(errorString);
- set_filename(NULL, true);
+ set_filename(NULL);
prefs.git_local_only = glo;
alreadySaving = false;
return;
@@ -1481,7 +1481,7 @@ void QMLManager::setCredentialStatus(const cloud_status_qml value)
setOldStatus(m_credentialStatus);
if (value == CS_NOCLOUD) {
appendTextToLog("Switching to no cloud mode");
- set_filename(NOCLOUD_LOCALSTORAGE, true);
+ set_filename(NOCLOUD_LOCALSTORAGE);
clearCredentials();
}
m_credentialStatus = value;
diff --git a/subsurface-mobile-main.cpp b/subsurface-mobile-main.cpp
index 03a28e5e8..291a25125 100644
--- a/subsurface-mobile-main.cpp
+++ b/subsurface-mobile-main.cpp
@@ -52,9 +52,9 @@ int main(int argc, char **argv)
taglist_init_global();
init_ui();
if (prefs.default_file_behavior == LOCAL_DEFAULT_FILE)
- set_filename(prefs.default_filename, true);
+ set_filename(prefs.default_filename);
else
- set_filename(NULL, true);
+ set_filename(NULL);
// some hard coded settings
prefs.animation_speed = 0; // we render the profile to pixmap, no animations