diff -X exclude -Nur psi_cvs-2004.10.02/psi/src/common.h psi/psi/src/common.h --- psi_cvs-2004.10.02/psi/src/common.h Wed Aug 18 03:35:36 2004 +++ psi/psi/src/common.h Fri Oct 8 00:23:58 2004 @@ -103,6 +103,7 @@ int asAway, asXa, asOffline; bool use_asAway, use_asXa, use_asOffline; + bool use_asMessage; QString asMessage; QString onevent[10]; diff -X exclude -Nur psi_cvs-2004.10.02/psi/src/options/opt_status-ui.ui psi/psi/src/options/opt_status-ui.ui --- psi_cvs-2004.10.02/psi/src/options/opt_status-ui.ui Sun Jul 18 14:02:36 2004 +++ psi/psi/src/options/opt_status-ui.ui Fri Oct 8 01:36:30 2004 @@ -151,9 +151,9 @@ - + - TextLabel1_8 + ck_asMessage Auto Status Message: @@ -312,6 +312,12 @@ ck_asOffline toggled(bool) lb_asOffline + setEnabled(bool) + + + ck_asMessage + toggled(bool) + te_asMessage setEnabled(bool) diff -X exclude -Nur psi_cvs-2004.10.02/psi/src/options/opt_status.cpp psi/psi/src/options/opt_status.cpp --- psi_cvs-2004.10.02/psi/src/options/opt_status.cpp Sun Jul 18 12:47:34 2004 +++ psi/psi/src/options/opt_status.cpp Fri Oct 8 01:35:22 2004 @@ -97,6 +97,7 @@ opt->use_asAway = d->ck_asAway->isChecked(); opt->use_asXa = d->ck_asXa->isChecked(); opt->use_asOffline = d->ck_asOffline->isChecked(); + opt->use_asMessage = d->ck_asMessage->isChecked(); opt->asMessage = d->te_asMessage->text(); opt->sp = o->sp; @@ -127,6 +128,8 @@ d->ck_asAway->setChecked( opt->use_asAway ); d->ck_asXa->setChecked( opt->use_asXa ); d->ck_asOffline->setChecked( opt->use_asOffline ); + d->ck_asMessage->setChecked( opt->use_asMessage ); + d->te_asMessage->setEnabled( opt->use_asMessage ); d->te_asMessage->setText( opt->asMessage ); o->sp = opt->sp; diff -X exclude -Nur psi_cvs-2004.10.02/psi/src/psi_profiles.cpp psi/psi/src/psi_profiles.cpp --- psi_cvs-2004.10.02/psi/src/psi_profiles.cpp Sun Sep 5 23:04:02 2004 +++ psi/psi/src/psi_profiles.cpp Fri Oct 8 00:31:16 2004 @@ -384,6 +384,7 @@ prefs.use_asAway = TRUE; prefs.use_asXa = TRUE; prefs.use_asOffline = FALSE; + prefs.use_asMessage = TRUE; prefs.asMessage = QObject::tr("Auto Status (idle)"); prefs.scrollTo = TRUE; prefs.useEmoticons = false; @@ -836,7 +837,9 @@ setBoolAttribute(e, "use", prefs.use_asOffline); tag.appendChild(e); - tag.appendChild(textTag(doc, "message", prefs.asMessage)); + e = textTag(doc, "message", prefs.asMessage); + setBoolAttribute(e, "use", prefs.use_asMessage); + tag.appendChild(e); } { p_pres.appendChild(prefs.sp.toXml(doc, "statuspresets")); @@ -1335,6 +1338,13 @@ readBoolAttribute(e, "use", &prefs.use_asOffline); else prefs.use_asOffline = TRUE; + } + e = findSubTag(tag, "message", &found); + if(found) { + if(e.hasAttribute("use")) + readBoolAttribute(e, "use", &prefs.use_asMessage); + else + prefs.use_asMessage = TRUE; } readNumEntry(tag, "away", &prefs.asAway); diff -X exclude -Nur psi_cvs-2004.10.02/psi/src/psiaccount.cpp psi/psi/src/psiaccount.cpp --- psi_cvs-2004.10.02/psi/src/psiaccount.cpp Wed Aug 18 03:35:36 2004 +++ psi/psi/src/psiaccount.cpp Fri Oct 8 00:54:34 2004 @@ -1748,7 +1748,7 @@ } else if(option.use_asXa && option.asXa > 0 && minutes >= option.asXa) { if(ls.show() != "xa" && lastStatus.show() != "xa") { - lastStatus = Status("xa", option.asMessage, d->acc.priority); + lastStatus = Status("xa", (option.use_asMessage)? option.asMessage : status().status(), d->acc.priority); if(!usingAutoStatus) d->origStatus = d->loginStatus; setStatusDirect(lastStatus); @@ -1757,7 +1757,7 @@ } else if(option.use_asAway && option.asAway > 0 && minutes >= option.asAway) { if(ls.show() != "away" && lastStatus.show() != "away") { - lastStatus = Status("away", option.asMessage, d->acc.priority); + lastStatus = Status("away", (option.use_asMessage)? option.asMessage : status().status(), d->acc.priority); if(!usingAutoStatus) d->origStatus = d->loginStatus; setStatusDirect(lastStatus);