回精華區
作者qazq.bbs@bbs.cs.nchu.edu.tw (ξ愛情御守ξ) 看板: plan
標題[功能] 整行光棒(0)-xover.c
時間中興資科 (Mon, 14 Jul 2003 16:11:55 +0800 (CST)) Update: 2003/12/11
: src/include/config.h

#define CURSOR_BAR              /* itoc.010113: 選單光棒 */

+ #define HAVE_LIGHTBAR         /* xover 整行光棒 */

: src/include/modes.h

#define XO_QUIT         (XO_MODE + 8)
+ #define XO_ITEM       (XO_MODE + 9)

: src/include/ufo.h

#define UFO_SHOWSIGN    BFLAG(17)       /* itoc.000319: 存檔前顯示簽名檔 */

- #define UFO_NOUSE18   BFLAG(18)
+ #define UFO_LIGHTBAR  BFLAG(18)       /* 整行光棒 */

  ...
  ...

#define NUMUFOS_GUEST   5       /* guest 可以用前 5 個 ufo */
- #define NUMUFOS_USER  19      /* 一般使用者 可以用前 19 個 ufo */
+ #define NUMUFOS_USER  20      /* 一般使用者 可以用前 20 個 ufo */

- #define STR_UFO         "-mpsnemPBQFANbwtSH------CAH"
+ #define STR_UFO         "-mpsnemPBQFANbwtSHL-----CAH"

  ...
  ...

  "顯示簽名檔      (顯示/不看)",        /* UFO_SHOWSIGN */

+#ifdef HAVE_LIGHTBAR
+ "整行光棒        (光棒/普通)",        /* UFO_LIGHTBAR */
+#else
  "保留",
+#endif

: src/maple/xover.c:xover()    作者: verit.bbs@bbs.yzu.edu.tw

        else
        {
          move(3 + cmd - num, 0);
+#ifdef HAVE_LIGHTBAR
+         /* verit.030129 : xover 光棒 */
+         if (cuser.ufo & UFO_LIGHTBAR && xcmd[0].key == XO_ITEM)
+         {
+           int tmp = xo->pos;
+           clrtoeol();
+           xo->pos = cmd - num + xo->top;
+           (*(xcmd[0].func)) (xo, 0);
+           xo->pos = tmp;
+         }
+         else
+#endif
            outc(' ');

          break;                /* 只移動游標 */
        }

  ...
  ...

    if (xo->max > 0)            /* Thor:若是無東西就不show了 */
    {
      num = 3 + pos - xo->top;

      move(num, 0);
+#ifdef HAVE_LIGHTBAR
+     /* verit.20030129 : xover 光棒 */
+     if (cuser.ufo & UFO_LIGHTBAR && xcmd[0].key == XO_ITEM)
+     {
+       clrtoeol();
+       (*(xcmd[0].func)) (xo, 1);
+     }
+     else
+#endif
         outc('>');
    }

  ...
  ...

          if (cmd < 0)      /* 在本頁找到 match */
          {
            move(num, 0);
+#ifdef HAVE_LIGHTBAR
+           /* verit.030129 : xover 光棒 */
+           if (cuser.ufo & UFO_LIGHTBAR && xcmd[0].key == XO_ITEM)
+           {
+              int tmp = xo->pos;
+              clrtoeol();
+              xo->pos = num + xo->top - 3;
+              (*(xcmd[0].func)) (xo, 0);
+              xo->pos = tmp;
+           }
+           else
+#endif
              outc(' ');

            /* itoc.010913: 某些搜尋要把 b_lines 填上 feeter */
            cmd = (cmd == -1) ? XO_NONE : XO_FOOT;
          }

------------------------------

  接下來就要改各個 xo_zone 中的 xxxx_item_bar()

  而格式也許和貴站有所不同,請依 xxxx_item() 而自行修改

--
| Origin |  中興資科 中興資科 e資獨秀  bbs.cs.nchu.edu.tw 
| Author | 61-216-136-210.HINET-IP.hinet.net
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻