Skip to content

Commit

Permalink
Merge pull request #350 from ntrel/reload-prompt
Browse files Browse the repository at this point in the history
Don't prompt for reload from infobar when there are no unsaved changes
  • Loading branch information
ntrel committed Oct 12, 2014
2 parents 8298501 + ab7a001 commit 2d59f11
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions src/document.c
Expand Up @@ -1440,7 +1440,7 @@ gboolean document_reload_force(GeanyDocument *doc, const gchar *forced_enc)
gboolean document_reload_prompt(GeanyDocument *doc, const gchar *forced_enc)
{
gchar *base_name;
gboolean result = FALSE;
gboolean prompt, result = FALSE;

g_return_val_if_fail(doc != NULL, FALSE);

Expand All @@ -1453,17 +1453,18 @@ gboolean document_reload_prompt(GeanyDocument *doc, const gchar *forced_enc)

base_name = g_path_get_basename(doc->file_name);
/* don't prompt if file hasn't been edited at all */
if ((!doc->changed && !document_can_undo(doc) && !document_can_redo(doc)) ||
dialogs_show_question_full(NULL, _("_Reload"), GTK_STOCK_CANCEL,
_("Any unsaved changes will be lost."),
prompt = doc->changed || (document_can_undo(doc) || document_can_redo(doc));

if (!prompt || dialogs_show_question_full(NULL, _("_Reload"), GTK_STOCK_CANCEL,
doc->changed ? _("Any unsaved changes will be lost.") :
_("Undo history will be lost."),
_("Are you sure you want to reload '%s'?"), base_name))
{
result = document_reload_force(doc, forced_enc);
if (forced_enc != NULL)
ui_update_statusbar(doc, -1);
}
g_free(base_name);

return result;
}

Expand Down Expand Up @@ -3275,9 +3276,15 @@ static void on_monitor_reload_file_response(GtkWidget *bar, gint response_id, Ge
doc->priv->info_bars[MSG_TYPE_RELOAD] = NULL;

if (response_id == RESPONSE_DOCUMENT_RELOAD)
close = document_reload_prompt(doc, doc->encoding);
{
close = doc->changed ?
document_reload_prompt(doc, doc->encoding) :
document_reload_force(doc, doc->encoding);
}
else if (response_id == RESPONSE_DOCUMENT_SAVE)
{
close = document_save_file(doc, TRUE); // force overwrite
}
else if (response_id == GTK_RESPONSE_CANCEL)
{
document_set_text_changed(doc, TRUE);
Expand Down

0 comments on commit 2d59f11

Please sign in to comment.