Menu Action->Forward will work on marked messages

This commit is contained in:
Ianos Gnatiuc 2005-10-28 16:33:54 +00:00
parent 4b2560e1ad
commit 8a89360fc8
2 changed files with 23 additions and 20 deletions

View File

@ -10,6 +10,8 @@ ______________________________________________________________________
Notes for GoldED+ 1.1.5, /snapshot/ Notes for GoldED+ 1.1.5, /snapshot/
______________________________________________________________________ ______________________________________________________________________
+ Menu Action->Forward will work on marked messages.
+ Improved false quote detection. + Improved false quote detection.
+ New menu item "Toggle sent" added to "Action" menu that will toggle + New menu item "Toggle sent" added to "Action" menu that will toggle

View File

@ -311,6 +311,9 @@ void CmfMsgs(GMsg* msg) {
case MODE_FORWARD: case MODE_FORWARD:
GFTRK("ForwardMsgs"); GFTRK("ForwardMsgs");
pickstr = LNG->ForwardArea; pickstr = LNG->ForwardArea;
markstr = " Forward ";
progstr = " Forwarding ";
statstr = "Forwarding Msg %u of %u to %s";
break; break;
case MODE_UPDATE: case MODE_UPDATE:
GFTRK("ToggleSent"); GFTRK("ToggleSent");
@ -320,14 +323,14 @@ void CmfMsgs(GMsg* msg) {
// Do with current or marked msgs? // Do with current or marked msgs?
int do_mode = MODE_CURRENT; int do_mode = MODE_CURRENT;
if(cmf != MODE_FORWARD) { if (AA->Mark.Count())
if(AA->Mark.Count()) { {
GMenuDomarks MenuDomarks; GMenuDomarks MenuDomarks;
do_mode = MenuDomarks.Run(markstr); do_mode = MenuDomarks.Run(markstr);
if(do_mode == MODE_DONT) { if (do_mode == MODE_DONT)
GFTRK(NULL); {
return; GFTRK(NULL);
} return;
} }
} }
@ -413,22 +416,14 @@ void CmfMsgs(GMsg* msg) {
} }
// Handle a forward // Handle a forward
if(cmf == MODE_FORWARD) { if (cmf == MODE_FORWARD)
{
_use_fwd = orig_adat->usefwd; _use_fwd = orig_adat->usefwd;
if(_use_fwd == ASK) { if (_use_fwd == ASK)
{
GMenuForward MenuForward; GMenuForward MenuForward;
_use_fwd = MenuForward.Run(); _use_fwd = MenuForward.Run();
} }
if(CurrArea != OrigArea)
AA->Open();
MakeMsg(MODE_FORWARD, msg);
if(CurrArea != OrigArea)
AA->Close();
AL.SetActiveAreaId(OrigArea);
throw_free(AA->adat);
AA->adat = orig_adat;
GFTRK(NULL);
return;
} }
// Popup wait window // Popup wait window
@ -501,6 +496,10 @@ void CmfMsgs(GMsg* msg) {
// Switch to destination area // Switch to destination area
AA = AAdest; AA = AAdest;
if (cmf == MODE_FORWARD)
MakeMsg(MODE_FORWARD, msg);
else
{
// Change things in the header to match the destination area // Change things in the header to match the destination area
msg->attr.del0(); // Allows deleted msgs to be undeleted msg->attr.del0(); // Allows deleted msgs to be undeleted
msg->board = AA->board(); msg->board = AA->board();
@ -585,6 +584,8 @@ void CmfMsgs(GMsg* msg) {
msgno = msg->msgno; msgno = msg->msgno;
AA->SaveMsg(GMSG_NEW|GMSG_NOLSTUPD, msg); AA->SaveMsg(GMSG_NEW|GMSG_NOLSTUPD, msg);
} //if (cmf == MODE_FORWARD)
// Switch back to original area // Switch back to original area
AA = AAorig; AA = AAorig;
} }