回精華區
作者itoc.bbs@processor.tfcis.org (:MM:) 看板: plan
標題Re: 對smth貼圖機制的研究(一)---概述
時間XEON (Sat, 31 May 2003 23:04:37 +0800 (CST)) Updated: 2004/08/27
  依序跳往 看板/精華區/使用者名單

  在看板中按 TAB 切換到精華區
  在精華區中按 TAB 切換到使用者名單
  在使用者名單中按 TAB 切換到看板

  如果加了這個功能
  那麼換 theme-NECK 這版本的 theme.h 會比較直覺一點

: xover.c:xover()

#ifdef  EVERY_Z
    if (cmd == Ctrl('Z'))
    {
      cmd = every_Z(zone);
    }
    else if (cmd == Ctrl('U'))
    {
      cmd = every_U(zone);
    }
+   else if (cmd == KEY_TAB)
+   {
+     static int every_TAB();
+     cmd = every_TAB(zone);
+   }
    else
#endif

: xover.c:every_TAB() 新增於 every_U() 後面

static int
every_TAB(zone)
  int zone;
{
  int cmd;
  char fpath[64];

  /* 已經在 every_Z 中的話就不能跳 */
  if (z_status)
    return XO_NONE;

  /* 依序跳往 看板/精華區/使用者名單 */

  switch (zone)
  {
  case XZ_POST:
    gem_fpath(fpath, currboard, fn_dir);
    if (rec_num(fpath, sizeof(HDR)) > 0)
      cmd = 'z';            /* 呼叫 post_gem() */
    else
      cmd = XZ_ULIST;       /* 若精華區是空的,進使用者名單 */
    break;

  case XZ_GEM:
    cmd = XZ_ULIST;
    break;

  case XZ_ULIST:
    if (xz[XZ_POST - XO_ZONE].xo)       /* 若已選定看板,進入看板,否則不動 */
    {
      cmd = brd_bno(currboard);
      XoPost(cmd);
      cmd = XZ_POST;
    }
    else
    {
      cmd = XO_NONE;
    }
    break;
  }

  return cmd;
}

: mail.c:mbox_cb[]

- KEY_TAB, mbox_sysop,
+ 'i', mbox_sysop,      // 按鍵換成別的

--
    ╭─ Origin ─╗ O processor.tfcis.org  ~ κλμ ─┤
    ├   Author   ╡ itoc.dorm-gd2.nctu.edu.tw                
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻