static void
connect_signals (ModestAccountsWindow *self)
-{
+{
ModestAccountsWindowPrivate *priv;
-
+
priv = MODEST_ACCOUNTS_WINDOW_GET_PRIVATE(self);
/* accounts view */
- priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
- G_OBJECT (priv->account_view), "row-activated",
- G_CALLBACK (on_account_activated), self);
-
- priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
- G_OBJECT (modest_runtime_get_window_mgr ()),
- "progress-list-changed",
- G_CALLBACK (on_progress_list_changed), self);
-
-
- /* window */
-
- /* we don't register this in sighandlers, as it should be run after disconnecting all signals,
- * in destroy stage */
-
-
+ priv->sighandlers =
+ modest_signal_mgr_connect (priv->sighandlers,
+ G_OBJECT (priv->account_view), "row-activated",
+ G_CALLBACK (on_account_activated), self);
+
+ priv->sighandlers =
+ modest_signal_mgr_connect (priv->sighandlers,
+ G_OBJECT (modest_runtime_get_window_mgr ()),
+ "progress-list-changed",
+ G_CALLBACK (on_progress_list_changed), self);
+
+ /* we don't register this in sighandlers, as it should be run
+ * after disconnecting all signals, in destroy stage */
}
ModestWindow *
modest_accounts_window_new (void)
{
- ModestAccountsWindow *self = NULL;
+ ModestAccountsWindow *self = NULL;
ModestAccountsWindowPrivate *priv = NULL;
HildonProgram *app;
GdkPixbuf *window_icon;
GtkWidget *pannable;
-
+
self = MODEST_ACCOUNTS_WINDOW(g_object_new(MODEST_TYPE_ACCOUNTS_WINDOW, NULL));
priv = MODEST_ACCOUNTS_WINDOW_GET_PRIVATE(self);
GtkWidget *folder_window;
priv = MODEST_ACCOUNTS_WINDOW_GET_PRIVATE (self);
-
+
account_name = modest_account_view_get_path_account (MODEST_ACCOUNT_VIEW (priv->account_view), path);
if (!account_name)
return;
ModestMsgEditWindow *window;
GSList *priority_group;
GSList *format_group;
+ GtkToggleButton *current_priority;
+ GtkToggleButton *current_format;
} MessageSettingsHelper;
static void
gtk_toggle_button_set_active (node_button, FALSE);
}
}
- if (priv->priority_flags != (TnyHeaderFlags) g_object_get_data (G_OBJECT (button), "priority"))
- modest_msg_edit_window_set_priority_flags (helper->window,
- (TnyHeaderFlags)
- g_object_get_data (G_OBJECT (button),
- "priority"));
-
+ helper->current_priority = button;
} else {
gboolean found = FALSE;
/* If no one is active, activate it again */
{
GSList *node;
ModestMsgEditWindowPrivate *priv;
- ModestMsgEditFormat old_format;
priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (helper->window);
- old_format = modest_msg_edit_window_get_format (helper->window);
if (gtk_toggle_button_get_active (button)) {
for (node = helper->format_group; node != NULL; node = g_slist_next (node)) {
gtk_toggle_button_set_active (node_button, FALSE);
}
}
- if (old_format != (ModestMsgEditFormat) g_object_get_data (G_OBJECT (button), "format")) {
- modest_msg_edit_window_set_file_format (MODEST_MSG_EDIT_WINDOW (helper->window),
- GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), "file-format")));
- }
-
+ helper->current_format = button;
} else {
gboolean found = FALSE;
/* If no one is active, activate it again */
g_signal_connect (G_OBJECT (html_toggle), "toggled", G_CALLBACK (on_format_toggle), &helper);
g_signal_connect (G_OBJECT (text_toggle), "toggled", G_CALLBACK (on_format_toggle), &helper);
- /* Show */
- gtk_dialog_run (GTK_DIALOG (dialog));
+ /* Save settings if the user clicked on done */
+ if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) {
+ TnyHeaderFlags flags;
+ ModestMsgEditFormat old_format, new_format;
+
+ /* Set priority flags */
+ flags = (TnyHeaderFlags) g_object_get_data (G_OBJECT (helper.current_priority), "priority");
+ if (priv->priority_flags != flags)
+ modest_msg_edit_window_set_priority_flags (window, flags);
+
+ /* Set edit format */
+ old_format = modest_msg_edit_window_get_format (window);
+ new_format = (ModestMsgEditFormat) g_object_get_data (G_OBJECT (helper.current_format), "format");
+ if (old_format != new_format) {
+ gint file_format = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (helper.current_format), "file-format"));
+ modest_msg_edit_window_set_file_format (window, file_format);
+ }
+ }
gtk_widget_destroy (dialog);
g_slist_free (helper.priority_group);
}
-static void
+static void
on_message_settings (GtkAction *action,
ModestMsgEditWindow *window)
{