4 * Loading, saving, alteration and setting of preferences
6 * © 1994-1998 Straylight
9 /*----- Licensing note ----------------------------------------------------*
11 * This file is part of Straylight's Glass.
13 * Glass is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2, or (at your option)
18 * Glass is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
23 * You should have received a copy of the GNU General Public License
24 * along with Glass. If not, write to the Free Software Foundation,
25 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
31 /*----- Required headers --------------------------------------------------*/
37 /*----- Structure definitions ---------------------------------------------*/
72 gPrefs_autoUnits aUnit; /* Autosave time unit */
73 int aTime; /* Timed autosave */ int aAlts; /* Alteration-driven autosave */
74 BOOL aPrompt; /* Prompt on autosave */
76 BOOL iDispBorders; /* Display Interface borders */
77 BOOL iSlabIcons; /* Slab icons on click */
78 BOOL iIncBorder; /* Include interface borders in drags */
79 BOOL iSlabMenu; /* Slab buttons on menu click */
81 BOOL wDispBorders; /* Display WimpExtension borders */
82 BOOL wKeyPress; /* Slab icons on click */
83 BOOL wIncBorder; /* Include WimpExtension borders in drags */
85 BOOL sDispBorders; /* Display Skulpted borders */
86 BOOL sSlabIcons; /* Slab icons on click */
87 BOOL sIncBorder; /* Include Skulpted borders in drags */
88 BOOL sSlabMenu; /* Slab buttons on menu click */
90 BOOL sLoadSpr; /* Load Sprites file */
91 BOOL sLoadPSpr; /* Load !Sprites file */
92 BOOL sLoadDef; /* Load default Glass file */
94 gPrefs_iconSize fIcons; /* Template file viewer icon size */
95 gPrefs_sortType fSort; /* Template file viewer sort system */
97 BOOL gDisp; /* Grid display */
98 BOOL gLock; /* Grid lock */
99 int gWidth; /* Grid width */
100 int gHeight; /* Grid height */
101 BOOL gLines; /* Draw grid lines (rather than points) */
102 int gGridCol; /* Grid colour */
103 int gGdeCol; /* Guide colour */
104 int gGdeSelCol; /* Selected guide colour */
106 BOOL sBorder; /* Draw selection border */
107 BOOL sDotted; /* Selection border dotted line */
108 int sBColour; /* Border colour */
109 BOOL sEdgeHandles; /* Include edge drag handles */
110 int sHandSize; /* Handle size */
111 int sHColour; /* Handle colour */
112 int sSColour; /* Special handle colour */
114 BOOL cQuit; /* Confirm quit with unsaved files */
115 BOOL cClose; /* Confirm close unsaved file */
116 BOOL cDelWind; /* Confirm delete window */
117 BOOL cDelIcon; /* Confirm delete icon */
118 BOOL cTest; /* Confirm closing edits on test mode */
119 BOOL cSave; /* Confirm overwriting files */
121 BOOL tDisplay; /* Display the toolbar */
122 BOOL tFloating; /* Free-floating toolbar */
123 gPrefs_coords tPosn; /* Toolbar position on screen */
124 BOOL tLeft; /* Is the tool bar on the left of window */
126 BOOL iDisplay; /* Display the infobar */
127 BOOL iFloating; /* Free-floating infobar */
128 gPrefs_coords iPosn; /* Infobar position on screen */
129 BOOL iUnder; /* Is the info bar under the window */
131 BOOL mDrawHatch; /* Draw a hatch pattern in windows */
132 BOOL mBlink; /* Blink the cursor */
133 BOOL mVisInWork; /* Keep visiable area in work area */
134 BOOL mCreateTop; /* Create icons on top */
135 BOOL mDeleteRenum; /* Keep icon numbers on delete */
136 BOOL mCtrlEdit; /* Require control key on edit */
140 /*----- External routines -------------------------------------------------*/
143 * void gPrefs_init(void)
146 * Reads preferences file and initialises things accordingly
149 void gPrefs_init(void);
152 * gPrefs_prefs *gPrefs_current(void)
155 * Returns the current preferences settings.
158 * A pointer to the structure as defined above.
161 gPrefs_prefs *gPrefs_current(void);
164 * int gPrefs_autoTiming(void)
167 * Returns the current autosave time in centiseconds, or 0 for no timed
171 int gPrefs_autoTiming(void);
174 * void gPrefs_edit(void)
177 * Opens the preferences dialogue box to allow editing of preferences.
180 void gPrefs_edit(void);