зеркало из https://github.com/mozilla/pjs.git
Add Priority and Size to thread pane.
This commit is contained in:
Родитель
c0d9a034a2
Коммит
71108ddc1c
|
@ -46,6 +46,9 @@ nsIRDFResource* nsMsgMessageDataSource::kNC_Sender= nsnull;
|
||||||
nsIRDFResource* nsMsgMessageDataSource::kNC_Date= nsnull;
|
nsIRDFResource* nsMsgMessageDataSource::kNC_Date= nsnull;
|
||||||
nsIRDFResource* nsMsgMessageDataSource::kNC_Status= nsnull;
|
nsIRDFResource* nsMsgMessageDataSource::kNC_Status= nsnull;
|
||||||
nsIRDFResource* nsMsgMessageDataSource::kNC_Flagged= nsnull;
|
nsIRDFResource* nsMsgMessageDataSource::kNC_Flagged= nsnull;
|
||||||
|
nsIRDFResource* nsMsgMessageDataSource::kNC_Priority= nsnull;
|
||||||
|
nsIRDFResource* nsMsgMessageDataSource::kNC_Size= nsnull;
|
||||||
|
|
||||||
|
|
||||||
//commands
|
//commands
|
||||||
nsIRDFResource* nsMsgMessageDataSource::kNC_MarkRead= nsnull;
|
nsIRDFResource* nsMsgMessageDataSource::kNC_MarkRead= nsnull;
|
||||||
|
@ -86,6 +89,10 @@ nsMsgMessageDataSource::~nsMsgMessageDataSource (void)
|
||||||
NS_RELEASE2(kNC_Status, refcnt);
|
NS_RELEASE2(kNC_Status, refcnt);
|
||||||
if (kNC_Flagged)
|
if (kNC_Flagged)
|
||||||
NS_RELEASE2(kNC_Flagged, refcnt);
|
NS_RELEASE2(kNC_Flagged, refcnt);
|
||||||
|
if (kNC_Priority)
|
||||||
|
NS_RELEASE2(kNC_Priority, refcnt);
|
||||||
|
if (kNC_Size)
|
||||||
|
NS_RELEASE2(kNC_Size, refcnt);
|
||||||
if (kNC_MarkRead)
|
if (kNC_MarkRead)
|
||||||
NS_RELEASE2(kNC_MarkRead, refcnt);
|
NS_RELEASE2(kNC_MarkRead, refcnt);
|
||||||
if (kNC_MarkUnread)
|
if (kNC_MarkUnread)
|
||||||
|
@ -135,6 +142,8 @@ nsresult nsMsgMessageDataSource::Init()
|
||||||
mRDFService->GetResource(NC_RDF_DATE, &kNC_Date);
|
mRDFService->GetResource(NC_RDF_DATE, &kNC_Date);
|
||||||
mRDFService->GetResource(NC_RDF_STATUS, &kNC_Status);
|
mRDFService->GetResource(NC_RDF_STATUS, &kNC_Status);
|
||||||
mRDFService->GetResource(NC_RDF_FLAGGED, &kNC_Flagged);
|
mRDFService->GetResource(NC_RDF_FLAGGED, &kNC_Flagged);
|
||||||
|
mRDFService->GetResource(NC_RDF_PRIORITY, &kNC_Priority);
|
||||||
|
mRDFService->GetResource(NC_RDF_SIZE, &kNC_Size);
|
||||||
|
|
||||||
mRDFService->GetResource(NC_RDF_MARKREAD, &kNC_MarkRead);
|
mRDFService->GetResource(NC_RDF_MARKREAD, &kNC_MarkRead);
|
||||||
mRDFService->GetResource(NC_RDF_MARKUNREAD, &kNC_MarkUnread);
|
mRDFService->GetResource(NC_RDF_MARKUNREAD, &kNC_MarkUnread);
|
||||||
|
@ -247,7 +256,8 @@ NS_IMETHODIMP nsMsgMessageDataSource::GetTargets(nsIRDFResource* source,
|
||||||
nsCOMPtr<nsIMessage> message(do_QueryInterface(source, &rv));
|
nsCOMPtr<nsIMessage> message(do_QueryInterface(source, &rv));
|
||||||
if (NS_SUCCEEDED(rv)) {
|
if (NS_SUCCEEDED(rv)) {
|
||||||
if((kNC_Subject == property) || (kNC_Date == property) ||
|
if((kNC_Subject == property) || (kNC_Date == property) ||
|
||||||
(kNC_Status == property) || kNC_Flagged == property)
|
(kNC_Status == property) || (kNC_Flagged == property) ||
|
||||||
|
(kNC_Priority == property) || (kNC_Size == property))
|
||||||
{
|
{
|
||||||
nsSingletonEnumerator* cursor =
|
nsSingletonEnumerator* cursor =
|
||||||
new nsSingletonEnumerator(source);
|
new nsSingletonEnumerator(source);
|
||||||
|
@ -359,6 +369,8 @@ nsMsgMessageDataSource::getMessageArcLabelsOut(nsIMessage *folder,
|
||||||
(*arcs)->AppendElement(kNC_Date);
|
(*arcs)->AppendElement(kNC_Date);
|
||||||
(*arcs)->AppendElement(kNC_Status);
|
(*arcs)->AppendElement(kNC_Status);
|
||||||
(*arcs)->AppendElement(kNC_Flagged);
|
(*arcs)->AppendElement(kNC_Flagged);
|
||||||
|
(*arcs)->AppendElement(kNC_Priority);
|
||||||
|
(*arcs)->AppendElement(kNC_Size);
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -500,17 +512,24 @@ nsMsgMessageDataSource::createMessageNode(nsIMessage *message,
|
||||||
nsIRDFResource *property,
|
nsIRDFResource *property,
|
||||||
nsIRDFNode **target)
|
nsIRDFNode **target)
|
||||||
{
|
{
|
||||||
PRBool sort;
|
if (peqCollationSort(kNC_Subject, property))
|
||||||
if (peqCollationSort(kNC_Subject, property, &sort))
|
return createMessageNameNode(message, PR_TRUE, target);
|
||||||
return createMessageNameNode(message, sort, target);
|
else if (kNC_Subject == property)
|
||||||
else if (peqCollationSort(kNC_Sender, property, &sort))
|
return createMessageNameNode(message, PR_FALSE, target);
|
||||||
return createMessageSenderNode(message, sort, target);
|
else if (peqCollationSort(kNC_Sender, property))
|
||||||
|
return createMessageSenderNode(message, PR_TRUE, target);
|
||||||
|
else if (kNC_Sender == property)
|
||||||
|
return createMessageSenderNode(message, PR_FALSE, target);
|
||||||
else if ((kNC_Date == property))
|
else if ((kNC_Date == property))
|
||||||
return createMessageDateNode(message, target);
|
return createMessageDateNode(message, target);
|
||||||
else if ((kNC_Status == property))
|
else if ((kNC_Status == property))
|
||||||
return createMessageStatusNode(message, target);
|
return createMessageStatusNode(message, target);
|
||||||
else if ((kNC_Flagged == property))
|
else if ((kNC_Flagged == property))
|
||||||
return createMessageFlaggedNode(message, target);
|
return createMessageFlaggedNode(message, target);
|
||||||
|
else if ((kNC_Priority == property))
|
||||||
|
return createMessagePriorityNode(message, target);
|
||||||
|
else if ((kNC_Size == property))
|
||||||
|
return createMessageSizeNode(message, target);
|
||||||
else
|
else
|
||||||
return NS_RDF_NO_VALUE;
|
return NS_RDF_NO_VALUE;
|
||||||
}
|
}
|
||||||
|
@ -657,6 +676,79 @@ nsMsgMessageDataSource::createFlaggedStringFromFlag(PRUint32 flags, nsCAutoStrin
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nsresult
|
||||||
|
nsMsgMessageDataSource::createPriorityString(nsMsgPriority priority, nsCAutoString &priorityStr)
|
||||||
|
{
|
||||||
|
nsresult rv = NS_OK;
|
||||||
|
priorityStr = " ";
|
||||||
|
switch (priority)
|
||||||
|
{
|
||||||
|
case nsMsgPriorityNotSet:
|
||||||
|
case nsMsgPriorityNone:
|
||||||
|
priorityStr = " ";
|
||||||
|
break;
|
||||||
|
case nsMsgPriorityLowest:
|
||||||
|
priorityStr = "Lowest";
|
||||||
|
break;
|
||||||
|
case nsMsgPriorityLow:
|
||||||
|
priorityStr = "Low";
|
||||||
|
break;
|
||||||
|
case nsMsgPriorityNormal:
|
||||||
|
priorityStr = "Normal";
|
||||||
|
break;
|
||||||
|
case nsMsgPriorityHigh:
|
||||||
|
priorityStr = "High";
|
||||||
|
break;
|
||||||
|
case nsMsgPriorityHighest:
|
||||||
|
priorityStr = "Highest";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
nsresult
|
||||||
|
nsMsgMessageDataSource::createMessagePriorityNode(nsIMessage *message,
|
||||||
|
nsIRDFNode **target)
|
||||||
|
{
|
||||||
|
nsresult rv;
|
||||||
|
nsCAutoString priorityStr;
|
||||||
|
nsMsgPriority priority;
|
||||||
|
rv = message->GetPriority(&priority);
|
||||||
|
if(NS_FAILED(rv))
|
||||||
|
return rv;
|
||||||
|
rv = createPriorityString(priority, priorityStr);
|
||||||
|
if(NS_FAILED(rv))
|
||||||
|
return rv;
|
||||||
|
nsString uniStr = priorityStr;
|
||||||
|
|
||||||
|
rv = createNode(priorityStr, target);
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
nsresult
|
||||||
|
nsMsgMessageDataSource::createMessageSizeNode(nsIMessage *message,
|
||||||
|
nsIRDFNode **target)
|
||||||
|
{
|
||||||
|
nsresult rv;
|
||||||
|
PRUint32 size;
|
||||||
|
nsString sizeStr="";
|
||||||
|
rv = message->GetMessageSize(&size);
|
||||||
|
if(NS_FAILED(rv))
|
||||||
|
return rv;
|
||||||
|
if(size < 1024)
|
||||||
|
size = 1024;
|
||||||
|
PRUint32 sizeInKB = size/1024;
|
||||||
|
|
||||||
|
char * kbStr = PR_smprintf("%uKB", sizeInKB);
|
||||||
|
if(kbStr)
|
||||||
|
{
|
||||||
|
sizeStr =kbStr;
|
||||||
|
PR_smprintf_free(kbStr);
|
||||||
|
}
|
||||||
|
rv = createNode(sizeStr, target);
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
nsresult
|
nsresult
|
||||||
nsMsgMessageDataSource::DoMarkMessagesRead(nsISupportsArray *messages, PRBool markRead)
|
nsMsgMessageDataSource::DoMarkMessagesRead(nsISupportsArray *messages, PRBool markRead)
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include "nsILocale.h"
|
#include "nsILocale.h"
|
||||||
#include "nsIDateTimeFormat.h"
|
#include "nsIDateTimeFormat.h"
|
||||||
#include "nsCOMPtr.h"
|
#include "nsCOMPtr.h"
|
||||||
|
#include "MailNewsTypes.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The mail message source.
|
* The mail message source.
|
||||||
|
@ -142,6 +143,14 @@ protected:
|
||||||
nsIRDFNode **target);
|
nsIRDFNode **target);
|
||||||
nsresult createFlaggedStringFromFlag(PRUint32 flags, nsCAutoString &statusStr);
|
nsresult createFlaggedStringFromFlag(PRUint32 flags, nsCAutoString &statusStr);
|
||||||
|
|
||||||
|
nsresult createMessagePriorityNode(nsIMessage *message,
|
||||||
|
nsIRDFNode **target);
|
||||||
|
|
||||||
|
nsresult createPriorityString(nsMsgPriority priority, nsCAutoString &priorityStr);
|
||||||
|
|
||||||
|
nsresult createMessageSizeNode(nsIMessage *message,
|
||||||
|
nsIRDFNode **target);
|
||||||
|
|
||||||
nsresult DoMarkMessagesRead(nsISupportsArray *messages, PRBool markRead);
|
nsresult DoMarkMessagesRead(nsISupportsArray *messages, PRBool markRead);
|
||||||
nsresult DoMarkMessagesFlagged(nsISupportsArray *messages, PRBool markFlagged);
|
nsresult DoMarkMessagesFlagged(nsISupportsArray *messages, PRBool markFlagged);
|
||||||
|
|
||||||
|
@ -164,6 +173,8 @@ protected:
|
||||||
static nsIRDFResource* kNC_Date;
|
static nsIRDFResource* kNC_Date;
|
||||||
static nsIRDFResource* kNC_Status;
|
static nsIRDFResource* kNC_Status;
|
||||||
static nsIRDFResource* kNC_Flagged;
|
static nsIRDFResource* kNC_Flagged;
|
||||||
|
static nsIRDFResource* kNC_Priority;
|
||||||
|
static nsIRDFResource* kNC_Size;
|
||||||
|
|
||||||
// commands
|
// commands
|
||||||
static nsIRDFResource* kNC_MarkRead;
|
static nsIRDFResource* kNC_MarkRead;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче