home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / utility / misc / yak.lha / Yak / src / settings.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-18  |  2.2 KB  |  85 lines

  1. /*
  2.  * Variables controlling Yak settings.
  3.  * Routines for initialisation at startup.
  4.  */
  5.  
  6. #include <exec/types.h>
  7. #include "yak.h"
  8. #include "popup.h"
  9.  
  10. #define DEF_POPCOMMAND    "NewShell CON:0/178//78/AmigaShell/CLOSE"
  11. #define DEF_VOLUME    48
  12. #define DEF_BLANKSECS    300
  13.  
  14. LONG    datefmt;        /* used by dateinsert */
  15. LONG    click_volume;        /* used for keyclick */
  16. char    PopCommand[POPLEN];    /* used for PopCLI */
  17. LONG    blanktimeout;
  18. LONG    blanksecs;
  19. LONG    blankcount;        /* countdown to blank-time */
  20. WORD    mblankcount;        /* countdown to mouse-blank-time */
  21.  
  22. BOOL toggles[NUM_TOGGLES];
  23. TOGGLEDATA toggledata[] = {
  24.     "CLICKTOFRONT",    GDX_CTFCheck,    TRUE,
  25.     "CLICKTOBACK",    GDX_CTBCheck,    TRUE,
  26.     "AUTOPOINT",    GDX_AutoCheck,    TRUE,
  27.     "KEYACTIVATE",    GDX_KeyActCheck,FALSE,
  28.     "SCREENCYCLE",    GDX_ScrCycleCheck,TRUE,
  29.     "DAY",        GDX_DayCheck,    TRUE,
  30.     "DATE",        GDX_DateCheck,    TRUE,
  31.     "TIME",        GDX_TimeCheck,    FALSE,
  32.     "MOUSEBLANK",    GDX_MBlankCheck,TRUE
  33. };
  34.  
  35. struct HotKeyData hk[NUM_HOTKEYS] = {
  36.     { HK_POPKEY,    NULL, "CX_POPKEY",    "",    "RCommand help" },
  37.     { HK_CLOSEKEY,    NULL, "CLOSEWINDOW",    "",    "control esc" },
  38.     { HK_ZIPKEY,    NULL, "ZIPWINDOW",    "",    "control z" },
  39.     { HK_SHRINKKEY,    NULL, "MAKESMALL",    "",    "lcommand [" },
  40.     { HK_ZOOMKEY,    NULL, "MAKEBIG",    "",    "lcommand ]" },
  41.     { HK_WORKBENCH,    NULL, "WORKBENCH",    "",    "lcommand w" },
  42.     { HK_POPPALKEY,    NULL, "PALETTE",    "",    "lcommand p" },
  43.     { HK_POPCLI,    NULL, "POPCOMMKEY",    "",    "lcommand esc" },
  44.     { HK_INSDATE,    NULL, "INSERTDATE",    "",    "lcommand d" }
  45. };
  46.  
  47. static void
  48. InitToggles(char **ttypes)
  49. {
  50.     UWORD    i;
  51.  
  52.     for (i = 0; i < NUM_TOGGLES; i++)
  53.         toggles[i] = ArgBool(ttypes, toggledata[i].tooltype, toggledata[i].defval);
  54. }
  55.  
  56. static BOOL
  57. InitHotKeys(char **ttypes)
  58. {
  59.     char    *keystr;
  60.     UWORD    i;
  61.  
  62.     for (i = 0; i < NUM_HOTKEYS; i++)
  63.     {
  64.         keystr = ArgString(ttypes, hk[i].ttype, hk[i].defkey);
  65.         if (!AddHotKey(keystr, i))
  66.             return FALSE;
  67.     }
  68.     return TRUE;
  69. }
  70.  
  71. BOOL
  72. InitSettings(char **ttypes)
  73. {
  74.     strcpy(PopCommand, ArgString(ttypes, "POPCLICOMMAND", DEF_POPCOMMAND));
  75.     click_volume = ArgInt(ttypes, "VOLUME", DEF_VOLUME);
  76.     datefmt = ArgInt(ttypes, "DATEFORMAT", 0);
  77.  
  78.     blanksecs = ArgInt(ttypes, "SCRTIMEOUT", DEF_BLANKSECS);
  79.     blankcount = blanktimeout = 10*blanksecs;
  80.     mblankcount = mblanktimeout;
  81.  
  82.     InitToggles(ttypes);
  83.     return InitHotKeys(ttypes);
  84. }
  85.