mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Change behavior for the existing filename
Previously we always picked the last file that was openend as the file name to save to. That seems counterintuitive when importing files or when opening multiple files. Especially if Subsurface was executed without a file on the command line and we are using the default file. Now we only remember a file name if it was the first one to ever be openend or if it was used in save-as. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
b73f29fea3
commit
78c5aa9f07
4 changed files with 9 additions and 10 deletions
10
gtk-gui.c
10
gtk-gui.c
|
@ -233,7 +233,7 @@ static void file_save_as(GtkWidget *w, gpointer data)
|
|||
|
||||
if (filename){
|
||||
save_dives(filename);
|
||||
set_filename(filename);
|
||||
set_filename(filename, TRUE);
|
||||
g_free(filename);
|
||||
mark_divelist_changed(FALSE);
|
||||
}
|
||||
|
@ -1419,11 +1419,11 @@ void update_progressbar_text(progressbar_t *progress, const char *text)
|
|||
gtk_progress_bar_set_text(GTK_PROGRESS_BAR(progress->bar), text);
|
||||
}
|
||||
|
||||
void set_filename(const char *filename)
|
||||
void set_filename(const char *filename, gboolean force)
|
||||
{
|
||||
if (existing_filename)
|
||||
free(existing_filename);
|
||||
existing_filename = NULL;
|
||||
if (!force && existing_filename)
|
||||
return;
|
||||
free(existing_filename);
|
||||
if (filename)
|
||||
existing_filename = strdup(filename);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue