Get rid of unneeded CamelObject casts. (user_message_response): Don't

2002-12-13  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-session.c: Get rid of unneeded CamelObject casts.
	(user_message_response): Don't unref the dialog object after we've
	destroyed it.

	* mail-display.c (write_data_to_file): Don't unref the dialog
	object after we've destroyed it.

	* mail-callbacks.c: Same here.

	* component-factory.c: Here too.

	* message-tag-editor.c: Added MESSAGE_TAG_EDITOR_GET_CLASS macros.

svn path=/trunk/; revision=19112
This commit is contained in:
Jeffrey Stedfast
2002-12-13 18:52:35 +00:00
committed by Jeffrey Stedfast
parent d08474c3a5
commit 25a94bfe0c
7 changed files with 297 additions and 276 deletions

View File

@ -1,3 +1,18 @@
2002-12-13 Jeffrey Stedfast <fejj@ximian.com>
* mail-session.c: Get rid of unneeded CamelObject casts.
(user_message_response): Don't unref the dialog object after we've
destroyed it.
* mail-display.c (write_data_to_file): Don't unref the dialog
object after we've destroyed it.
* mail-callbacks.c: Same here.
* component-factory.c: Here too.
* message-tag-editor.c: Added MESSAGE_TAG_EDITOR_GET_CLASS macros.
2002-12-12 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c (mail_accounts_tab_construct): Setup

View File

@ -758,22 +758,22 @@ owner_set_cb (EvolutionShellComponent *shell_component,
/* FIXME: should we ref this? */
global_shell_client = shell_client;
g_object_weak_ref(G_OBJECT(shell_client), (GWeakNotify)shell_client_destroy, NULL);
g_object_weak_ref ((GObject *) shell_client, (GWeakNotify) shell_client_destroy, NULL);
evolution_dir = g_strdup (evolution_homedir);
mail_session_init ();
async_event = mail_async_event_new();
storages_hash = g_hash_table_new (NULL, NULL);
corba_shell = evolution_shell_client_corba_objref(shell_client);
corba_shell = evolution_shell_client_corba_objref (shell_client);
for (i = 0; i < sizeof (standard_folders) / sizeof (standard_folders[0]); i++)
*standard_folders[i].uri = g_strdup_printf ("file://%s/local/%s", evolution_dir, standard_folders[i].name);
vfolder_load_storage(corba_shell);
accounts = mail_config_get_accounts ();
mail_load_storages (corba_shell, accounts);
@ -786,7 +786,7 @@ owner_set_cb (EvolutionShellComponent *shell_component,
}
mail_autoreceive_setup ();
{
/* setup the global quick-search context */
char *user = g_strdup_printf ("%s/searches.xml", evolution_dir);
@ -809,14 +809,14 @@ owner_set_cb (EvolutionShellComponent *shell_component,
if (mail_config_is_corrupt ()) {
GtkWidget *dialog;
dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
_("Some of your mail settings seem corrupt, "
"please check that everything is in order."));
g_signal_connect(dialog, "response", G_CALLBACK(warning_response), NULL);
dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
_("Some of your mail settings seem corrupt, "
"please check that everything is in order."));
g_signal_connect (dialog, "response", G_CALLBACK (warning_response), NULL);
gtk_widget_show (dialog);
}
/* Everything should be ready now */
evolution_folder_info_notify_ready ();
}
@ -975,11 +975,11 @@ send_receive_cb (EvolutionShellComponent *shell_component,
if (!account || !account->transport) {
GtkWidget *dialog;
dialog = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
_("You have not set a mail transport method"));
gtk_dialog_run((GtkDialog *)dialog);
gtk_widget_destroy(dialog);
dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
_("You have not set a mail transport method"));
gtk_dialog_run ((GtkDialog *) dialog);
gtk_widget_destroy (dialog);
return;
}

View File

@ -79,32 +79,32 @@
if again is != NULL, a checkbox "dont show this again" will appear, and the result stored in *again
*/
static gboolean
e_question(GtkWindow *parent, int def, gboolean *again, const char *fmt, ...)
e_question (GtkWindow *parent, int def, gboolean *again, const char *fmt, ...)
{
GtkWidget *mbox, *check = NULL;
va_list ap;
int button;
char *str;
va_start(ap, fmt);
str = g_strdup_vprintf(fmt, ap);
va_end(ap);
mbox = gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
"%s", str);
g_free(str);
gtk_dialog_set_default_response ((GtkDialog *)mbox, def);
va_start (ap, fmt);
str = g_strdup_vprintf (fmt, ap);
va_end (ap);
mbox = gtk_message_dialog_new (parent, GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
"%s", str);
g_free (str);
gtk_dialog_set_default_response ((GtkDialog *) mbox, def);
if (again) {
check = gtk_check_button_new_with_label (_("Don't show this message again."));
gtk_box_pack_start((GtkBox *)((GtkDialog *)mbox)->vbox, check, TRUE, TRUE, 10);
gtk_widget_show(check);
gtk_box_pack_start ((GtkBox *)((GtkDialog *) mbox)->vbox, check, TRUE, TRUE, 10);
gtk_widget_show (check);
}
button = gtk_dialog_run((GtkDialog *)mbox);
button = gtk_dialog_run ((GtkDialog *) mbox);
if (again)
*again = !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check));
gtk_widget_destroy(mbox);
gtk_widget_destroy (mbox);
return button == GTK_RESPONSE_YES;
}
@ -2255,9 +2255,9 @@ are_you_sure (const char *msg, GPtrArray *uids, FolderBrowser *fb)
dialog = gtk_message_dialog_new (FB_WINDOW (fb), GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL,
msg, uids->len);
button = gtk_dialog_run((GtkDialog *)dialog);
gtk_widget_destroy(dialog);
button = gtk_dialog_run ((GtkDialog *) dialog);
gtk_widget_destroy (dialog);
if (button != GTK_RESPONSE_OK) {
for (i = 0; i < uids->len; i++)
g_free (uids->pdata[i]);
@ -2358,9 +2358,9 @@ search_msg (GtkWidget *widget, gpointer user_data)
if (fb->mail_display->current_message == NULL) {
GtkWidget *dialog;
dialog = gtk_message_dialog_new(FB_WINDOW(fb), GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
_("No Message Selected"));
dialog = gtk_message_dialog_new (FB_WINDOW(fb), GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
_("No Message Selected"));
g_signal_connect_swapped (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog);
gtk_widget_show (dialog);
return;
@ -2827,12 +2827,12 @@ filter_edit (BonoboUIComponent *uih, void *user_data, const char *path)
}
filter_editor = (GtkWidget *)filter_editor_new (fc, filter_source_names);
/* maybe this needs destroy func? */
gtk_window_set_transient_for((GtkWindow *)filter_editor, FB_WINDOW(fb));
/* FIXME: maybe this needs destroy func? */
gtk_window_set_transient_for ((GtkWindow *) filter_editor, FB_WINDOW (fb));
gtk_window_set_title (GTK_WINDOW (filter_editor), _("Filters"));
gtk_dialog_add_button((GtkDialog *)filter_editor, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
g_object_set_data_full(G_OBJECT(filter_editor), "context", fc, (GtkDestroyNotify)g_object_unref);
g_signal_connect(filter_editor, "response", G_CALLBACK(filter_editor_response), fb);
gtk_dialog_add_button ((GtkDialog *) filter_editor, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
g_object_set_data_full ((GObject *) filter_editor, "context", fc, (GtkDestroyNotify) g_object_unref);
g_signal_connect (filter_editor, "response", G_CALLBACK (filter_editor_response), fb);
gtk_widget_show (GTK_WIDGET (filter_editor));
}
@ -2869,13 +2869,13 @@ footer_print_cb (GtkHTML *html, GnomePrintContext *print_context,
double x, double y, double width, double height, gpointer user_data)
{
struct footer_info *info = (struct footer_info *) user_data;
if (info->local_font) {
gchar *text = g_strdup_printf (_("Page %d of %d"), info->page_num, info->pages);
char *text = g_strdup_printf (_("Page %d of %d"), info->page_num, info->pages);
/*gdouble tw = gnome_font_get_width_string (info->local_font, text);*/
/* FIXME: work out how to measure this */
gdouble tw = strlen(text) * 8;
gdouble tw = strlen (text) * 8;
gnome_print_gsave (print_context);
gnome_print_newpath (print_context);
gnome_print_setrgbcolor (print_context, .0, .0, .0);
@ -2883,7 +2883,7 @@ footer_print_cb (GtkHTML *html, GnomePrintContext *print_context,
gnome_print_setfont (print_context, info->local_font);
gnome_print_show (print_context, text);
gnome_print_grestore (print_context);
g_free (text);
info->page_num++;
}
@ -2901,15 +2901,16 @@ static struct footer_info *
footer_info_new (GtkHTML *html, GnomePrintContext *pc, gdouble *line)
{
struct footer_info *info;
info = g_new (struct footer_info, 1);
info->local_font = gnome_font_find_closest ("Helvetica", 10.0);
if (info->local_font) {
if (info->local_font)
*line = gnome_font_get_ascender (info->local_font) + gnome_font_get_descender (info->local_font);
}
info->page_num = 1;
info->pages = gtk_html_print_get_pages_num (html, pc, 0.0, *line);
return info;
}
@ -2919,35 +2920,34 @@ do_mail_print (FolderBrowser *fb, gboolean preview)
GtkHTML *html;
GnomePrintContext *print_context;
GnomePrintMaster *print_master;
GnomePrintDialog *dialog;
GnomePrintConfig *config = NULL;
GtkDialog *dialog;
gdouble line = 0.0;
struct footer_info *info;
if (!preview) {
dialog = GNOME_PRINT_DIALOG (gnome_print_dialog_new (_("Print Message"),
GNOME_PRINT_DIALOG_COPIES));
gtk_dialog_set_default_response((GtkDialog *)dialog, GNOME_PRINT_DIALOG_RESPONSE_PRINT);
gtk_window_set_transient_for((GtkWindow *)dialog, (GtkWindow *)fb);
dialog = (GtkDialog *) gnome_print_dialog_new (_("Print Message"), GNOME_PRINT_DIALOG_COPIES);
gtk_dialog_set_default_response (dialog, GNOME_PRINT_DIALOG_RESPONSE_PRINT);
gtk_window_set_transient_for ((GtkWindow *) dialog, (GtkWindow *) fb);
switch(gtk_dialog_run((GtkDialog *)dialog)) {
switch (gtk_dialog_run (dialog)) {
case GNOME_PRINT_DIALOG_RESPONSE_PRINT:
break;
break;
case GNOME_PRINT_DIALOG_RESPONSE_PREVIEW:
preview = TRUE;
break;
default:
gtk_widget_destroy((GtkWidget *)dialog);
gtk_widget_destroy ((GtkWidget *) dialog);
return;
}
config = gnome_print_dialog_get_config(dialog);
gtk_widget_destroy((GtkWidget *)dialog);
config = gnome_print_dialog_get_config ((GnomePrintDialog *) dialog);
gtk_widget_destroy ((GtkWidget *)dialog);
}
if (config) {
print_master = gnome_print_master_new_from_config(config);
gnome_print_config_unref(config);
print_master = gnome_print_master_new_from_config (config);
gnome_print_config_unref (config);
} else
print_master = gnome_print_master_new ();
@ -2978,14 +2978,14 @@ do_mail_print (FolderBrowser *fb, gboolean preview)
if (preview){
GtkWidget *preview;
preview = gnome_print_master_preview_new(print_master, _("Print Preview"));
gtk_widget_show(preview);
preview = gnome_print_master_preview_new (print_master, _("Print Preview"));
gtk_widget_show (preview);
} else {
int result = gnome_print_master_print (print_master);
if (result == -1)
e_notice(FB_WINDOW(fb), GTK_MESSAGE_ERROR, _("Printing of message failed"));
e_notice (FB_WINDOW (fb), GTK_MESSAGE_ERROR, _("Printing of message failed"));
}
/* FIXME: We are leaking the GtkHTML object */
@ -3019,7 +3019,7 @@ done_message_selected (CamelFolder *folder, const char *uid, CamelMimeMessage *m
g_free (fb->loaded_uid);
fb->loaded_uid = fb->loading_uid;
fb->loading_uid = NULL;
if (msg)
do_mail_print (fb, preview);
}

View File

@ -179,17 +179,16 @@ write_data_to_file (CamelMimePart *part, const char *name, gboolean unique)
fd = open (name, O_WRONLY | O_CREAT | O_EXCL, 0666);
if (fd == -1 && errno == EEXIST && !unique) {
GtkWidget *dlg;
GtkWidget *dialog;
int button;
dlg = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
_("File `%s' already exists.\nOverwrite it?"),
name);
dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
_("File `%s' already exists.\nOverwrite it?"),
name);
g_object_set (dlg, "title", _("Overwrite file?"), "allow_grow", TRUE, NULL);
button = gtk_dialog_run ((GtkDialog *) dlg);
gtk_widget_destroy (dlg);
g_object_unref (dlg);
g_object_set (dialog, "title", _("Overwrite file?"), "allow_grow", TRUE, NULL);
button = gtk_dialog_run ((GtkDialog *) dialog);
gtk_widget_destroy (dialog);
if (button != GTK_RESPONSE_YES)
return FALSE;
@ -372,29 +371,31 @@ launch_cb (GtkWidget *widget, gpointer user_data)
tmpdir = e_mkdtemp ("evolution.XXXXXX");
if (!tmpdir) {
GtkDialog *dialogue;
dialogue = (GtkDialog *)gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_RESPONSE_CLOSE,
_("Could not create temporary directory: %s"),
g_strerror (errno));
GtkWidget *dialog;
dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_RESPONSE_CLOSE,
_("Could not create temporary directory: %s"),
g_strerror (errno));
/* FIXME: this should be async */
gtk_dialog_run(dialogue);
gtk_widget_destroy((GtkWidget *)dialogue);
gtk_dialog_run ((GtkDialog *) dialog);
gtk_widget_destroy (dialog);
return;
}
filename = make_safe_filename (tmpdir, part);
if (!write_data_to_file (part, filename, TRUE)) {
GtkDialog *dialogue;
dialogue = (GtkDialog *)gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_RESPONSE_CLOSE,
_("Could not create temporary file '%s': %s"),
filename, g_strerror (errno));
GtkWidget *dialog;
dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_RESPONSE_CLOSE,
_("Could not create temporary file '%s': %s"),
filename, g_strerror (errno));
/* FIXME: this should be async */
gtk_dialog_run(dialogue);
gtk_widget_destroy((GtkWidget *)dialogue);
g_free(filename);
gtk_dialog_run ((GtkDialog *) dialog);
gtk_widget_destroy (dialog);
g_free (filename);
return;
}
@ -879,14 +880,15 @@ drag_data_get_cb (GtkWidget *widget,
tmpdir = e_mkdtemp ("drag-n-drop-XXXXXX");
if (!tmpdir) {
GtkDialog *dialogue;
dialogue = (GtkDialog *)gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_RESPONSE_CLOSE,
_("Could not create temporary directory: %s"),
g_strerror (errno));
GtkWidget *dialog;
dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_RESPONSE_CLOSE,
_("Could not create temporary directory: %s"),
g_strerror (errno));
/* FIXME: this should be async */
gtk_dialog_run(dialogue);
gtk_widget_destroy((GtkWidget *)dialogue);
gtk_dialog_run ((GtkDialog *) dialog);
gtk_widget_destroy (dialog);
}
filename = camel_mime_part_get_filename (part);

View File

@ -148,22 +148,22 @@ make_key (CamelService *service, const char *item)
/* ********************************************************************** */
static GtkDialog *password_dialogue = NULL;
static GtkDialog *password_dialog = NULL;
static EDList password_list = E_DLIST_INITIALISER(password_list);
struct _pass_msg {
struct _mail_msg msg;
CamelSession *session;
const char *prompt;
gboolean secret;
CamelService *service;
const char *item;
CamelException *ex;
char *service_url;
char *key;
MailConfigService *config_service;
GtkWidget *check;
GtkWidget *entry;
@ -174,17 +174,17 @@ struct _pass_msg {
static void do_get_pass(struct _mail_msg *mm);
static void
pass_response(GtkDialog *dialogue, int button, void *data)
pass_response (GtkDialog *dialog, int button, void *data)
{
struct _pass_msg *m = data;
switch(button) {
switch (button) {
case GTK_RESPONSE_OK: {
gboolean cache, remember;
m->result = g_strdup(gtk_entry_get_text((GtkEntry *)m->entry));
remember = cache = m->check?gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (m->check)):FALSE;
m->result = g_strdup (gtk_entry_get_text ((GtkEntry *) m->entry));
remember = cache = m->check ? gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (m->check)) : FALSE;
if (m->service_url) {
if (m->service) {
mail_config_service_set_save_passwd (m->config_service, cache);
@ -209,35 +209,35 @@ pass_response(GtkDialog *dialogue, int button, void *data)
}
break; }
default:
camel_exception_set(m->ex, CAMEL_EXCEPTION_USER_CANCEL, _("User canceled operation."));
camel_exception_set (m->ex, CAMEL_EXCEPTION_USER_CANCEL, _("User canceled operation."));
break;
}
gtk_widget_destroy((GtkWidget *)dialogue);
password_dialogue = NULL;
e_msgport_reply((EMsg *)m);
if ((m = (struct _pass_msg *)e_dlist_remhead(&password_list)))
do_get_pass((struct _mail_msg *)m);
gtk_widget_destroy ((GtkWidget *) dialog);
password_dialog = NULL;
e_msgport_reply ((EMsg *)m);
if ((m = (struct _pass_msg *) e_dlist_remhead (&password_list)))
do_get_pass ((struct _mail_msg *) m);
}
static void
request_password(struct _pass_msg *m)
request_password (struct _pass_msg *m)
{
char *title;
const MailConfigAccount *mca = NULL;
/* If we already have a password_dialogue up, save this request till later */
if (!m->ismain && password_dialogue) {
e_dlist_addtail(&password_list, (EDListNode *)m);
char *title;
/* If we already have a password_dialog up, save this request till later */
if (!m->ismain && password_dialog) {
e_dlist_addtail (&password_list, (EDListNode *)m);
return;
}
if (m->service_url) {
if ( (mca = mail_config_get_account_by_source_url(m->service_url)) )
if ((mca = mail_config_get_account_by_source_url (m->service_url)))
m->config_service = mca->source;
else if ( (mca = mail_config_get_account_by_transport_url (m->service_url)) )
else if ((mca = mail_config_get_account_by_transport_url (m->service_url)))
m->config_service = mca->transport;
}
@ -245,29 +245,31 @@ request_password(struct _pass_msg *m)
title = g_strdup_printf (_("Enter Password for %s"), mca->name);
else
title = g_strdup (_("Enter Password"));
password_dialogue = (GtkDialog *)gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, "%s", m->prompt);
g_signal_connect(password_dialogue, "response", G_CALLBACK(pass_response), m);
gtk_window_set_title (GTK_WINDOW (password_dialogue), title);
password_dialog = (GtkDialog *) gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_QUESTION,
GTK_BUTTONS_OK_CANCEL, "%s", m->prompt);
g_signal_connect (password_dialog, "response", G_CALLBACK (pass_response), m);
gtk_window_set_title (GTK_WINDOW (password_dialog), title);
g_free (title);
m->entry = gtk_entry_new();
gtk_entry_set_visibility((GtkEntry *)m->entry, !m->secret);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (password_dialogue)->vbox), m->entry, TRUE, FALSE, 0);
gtk_widget_show(m->entry);
m->entry = gtk_entry_new ();
gtk_entry_set_visibility ((GtkEntry *) m->entry, !m->secret);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (password_dialog)->vbox), m->entry, TRUE, FALSE, 0);
gtk_widget_show (m->entry);
if (m->service_url == NULL || m->service != NULL) {
m->check = gtk_check_button_new_with_mnemonic(m->service_url? _("_Remember this password") :
_("_Remember this password for the remainder of this session"));
m->check = gtk_check_button_new_with_mnemonic (m->service_url? _("_Remember this password") :
_("_Remember this password for the remainder of this session"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (m->check), m->config_service->save_passwd);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (password_dialogue)->vbox), m->check, TRUE, FALSE, 0);
gtk_widget_show(m->check);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (password_dialog)->vbox), m->check, TRUE, FALSE, 0);
gtk_widget_show (m->check);
}
if (m->ismain)
gtk_dialog_run(password_dialogue);
gtk_dialog_run (password_dialog);
else
gtk_widget_show((GtkWidget *)password_dialogue);
gtk_widget_show ((GtkWidget *) password_dialog);
}
static void
@ -350,7 +352,7 @@ get_password (CamelSession *session, const char *prompt, gboolean secret, CamelS
ret = m->result;
mail_msg_free(m);
e_msgport_destroy(pass_reply);
return ret;
}
@ -358,7 +360,7 @@ static void
main_forget_password (CamelSession *session, CamelService *service, const char *item, CamelException *ex)
{
char *key = make_key (service, item);
e_passwords_forget_password ("Mail", key);
g_free (key);
@ -373,7 +375,7 @@ forget_password (CamelSession *session, CamelService *service, const char *item,
/* ********************************************************************** */
static GtkDialog *message_dialogue;
static GtkDialog *message_dialog;
static EDList message_list = E_DLIST_INITIALISER(password_list);
struct _user_message_msg {
@ -391,19 +393,18 @@ static void do_user_message (struct _mail_msg *mm);
/* clicked, send back the reply */
static void
user_message_response(GtkDialog *gd, int button, struct _user_message_msg *m)
user_message_response (GtkDialog *dialog, int button, struct _user_message_msg *m)
{
gtk_widget_destroy((GtkWidget *)gd);
g_object_unref(gd);
message_dialogue = NULL;
gtk_widget_destroy ((GtkWidget *) dialog);
message_dialog = NULL;
/* if !allow_cancel, then we've already replied */
if (m->allow_cancel) {
m->result = button == GTK_RESPONSE_OK;
e_msgport_reply((EMsg *)m);
}
/* check for pendings */
if ((m = (struct _user_message_msg *)e_dlist_remhead(&message_list)))
do_user_message((struct _mail_msg *)m);
@ -414,12 +415,12 @@ do_user_message (struct _mail_msg *mm)
{
struct _user_message_msg *m = (struct _user_message_msg *)mm;
GtkMessageType msg_type;
if (!m->ismain && message_dialogue != NULL) {
e_dlist_addtail(&message_list, (EDListNode *)m);
if (!m->ismain && message_dialog != NULL) {
e_dlist_addtail (&message_list, (EDListNode *)m);
return;
}
switch (m->type) {
case CAMEL_SESSION_ALERT_INFO:
msg_type = GTK_MESSAGE_INFO;
@ -433,25 +434,25 @@ do_user_message (struct _mail_msg *mm)
default:
msg_type = GTK_MESSAGE_INFO;
}
message_dialogue = (GtkDialog *)gtk_message_dialog_new(
message_dialog = (GtkDialog *) gtk_message_dialog_new (
NULL, 0, msg_type,
m->allow_cancel?GTK_BUTTONS_OK_CANCEL:GTK_BUTTONS_OK,
m->allow_cancel ? GTK_BUTTONS_OK_CANCEL : GTK_BUTTONS_OK,
m->prompt);
gtk_dialog_set_default_response(message_dialogue, m->allow_cancel?GTK_RESPONSE_CANCEL:GTK_RESPONSE_OK);
g_object_set(message_dialogue, "allow_shrink", TRUE, "allow_grow", TRUE, NULL);
gtk_dialog_set_default_response (message_dialog, m->allow_cancel ? GTK_RESPONSE_CANCEL : GTK_RESPONSE_OK);
g_object_set ((GObject *) message_dialog, "allow_shrink", TRUE, "allow_grow", TRUE, NULL);
/* We only need to wait for the result if we allow cancel otherwise show but send result back instantly */
if (m->allow_cancel) {
g_signal_connect(message_dialogue, "response", G_CALLBACK(user_message_response), m);
g_signal_connect (message_dialog, "response", G_CALLBACK (user_message_response), m);
if (m->ismain)
gtk_dialog_run(message_dialogue);
gtk_dialog_run (message_dialog);
else
gtk_widget_show((GtkWidget *)message_dialogue);
gtk_widget_show ((GtkWidget *) message_dialog);
} else {
gtk_widget_show((GtkWidget *)message_dialogue);
gtk_widget_show ((GtkWidget *) message_dialog);
m->result = TRUE;
e_msgport_reply((EMsg *)m);
e_msgport_reply ((EMsg *)m);
}
}
@ -562,31 +563,31 @@ timeout_timeout (struct _mail_msg *mm)
}
static void
timeout_done(struct _mail_msg *mm)
timeout_done (struct _mail_msg *mm)
{
struct _timeout_msg *m = (struct _timeout_msg *)mm;
MailSession *ms = (MailSession *)m->session;
struct _timeout_msg *m = (struct _timeout_msg *) mm;
MailSession *ms = (MailSession *) m->session;
struct _timeout_data *td;
if (!m->result) {
MAIL_SESSION_LOCK(ms, lock);
td = find_timeout(&ms->timeouts, m->id);
td = find_timeout (&ms->timeouts, m->id);
if (td) {
e_dlist_remove((EDListNode *)td);
e_dlist_remove ((EDListNode *) td);
if (td->timeout_id)
gtk_timeout_remove(td->timeout_id);
g_free(td);
gtk_timeout_remove (td->timeout_id);
g_free (td);
}
MAIL_SESSION_UNLOCK(ms, lock);
}
}
static void
timeout_free(struct _mail_msg *mm)
timeout_free (struct _mail_msg *mm)
{
struct _timeout_msg *m = (struct _timeout_msg *)mm;
camel_object_unref((CamelObject *)m->session);
camel_object_unref (m->session);
}
static struct _mail_msg_op timeout_op = {
@ -601,63 +602,63 @@ camel_timeout (gpointer data)
{
struct _timeout_data *td = data;
struct _timeout_msg *m;
/* stop if we are removed pending */
if (td->removed)
return FALSE;
m = mail_msg_new(&timeout_op, NULL, sizeof (*m));
m = mail_msg_new (&timeout_op, NULL, sizeof (*m));
m->session = td->session;
camel_object_ref((CamelObject *)td->session);
camel_object_ref (td->session);
m->id = td->id;
e_thread_put(mail_thread_queued, (EMsg *)m);
e_thread_put (mail_thread_queued, (EMsg *)m);
return TRUE;
}
static void
main_register_timeout(CamelSession *session, void *event_data, void *data)
main_register_timeout (CamelSession *session, void *event_data, void *data)
{
MailSession *ms = (MailSession *)session;
unsigned int handle = (unsigned int)event_data;
struct _timeout_data *td;
MAIL_SESSION_LOCK(session, lock);
td = find_timeout(&ms->timeouts, handle);
td = find_timeout (&ms->timeouts, handle);
if (td) {
if (td->removed) {
e_dlist_remove((EDListNode *)td);
e_dlist_remove ((EDListNode *) td);
if (td->timeout_id)
gtk_timeout_remove(td->timeout_id);
g_free(td);
gtk_timeout_remove (td->timeout_id);
g_free (td);
} else {
td->timeout_id = gtk_timeout_add(td->interval, camel_timeout, td);
td->timeout_id = gtk_timeout_add (td->interval, camel_timeout, td);
}
}
MAIL_SESSION_UNLOCK(session, lock);
camel_object_unref((CamelObject *)ms);
camel_object_unref (ms);
}
static guint
register_timeout (CamelSession *session, guint32 interval, CamelTimeoutCallback cb, gpointer camel_data)
{
struct _timeout_data *td;
MailSession *ms = (MailSession *)session;
MailSession *ms = (MailSession *) session;
guint ret;
MAIL_SESSION_LOCK(session, lock);
ret = ms->timeout_id;
ms->timeout_id ++;
ms->timeout_id++;
/* just debugging, the timeout code now ignores excessive events anyway */
if (interval < 100)
g_warning("Timeout requested %d is small, may cause performance problems", interval);
td = g_malloc(sizeof(*td));
g_warning ("Timeout requested %d is small, may cause performance problems", interval);
td = g_malloc (sizeof (*td));
td->cb = cb;
td->camel_data = camel_data;
td->interval = interval;
@ -665,34 +666,35 @@ register_timeout (CamelSession *session, guint32 interval, CamelTimeoutCallback
td->session = session;
td->removed = FALSE;
td->busy = FALSE;
e_dlist_addhead(&ms->timeouts, (EDListNode *)td);
e_dlist_addhead (&ms->timeouts, (EDListNode *) td);
MAIL_SESSION_UNLOCK(session, lock);
camel_object_ref(ms);
mail_async_event_emit(ms->async, MAIL_ASYNC_GUI, (MailAsyncFunc)main_register_timeout, (CamelObject *)session, (void *)ret, NULL);
camel_object_ref (ms);
mail_async_event_emit (ms->async, MAIL_ASYNC_GUI, (MailAsyncFunc) main_register_timeout,
(CamelObject *) session, (void *) ret, NULL);
return ret;
}
static void
main_remove_timeout(CamelSession *session, void *event_data, void *data)
main_remove_timeout (CamelSession *session, void *event_data, void *data)
{
MailSession *ms = (MailSession *)session;
unsigned int handle = (unsigned int)event_data;
MailSession *ms = (MailSession *) session;
unsigned int handle = (unsigned int) event_data;
struct _timeout_data *td;
MAIL_SESSION_LOCK(session, lock);
td = find_timeout(&ms->timeouts, handle);
td = find_timeout (&ms->timeouts, handle);
if (td) {
e_dlist_remove((EDListNode *)td);
e_dlist_remove ((EDListNode *) td);
if (td->timeout_id)
gtk_timeout_remove(td->timeout_id);
g_free(td);
gtk_timeout_remove (td->timeout_id);
g_free (td);
}
MAIL_SESSION_UNLOCK(session, lock);
camel_object_unref((CamelObject *)ms);
camel_object_unref (ms);
}
static gboolean
@ -701,21 +703,21 @@ remove_timeout (CamelSession *session, guint handle)
MailSession *ms = (MailSession *)session;
struct _timeout_data *td;
int remove = FALSE;
MAIL_SESSION_LOCK(session, lock);
td = find_timeout(&ms->timeouts, handle);
td = find_timeout (&ms->timeouts, handle);
if (td && !td->removed) {
td->removed = TRUE;
remove = TRUE;
}
MAIL_SESSION_UNLOCK(session, lock);
if (remove) {
camel_object_ref(ms);
mail_async_event_emit(ms->async, MAIL_ASYNC_GUI,
(MailAsyncFunc)main_remove_timeout, (CamelObject *)session, (void *)handle, NULL);
camel_object_ref (ms);
mail_async_event_emit (ms->async, MAIL_ASYNC_GUI, (MailAsyncFunc) main_remove_timeout,
(CamelObject *) session, (void *) handle, NULL);
} else
g_warning("Removing a timeout i dont know about (or twice): %d", handle);
g_warning ("Removing a timeout i dont know about (or twice): %d", handle);
return TRUE;
}
@ -752,7 +754,7 @@ main_get_filter_driver (CamelSession *session, const char *type, CamelException
user = g_strdup_printf ("%s/filters.xml", evolution_dir);
system = EVOLUTION_DATADIR "/evolution/filtertypes.xml";
fc = (RuleContext *)filter_context_new ();
fc = (RuleContext *) filter_context_new ();
rule_context_load (fc, system, user);
g_free (user);
@ -760,7 +762,7 @@ main_get_filter_driver (CamelSession *session, const char *type, CamelException
camel_filter_driver_set_folder_func (driver, get_folder, NULL);
if (mail_config_get_filter_log ()) {
MailSession *ms = (MailSession *)session;
MailSession *ms = (MailSession *) session;
if (ms->filter_logfile == NULL) {
const char *filename;
@ -813,16 +815,15 @@ main_get_filter_driver (CamelSession *session, const char *type, CamelException
g_string_truncate (faction, 0);
filter_rule_build_code (rule, fsearch);
filter_filter_build_action ((FilterFilter *)rule, faction);
filter_filter_build_action ((FilterFilter *) rule, faction);
camel_filter_driver_add_rule (driver, rule->name,
fsearch->str, faction->str);
camel_filter_driver_add_rule (driver, rule->name, fsearch->str, faction->str);
}
g_string_free (fsearch, TRUE);
g_string_free (faction, TRUE);
g_object_unref(fc);
g_object_unref (fc);
return driver;
}
@ -830,8 +831,8 @@ main_get_filter_driver (CamelSession *session, const char *type, CamelException
static CamelFilterDriver *
get_filter_driver (CamelSession *session, const char *type, CamelException *ex)
{
return (CamelFilterDriver *)mail_call_main(MAIL_CALL_p_ppp, (MailMainFunc)main_get_filter_driver,
session, type, ex);
return (CamelFilterDriver *) mail_call_main (MAIL_CALL_p_ppp, (MailMainFunc) main_get_filter_driver,
session, type, ex);
}
char *
@ -840,15 +841,15 @@ mail_session_get_password (const char *url_string)
CamelURL *url;
char *simple_url;
char *passwd;
url = camel_url_new (url_string, NULL);
simple_url = camel_url_to_string (url, CAMEL_URL_HIDE_PASSWORD | CAMEL_URL_HIDE_PARAMS);
camel_url_free (url);
passwd = e_passwords_get_password ("Mail", simple_url);
g_free (simple_url);
return passwd;
}
@ -858,13 +859,13 @@ mail_session_add_password (const char *url_string,
{
CamelURL *url;
char *simple_url;
url = camel_url_new (url_string, NULL);
simple_url = camel_url_to_string (url, CAMEL_URL_HIDE_PASSWORD | CAMEL_URL_HIDE_PARAMS);
camel_url_free (url);
e_passwords_add_password (simple_url, passwd);
g_free (simple_url);
}
@ -877,9 +878,9 @@ mail_session_remember_password (const char *url_string)
url = camel_url_new (url_string, NULL);
simple_url = camel_url_to_string (url, CAMEL_URL_HIDE_PASSWORD | CAMEL_URL_HIDE_PARAMS);
camel_url_free (url);
e_passwords_remember_password ("Mail", simple_url);
g_free (simple_url);
}
@ -901,10 +902,10 @@ mail_session_init (void)
camel_dir = g_strdup_printf ("%s/mail", evolution_dir);
camel_session_construct (session, camel_dir);
/* The shell will tell us to go online. */
camel_session_set_online ((CamelSession *)session, FALSE);
camel_session_set_online ((CamelSession *) session, FALSE);
g_free (camel_dir);
}
@ -922,31 +923,31 @@ mail_session_set_interactive (gboolean interactive)
if (!interactive) {
struct _pass_msg *pm;
struct _user_message_msg *um;
d(printf("Gone non-interactive, checking for outstanding interactive tasks\n"));
d(printf ("Gone non-interactive, checking for outstanding interactive tasks\n"));
/* clear out pending password requests */
while ((pm = (struct _pass_msg *)e_dlist_remhead(&password_list))) {
d(printf("Flushing password request : %s\n", pm->prompt));
e_msgport_reply((EMsg *)pm);
while ((pm = (struct _pass_msg *) e_dlist_remhead (&password_list))) {
d(printf ("Flushing password request : %s\n", pm->prompt));
e_msgport_reply ((EMsg *) pm);
}
/* destroy the current */
if (password_dialogue) {
d(printf("Destroying password dialogue\n"));
gtk_object_destroy((GtkObject *)password_dialogue);
if (password_dialog) {
d(printf ("Destroying password dialogue\n"));
gtk_widget_destroy ((GtkWidget *) password_dialog);
}
/* same for pending user messages */
while ((um = (struct _user_message_msg *)e_dlist_remhead(&message_list))) {
d(printf("Flusing message request: %s\n", um->prompt));
e_msgport_reply((EMsg *)um);
while ((um = (struct _user_message_msg *) e_dlist_remhead (&message_list))) {
d(printf ("Flusing message request: %s\n", um->prompt));
e_msgport_reply((EMsg *) um);
}
/* and the current */
if (message_dialogue) {
if (message_dialog) {
d(printf("Destroying message dialogue\n"));
gtk_object_destroy((GtkObject *)message_dialogue);
gtk_widget_destroy ((GtkWidget *) message_dialog);
}
}
}

View File

@ -25,9 +25,10 @@
#include <config.h>
#endif
#include "message-tag-editor.h"
#include <gtk/gtkstock.h>
#include "message-tag-editor.h"
static void message_tag_editor_class_init (MessageTagEditorClass *class);
static void message_tag_editor_init (MessageTagEditor *editor);
static void message_tag_editor_finalise (GObject *obj);
@ -55,7 +56,7 @@ message_tag_editor_get_type (void)
(GInstanceInitFunc) message_tag_editor_init,
};
type = g_type_register_static(gtk_dialog_get_type (), "MessageTagEditor", &type_info, 0);
type = g_type_register_static (gtk_dialog_get_type (), "MessageTagEditor", &type_info, 0);
}
return type;
@ -64,10 +65,9 @@ message_tag_editor_get_type (void)
static void
message_tag_editor_class_init (MessageTagEditorClass *klass)
{
GObjectClass *object_class;
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class = (GObjectClass *) klass;
parent_class = g_type_class_ref(gtk_dialog_get_type ());
parent_class = g_type_class_ref (gtk_dialog_get_type ());
object_class->finalize = message_tag_editor_finalise;
@ -78,7 +78,7 @@ message_tag_editor_class_init (MessageTagEditorClass *klass)
static void
message_tag_editor_init (MessageTagEditor *editor)
{
g_object_set(editor, "allow_shrink", FALSE, "allow_grow", TRUE, NULL);
g_object_set (editor, "allow_shrink", FALSE, "allow_grow", TRUE, NULL);
gtk_dialog_add_buttons (GTK_DIALOG (editor),
GTK_STOCK_OK,
GTK_RESPONSE_OK,
@ -93,9 +93,9 @@ message_tag_editor_init (MessageTagEditor *editor)
static void
message_tag_editor_finalise (GObject *obj)
{
/* MessageTagEditor *editor = (MessageTagEditor *) obj;*/
/*MessageTagEditor *editor = (MessageTagEditor *) obj;*/
((GObjectClass *)(parent_class))->finalize (obj);
G_OBJECT_CLASS (parent_class)->finalize (obj);
}
static CamelTag *
@ -109,7 +109,7 @@ message_tag_editor_get_tag_list (MessageTagEditor *editor)
{
g_return_val_if_fail (IS_MESSAGE_TAG_EDITOR (editor), NULL);
return ((MessageTagEditorClass *)(G_OBJECT_GET_CLASS(editor)))->get_tag_list (editor);
return MESSAGE_TAG_EDITOR_GET_CLASS (editor)->get_tag_list (editor);
}
@ -126,5 +126,5 @@ message_tag_editor_set_tag_list (MessageTagEditor *editor, CamelTag *tags)
g_return_if_fail (IS_MESSAGE_TAG_EDITOR (editor));
g_return_if_fail (tags != NULL);
((MessageTagEditorClass *)(G_OBJECT_GET_CLASS(editor)))->set_tag_list (editor, tags);
MESSAGE_TAG_EDITOR_GET_CLASS (editor)->set_tag_list (editor, tags);
}

View File

@ -34,9 +34,12 @@ extern "C" {
#pragma }
#endif /* __cplusplus */
#define MESSAGE_TAG_EDITOR(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, message_tag_editor_get_type (), MessageTagEditor)
#define MESSAGE_TAG_EDITOR_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, message_tag_editor_get_type (), MessageTagEditorClass)
#define IS_MESSAGE_TAG_EDITOR(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, message_tag_editor_get_type ())
#define MESSAGE_TYPE_TAG_EDITOR (message_tag_editor_get_type ())
#define MESSAGE_TAG_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, MESSAGE_TYPE_TAG_EDITOR, MessageTagEditor))
#define MESSAGE_TAG_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, MESSAGE_TYPE_TAG_EDITOR, MessageTagEditorClass))
#define IS_MESSAGE_TAG_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, MESSAGE_TYPE_TAG_EDITOR))
#define IS_MESSAGE_TAG_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MESSAGE_TYPE_TAG_EDITOR))
#define MESSAGE_TAG_EDITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MESSAGE_TYPE_TAG_EDITOR, MessageTagEditorClass))
typedef struct _MessageTagEditor MessageTagEditor;
typedef struct _MessageTagEditorClass MessageTagEditorClass;