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:
@@ -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;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -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/>
|
||||
|
||||
@@ -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...">
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user