From 4cfd91391869fde7034adc907f5a8b40b4b3181e Mon Sep 17 00:00:00 2001 From: Mark O'Donovan Date: Fri, 26 Jan 2018 12:16:09 +0000 Subject: [PATCH 1/2] Disable Prefs/Files/Saving-files if project open If a project is open then the project-settings will override these settings so we should block the user from editing them. --- src/prefs.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/prefs.c b/src/prefs.c index 469cecdfed..811ee9dc0d 100644 --- a/src/prefs.c +++ b/src/prefs.c @@ -399,12 +399,14 @@ static void prefs_init_dialog(void) { GtkWidget *widget; GdkColor color = {0}; + gboolean project_open; /* Synchronize with Stash settings */ prefs_action(PREF_DISPLAY); widget = ui_lookup_widget(ui_widgets.prefs_dialog, "label_project_indent_warning"); ui_widget_show_hide(widget, app->project != NULL); + project_open = app->project != NULL; /* General settings */ /* startup */ @@ -578,6 +580,11 @@ static void prefs_init_dialog(void) widget = ui_lookup_widget(ui_widgets.prefs_dialog, "check_trailing_spaces"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), file_prefs.strip_trailing_spaces); + widget = ui_lookup_widget(ui_widgets.prefs_dialog, "frame2"); + gtk_widget_set_sensitive(widget, ! project_open); + const char* tooltip = project_open ? _("These settings are overridden by your project settings") : ""; + gtk_widget_set_tooltip_text(widget, tooltip); + widget = ui_lookup_widget(ui_widgets.prefs_dialog, "check_new_line"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), file_prefs.final_new_line); From dfd5dea93b6ecee1ec7e4be1395248d74544a879 Mon Sep 17 00:00:00 2001 From: Mark O'Donovan Date: Sat, 17 Feb 2018 17:26:47 +0000 Subject: [PATCH 2/2] Modify frame label to explain why it is disabled Update the frame-label to make it clear to the user why the settings are disabled --- data/geany.glade | 2 +- src/prefs.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/data/geany.glade b/data/geany.glade index d6c0bf4a33..0361e75e59 100644 --- a/data/geany.glade +++ b/data/geany.glade @@ -4584,7 +4584,7 @@ True False - <b>Saving files</b> + True diff --git a/src/prefs.c b/src/prefs.c index 811ee9dc0d..30cc148794 100644 --- a/src/prefs.c +++ b/src/prefs.c @@ -585,6 +585,12 @@ static void prefs_init_dialog(void) const char* tooltip = project_open ? _("These settings are overridden by your project settings") : ""; gtk_widget_set_tooltip_text(widget, tooltip); + const gchar* label_text = _("Saving files"); + if( project_open ) + label_text = _("Saving files (using project settings)"); + widget = gtk_frame_get_label_widget(GTK_FRAME(widget)); + gtk_label_set_markup(GTK_LABEL(widget), label_text); + widget = ui_lookup_widget(ui_widgets.prefs_dialog, "check_new_line"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), file_prefs.final_new_line);