Fixed reflow and R/O problems

This commit is contained in:
Alexander S. Aganichev 2002-11-13 16:51:47 +00:00
parent 95c782fd71
commit 1dc43b9738
5 changed files with 22 additions and 3 deletions

View File

@ -12,6 +12,12 @@ ______________________________________________________________________
Notes for GoldED+ 1.1.5, /snapshot/ Notes for GoldED+ 1.1.5, /snapshot/
______________________________________________________________________ ______________________________________________________________________
- Fixed some problems with readonly areas: it is now not possible to
change messages in R/O areas, it is possible to set group of areas
to R/O using ATTRIBUTES keyword in Random System Group.
- Fixed small reflow bug in message viewer.
- Fixed recently introduced bug with replying on gated messages in - Fixed recently introduced bug with replying on gated messages in
echo and following change of destination name. There's still some echo and following change of destination name. There's still some
work to be done in this field. work to be done in this field.

View File

@ -344,6 +344,8 @@ void CmfMsgs(GMsg* msg) {
AL.SetActiveAreaId(destarea); AL.SetActiveAreaId(destarea);
Area* AAdest = AA; Area* AAdest = AA;
AA->RandomizeData();
// Is it readonly? // Is it readonly?
if(AA->attr().r_o()) { if(AA->attr().r_o()) {
GMenuReadonly MenuReadonly; GMenuReadonly MenuReadonly;

View File

@ -433,10 +433,10 @@ inline bool issoftcr(char c) {
inline char *spanspaces(const char *str) { inline char *spanspaces(const char *str) {
if(CFG->switches.get(dispsoftcr)) if(CFG->switches.get(dispsoftcr))
while(isspace(*str)) while(isspace(*str) and (*str != CR))
str++; str++;
else else
while(isspace(*str) or (*str == SOFTCR)) while((isspace(*str) and (*str != CR)) or (*str == SOFTCR))
str++; str++;
return (char *)str; return (char *)str;
} }

View File

@ -421,11 +421,15 @@ void Area::RandomizeData(int mode) {
} }
std::vector<MailList>::iterator z; std::vector<MailList>::iterator z;
for(z = CFG->mailinglist.begin(); z != CFG->mailinglist.end(); z++) for(z = CFG->mailinglist.begin(); z != CFG->mailinglist.end(); z++) {
if(strieql(echoid(), z->echoid)) { if(strieql(echoid(), z->echoid)) {
strcpy(adat->whoto, *z->contribution ? z->contribution : z->sender); strcpy(adat->whoto, *z->contribution ? z->contribution : z->sender);
break; break;
} }
}
if(adat->attributes.r_o())
area->attr().r_o1();
} }

View File

@ -865,6 +865,13 @@ void ChangeMsg() {
if(AA->Msgn.Count()) { if(AA->Msgn.Count()) {
if(AA->attr().r_o()) {
GMenuReadonly MenuReadonly;
reader_keyok = not MenuReadonly.Run();
if(reader_keyok)
return;
}
reader_keyok = YES; reader_keyok = YES;
if(AA->attr().hex()) { if(AA->attr().hex()) {