Index: src_plugins/hid_gtk/gui-config.c
===================================================================
--- src_plugins/hid_gtk/gui-config.c (revision 2373)
+++ src_plugins/hid_gtk/gui-config.c (revision 2374)
@@ -370,6 +370,25 @@
ghid_pack_mode_buttons();
}
+static GtkWidget *pref_auto_place_lab;
+static void pref_auto_place_update(void)
+{
+ const char *warn;
+ if (conf_core.editor.auto_place)
+ warn = "Restoring window geometry is enabled:\npcb-rnd will attempt to move and resize windows.\nIt can be disabled in General/";
+ else
+ warn = "Restoring window geometry is disabled:\npcb-rnd will not attempt to move and resize windows.\nConsider changing it in General/";
+ gtk_label_set_markup(GTK_LABEL(pref_auto_place_lab), _(warn));
+}
+
+static void config_auto_place_toggle_cb(GtkToggleButton * button, gpointer data)
+{
+ gboolean active = gtk_toggle_button_get_active(button);
+
+ conf_setf(CFR_DESIGN, "editor/auto_place", -1, "%d", active);
+ pref_auto_place_update();
+}
+
static void config_general_toggle_cb(GtkToggleButton * button, void *setting)
{
*(gint *) setting = gtk_toggle_button_get_active(button);
@@ -428,6 +447,11 @@
config_compact_vertical_toggle_cb, NULL,
_("Alternate window layout to allow smaller vertical size"));
+ ghid_check_button_connected(vbox, NULL, conf_core.editor.auto_place,
+ TRUE, FALSE, FALSE, 2,
+ config_auto_place_toggle_cb, NULL,
+ _("Restore window geometry (when saved geometry is available)"));
+
vbox = ghid_category_vbox(content_vbox, _("Backups"), 4, 2, TRUE, TRUE);
ghid_check_button_connected(vbox, NULL, conf_core.editor.save_in_tmp,
TRUE, FALSE, FALSE, 2,
@@ -668,13 +692,22 @@
config_window_row(config_window_vbox, "... in the central user configuration", 0, "*u", conf_hid_gtk.plugins.hid_gtk.auto_save_window_geometry.to_user);
config_window_row(config_window_vbox, "... in a custom file", 0, NULL, 0);
+
+
+
lab = gtk_label_new("");
gtk_label_set_use_markup(GTK_LABEL(lab), TRUE);
gtk_label_set_markup(GTK_LABEL(lab),
- _("Note: checkbox values are saved in the user config"));
+ _("Note: the above checkbox values are saved in the user config"));
gtk_box_pack_start(GTK_BOX(config_window_vbox), lab, FALSE, FALSE, 4);
gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.5);
+ lab = gtk_label_new("");
+ gtk_label_set_use_markup(GTK_LABEL(lab), TRUE);
+ pref_auto_place_lab = lab;
+ pref_auto_place_update();
+ gtk_box_pack_start(GTK_BOX(config_window_vbox), lab, FALSE, FALSE, 4);
+ gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.5);
gtk_widget_show_all(config_window_vbox);
}