[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