talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 7d696832586c6be54087e68bfa2c4bfbdb1abd35
parent 84b8a3d42596c5f53a93c87147d3df662f9792ec
Author: Oliver Lowe <oliver.lowe@audinate.com>
Date:   Tue, 12 Aug 2025 12:20:42 +1000

Don't collect mail stats

don't care how many emails i've sent or received in one mail client

Diffstat:
Msrc/gtk/about.c | 121-------------------------------------------------------------------------------
Msrc/inc.c | 15---------------
Msrc/main.c | 100-------------------------------------------------------------------------------
Msrc/main.h | 12------------
Msrc/prefs_other.c | 1-
Msrc/procmsg.c | 13-------------
6 files changed, 0 insertions(+), 262 deletions(-)

diff --git a/src/gtk/about.c b/src/gtk/about.c @@ -45,9 +45,6 @@ #include "main.h" #include "file-utils.h" -extern SessionStats session_stats; -static GtkTextBuffer *stats_text_buffer; - static GtkWidget *window; static gchar* uri_hover = NULL; static GtkTextIter uri_hover_start_iter; @@ -69,7 +66,6 @@ static gboolean about_textview_leave_notify(GtkWidget *widget, static void about_size_allocate_cb(GtkWidget *widget, GtkAllocation *allocation); static void about_textview_uri_update(GtkWidget *textview, gint x, gint y); -static void about_update_stats(void); static GtkWidget *link_popupmenu; @@ -79,7 +75,6 @@ void about_show(void) if (!window) about_create(); else { - about_update_stats(); gtk_window_present(GTK_WINDOW(window)); } @@ -617,118 +612,6 @@ static GtkWidget *about_create_child_page_release_notes(void) return scrolledwin; } -static GtkWidget *about_create_child_page_session_stats(void) -{ - GtkWidget *scrolledwin; - GtkWidget *text; - GtkTextIter iter; - - scrolledwin = gtk_scrolled_window_new(NULL, NULL); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwin), - GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwin), - GTK_SHADOW_IN); - text = gtk_text_view_new(); - gtk_text_view_set_editable(GTK_TEXT_VIEW(text), FALSE); - gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text), GTK_WRAP_WORD); - /* disable margins until GTK bug 793407 is fixed - gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text), 6); - gtk_text_view_set_right_margin(GTK_TEXT_VIEW(text), 6); */ - gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(text), FALSE); - gtk_container_add(GTK_CONTAINER(scrolledwin), text); - - stats_text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)); - - gtk_text_buffer_get_iter_at_offset(stats_text_buffer, &iter, 0); - gtk_text_buffer_create_tag(stats_text_buffer, "indented-list-item", - "indent", 8, - NULL); - gtk_text_buffer_create_tag(stats_text_buffer, "underlined-list-title", - "underline", PANGO_UNDERLINE_SINGLE, - NULL); - gtk_text_buffer_create_tag(stats_text_buffer, "bold", "weight", PANGO_WEIGHT_BOLD, - NULL); - - about_update_stats(); - - return scrolledwin; -} - -static void about_update_stats(void) -{ - if (stats_text_buffer != NULL) - { - GtkTextIter start, end, iter; - gchar buf[1024]; - - gtk_text_buffer_get_start_iter(stats_text_buffer, &start); - gtk_text_buffer_get_end_iter(stats_text_buffer, &end); - gtk_text_buffer_delete(stats_text_buffer, &start, &end); - - gtk_text_buffer_get_iter_at_offset(stats_text_buffer, &iter, 0); - - gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, - (_("Session statistics\n")), -1, - "underlined-list-title", NULL); - - if (prefs_common.date_format) { - struct tm *lt; - gint len = 100; - gchar date[len]; - - lt = localtime(&session_stats.time_started); - fast_strftime(date, len, prefs_common.date_format, lt); - g_snprintf(buf, sizeof(buf), _("Started: %s\n"), - lt ? date : ctime(&session_stats.time_started)); - } else - g_snprintf(buf, sizeof(buf), _("Started: %s\n"), - ctime(&session_stats.time_started)); - gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, buf, -1, - "indented-list-item", NULL); - - gtk_text_buffer_insert(stats_text_buffer, &iter, "\n", 1); - gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, - (_("Incoming traffic\n")), -1, - "underlined-list-title", NULL); - - g_snprintf(buf, sizeof(buf), _("Received messages: %d\n"), - session_stats.received); - gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, buf, -1, - "indented-list-item", "bold", NULL); - if (session_stats.spam > 0) { - g_snprintf(buf, sizeof(buf), _("Spam messages: %d\n"), session_stats.spam); - gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, buf, -1, - "indented-list-item", NULL); - } - - gtk_text_buffer_insert(stats_text_buffer, &iter, "\n", 1); - gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, - (_("Outgoing traffic\n")), -1, - "underlined-list-title", NULL); - - g_snprintf(buf, sizeof(buf), _("New/redirected messages: %d\n"), - session_stats.sent); - gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, buf, -1, - "indented-list-item", NULL); - - g_snprintf(buf, sizeof(buf), _("Replied messages: %d\n"), - session_stats.replied); - gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, buf, -1, - "indented-list-item", NULL); - - g_snprintf(buf, sizeof(buf), _("Forwarded messages: %d\n"), - session_stats.forwarded); - gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, buf, -1, - "indented-list-item", NULL); - - g_snprintf(buf, sizeof(buf), _("Total outgoing messages: %d\n"), - (session_stats.sent + session_stats.replied + - session_stats.forwarded)); - gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, buf, -1, - "indented-list-item", "bold", NULL); - } -} - static void notebook_append_page(GtkWidget *notebook, GtkWidget *scrolledwin, const gchar *label_text) { if (!scrolledwin) @@ -759,8 +642,6 @@ static void about_create(void) static GdkGeometry geometry; gint row = 0; - stats_text_buffer = NULL; - window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "about"); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_title(GTK_WINDOW(window), _("About Claws Mail")); @@ -841,8 +722,6 @@ static void about_create(void) notebook_append_page(notebook, about_create_child_page_release_notes(), _("_Release Notes")); } - notebook_append_page(notebook, about_create_child_page_session_stats(), _("_Statistics")); - gtk_widget_set_hexpand(notebook, TRUE); gtk_widget_set_vexpand(notebook, TRUE); gtk_grid_attach(GTK_GRID(grid1), notebook, 0, row, 2, 1); diff --git a/src/inc.c b/src/inc.c @@ -65,8 +65,6 @@ #include "oauth2.h" #endif -extern SessionStats session_stats; - static GList *inc_dialog_list = NULL; static time_t inc_offline_overridden_yes = 0; @@ -80,7 +78,6 @@ static GdkPixbuf *okpix; #define MESSAGEBUFSIZE 8192 -static void inc_update_stats(gint new_msgs); static void inc_finished (MainWindow *mainwin, gboolean new_messages, gboolean autocheck); @@ -146,12 +143,6 @@ static gint inc_autocheck_func (gpointer data); static void inc_notify_cmd (gint new_msgs, gboolean notify); -static void inc_update_stats(gint new_msgs) -{ - /* update session statistics */ - session_stats.received += new_msgs; -} - /** * inc_finished: * @mainwin: Main window. @@ -213,7 +204,6 @@ void inc_mail(MainWindow *mainwin, gboolean notify) new_msgs += account_new_msgs; } - inc_update_stats(new_msgs); inc_finished(mainwin, new_msgs > 0, FALSE); main_window_unlock(mainwin); inc_notify_cmd(new_msgs, notify); @@ -308,7 +298,6 @@ gint inc_account_mail(MainWindow *mainwin, PrefsAccount *account) new_msgs = inc_account_mail_real(mainwin, account); - inc_update_stats(new_msgs); inc_finished(mainwin, new_msgs > 0, FALSE); main_window_unlock(mainwin); inc_autocheck_timer_set(); @@ -334,7 +323,6 @@ void inc_account_list_mail(MainWindow *mainwin, GList *account_list, gboolean au main_window_lock(mainwin); if (!account_list) { - inc_update_stats(new_msgs); inc_finished(mainwin, new_msgs > 0, autocheck); main_window_unlock(mainwin); inc_notify_cmd(new_msgs, notify); @@ -409,7 +397,6 @@ void inc_account_list_mail(MainWindow *mainwin, GList *account_list, gboolean au new_msgs += inc_start(inc_dialog); } - inc_update_stats(new_msgs); inc_finished(mainwin, new_msgs > 0, autocheck); main_window_unlock(mainwin); inc_notify_cmd(new_msgs, notify); @@ -615,7 +602,6 @@ static gint inc_start(IncProgressDialog *inc_dialog) GList *qlist; Pop3Session *pop3_session; IncState inc_state; - gint error_num = 0; gint new_msgs = 0; gchar *msg; gchar *fin_msg; @@ -796,7 +782,6 @@ static gint inc_start(IncProgressDialog *inc_dialog) pop3_write_uidl_list(pop3_session); if (inc_state != INC_SUCCESS && inc_state != INC_CANCEL) { - error_num++; if (inc_dialog->show_dialog) manage_window_focus_in (inc_dialog->dialog->window, diff --git a/src/main.c b/src/main.c @@ -179,8 +179,6 @@ static struct RemoteCmd { gboolean search_recursive; gboolean status; gboolean status_full; - gboolean statistics; - gboolean reset_statistics; GPtrArray *status_folders; GPtrArray *status_full_folders; gboolean send; @@ -196,10 +194,6 @@ static struct RemoteCmd { const gchar *import_mbox; } cmd; -SessionStats session_stats; - -static void reset_statistics(void); - static void parse_cmd_opt(int argc, char *argv[]); static gint prohibit_duplicate_launch (int *argc, @@ -645,17 +639,6 @@ static void main_dump_features_list(gboolean show_debug_only) #endif } -static void reset_statistics(void) -{ - /* (re-)initialize session statistics */ - session_stats.received = 0; - session_stats.sent = 0; - session_stats.replied = 0; - session_stats.forwarded = 0; - session_stats.spam = 0; - session_stats.time_started = time(NULL); -} - int main(int argc, char *argv[]) { gchar *userrc; @@ -724,7 +707,6 @@ int main(int argc, char *argv[]) install_basic_sighandlers(); if (cmd.status || cmd.status_full || cmd.search || - cmd.statistics || cmd.reset_statistics || cmd.cancel_receiving || cmd.cancel_sending || cmd.debug) { puts("0 Claws Mail not running."); @@ -735,8 +717,6 @@ int main(int argc, char *argv[]) if (cmd.exit) return 0; - reset_statistics(); - gtk_init(&argc, &argv); gtkut_create_ui_manager(); @@ -1547,10 +1527,6 @@ static void parse_cmd_opt(int argc, char *argv[]) cmd.online_mode = ONLINE_MODE_OFFLINE; } else if (!strcmp(argv[i], "--toggle-debug")) { cmd.debug = TRUE; - } else if (!strcmp(argv[i], "--statistics")) { - cmd.statistics = TRUE; - } else if (!strcmp(argv[i], "--reset-statistics")) { - cmd.reset_statistics = TRUE; } else if (!strcmp(argv[i], "--help") || !strcmp(argv[i], "-h")) { gchar *base = g_path_get_basename(argv[0]); @@ -1584,8 +1560,6 @@ static void parse_cmd_opt(int argc, char *argv[]) g_print("%s\n", _(" --status [folder]... show the total number of messages")); g_print("%s\n", _(" --status-full [folder]...\n" " show the status of each folder")); - g_print("%s\n", _(" --statistics show session statistics")); - g_print("%s\n", _(" --reset-statistics reset session statistics")); g_print("%s\n", _(" --select folder[/msg] jump to the specified folder/message\n" " folder is a folder id like 'folder/subfolder', a file:// uri or an absolute path")); g_print("%s\n", _(" --import-mbox file import the specified mbox file\n")); @@ -2031,20 +2005,6 @@ static gint prohibit_duplicate_launch(int *argc, char ***argv) } } else if (cmd.exit) { CM_FD_WRITE_ALL("exit\n"); - } else if (cmd.statistics) { - gchar buf[BUFSIZ]; - CM_FD_WRITE("statistics\n"); - for (;;) { - fd_gets(sock, buf, sizeof(buf) - 1); - buf[sizeof(buf) - 1] = '\0'; - if (!STRNCMP(buf, ".\n")) break; - if (claws_fputs(buf, stdout) == EOF) { - g_warning("writing to stdout failed"); - break; - } - } - } else if (cmd.reset_statistics) { - CM_FD_WRITE("reset_statistics\n"); } else if (cmd.target) { gchar *str = g_strdup_printf("select %s\n", cmd.target); CM_FD_WRITE_ALL(str); @@ -2243,66 +2203,6 @@ static void lock_socket_input_cb(gpointer data, CM_FD_WRITE_ALL(".\n"); g_free(status); if (folders) g_ptr_array_free(folders, TRUE); - } else if (!STRNCMP(buf, "statistics")) { - gchar tmp[BUFSIZ]; - - g_snprintf(tmp, sizeof(tmp), _("Session statistics\n")); - CM_FD_WRITE_ALL(tmp); - - if (prefs_common.date_format) { - struct tm *lt; - gint len = 100; - gchar date[len]; - - lt = localtime(&session_stats.time_started); - fast_strftime(date, len, prefs_common.date_format, lt); - g_snprintf(tmp, sizeof(tmp), _("Started: %s\n"), - lt ? date : ctime(&session_stats.time_started)); - } else - g_snprintf(tmp, sizeof(tmp), _("Started: %s\n"), - ctime(&session_stats.time_started)); - CM_FD_WRITE_ALL(tmp); - - CM_FD_WRITE_ALL("\n"); - - g_snprintf(tmp, sizeof(tmp), _("Incoming traffic\n")); - CM_FD_WRITE_ALL(tmp); - - g_snprintf(tmp, sizeof(tmp), _("Received messages: %d\n"), - session_stats.received); - CM_FD_WRITE_ALL(tmp); - - if (session_stats.spam > 0) { - g_snprintf(tmp, sizeof(tmp), _("Spam messages: %d\n"), - session_stats.spam); - CM_FD_WRITE_ALL(tmp); - } - - CM_FD_WRITE_ALL("\n"); - - g_snprintf(tmp, sizeof(tmp), _("Outgoing traffic\n")); - CM_FD_WRITE_ALL(tmp); - - g_snprintf(tmp, sizeof(tmp), _("New/redirected messages: %d\n"), - session_stats.sent); - CM_FD_WRITE_ALL(tmp); - - g_snprintf(tmp, sizeof(tmp), _("Replied messages: %d\n"), - session_stats.replied); - CM_FD_WRITE_ALL(tmp); - - g_snprintf(tmp, sizeof(tmp), _("Forwarded messages: %d\n"), - session_stats.forwarded); - CM_FD_WRITE_ALL(tmp); - - g_snprintf(tmp, sizeof(tmp), _("Total outgoing messages: %d\n"), - (session_stats.sent + session_stats.replied + - session_stats.forwarded)); - CM_FD_WRITE_ALL(tmp); - - CM_FD_WRITE_ALL(".\n"); - } else if (!STRNCMP(buf, "reset_statistics")) { - reset_statistics(); } else if (!STRNCMP(buf, "select ")) { const gchar *target = buf+7; mainwindow_jump_to(target, TRUE); diff --git a/src/main.h b/src/main.h @@ -27,18 +27,6 @@ extern gchar *prog_version; extern gboolean debug_mode; -typedef struct _SessionStats SessionStats; - -struct _SessionStats -{ - gint received; - gint spam; - gint sent; - gint replied; - gint forwarded; - time_t time_started; -}; - void app_will_exit (GtkWidget *widget, gpointer data); gboolean clean_quit (gpointer data); gboolean claws_is_exiting(void); diff --git a/src/prefs_other.c b/src/prefs_other.c @@ -745,6 +745,5 @@ void prefs_other_done(void) void prefs_change_primary_passphrase(GtkButton *button, gpointer data) { - /* Call the passphrase change dialog */ primary_passphrase_change_dialog(); } diff --git a/src/procmsg.c b/src/procmsg.c @@ -53,8 +53,6 @@ #include "privacy.h" #include "file-utils.h" -extern SessionStats session_stats; - static gint procmsg_send_message_queue_full(const gchar *file, gboolean keep_session, gchar **errstr, FolderItem *queue, gint msgnum, gboolean *queued_removed); static void procmsg_update_unread_children (MsgInfo *info, @@ -1761,17 +1759,6 @@ send_mail: claws_fclose(fp); - /* update session statistics */ - if (mailval == 0 && newsval == 0) { - /* update session stats */ - if (replymessageid) - session_stats.replied++; - else if (fwdmessageid) - session_stats.forwarded++; - else - session_stats.sent++; - } - /* save message to outbox */ if (mailval == 0 && newsval == 0 && savecopyfolder) { debug_print("saving sent message to %s...\n", savecopyfolder);