diff --git a/src/doc/sx.rst b/src/doc/sx.rst index 0421dd2aed..892c6a412b 100644 --- a/src/doc/sx.rst +++ b/src/doc/sx.rst @@ -89,8 +89,10 @@ TODO - (check_consistent, especially...) - gnc_dense_cal - - [/] {0, 1, 2, 3, 4, 6, 12} month selection for dense calendar - - [ ] conf-save value + - [x] {0, 1, 2, 3, 4, 6, 12} month selection for dense calendar + - [x] conf-save value + - [ ] code cleanup + - [ ] min-size - [ ] start-of-week := {sun,mon} (via locale) - [ ] change number-of-month properties to display-named properties (width, length) - [ ] gconf setting for dense-cal font-size reduction diff --git a/src/gnome-utils/gnc-dense-cal.c b/src/gnome-utils/gnc-dense-cal.c index 12fd55814c..2dcf454be9 100644 --- a/src/gnome-utils/gnc-dense-cal.c +++ b/src/gnome-utils/gnc-dense-cal.c @@ -538,6 +538,12 @@ gnc_dense_cal_set_num_months(GncDenseCal *dcal, guint num_months) } } +guint +gnc_dense_cal_get_num_months(GncDenseCal *dcal) +{ + return dcal->numMonths; +} + void gnc_dense_cal_set_months_per_col(GncDenseCal *dcal, guint monthsPerCol) { @@ -545,12 +551,6 @@ gnc_dense_cal_set_months_per_col(GncDenseCal *dcal, guint monthsPerCol) recompute_x_y_scales(dcal); } -guint -gnc_dense_cal_get_num_months(GncDenseCal *dcal) -{ - return dcal->numMonths; -} - GDateMonth gnc_dense_cal_get_month(GncDenseCal *dcal) { diff --git a/src/gnome-utils/gnc-dense-cal.h b/src/gnome-utils/gnc-dense-cal.h index e615da162c..aa5a125437 100644 --- a/src/gnome-utils/gnc-dense-cal.h +++ b/src/gnome-utils/gnc-dense-cal.h @@ -126,18 +126,20 @@ GtkWidget* gnc_dense_cal_new_with_model (GncDenseCalModel *model); GType gnc_dense_cal_get_type (void); void gnc_dense_cal_set_model(GncDenseCal *cal, GncDenseCalModel *model); + void gnc_dense_cal_set_month(GncDenseCal *dcal, GDateMonth mon); +GDateMonth gnc_dense_cal_get_month( GncDenseCal *dcal ); /** * @param year Julian year: 2000 = 2000AD. **/ void gnc_dense_cal_set_year( GncDenseCal *dcal, guint year ); -void gnc_dense_cal_set_num_months( GncDenseCal *dcal, guint num_months ); -void gnc_dense_cal_set_months_per_col( GncDenseCal *dcal, guint monthsPerCol ); - -guint gnc_dense_cal_get_num_months( GncDenseCal *dcal ); -GDateMonth gnc_dense_cal_get_month( GncDenseCal *dcal ); GDateYear gnc_dense_cal_get_year( GncDenseCal *dcal ); +void gnc_dense_cal_set_num_months( GncDenseCal *dcal, guint num_months ); +guint gnc_dense_cal_get_num_months( GncDenseCal *dcal ); + +void gnc_dense_cal_set_months_per_col( GncDenseCal *dcal, guint monthsPerCol ); + G_END_DECLS #endif /* _GNC_DENSE_CAL_H */ diff --git a/src/gnome/gnc-plugin-page-sx-list.c b/src/gnome/gnc-plugin-page-sx-list.c index 41b99b256a..3d405c878d 100644 --- a/src/gnome/gnc-plugin-page-sx-list.c +++ b/src/gnome/gnc-plugin-page-sx-list.c @@ -405,6 +405,9 @@ gnc_plugin_page_sx_list_save_page (GncPluginPage *plugin_page, page = GNC_PLUGIN_PAGE_SX_LIST(plugin_page); priv = GNC_PLUGIN_PAGE_SX_LIST_GET_PRIVATE(page); + + g_key_file_set_integer(key_file, group_name, "dense_cal_num_months", + gnc_dense_cal_get_num_months(priv->gdcal)); } /** @@ -433,6 +436,15 @@ gnc_plugin_page_sx_list_recreate_page (GtkWidget *window, /* Install it now so we can them manipulate the created widget */ gnc_main_window_open_page(GNC_MAIN_WINDOW(window), GNC_PLUGIN_PAGE(page)); + { + GError *err = NULL; + gint num_months = g_key_file_get_integer(key_file, group_name, "dense_cal_num_months", &err); + if (err == NULL) + gnc_dense_cal_set_num_months(priv->gdcal, num_months); + else + g_error_free(err); + } + return GNC_PLUGIN_PAGE(page); }