Bug 72823 Implement Select Flagged Messages r+sr=bienvenu

git-svn-id: svn://10.0.0.236/trunk@167725 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
neil%parkwaycc.co.uk
2005-01-14 13:03:17 +00:00
parent 4fe5a8794d
commit 94594f1cf5
4 changed files with 25 additions and 3 deletions

View File

@@ -227,6 +227,7 @@ var DefaultController =
case "cmd_close":
case "cmd_selectAll":
case "cmd_selectThread":
case "cmd_selectFlagged":
return true;
case "cmd_downloadFlagged":
case "cmd_downloadSelected":
@@ -370,6 +371,7 @@ var DefaultController =
case "cmd_search":
return IsCanSearchMessagesEnabled();
case "cmd_selectAll":
case "cmd_selectFlagged":
return gDBView != null;
// these are enabled on when we are in threaded mode
case "cmd_selectThread":
@@ -688,6 +690,9 @@ var DefaultController =
case "cmd_selectThread":
gDBView.doCommand(nsMsgViewCommandType.selectThread);
break;
case "cmd_selectFlagged":
gDBView.doCommand(nsMsgViewCommandType.selectFlagged);
break;
}
},

View File

@@ -1160,6 +1160,9 @@
accesskey="&selectThreadCmd.accesskey;"
key="key_selectThread"
observes="cmd_selectThread"/>
<menuitem label="&selectFlaggedCmd.label;"
accesskey="&selectFlaggedCmd.accesskey;"
command="cmd_selectFlagged"/>
</menupopup>
</menu>
<menuseparator/>

View File

@@ -127,6 +127,8 @@
<!ENTITY selectThreadCmd.label "Thread">
<!ENTITY selectThreadCmd.accesskey "T">
<!ENTITY selectThreadCmd.key "a">
<!ENTITY selectFlaggedCmd.label "Flagged Messages">
<!ENTITY selectFlaggedCmd.accesskey "F">
<!ENTITY selectInvertCmd.label ".Invert Selection">
<!ENTITY selectInvertCmd.accesskey "I">
<!ENTITY filtersCmd.label "Message Filters...">

View File

@@ -2085,9 +2085,21 @@ NS_IMETHODIMP nsMsgDBView::DoCommand(nsMsgViewCommandTypeValue command)
rv = ExpandAndSelectThread();
break;
case nsMsgViewCommandType::selectFlagged:
#ifdef DEBUG_seth
printf("clear current selection, and then select all flagged messages, we may have to expand all first to look for them\n");
#endif
if (!mTreeSelection)
rv = NS_ERROR_UNEXPECTED;
else
{
mTreeSelection->SetSelectEventsSuppressed(PR_TRUE);
mTreeSelection->ClearSelection();
// XXX ExpandAll?
nsMsgViewIndex numIndices = GetSize();
for (nsMsgViewIndex curIndex = 0; curIndex < numIndices; curIndex++)
{
if (m_flags.GetAt(curIndex) & MSG_FLAG_MARKED)
mTreeSelection->ToggleSelect(curIndex);
}
mTreeSelection->SetSelectEventsSuppressed(PR_FALSE);
}
break;
case nsMsgViewCommandType::markAllRead:
if (m_folder)