summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pttbbs/include/uflags.h2
-rw-r--r--pttbbs/mbbsd/angel.c11
-rw-r--r--pttbbs/mbbsd/mail.c1
-rw-r--r--pttbbs/mbbsd/talk.c10
-rw-r--r--pttbbs/mbbsd/user.c6
5 files changed, 18 insertions, 12 deletions
diff --git a/pttbbs/include/uflags.h b/pttbbs/include/uflags.h
index 532138c0..ea747418 100644
--- a/pttbbs/include/uflags.h
+++ b/pttbbs/include/uflags.h
@@ -24,7 +24,7 @@
// #define UF_MODMARK_??? 0x00004000 // reserved
// #define UF_MODMARK_??? 0x00008000 // reserved
#define UF_DEFBACKUP 0x00010000 // true if user defaults to backup
-// #define UF_??? 0x00020000 // reserved
+#define UF_NEW_ANGEL_PAGER 0x00020000 // true if user (angel) wants the new pager
#define UF_REJ_OUTTAMAIL 0x00040000 // true if don't accept outside mails
// #define UF_??? 0x00080000 // reserved
#define UF_FOREIGN 0x00100000 // true if a foreign
diff --git a/pttbbs/mbbsd/angel.c b/pttbbs/mbbsd/angel.c
index eb00f43e..e5049202 100644
--- a/pttbbs/mbbsd/angel.c
+++ b/pttbbs/mbbsd/angel.c
@@ -68,11 +68,19 @@ angel_notify_activity() {
void
angel_toggle_pause()
{
- // TODO record angels that don't do their job
if (!HasUserPerm(PERM_ANGEL) || !currutmp)
return;
currutmp->angelpause ++;
currutmp->angelpause %= ANGELPAUSE_MODES;
+ if (cuser.uflag & UF_NEW_ANGEL_PAGER) {
+ // pmore_QuickRawModePref-like conf
+ currutmp->angelpause = vs_quick_pref(
+ currutmp->angelpause % ANGELPAUSE_MODES,
+ "設定小天使神諭呼叫器",
+ "請選取神諭呼叫器的新狀態: ",
+ "開放\t停收\t關閉",
+ NULL);
+ }
}
void
@@ -452,7 +460,6 @@ int a_angelreport() {
// some people with known min/max signature may leak their own
// identify and then complain about privacy. well, I believe this
// is their own fault but anyway let's make them happy
- // TODO avg+std is better?
double base1 = rpt.min_masters_of_online_angels,
base2 = rpt.min_masters_of_active_angels;
if (!base1) base1 = 1;
diff --git a/pttbbs/mbbsd/mail.c b/pttbbs/mbbsd/mail.c
index 54ed9488..8a2224a6 100644
--- a/pttbbs/mbbsd/mail.c
+++ b/pttbbs/mbbsd/mail.c
@@ -1430,6 +1430,7 @@ doforward(const char *direct, const fileheader_t * fh, int mode)
unlink(fname);
return -1;
}
+ // TODO append article reference, if available.
Copy(tmp_buf, fname);
} else
return -1;
diff --git a/pttbbs/mbbsd/talk.c b/pttbbs/mbbsd/talk.c
index c711952a..667cd2fa 100644
--- a/pttbbs/mbbsd/talk.c
+++ b/pttbbs/mbbsd/talk.c
@@ -2625,15 +2625,7 @@ userlist(void)
#ifdef PLAY_ANGEL
case Ctrl('P'):
if (HasBasicUserPerm(PERM_ANGEL) && currutmp) {
- /*
- static const char *msgs[ANGELPAUSE_MODES] = {
- " 接受所有小主人發問 [●] ",
- " 只接受已發問的小主人的問題 [△] ",
- " 停止接受所有小主人的問題 [X] ",
- };
- */
- angel_toggle_pause();
- // vmsg(msgs[currutmp->angelpause]);
+ angel_toggle_pause();
redrawall = redraw = 1;
}
break;
diff --git a/pttbbs/mbbsd/user.c b/pttbbs/mbbsd/user.c
index 9ed96935..dc2c5db2 100644
--- a/pttbbs/mbbsd/user.c
+++ b/pttbbs/mbbsd/user.c
@@ -447,6 +447,9 @@ void Customize(void)
UF_DBCS_DROP_REPEAT,
UF_DBCS_NOINTRESC,
#endif
+#ifdef PLAY_ANGEL
+ UF_NEW_ANGEL_PAGER,
+#endif
0,
};
@@ -464,6 +467,9 @@ void Customize(void)
"DBCS 忽略連線程式為雙位元字集送出的重複按鍵",
"DBCS 禁止在雙位元中使用色碼(去除一字雙色)",
#endif
+#ifdef PLAY_ANGEL
+ "ANGEL (小天使限定)使用新的神諭呼叫器設定界面",
+#endif
0,
};