6 void preferences_cb_do_tray(GtkWidget
*chbox
, GtkWidget
*hwin
);
7 static void preferences_cb_show_date(GtkWidget
*chbox
);
8 static void preferences_cb_do_tooltip(GtkWidget
*chbox
);
9 static void preferences_cb_auto_purge(GtkWidget
*cb
, GtkWidget
*hbox
);
10 static void preferences_cb_toggle_hl_today(GtkWidget
*chbox
);
11 static void preferences_cb_toggle_hl_due(GtkWidget
*chbox
);
12 static void preferences_cb_toggle_hl_indays(GtkWidget
*chbox
);
13 static void preferences_cb_toggle_show_notification(GtkWidget
*chbox
);
14 static void preferences_cb_toggle_show_category_column(GtkWidget
*chbox
);
15 static void preferences_cb_toggle_show_priority_column(GtkWidget
*chbox
);
16 static void preferences_cb_toggle_enable_tray(GtkWidget
*chbox
);
18 void gui_preferences(void)
23 notebook
= preferences_widget ();
24 dialog
= gtk_dialog_new_with_buttons(_("Todo List Preferences"), GTK_WINDOW(mw
.window
),
25 GTK_DIALOG_MODAL
| GTK_DIALOG_DESTROY_WITH_PARENT
,
29 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog
)->vbox
), notebook
);
30 gtk_dialog_set_has_separator(GTK_DIALOG(dialog
), FALSE
);
32 gtk_widget_show_all(dialog
);
33 gtk_dialog_run(GTK_DIALOG(dialog
));
35 /* because there not directly visible I can go save the values now.. (not like do_tray) */
36 // settings.auto_purge = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cb_auto_purge));
37 // gconf_client_set_bool(client,"/apps/gtodo/prefs/auto-purge",settings.auto_purge,NULL);
38 // settings.purge_days = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(sp_purge_days));
39 // gconf_client_set_int(client,"/apps/gtodo/prefs/auto-purge-days",settings.purge_days,NULL);
40 gtk_widget_destroy(dialog
);
41 /* save the settings */
44 static GtkWidget
*cb_show_date
= NULL
;
45 static GtkWidget
*cb_list_tooltip
= NULL
;
46 static GtkWidget
*cb
= NULL
;
47 static GtkWidget
*cb_auto_purge
= NULL
;
48 static GtkWidget
*sp_purge_days
= NULL
;
49 static GtkWidget
*cb_hl_due
= NULL
;
50 static GtkWidget
*cb_hl_today
= NULL
;
51 static GtkWidget
*cb_hl_indays
= NULL
;
52 static GtkWidget
*hbox
= NULL
;
54 void preferences_remove_signals()
56 g_signal_handlers_disconnect_by_func(G_OBJECT(cb_show_date
),
57 G_CALLBACK(preferences_cb_show_date
), NULL
);
58 g_signal_handlers_disconnect_by_func(G_OBJECT(cb
),
59 G_CALLBACK(preferences_cb_toggle_show_category_column
), NULL
);
60 g_signal_handlers_disconnect_by_func(G_OBJECT(cb
),
61 G_CALLBACK(preferences_cb_toggle_show_priority_column
), NULL
);
62 g_signal_handlers_disconnect_by_func(G_OBJECT(cb_list_tooltip
),
63 G_CALLBACK(preferences_cb_do_tooltip
), NULL
);
64 g_signal_handlers_disconnect_by_func(G_OBJECT(cb_hl_today
),
65 G_CALLBACK( preferences_cb_toggle_hl_today
), NULL
);
66 g_signal_handlers_disconnect_by_func(G_OBJECT(cb_hl_due
),
67 G_CALLBACK( preferences_cb_toggle_hl_due
), NULL
);
68 g_signal_handlers_disconnect_by_func(G_OBJECT(cb_auto_purge
),
69 G_CALLBACK(preferences_cb_auto_purge
), hbox
);
70 g_signal_handlers_disconnect_by_func(G_OBJECT(cb
),
71 G_CALLBACK(preferences_cb_toggle_show_notification
), NULL
);
74 GtkWidget
*preferences_widget()
76 GtkWidget
*vbox
, *vbox2
;
77 GtkWidget
*frame
, *label
;
82 notebook
= gtk_notebook_new();
84 /********* FIRST TAB ***************/
85 vbox2
= gtk_vbox_new(FALSE
, 0);
86 gtk_container_set_border_width(GTK_CONTAINER(vbox2
), 12);
87 gtk_notebook_append_page(GTK_NOTEBOOK(notebook
), vbox2
, gtk_label_new(_("Interface")));
90 vbox
= gtk_vbox_new(FALSE
, 6);
91 cb_show_date
= gtk_check_button_new_with_label(_("Show due date column"));
92 gtk_box_pack_start(GTK_BOX(vbox
),cb_show_date
, FALSE
, TRUE
, 0);
93 /* set it to current value and add signal handler */
94 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb_show_date
),
95 gconf_client_get_bool(client
, "/apps/gtodo/prefs/show-due-column",NULL
));
97 g_signal_connect(G_OBJECT(cb_show_date
), "toggled", G_CALLBACK(preferences_cb_show_date
), NULL
);
99 cb
= gtk_check_button_new_with_label(_("Show category column"));
100 gtk_box_pack_start(GTK_BOX(vbox
),cb
, FALSE
, TRUE
, 0);
101 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb
), gconf_client_get_bool(client
, "/apps/gtodo/view/show-category-column",NULL
));
102 g_signal_connect(G_OBJECT(cb
), "toggled", G_CALLBACK(preferences_cb_toggle_show_category_column
), NULL
);
104 cb
= gtk_check_button_new_with_label(_("Show priority column"));
105 gtk_box_pack_start(GTK_BOX(vbox
),cb
, FALSE
, TRUE
, 0);
106 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb
), gconf_client_get_bool(client
, "/apps/gtodo/view/show-priority-column",NULL
));
107 g_signal_connect(G_OBJECT(cb
), "toggled", G_CALLBACK(preferences_cb_toggle_show_priority_column
), NULL
);
109 cb_list_tooltip
= gtk_check_button_new_with_label(_("Tooltips in list"));
110 gtk_box_pack_start(GTK_BOX(vbox
),cb_list_tooltip
, FALSE
, TRUE
, 0);
111 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb_list_tooltip
),
112 gconf_client_get_bool(client
, "/apps/gtodo/prefs/show-tooltip",NULL
));
114 g_signal_connect(G_OBJECT(cb_list_tooltip
), "toggled", G_CALLBACK(preferences_cb_do_tooltip
), NULL
);
119 gtk_container_set_border_width(GTK_CONTAINER(vbox
), 12);
120 frame
= gtk_frame_new(_("Show in main window"));
121 gtk_frame_set_shadow_type(GTK_FRAME(frame
), GTK_SHADOW_NONE
);
122 tmp
= g_strdup_printf("<b>%s</b>", _("Show in main window"));
123 gtk_label_set_markup(GTK_LABEL(gtk_frame_get_label_widget(GTK_FRAME(frame
))), tmp
);
125 gtk_container_set_border_width(GTK_CONTAINER(frame
), 0);
126 gtk_container_add(GTK_CONTAINER(frame
), vbox
);
128 gtk_box_pack_start(GTK_BOX(vbox2
),frame
, FALSE
, TRUE
, 0);
132 vbox
= gtk_vbox_new(FALSE
, 0);
133 frame
= gtk_frame_new(_("Highlight"));
134 gtk_frame_set_shadow_type(GTK_FRAME(frame
), GTK_SHADOW_NONE
);
135 tmp
= g_strdup_printf("<b>%s</b>", _("Highlight"));
136 gtk_label_set_markup(GTK_LABEL(gtk_frame_get_label_widget(GTK_FRAME(frame
))), tmp
);
139 gtk_container_set_border_width(GTK_CONTAINER(frame
), 0);
140 gtk_container_add(GTK_CONTAINER(frame
), vbox
);
141 gtk_container_set_border_width(GTK_CONTAINER(vbox
), 12);
142 gtk_box_pack_start(GTK_BOX(vbox2
), frame
, TRUE
, TRUE
, 0);
144 /* tb for highlighting due today */
145 cb_hl_today
= gtk_check_button_new_with_label(_("Items that are due today"));
146 gtk_box_pack_start(GTK_BOX(vbox
),cb_hl_today
, FALSE
, TRUE
, 6);
147 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb_hl_today
), settings
.hl_today
);
148 g_signal_connect(G_OBJECT(cb_hl_today
),"toggled", G_CALLBACK( preferences_cb_toggle_hl_today
), NULL
);
150 /* tb for highlighting due */
151 cb_hl_due
= gtk_check_button_new_with_label(_("Items that are past due"));
152 gtk_box_pack_start(GTK_BOX(vbox
),cb_hl_due
, FALSE
, TRUE
, 6);
153 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb_hl_due
), settings
.hl_due
);
154 g_signal_connect(G_OBJECT(cb_hl_due
), "toggled",G_CALLBACK( preferences_cb_toggle_hl_due
), NULL
);
156 /* tb for highlighting in x days */
157 tmp
= g_strdup_printf(_("Items that are due in the next %i days"), settings
.due_days
);
158 cb_hl_indays
= gtk_check_button_new_with_label(tmp
);
160 gtk_box_pack_start(GTK_BOX(vbox
),cb_hl_indays
, FALSE
, TRUE
, 6);
161 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb_hl_indays
), settings
.hl_indays
);
162 g_signal_connect(G_OBJECT(cb_hl_indays
),"toggled", G_CALLBACK( preferences_cb_toggle_hl_indays
), NULL
);
166 /************ Second Tab *****************/
167 vbox2
= gtk_vbox_new(FALSE
, 0);
168 gtk_container_set_border_width(GTK_CONTAINER(vbox2
), 12);
169 gtk_notebook_append_page(GTK_NOTEBOOK(notebook
), vbox2
, gtk_label_new(_("Misc")));
171 vbox
= gtk_vbox_new(FALSE
, 6);
172 cb_auto_purge
= gtk_check_button_new_with_label(_("Auto purge completed items"));
173 gtk_box_pack_start(GTK_BOX(vbox
),cb_auto_purge
, FALSE
, TRUE
, 0);
176 hbox
= gtk_hbox_new(FALSE
, 6);
177 label
= gtk_label_new(_("Purge items after"));
178 gtk_box_pack_start(GTK_BOX(hbox
),label
, FALSE
, TRUE
, 0);
179 sp_purge_days
= gtk_spin_button_new_with_range(1,365, 1);
180 gtk_box_pack_start(GTK_BOX(hbox
),sp_purge_days
, FALSE
, TRUE
, 0);
181 label
= gtk_label_new(_("days."));
182 gtk_box_pack_start(GTK_BOX(hbox
),label
, FALSE
, TRUE
, 0);
184 gtk_box_pack_start(GTK_BOX(vbox
),hbox
, FALSE
, TRUE
, 0);
185 g_signal_connect(G_OBJECT(cb_auto_purge
), "toggled", G_CALLBACK(preferences_cb_auto_purge
), hbox
);
188 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb_auto_purge
), settings
.auto_purge
);
189 gtk_spin_button_set_value(GTK_SPIN_BUTTON(sp_purge_days
), settings
.purge_days
);
190 /* make sure the sensitive is ok */
191 preferences_cb_auto_purge(cb_auto_purge
, hbox
);
193 gtk_container_set_border_width(GTK_CONTAINER(vbox
), 12);
194 frame
= gtk_frame_new(_("Auto Purge"));
195 gtk_frame_set_shadow_type(GTK_FRAME(frame
), GTK_SHADOW_NONE
);
196 tmp
= g_strdup_printf("<b>%s</b>", _("Auto Purge"));
197 gtk_label_set_markup(GTK_LABEL(gtk_frame_get_label_widget(GTK_FRAME(frame
))), tmp
);
199 gtk_container_set_border_width(GTK_CONTAINER(frame
), 0);
200 gtk_container_add(GTK_CONTAINER(frame
), vbox
);
202 gtk_box_pack_start(GTK_BOX(vbox2
), frame
, FALSE
,FALSE
, 0);
204 vbox
= gtk_vbox_new(FALSE
, 6);
207 gtk_container_set_border_width(GTK_CONTAINER(vbox
), 12);
208 frame
= gtk_frame_new(_("Notification"));
209 gtk_frame_set_shadow_type(GTK_FRAME(frame
), GTK_SHADOW_NONE
);
210 tmp
= g_strdup_printf("<b>%s</b>", _("Notification"));
211 gtk_label_set_markup(GTK_LABEL(gtk_frame_get_label_widget(GTK_FRAME(frame
))), tmp
);
213 gtk_container_set_border_width(GTK_CONTAINER(frame
), 0);
214 gtk_container_add(GTK_CONTAINER(frame
), vbox
);
216 gtk_box_pack_start(GTK_BOX(vbox2
), frame
, FALSE
, FALSE
, 0);
217 tmp
= g_strdup_printf(_("Allow to do items to notifiy me when they are due in %i minutes"), gconf_client_get_int(client
, "/apps/gtodo/prefs/notify_in_minutes",NULL
));
218 cb
= gtk_check_button_new_with_label(tmp
);
220 gtk_box_pack_start(GTK_BOX(vbox
),cb
, FALSE
, TRUE
, 0);
221 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb
), gconf_client_get_bool(client
, "/apps/gtodo/prefs/do_notification",NULL
));
222 g_signal_connect(G_OBJECT(cb
), "toggled", G_CALLBACK(preferences_cb_toggle_show_notification
), NULL
);
224 cb
= gtk_check_button_new_with_label(_("Show Notification Tray Icon"));
225 gtk_box_pack_start(GTK_BOX(vbox
),cb
, FALSE
, TRUE
, 0);
226 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb
),
227 gconf_client_get_bool(client
, "/apps/gtodo/view/enable-tray",NULL
));
228 g_signal_connect(G_OBJECT(cb
), "toggled",
229 G_CALLBACK(preferences_cb_toggle_enable_tray
), NULL
);
230 gtk_widget_show_all (notebook
);
234 static void preferences_cb_toggle_hl_today(GtkWidget
*chbox
)
236 gconf_client_set_bool(client
, "/apps/gtodo/prefs/hl-today", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
)),NULL
);
237 settings
.hl_today
= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
));
241 static void preferences_cb_toggle_hl_due(GtkWidget
*chbox
)
243 gconf_client_set_bool(client
, "/apps/gtodo/prefs/hl-due", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
)),NULL
);
244 settings
.hl_due
= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
));
248 static void preferences_cb_toggle_hl_indays(GtkWidget
*chbox
)
250 gconf_client_set_bool(client
, "/apps/gtodo/prefs/hl-indays",
251 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
)),NULL
);
252 settings
.hl_indays
= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
));
256 static void preferences_cb_toggle_enable_tray(GtkWidget
*chbox
)
258 gconf_client_set_bool(client
, "/apps/gtodo/view/enable-tray",
259 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
)),NULL
);
262 static void preferences_cb_toggle_show_notification(GtkWidget
*chbox
)
264 gconf_client_set_bool(client
, "/apps/gtodo/prefs/do_notification",
265 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
)),NULL
);
268 static void preferences_cb_toggle_show_category_column(GtkWidget
*chbox
)
270 gconf_client_set_bool(client
, "/apps/gtodo/view/show-category-column",
271 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
)),NULL
);
272 gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(mw
.treeview
), 3),
273 gconf_client_get_bool(client
, "/apps/gtodo/view/show-category-column",NULL
));
276 static void preferences_cb_toggle_show_priority_column(GtkWidget
*chbox
)
278 gconf_client_set_bool(client
, "/apps/gtodo/view/show-priority-column",
279 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
)),NULL
);
280 gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(mw
.treeview
), 1),
281 gconf_client_get_bool(client
, "/apps/gtodo/view/show-priority-column",NULL
));
284 static void preferences_cb_show_date(GtkWidget
*chbox
)
286 gconf_client_set_bool(client
, "/apps/gtodo/prefs/show-due-column",
287 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
)),NULL
);
288 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
)))
290 gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(mw
.treeview
), 2),TRUE
);
294 gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(mw
.treeview
), 2),FALSE
);
298 static void preferences_cb_do_tooltip(GtkWidget
*chbox
)
300 gconf_client_set_bool(client
, "/apps/gtodo/prefs/show-tooltip", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
)),NULL
);
301 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chbox
)))
304 message_box(_( "Showing Tooltips in the todo list is still very alpha.\n"
305 "Because of some weird behaviour in gtk it only works with the column headers disabled.\n"
306 "I hope to get this fixed soon"),"", GTK_MESSAGE_INFO
);
307 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(mw
.treeview
), FALSE
);
312 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(mw
.treeview
), TRUE
);
316 static void preferences_cb_auto_purge(GtkWidget
*cb
, GtkWidget
*hbox
)
318 gconf_client_set_bool(client
, "/apps/gtodo/prefs/auto-purge", gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cb
)),NULL
);
319 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cb
)))
320 gtk_widget_set_sensitive(GTK_WIDGET(hbox
), TRUE
);
322 gtk_widget_set_sensitive(GTK_WIDGET(hbox
), FALSE
);
326 static void pref_gconf_changed_show_tooltip(GConfClient
*client
)
328 if(gconf_client_get_bool(client
, "/apps/gtodo/prefs/show-tooltip", NULL
))
330 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(mw
.treeview
), FALSE
);
332 else gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(mw
.treeview
), TRUE
);
335 static void pref_gconf_changed_restore_size(GConfClient
*client
)
337 settings
.size
= gconf_client_get_bool(client
, /* "/schemas*/"/apps/gtodo/prefs/restore-size",NULL
);
339 static void pref_gconf_changed_restore_place(GConfClient
*client
)
341 settings
.place
= gconf_client_get_bool(client
,/* "/schemas*/"/apps/gtodo/prefs/restore-position",NULL
);
343 static void pref_gconf_changed_ask_delete_category(GConfClient
*client
)
345 settings
.ask_delete_category
= gconf_client_get_bool(client
,/* "/schemas*/"/apps/gtodo/prefs/ask-delete-category",NULL
);
348 static void pref_gconf_changed_show_priority_column(GtkWidget
*chbox
)
350 gtk_tree_view_column_set_visible(
351 gtk_tree_view_get_column(GTK_TREE_VIEW(mw
.treeview
), 1),
352 gconf_client_get_bool(client
, "/apps/gtodo/view/show-priority-column",NULL
));
356 static void pref_gconf_changed_show_category_column(GtkWidget
*chbox
)
358 gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(mw
.treeview
), 3),gconf_client_get_bool(client
, "/apps/gtodo/view/show-category-column",NULL
));
361 static void pref_gconf_changed_show_due_column(GtkWidget
*chbox
)
363 gtk_tree_view_column_set_visible(
364 gtk_tree_view_get_column(GTK_TREE_VIEW(mw
.treeview
), 2),
365 gconf_client_get_bool(client
, "/apps/gtodo/prefs/show-due-column",NULL
));
368 static void pref_gconf_changed_auto_purge(GConfClient
*client
)
370 settings
.auto_purge
= gconf_client_get_bool(client
,"/apps/gtodo/prefs/auto-purge",NULL
);
374 static void pref_gconf_changed_auto_purge_days(GConfClient
*client
)
376 settings
.purge_days
= gconf_client_get_int(client
, "/apps/gtodo/prefs/auto-purge-days",NULL
);
379 static void pref_gconf_changed_sort_type(GConfClient
*client
)
381 settings
.sorttype
= gconf_client_get_int(client
, "/apps/gtodo/prefs/sort-type",NULL
);
382 // FIXME: set_sorting_menu_item();
384 static void pref_gconf_changed_sort_order(GConfClient
*client
)
386 settings
.sortorder
= gconf_client_get_int(client
, "/apps/gtodo/prefs/sort-order",NULL
);
387 if(settings
.sortorder
== 0)gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(mw
.item_factory
, N_("/View/Sorting/Sort Ascending"))), TRUE
);
388 else gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(mw
.item_factory
, N_("/View/Sorting/Sort Descending"))), TRUE
);
389 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE (mw
.sortmodel
),0 , settings
.sortorder
);
392 static void pref_gconf_changed_hide_done(GConfClient
*client
)
394 settings
.hide_done
= gconf_client_get_bool(client
, "/apps/gtodo/prefs/hide-done",NULL
);
395 /* // gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(mw.item_factory, _("/View/Todo List/Hide Completed Items"))),settings.hide_done);
397 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(mw
.item_factory
, N_("/View/Hide Completed Items"))),settings
.hide_done
);
401 static void pref_gconf_changed_hide_due(GConfClient
*client
)
403 settings
.hide_due
= gconf_client_get_bool(client
, /* "/schemas*/"/apps/gtodo/prefs/hide-due",NULL
);
404 /*// gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(mw.item_factory, _("/View/Todo List/Hide Items that are past due"))),settings.hide_due);
406 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(mw
.item_factory
, N_("/View/Hide Items that Are Past Due Date"))),settings
.hide_due
);
410 static void pref_gconf_changed_hide_nodate(GConfClient
*client
)
412 settings
.hide_nodate
= gconf_client_get_bool(client
, /* "/schemas*/"/apps/gtodo/prefs/hide-nodate",NULL
);
413 /*// gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(mw.item_factory, _("/View/Todo List/Hide Items without an end date"))), settings.hide_nodate);
415 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(mw
.item_factory
, N_("/View/Hide Items Without an End Date"))), settings
.hide_nodate
);
419 static void pref_gconf_changed_hl_today(GConfClient
*client
)
421 settings
.hl_today
= gconf_client_get_bool(client
,"/apps/gtodo/prefs/hl-today",NULL
);
425 static void pref_gconf_changed_hl_due(GConfClient
*client
)
427 settings
.hl_due
= gconf_client_get_bool(client
, "/apps/gtodo/prefs/hl-due",NULL
);
431 static void pref_gconf_changed_enable_tray(GConfClient
*client
)
433 if(gconf_client_get_bool(client
, "/apps/gtodo/view/enable-tray",NULL
))
436 tray_init(mw
.window
);
444 static void pref_gconf_changed_hl_indays(GConfClient
*client
)
446 settings
.hl_indays
= gconf_client_get_bool(client
,"/apps/gtodo/prefs/hl-indays",NULL
);
450 void pref_gconf_set_notifications(GConfClient
*client
)
452 gconf_client_notify_add(client
, "/apps/gtodo/prefs/restore-size",
453 (GConfClientNotifyFunc
)pref_gconf_changed_restore_size
,
457 gconf_client_notify_add(client
,"/apps/gtodo/prefs/restore-position",
458 (GConfClientNotifyFunc
) pref_gconf_changed_restore_place
,
461 gconf_client_notify_add(client
,"/apps/gtodo/prefs/show-tooltip",
462 (GConfClientNotifyFunc
) pref_gconf_changed_show_tooltip
,
465 gconf_client_notify_add(client
,"/apps/gtodo/prefs/ask-delete-category",
466 (GConfClientNotifyFunc
) pref_gconf_changed_ask_delete_category
,
469 gconf_client_notify_add(client
,"/apps/gtodo/prefs/show-due-column",
470 (GConfClientNotifyFunc
) pref_gconf_changed_show_due_column
,
473 gconf_client_notify_add(client
,"/apps/gtodo/view/show-category-column",
474 (GConfClientNotifyFunc
) pref_gconf_changed_show_category_column
,
477 gconf_client_notify_add(client
,"/apps/gtodo/view/show-priority-column",
478 (GConfClientNotifyFunc
) pref_gconf_changed_show_priority_column
,
483 gconf_client_notify_add(client
,"/apps/gtodo/prefs/auto-purge",
484 (GConfClientNotifyFunc
) pref_gconf_changed_auto_purge
,
487 gconf_client_notify_add(client
,"/apps/gtodo/prefs/hide-done",
488 (GConfClientNotifyFunc
) pref_gconf_changed_hide_done
,
491 gconf_client_notify_add(client
,"/apps/gtodo/prefs/hide-nodate",
492 (GConfClientNotifyFunc
) pref_gconf_changed_hide_nodate
,
495 gconf_client_notify_add(client
,"/apps/gtodo/prefs/hide-due",
496 (GConfClientNotifyFunc
) pref_gconf_changed_hide_due
,
499 gconf_client_notify_add(client
,"/apps/gtodo/prefs/sort-type",
500 (GConfClientNotifyFunc
) pref_gconf_changed_sort_type
,
504 gconf_client_notify_add(client
,"/apps/gtodo/prefs/sort-order",
505 (GConfClientNotifyFunc
) pref_gconf_changed_sort_order
,
509 gconf_client_notify_add(client
,"/apps/gtodo/prefs/hl-today",
510 (GConfClientNotifyFunc
) pref_gconf_changed_hl_today
,
514 gconf_client_notify_add(client
,"/apps/gtodo/prefs/hl-due",
515 (GConfClientNotifyFunc
) pref_gconf_changed_hl_due
,
518 gconf_client_notify_add(client
,"/apps/gtodo/prefs/hl-indays",
519 (GConfClientNotifyFunc
) pref_gconf_changed_hl_indays
,
523 gconf_client_notify_add(client
,"/apps/gtodo/view/enable-tray",
524 (GConfClientNotifyFunc
) pref_gconf_changed_enable_tray
,