Add MAIL:label attribute

To be used by the user to assign a custom label to an email, see
forum thread [1].
It's supposed to replace the mis-use of MAIL:status which should be left
to show the actual status of an email ("New", "Sent", "Replied", etc.).

[1] https://discuss.haiku-os.org/t/introducing-a-new-indexed-attribute-meta-tag

Change-Id: I76f40beeb2c42ab40efa04db3ee3b1b6f77ec926
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10303
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
Humdinger
2026-02-20 11:45:09 +00:00
committed by Adrien Destugues
parent f75a230847
commit 3570c2e1b2
5 changed files with 17 additions and 1 deletions
+1
View File
@@ -306,6 +306,7 @@ echo "Creating filesystem indices..."
$mkindex -t string MAIL:pending_chain $mkindex -t string MAIL:pending_chain
$mkindex -t string MAIL:priority $mkindex -t string MAIL:priority
$mkindex -t string MAIL:reply $mkindex -t string MAIL:reply
$mkindex -t string MAIL:label
$mkindex -t string MAIL:status $mkindex -t string MAIL:status
$mkindex -t string MAIL:subject $mkindex -t string MAIL:subject
$mkindex -t string MAIL:thread $mkindex -t string MAIL:thread
+1
View File
@@ -15,6 +15,7 @@ struct entry_ref;
// E-Mail attributes // E-Mail attributes
#define B_MAIL_ATTR_NAME "MAIL:name" // indexed string #define B_MAIL_ATTR_NAME "MAIL:name" // indexed string
#define B_MAIL_ATTR_USERLABEL "MAIL:label" // indexed string
#define B_MAIL_ATTR_STATUS "MAIL:status" // indexed string #define B_MAIL_ATTR_STATUS "MAIL:status" // indexed string
#define B_MAIL_ATTR_PRIORITY "MAIL:priority" // indexed string #define B_MAIL_ATTR_PRIORITY "MAIL:priority" // indexed string
#define B_MAIL_ATTR_TO "MAIL:to" // indexed string #define B_MAIL_ATTR_TO "MAIL:to" // indexed string
+2
View File
@@ -48,6 +48,7 @@ typedef enum StandardHeaderEnum
STD_HDR_REPLY, /* Things in the reply-to: field. */ STD_HDR_REPLY, /* Things in the reply-to: field. */
STD_HDR_SUBJECT, /* The Subject: field. */ STD_HDR_SUBJECT, /* The Subject: field. */
STD_HDR_PRIORITY, /* The Priority: and related fields, usually "Normal". */ STD_HDR_PRIORITY, /* The Priority: and related fields, usually "Normal". */
STD_HDR_USERLABEL, /* The user settable Label text attribute. */
STD_HDR_STATUS, /* The BeOS mail Read / New status text attribute. */ STD_HDR_STATUS, /* The BeOS mail Read / New status text attribute. */
STD_HDR_THREAD, /* The subject simplified. */ STD_HDR_THREAD, /* The subject simplified. */
STD_HDR_NAME, /* The From address simplified into a plain name. */ STD_HDR_NAME, /* The From address simplified into a plain name. */
@@ -63,6 +64,7 @@ const char *g_StandardAttributeNames [STD_HDR_MAX] =
B_MAIL_ATTR_REPLY, B_MAIL_ATTR_REPLY,
B_MAIL_ATTR_SUBJECT, B_MAIL_ATTR_SUBJECT,
B_MAIL_ATTR_PRIORITY, B_MAIL_ATTR_PRIORITY,
B_MAIL_ATTR_USERLABEL,
B_MAIL_ATTR_STATUS, B_MAIL_ATTR_STATUS,
B_MAIL_ATTR_THREAD, B_MAIL_ATTR_THREAD,
B_MAIL_ATTR_NAME B_MAIL_ATTR_NAME
+6
View File
@@ -30,6 +30,7 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:name" = "MAIL:cc", "attr:name" = "MAIL:cc",
"attr:name" = "MAIL:from", "attr:name" = "MAIL:from",
"attr:name" = "MAIL:reply", "attr:name" = "MAIL:reply",
"attr:name" = "MAIL:label",
"attr:name" = "MAIL:status", "attr:name" = "MAIL:status",
"attr:name" = "MAIL:priority", "attr:name" = "MAIL:priority",
"attr:name" = "MAIL:when", "attr:name" = "MAIL:when",
@@ -41,6 +42,7 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:public_name" = "Cc", "attr:public_name" = "Cc",
"attr:public_name" = "From", "attr:public_name" = "From",
"attr:public_name" = "Reply to", "attr:public_name" = "Reply to",
"attr:public_name" = "Label",
"attr:public_name" = "Status", "attr:public_name" = "Status",
"attr:public_name" = "Priority", "attr:public_name" = "Priority",
"attr:public_name" = "When", "attr:public_name" = "When",
@@ -54,6 +56,7 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:type" = 'CSTR', "attr:type" = 'CSTR',
"attr:type" = 'CSTR', "attr:type" = 'CSTR',
"attr:type" = 'CSTR', "attr:type" = 'CSTR',
"attr:type" = 'CSTR',
"attr:type" = 'TIME', "attr:type" = 'TIME',
"attr:type" = 'CSTR', "attr:type" = 'CSTR',
"attr:type" = 'CSTR', "attr:type" = 'CSTR',
@@ -76,6 +79,7 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:editable" = false, "attr:editable" = false,
"attr:editable" = true, "attr:editable" = true,
"attr:editable" = true, "attr:editable" = true,
"attr:editable" = true,
"attr:editable" = false, "attr:editable" = false,
"attr:editable" = false, "attr:editable" = false,
"attr:editable" = false, "attr:editable" = false,
@@ -85,6 +89,7 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:width" = 200, "attr:width" = 200,
"attr:width" = 200, "attr:width" = 200,
"attr:width" = 200, "attr:width" = 200,
"attr:width" = 80,
"attr:width" = 50, "attr:width" = 50,
"attr:width" = 40, "attr:width" = 40,
"attr:width" = 150, "attr:width" = 150,
@@ -97,6 +102,7 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:alignment" = 0, "attr:alignment" = 0,
"attr:alignment" = 0, "attr:alignment" = 0,
"attr:alignment" = 1, "attr:alignment" = 1,
"attr:alignment" = 1,
"attr:alignment" = 0, "attr:alignment" = 0,
"attr:alignment" = 0, "attr:alignment" = 0,
"attr:alignment" = 0, "attr:alignment" = 0,
+7 -1
View File
@@ -26,6 +26,7 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:name" = "MAIL:cc", "attr:name" = "MAIL:cc",
"attr:name" = "MAIL:from", "attr:name" = "MAIL:from",
"attr:name" = "MAIL:reply", "attr:name" = "MAIL:reply",
"attr:name" = "MAIL:label",
"attr:name" = "MAIL:status", "attr:name" = "MAIL:status",
"attr:name" = "MAIL:priority", "attr:name" = "MAIL:priority",
"attr:name" = "MAIL:when", "attr:name" = "MAIL:when",
@@ -36,7 +37,8 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:public_name" = "To", "attr:public_name" = "To",
"attr:public_name" = "Cc", "attr:public_name" = "Cc",
"attr:public_name" = "From", "attr:public_name" = "From",
"attr:public_name" = "Reply To", "attr:public_name" = "Reply to",
"attr:public_name" = "Label",
"attr:public_name" = "Status", "attr:public_name" = "Status",
"attr:public_name" = "Priority", "attr:public_name" = "Priority",
"attr:public_name" = "When", "attr:public_name" = "When",
@@ -50,6 +52,7 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:type" = 'CSTR', "attr:type" = 'CSTR',
"attr:type" = 'CSTR', "attr:type" = 'CSTR',
"attr:type" = 'CSTR', "attr:type" = 'CSTR',
"attr:type" = 'CSTR',
"attr:type" = 'TIME', "attr:type" = 'TIME',
"attr:type" = 'CSTR', "attr:type" = 'CSTR',
"attr:type" = 'CSTR', "attr:type" = 'CSTR',
@@ -72,6 +75,7 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:editable" = false, "attr:editable" = false,
"attr:editable" = true, "attr:editable" = true,
"attr:editable" = true, "attr:editable" = true,
"attr:editable" = true,
"attr:editable" = false, "attr:editable" = false,
"attr:editable" = false, "attr:editable" = false,
"attr:editable" = false, "attr:editable" = false,
@@ -81,6 +85,7 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:width" = 200, "attr:width" = 200,
"attr:width" = 200, "attr:width" = 200,
"attr:width" = 200, "attr:width" = 200,
"attr:width" = 80,
"attr:width" = 50, "attr:width" = 50,
"attr:width" = 40, "attr:width" = 40,
"attr:width" = 150, "attr:width" = 150,
@@ -93,6 +98,7 @@ resource(6, "META:ATTR_INFO") message(233) {
"attr:alignment" = 0, "attr:alignment" = 0,
"attr:alignment" = 0, "attr:alignment" = 0,
"attr:alignment" = 1, "attr:alignment" = 1,
"attr:alignment" = 1,
"attr:alignment" = 0, "attr:alignment" = 0,
"attr:alignment" = 0, "attr:alignment" = 0,
"attr:alignment" = 0, "attr:alignment" = 0,