[Commits] [SCM] claws branch, quota-info, updated. 4.3.1-52-g1865efb95

miras at claws-mail.org miras at claws-mail.org
Mon Mar 10 18:27:03 UTC 2025


The branch, quota-info has been updated
       via  1865efb95544ab7bf35b671f548743b8df4ef3d2 (commit)
       via  a2b5f1f17cef0b69254c0a990da33476db05dc37 (commit)
       via  c034ce1095039fcf204a804e31d67384229c992e (commit)
       via  1b8275f0bfef1f408c80b79dcc9a838b9f34c2c5 (commit)
       via  775969a2280ad57011b67d69fea4ce9c4204871a (commit)
      from  b100711aa7c129489c474c0caea824e76478e4ab (commit)

Summary of changes:
 configure.ac          |  5 +++--
 src/imap.c            | 16 ++-------------
 src/msgcache.c        | 24 ++++++++++++++++------
 src/quote_fmt_parse.y |  1 +
 src/summaryview.c     | 57 ++++++++++++++++++++++++++++++++++++++++++++++++---
 5 files changed, 78 insertions(+), 25 deletions(-)


- Log -----------------------------------------------------------------
commit 1865efb95544ab7bf35b671f548743b8df4ef3d2
Merge: a2b5f1f17 c034ce109
Author: Michael Rasmussen <mir at datanom.net>
Date:   Mon Mar 10 19:19:38 2025 +0100

    Merge branch 'master' into quota-info


commit a2b5f1f17cef0b69254c0a990da33476db05dc37
Author: Michael Rasmussen <mir at datanom.net>
Date:   Mon Mar 10 19:18:26 2025 +0100

    Add quota to summaryview
    
    Signed-off-by: Michael Rasmussen <mir at datanom.net>

diff --git a/src/imap.c b/src/imap.c
index 8b0f650e3..2ae494bdf 100644
--- a/src/imap.c
+++ b/src/imap.c
@@ -3857,7 +3857,6 @@ gint imap_folder_quotaroot(Folder *folder, uint32_t *usage, uint32_t *limit)
 	clistiter *cur_res;
 	int result;
 
-	debug_set_mode(TRUE);
 	session = imap_session_get(FOLDER(folder));
 
 	if (!imap_has_quota_extension(FOLDER(folder))) {
@@ -3884,7 +3883,6 @@ gint imap_folder_quotaroot(Folder *folder, uint32_t *usage, uint32_t *limit)
 		}
 	}
 	mailimap_quota_complete_data_free(quota_data);
-	debug_set_mode(false);
 	return MAILIMAP_NO_ERROR;
 }
 
@@ -4238,18 +4236,8 @@ static gint imap_status(IMAPSession *session, IMAPFolder *folder,
 
 	if (got_values != mask) {
 		g_warning("status: incomplete values received (%d)", got_values);
-	} else {
-	    uint32_t size;
-	    uint32_t limit;
-	    debug_set_mode(TRUE);
-	    int err = imap_folder_quotaroot(FOLDER(folder), &size, &limit);
-	    if (MAILIMAP_NO_ERROR == err) {
-		    g_printf("%s: Used size: %u Quota: %u\n", FOLDER(folder)->name, size, limit);
-	    } else {
-		    g_print("Error getting quota status\n");
-	    }
-	    debug_set_mode(FALSE);
-    }
+	}
+
 	return MAILIMAP_NO_ERROR;
 }
 
diff --git a/src/summaryview.c b/src/summaryview.c
index e0d80cddd..b32adee9e 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -2645,7 +2645,12 @@ static void summary_status_show(SummaryView *summaryview)
 	MsgInfo *msginfo;
 	gchar *name;
 	gchar *tooltip;
-	
+//	uint32_t size = 0;
+//    uint32_t limit = 0;
+	guint size = 0;
+    guint limit = 0;
+    gint has_quota = 1;
+
 	if (!summaryview->folder_item) {
 		gtk_label_set_text(GTK_LABEL(summaryview->statlabel_folder), "");
 		gtk_label_set_text(GTK_LABEL(summaryview->statlabel_select), "");
@@ -2745,6 +2750,13 @@ static void summary_status_show(SummaryView *summaryview)
 		sel = g_strdup("");
 		itstr = g_strdup("");
 	}
+
+    Folder* folder = summaryview->folder_item->folder;
+    int err = imap_folder_quotaroot(FOLDER(folder), &size, &limit);
+    if (err > 0) {
+        has_quota = 0;
+        debug_print("%s: Error getting quota status\n", FOLDER(folder)->name);
+    }
 		
 	if (prefs_common.layout_mode != SMALL_LAYOUT) {
 		str = g_strconcat(n_selected ? itos(n_selected) : "",
@@ -2758,15 +2770,54 @@ static void summary_status_show(SummaryView *summaryview)
 		gtk_label_set_text(GTK_LABEL(summaryview->statlabel_select), str);
 		g_free(str);
 
+        if (has_quota) {
+		str = g_strdup_printf(_("%d new, %d unread, %d total (%s) [used: %.2f%%]"),
+				n_new, n_unread, n_total,
+				to_human_readable((goffset)n_size),
+				((size*100)/limit)*1.0);
+	} else {
 		str = g_strdup_printf(_("%d new, %d unread, %d total (%s)"),
-					      n_new, n_unread, n_total,
-					      to_human_readable((goffset)n_size));
+				n_new, n_unread, n_total,
+				to_human_readable((goffset)n_size));
+	}
 
 	g_signal_connect(G_OBJECT(summaryview->popupmenu), "selection-done",
 			G_CALLBACK(popup_menu_selection_done), summaryview);
 
 		gtk_label_set_text(GTK_LABEL(summaryview->statlabel_msgs), str);
 		g_free(str);
+
+/*
+    //Why does this cause 'Segmentation fault'?!!!!!
+
+		tooltip = g_strdup_printf("<b>%s</b>\n"
+					"<b>%s</b> %d\n"
+					"<b>%s</b> %d\n"
+					"<b>%s</b> %d\n"
+					"<b>%s</b> %s\n\n"
+					"<b>%s</b> %d\n"
+					"<b>%s</b> %d\n"
+					"<b>%s</b> %d\n"
+					"<b>%s</b> %d\n"
+					"<b>%s</b> %d\n"
+					"<b>%s</b> %d\n",
+					"<b>%s</b> %lu\n",
+					"<b>%s</b> %lu",
+					_("Message summary"),
+					_("New:"), n_new,
+					_("Unread:"), n_unread,
+					_("Total:"), n_total,
+					_("Size:"), to_human_readable((goffset)n_size),
+					_("Marked:"), n_marked,
+					_("Replied:"), n_replied,
+					_("Forwarded:"), n_forwarded,
+					_("Locked:"), n_locked,
+					_("Ignored:"), n_ignored,
+					_("Watched:"), n_watched,
+                    _("Size:"), size,
+                    _("Limit:"), limit);
+*/
+
 		tooltip = g_strdup_printf("<b>%s</b>\n"
 					"<b>%s</b> %d\n"
 					"<b>%s</b> %d\n"

-----------------------------------------------------------------------


hooks/post-receive
-- 
Claws Mail


More information about the Commits mailing list