SF.net SVN: geany:[2830] branches/custom-tab-width
ntrel at users.sourceforge.net
ntrel at xxxxx
Mon Jul 28 13:50:56 UTC 2008
Revision: 2830
http://geany.svn.sourceforge.net/geany/?rev=2830&view=rev
Author: ntrel
Date: 2008-07-28 13:50:55 +0000 (Mon, 28 Jul 2008)
Log Message:
-----------
Add spin_items_foreach().
Bind spin_indent_width, spin_tab_width widgets to settings.
Modified Paths:
--------------
branches/custom-tab-width/ChangeLog
branches/custom-tab-width/src/prefs.c
Modified: branches/custom-tab-width/ChangeLog
===================================================================
--- branches/custom-tab-width/ChangeLog 2008-07-28 13:42:14 UTC (rev 2829)
+++ branches/custom-tab-width/ChangeLog 2008-07-28 13:50:55 UTC (rev 2830)
@@ -11,6 +11,9 @@
array can contain runtime fields, so can read pointer contents.
Add pref_item_callbacks array of functions to call like
toggle_items_foreach().
+ * src/prefs.c:
+ Add spin_items_foreach().
+ Bind spin_indent_width, spin_tab_width widgets to settings.
2008-07-25 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: branches/custom-tab-width/src/prefs.c
===================================================================
--- branches/custom-tab-width/src/prefs.c 2008-07-28 13:42:14 UTC (rev 2829)
+++ branches/custom-tab-width/src/prefs.c 2008-07-28 13:50:55 UTC (rev 2830)
@@ -136,12 +136,41 @@
}
+static void spin_items_foreach(PrefCallbackAction action)
+{
+ guint i;
+ PrefEntry items[] =
+ {
+ {"spin_indent_width", &editor_prefs.indentation->width},
+ {"spin_tab_width", &editor_prefs.indentation->tab_width},
+ };
+
+ for (i = 0; i < G_N_ELEMENTS(items); i++)
+ {
+ PrefEntry *pe = &items[i];
+ GtkWidget *widget = lookup_widget(ui_widgets.prefs_dialog, pe->widget_name);
+ gint *setting = pe->setting;
+
+ switch (action)
+ {
+ case PREF_DISPLAY:
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), *setting);
+ break;
+ case PREF_UPDATE:
+ *setting = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+ break;
+ }
+ }
+}
+
+
typedef void (*PrefItemsCallback)(PrefCallbackAction action);
/* List of functions which hold the PrefEntry arrays. This allows access to
* runtime setting fields like EditorPrefs::indentation->width. */
PrefItemsCallback pref_item_callbacks[] = {
- toggle_items_foreach
+ toggle_items_foreach,
+ spin_items_foreach
};
@@ -433,9 +462,6 @@
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), file_prefs.final_new_line);
/* Editor settings */
- widget = lookup_widget(ui_widgets.prefs_dialog, "spin_tab_width");
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), editor_prefs.tab_width);
-
widget = lookup_widget(ui_widgets.prefs_dialog, "check_replace_tabs");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), file_prefs.replace_tabs);
@@ -842,9 +868,6 @@
/* Editor settings */
- widget = lookup_widget(ui_widgets.prefs_dialog, "spin_tab_width");
- editor_prefs.tab_width = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
-
widget = lookup_widget(ui_widgets.prefs_dialog, "spin_long_line");
editor_prefs.long_line_column = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list