📄 pref-windows-callbacks.c
字号:
mtype->handle=strdup ("Save"); } else { if (GTK_TOGGLE_BUTTON (lookup_widget (widget, "rp_radio"))->active) { mtype->handle=strdup ("Prompt"); } else { mtype->handle=strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (widget, "handler")))); } } } mime_types_destroy_window (widget, NULL, NULL); mime_types_display_type (GTK_CLIST (lookup_widget(prefs_widget, "mime_clist")), mtype);}void mime_types_cancel_window (GtkWidget *widget, gpointer data) { mime_types_destroy_window (widget, NULL, NULL);}void mime_types_destroy_window (GtkWidget *widget, GdkEvent *event, gpointer data) { gtk_widget_destroy (lookup_widget (widget, "mime_type_window"));}void mime_types_external_toggle (GtkWidget *widget, gpointer data) { if (GTK_TOGGLE_BUTTON (widget)->active) { gtk_widget_set_sensitive (lookup_widget (widget, "handler"), TRUE); } else { gtk_widget_set_sensitive (lookup_widget (widget, "handler"), FALSE); }}void mime_types_rehash_clist () { GtkCList *clist; Llist *seek=mime_type_first (); if (GTK_IS_WIDGET (prefs_widget)) { clist=GTK_CLIST (lookup_widget (prefs_widget, "mime_clist")); gtk_clist_freeze (clist); gtk_clist_clear (clist); while (seek) { mime_types_display_type (clist, (MimeType *)seek->data); seek=seek->next; } gtk_clist_thaw (clist); }}void header_none_selected (GtkWidget *widget, gpointer data) { if (GTK_TOGGLE_BUTTON (widget)->active) { tm_globs->flags &=~SHOW_SOME_HEADER; tm_globs->flags &=~SHOW_ALL_HEADER; }}void header_some_selected (GtkWidget *widget, gpointer data) { if (GTK_TOGGLE_BUTTON (widget)->active) { tm_globs->flags &=~SHOW_ALL_HEADER; tm_globs->flags |=SHOW_SOME_HEADER; }}void header_all_selected (GtkWidget *widget, gpointer data) { if (GTK_TOGGLE_BUTTON (widget)->active) { tm_globs->flags |=SHOW_ALL_HEADER; tm_globs->flags &=~SHOW_SOME_HEADER; }}void reply_none_selected (GtkWidget *widget, gpointer data) { if (GTK_TOGGLE_BUTTON (widget)->active) { tm_globs->flags &=~REPLY_NONE; tm_globs->flags |=REPLY_NONE; }}void reply_quoted_selected (GtkWidget *widget, gpointer data) { if (GTK_TOGGLE_BUTTON (widget)->active) { tm_globs->flags &=~REPLY_NONE; tm_globs->flags &=~REPLY_QUOTED; tm_globs->flags |=REPLY_QUOTED; }}void reply_attached_selected (GtkWidget *widget, gpointer data) { if (GTK_TOGGLE_BUTTON (widget)->active) { tm_globs->flags &=~REPLY_NONE; tm_globs->flags &=~REPLY_QUOTED; }}void wasted_value_changed (GtkAdjustment *adjustment) { tm_globs->wasted=adjustment->value;// tm_globs->flags=adjustment->value;}void compact_folders (GtkWidget *widget, gpointer data) { Folder *folder; insert_message ("Processing compact folders request. Please wait...\n"); insert_message ("Analyzing folders...\n"); folders_compact (); insert_message ("Recreating message list for folders...\n"); for (folder=folder_first ();folder;folder=folder->next) { message_list_destroy (folder); folder->msglst=NULL; } insert_message ("Reindexing folders...\n"); for (folder=folder_first ();folder;folder=folder->next) { folder_reindex (folder); } insert_message ("Done.\n"); folder_display (GTK_CLIST (lookup_widget (tm_globs->main_window, "message_clist")), tm_globs->visable); prefs_setup_info ();}void undelete_messages (GtkWidget *widget, gpointer data) { Folder *fl; char *number; GtkWidget *folder_ctree=lookup_widget (tm_globs->main_window, "folder_tree");#if DEBUG > 4 printf("undeleting messages\n");#endif insert_message ("This may take some time, depending on mailbox size.\n"); insert_message ("During this process, user interaction wil be suspended.\n"); insert_message ("Undeleting messages.."); while (gtk_events_pending ()) gtk_main_iteration (); number=(char *)calloc (5, sizeof(char)); fl=folder_first (); while (fl) { insert_message ("."); while (gtk_events_pending ()) gtk_main_iteration (); folder_reindex (fl); snprintf (number, 5, "%d", fl->unread); gtk_ctree_node_set_text (GTK_CTREE (folder_ctree), fl->tree_item, 1, number); snprintf (number, 5, "%d", fl->total); gtk_ctree_node_set_text (GTK_CTREE (folder_ctree), fl->tree_item, 2, number); fl=fl->next; } free (number); insert_message (" Finished.\n"); if ((tm_globs->flags & HIDE_STATUS_WHEN_DONE)) { destroy_status (tm_globs->status, NULL); }}int rule_row=-1;void filter_rules_select_rule (GtkWidget *widget, gint row, gint column, GdkEventButton *event, gpointer data) { rule_row=row;}void filter_rules_unselect_rule (GtkWidget *widget, gint row, gint column, GdkEventButton *event, gpointer data) { rule_row=-1;}void filter_rules_add_rule (GtkWidget *widget, gpointer data) { FilterRule *rule=filter_new_rule (); rule_editor_create (rule, rule);}void filter_rules_edit_rule (GtkWidget *widget, gpointer data) { if (rule_row!=-1) { FilterRule *rule=gtk_clist_get_row_data (GTK_CLIST (lw (widget, "rule_clist")), rule_row); rule_editor_create (rule, NULL); }}void filter_rules_delete_rule (GtkWidget *widget, gpointer data) { if (rule_row!=-1) { FilterRule *rule=gtk_clist_get_row_data (GTK_CLIST (lw (widget, "rule_clist")), rule_row); filter_delete_rule (rule); gtk_clist_remove (GTK_CLIST (lw (widget, "rule_clist")), rule_row); rule_row=-1; }}void filter_rules_move_up (GtkWidget *widget, gpointer data) { GtkCList *clist=GTK_CLIST (lw (widget, "rule_clist")); if (rule_row!=-1 && rule_row !=0) { FilterRule *rule=gtk_clist_get_row_data (clist, rule_row); gtk_clist_swap_rows (clist, rule_row, rule_row-1); rule_row--; filter_move_up (rule); }}void filter_rules_move_down (GtkWidget *widget, gpointer data) { GtkCList *clist=GTK_CLIST (lw (widget, "rule_clist")); if (rule_row!=-1 && rule_row!=clist->rows-1) { FilterRule *rule=gtk_clist_get_row_data (clist, rule_row); gtk_clist_swap_rows (clist, rule_row, rule_row+1); rule_row++; filter_move_down (rule); }}void preferences_rehash_varibles () { GtkWidget *prefs=prefs_widget; int hideflags = tm_globs->flags;#if DEBUG>7 printf ("real_name : '%20.20s'<%p>\n", tm_globs->real_name, tm_globs->real_name); printf ("email : '%20.20s'<%p>\n", tm_globs->email, tm_globs->email); printf ("replyto : '%20.20s'<%p>\n", tm_globs->replyto, tm_globs->replyto); printf ("organization: '%20.20s'<%p>\n", tm_globs->organization, tm_globs->organization); printf ("signature : '%20.20s'<%p>\n", tm_globs->signature, tm_globs->signature);#endif if (tm_globs->real_name) free (tm_globs->real_name); if (tm_globs->email) free (tm_globs->email); if (tm_globs->replyto) free (tm_globs->replyto); if (tm_globs->organization) free (tm_globs->organization);#if 0 if (tm_globs->signature) g_free (tm_globs->signature);#else if (tm_globs->signature) free (tm_globs->signature);#endif tm_globs->real_name=strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (prefs, "name_entry")))); tm_globs->email=strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (prefs, "email_addy_entry")))); tm_globs->replyto=strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (prefs, "reply_entry")))); tm_globs->organization=strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (prefs, "org_entry")))); tm_globs->default_account=strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (prefs, "combo_entry2"))));#ifdef WANTLDAP set_ldap_host(strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (prefs, "l_entry_host"))))); set_ldap_ppassword(strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (prefs, "l_entry_password"))))); set_ldap_base(strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (prefs, "l_entry_base"))))); set_ldap_username(strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (prefs, "l_entry_username"))))); set_ldap_port(strdup (gtk_entry_get_text (GTK_ENTRY (lookup_widget (prefs, "l_entry_port")))));#endif tm_globs->signature=gtk_editable_get_chars (GTK_EDITABLE (lookup_widget (prefs, "autosignature")), 0, -1); tm_globs->flags=0; if (GTK_TOGGLE_BUTTON (lookup_widget (prefs, "use_autosig"))->active) { tm_globs->flags |= USE_SIGNATURE; } if (GTK_TOGGLE_BUTTON (lookup_widget (prefs, "use_unix_sig"))->active) { tm_globs->flags |=USE_UNIX_SIG; } if ((hideflags) && (hideflags & HIDE_STATUS_WHEN_DONE)) tm_globs->flags |= HIDE_STATUS_WHEN_DONE; if (GTK_IS_WIDGET (tm_globs->status)) { if (GTK_TOGGLE_BUTTON (lookup_widget (tm_globs->status, "checkbutton2"))->active) { tm_globs->flags |=HIDE_STATUS_WHEN_DONE; } } if (GTK_TOGGLE_BUTTON (lookup_widget (prefs, "hide_status"))->active) { tm_globs->flags |=HIDE_STATUS_WINDOW; } if (GTK_TOGGLE_BUTTON (lookup_widget (prefs, "header_some"))->active) { tm_globs->flags |=SHOW_SOME_HEADER; } if (GTK_TOGGLE_BUTTON (lookup_widget (prefs, "header_all"))->active) { tm_globs->flags |=SHOW_ALL_HEADER; } if (GTK_TOGGLE_BUTTON (lookup_widget (prefs, "reply_none"))->active) { tm_globs->flags |=REPLY_NONE; } if (GTK_TOGGLE_BUTTON (lookup_widget (prefs, "reply_quoted"))->active) { tm_globs->flags |=REPLY_QUOTED; }}void preferences_rehash_interface () { GtkWidget *widget=prefs_widget; GList *accts=pop_create_glist (); PopAccount *seek; if (!GTK_IS_WIDGET (prefs_widget)) return; if (accts) gtk_combo_set_popdown_strings (GTK_COMBO (lw (prefs_widget, "combo2")), accts);#if DEBUG > 3 printf ("flags: %08lX\n", tm_globs->flags); printf ("real_name: %p\n", tm_globs->real_name); printf ("email: %p\n", tm_globs->email); printf ("replyto: %p\n", tm_globs->replyto); printf ("organization: %p\n", tm_globs->organization); printf ("default_account: %p\n", tm_globs->default_account); printf ("signature: %p\n", tm_globs->signature);#endif st (widget, "name_entry", tm_globs->real_name); st (widget, "email_addy_entry", tm_globs->email); st (widget, "reply_entry", tm_globs->replyto); st (widget, "org_entry", tm_globs->organization); st (widget, "combo_entry2", tm_globs->default_account); st (widget, "autosignature", tm_globs->signature);#ifdef WANTLDAP st (widget, "l_entry_host", tm_globs->ldap_host); st (widget, "l_entry_username", tm_globs->ldap_username); st (widget, "l_entry_password", tm_globs->ldap_password); st (widget, "l_entry_base", tm_globs->ldap_base);#endif if (tm_globs->flags & USE_SIGNATURE) tba (widget, "use_autosig"); if (tm_globs->flags & HIDE_STATUS_WINDOW) tba (widget, "hide_status"); if (tm_globs->flags & SHOW_SOME_HEADER) { tba (widget, "header_some"); } else { if ((tm_globs->flags & SHOW_ALL_HEADER) == SHOW_ALL_HEADER) { tba (widget, "header_all"); } else { tba (widget, "header_none"); } } if (tm_globs->flags & REPLY_NONE) { tba (widget, "reply_none"); } else { if (tm_globs->flags & REPLY_QUOTED) { tba (widget, "reply_quoted"); } else { tba (widget, "reply_attach"); } } for (seek=first_popaccount();seek;seek=seek->next) { prefs_display_server (GTK_CLIST (lw (widget, "server_clist")), seek); }}void insert_autosig_callback (GtkWidget *widget, gpointer data){#if DEBUG > 3 printf ("insert_autosig_callback(): begin\n");#endif#if DEBUG > 3 printf ("insert_autosig_callback(): end\n");#endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -