filechooserentry: Reorganize function
Setter functions the way I code it look like this (in order): 1) Figure out if the value changed. If not, exit early. 2) Clear the old value (ie unref stuff, disconnect signals 3) Copy the new value 4) Set up things about the new value This reorganization does that. And by doing that, it even reduces the amount of code and the amount of branches (and with it, nesting) needed.
This commit is contained in:
committed by
Federico Mena Quintero
parent
a82a166700
commit
aff9158d41
@@ -1489,34 +1489,23 @@ reload_current_folder (GtkFileChooserEntry *chooser_entry,
|
||||
GFile *folder_file,
|
||||
gboolean force_reload)
|
||||
{
|
||||
gboolean reload = FALSE;
|
||||
|
||||
g_assert (folder_file != NULL);
|
||||
|
||||
if (chooser_entry->current_folder_file
|
||||
&& g_file_equal (folder_file, chooser_entry->current_folder_file)
|
||||
&& chooser_entry->load_folder_cancellable
|
||||
&& !force_reload)
|
||||
return REFRESH_OK;
|
||||
|
||||
if (chooser_entry->current_folder_file)
|
||||
{
|
||||
if ((!(g_file_equal (folder_file, chooser_entry->current_folder_file)
|
||||
&& chooser_entry->load_folder_cancellable))
|
||||
|| force_reload)
|
||||
{
|
||||
reload = TRUE;
|
||||
|
||||
discard_current_folder (chooser_entry);
|
||||
discard_loading_and_current_folder_file (chooser_entry);
|
||||
|
||||
chooser_entry->current_folder_file = g_object_ref (folder_file);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
chooser_entry->current_folder_file = g_object_ref (folder_file);
|
||||
reload = TRUE;
|
||||
discard_current_folder (chooser_entry);
|
||||
discard_loading_and_current_folder_file (chooser_entry);
|
||||
}
|
||||
|
||||
chooser_entry->current_folder_file = g_object_ref (folder_file);
|
||||
|
||||
if (reload)
|
||||
return start_loading_current_folder (chooser_entry);
|
||||
else
|
||||
return REFRESH_OK;
|
||||
return start_loading_current_folder (chooser_entry);
|
||||
}
|
||||
|
||||
static RefreshStatus
|
||||
|
||||
Reference in New Issue
Block a user