/* $Id: callbacks.c,v 1.80 2011/11/19 07:13:37 khorben Exp $ */ /* Copyright (c) 2011 Pierre Pronchery */ /* This file is part of DeforaOS Desktop Mailer */ /* This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 3 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /* TODO: * - check that the messages font button is initialized correctly */ #include #include #include #include #include #include #include "compose.h" #include "mailer.h" #include "callbacks.h" /* functions */ /* public */ /* callbacks */ /* on_closex */ gboolean on_closex(gpointer data) { Mailer * mailer = data; /* FIXME may be composing or viewing messages */ gtk_main_quit(); return FALSE; } /* on_headers_closex */ gboolean on_headers_closex(gpointer data) { Mailer * mailer = data; mailer_show_headers(mailer, FALSE); return TRUE; } /* on_body_closex */ gboolean on_body_closex(gpointer data) { Mailer * mailer = data; mailer_show_body(mailer, FALSE); return TRUE; } /* on_plugins_closex */ gboolean on_plugins_closex(gpointer data) { Mailer * mailer = data; mailer_show_plugins(mailer, FALSE); return TRUE; } /* file menu */ void on_file_new_mail(gpointer data) { on_new_mail(data); } void on_file_quit(gpointer data) { on_closex(data); } /* message menu */ void on_message_delete(gpointer data) { Mailer * mailer = data; mailer_delete_selected(mailer); } void on_message_reply(gpointer data) { Mailer * mailer = data; mailer_reply_selected(mailer); } void on_message_reply_to_all(gpointer data) { Mailer * mailer = data; mailer_reply_selected_to_all(mailer); } void on_message_forward(gpointer data) { on_forward(data); } void on_message_view_source(gpointer data) { Mailer * mailer = data; mailer_open_selected_source(mailer); } /* edit menu */ void on_edit_cut(gpointer data) { Mailer * mailer = data; mailer_cut(mailer); } void on_edit_copy(gpointer data) { Mailer * mailer = data; mailer_copy(mailer); } void on_edit_paste(gpointer data) { Mailer * mailer = data; mailer_paste(mailer); } void on_edit_preferences(gpointer data) { Mailer * mailer = data; mailer_show_preferences(mailer, TRUE); } void on_edit_select_all(gpointer data) { Mailer * mailer = data; mailer_select_all(mailer); } void on_edit_unselect_all(gpointer data) { Mailer * mailer = data; mailer_unselect_all(mailer); } /* help menu */ void on_help_about(gpointer data) { Mailer * mailer = data; mailer_show_about(mailer, TRUE); } /* toolbar */ void on_delete(gpointer data) { Mailer * mailer = data; mailer_delete_selected(mailer); } void on_forward(gpointer data) { /* FIXME return directly if there is no selection */ on_new_mail(data); /* FIXME really implement */ } void on_new_mail(gpointer data) { Mailer * mailer = data; mailer_compose(mailer); } void on_preferences(gpointer data) { Mailer * mailer = data; mailer_show_preferences(mailer, TRUE); } void on_quit(gpointer data) { on_closex(data); } void on_reply(gpointer data) { Mailer * mailer = data; mailer_reply_selected(mailer); } void on_reply_to_all(gpointer data) { Mailer * mailer = data; mailer_reply_selected_to_all(mailer); } void on_view_source(gpointer data) { Mailer * mailer = data; mailer_open_selected_source(mailer); }