83
82
return result == GTK_RESPONSE_YES;
91
* Destroy the dialog and associated data structures.
95
dialog_autosave_destroy (GtkObject *w, autosave_t *state)
86
cb_dialog_autosave_destroy (autosave_t *state)
97
g_return_val_if_fail (w != NULL, FALSE);
98
g_return_val_if_fail (state != NULL, FALSE);
100
if (state->gui != NULL) {
88
if (state->gui != NULL)
101
89
g_object_unref (G_OBJECT (state->gui));
105
state->dialog = NULL;
113
* cb_autosave_cancel:
117
* Close (destroy) the dialog
120
94
cb_autosave_cancel (G_GNUC_UNUSED GtkWidget *button,
121
95
autosave_t *state)
123
97
gtk_widget_destroy (state->dialog);
133
101
cb_autosave_ok (G_GNUC_UNUSED GtkWidget *button, autosave_t *state)
135
103
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (state->autosave_on_off))) {
104
gboolean prompt = gtk_toggle_button_get_active
105
(GTK_TOGGLE_BUTTON (state->prompt_cb));
137
107
gboolean minutes_err = entry_to_int (GTK_ENTRY (state->minutes_entry),
140
110
g_return_if_fail (!minutes_err); /* Why is ok active? */
142
wbcg_autosave_set (state->wbcg, minutes,
143
gtk_toggle_button_get_active (
144
GTK_TOGGLE_BUTTON (state->prompt_cb)));
146
wbcg_autosave_set (state->wbcg, 0, FALSE);
112
secs = 60 * MIN (minutes, G_MAXINT / 60);
113
g_object_set (state->wbcg,
114
"autosave-time", secs,
115
"autosave-prompt", prompt,
118
g_object_set (state->wbcg, "autosave-time", 0, NULL);
147
120
gtk_widget_destroy (state->dialog);
186
float_to_entry (GTK_ENTRY (state->minutes_entry), wbcg->autosave_minutes);
165
float_to_entry (GTK_ENTRY (state->minutes_entry),
188
168
gnumeric_editable_enters (GTK_WINDOW (state->dialog),
189
169
state->minutes_entry);
200
180
g_signal_connect (G_OBJECT (state->cancel_button),
202
182
G_CALLBACK (cb_autosave_cancel), state);
203
g_signal_connect (G_OBJECT (state->dialog),
205
G_CALLBACK (dialog_autosave_destroy), state);
184
g_object_set_data_full (G_OBJECT (state->dialog),
185
"state", state, (GDestroyNotify) cb_dialog_autosave_destroy);
207
186
gnumeric_init_help_button (
208
187
glade_xml_get_widget (state->gui, "button3"),
209
188
GNUMERIC_HELP_LINK_AUTOSAVE);
211
190
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (state->autosave_on_off),
213
gtk_toggle_button_set_active ((GtkToggleButton *) state->prompt_cb,
214
wbcg->autosave_prompt);
192
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (state->prompt_cb),
216
195
autosave_set_sensitivity (NULL, state);
217
196
gnumeric_keyed_dialog (state->wbcg, GTK_WINDOW (state->dialog),
219
198
gtk_widget_show (state->dialog);