@@ -19,10 +19,17 @@
19 19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
20 20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#include "config.h"
21 21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#include <assert.h>
22 22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#include "skins.h"
23 23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** SETTING: default-skin width=16
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** If the text value if this setting is the name of a built-in skin
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** then the named skin becomes the default skin for the repository.
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
24 31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
25 32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** An array of available built-in skins.
26 33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
27 34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** To add new built-in skins:
28 35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -76,11 +83,28 @@
76 83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
77 84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Used by skin_use_alternative() to store the current skin rank skin
78 85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** so that the /skins page can, if warranted, warn the user that skin
79 86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** changes won't have any effect.
80 87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static int nSkinRank = 5;
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int nSkinRank = 6;
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** How the specific skin being used was chosen
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #if INTERFACE
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SKIN_FROM_DRAFT 0 /* The "draftN" prefix on the PATH_INFO */
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SKIN_FROM_CMDLINE 1 /* --skin option to server command-line */
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SKIN_FROM_CGI 2 /* skin: parameter in CGI script */
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SKIN_FROM_QPARAM 3 /* skin= query parameter */
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SKIN_FROM_COOKIE 4 /* skin= from fossil_display_settings cookie*/
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SKIN_FROM_SETTING 5 /* Built-in named by "default-skin" setting */
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SKIN_FROM_CUSTOM 6 /* Skin values in CONFIG table */
101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SKIN_FROM_DEFAULT 7 /* The built-in named "default" */
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SKIN_FROM_UNKNOWN 8 /* Do not yet know which skin to use */
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif /* INTERFACE */
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int iSkinSource = SKIN_FROM_UNKNOWN;
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
82 106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
83 107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
84 108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Skin details are a set of key/value pairs that define display
85 109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** attributes of the skin that cannot be easily specified using CSS
86 110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** or that need to be known on the server-side.
@@ -125,40 +149,50 @@
125 149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** former gets initialized before both URL parameters and the /draft
126 150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** path determination).
127 151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
128 152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The rankings were initially defined in
129 153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** https://fossil-scm.org/forum/forumpost/caf8c9a8bb
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** and are:
154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** but where subsequently revised:
131 155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** 0) A skin name matching the glob draft[1-9] trumps everything else.
156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 0) A skin name matching the glob pattern "draft[1-9]" at the start of
157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** the PATH_INFO.
133 158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** 1) The --skin flag or skin: CGI config setting.
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 1) The --skin flag for commands like "fossil ui", "fossil server", or
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** "fossil http", or the "skin:" CGI config setting.
135 161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
136 162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** 2) The "skin" display setting cookie or URL argument, in that
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** order. If the "skin" URL argument is provided and refers to a legal
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** skin then that will update the display cookie. If the skin name is
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** illegal it is silently ignored.
163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** order. If the "skin" URL argument is provided and refers to a legal
164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** skin then that will update the display cookie. If the skin name is
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** illegal it is silently ignored.
166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 3) The built-in skin identfied by the "default-skin" setting, if such
168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** a setting exists and matches one of the built-in skin names.
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 4) Skin properties (settings "css", "details", "footer", "header",
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** and "js") from the CONFIG db table
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 5) The built-in skin named "default"
140 174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** 3) Skin properties from the CONFIG db table
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** 4) Default skin.
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** The iSource integer privides additional detail about where the skin
144 176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
145 177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** As a special case, a NULL or empty name resets zAltSkinDir and
146 178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** pAltSkin to 0 to indicate that the current config-side skin should
147 179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** be used (rank 3, above), then returns 0.
148 180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *skin_use_alternative(const char *zName, int rank){
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *skin_use_alternative(const char *zName, int rank, int iSource){
150 182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
151 183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob err = BLOB_INITIALIZER;
152 184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(rank > nSkinRank) return 0;
153 185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nSkinRank = rank;
154 186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zName && 1==rank && strchr(zName, '/')!=0 ){
155 187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zAltSkinDir = fossil_strdup(zName);
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ iSkinSource = iSource;
156 189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
157 190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
158 191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zName && sqlite3_strglob("draft[1-9]", zName)==0 ){
159 192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
skin_use_draft(zName[5] - '0');
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ iSkinSource = iSource;
160 194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
161 195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
162 196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(!zName || !*zName){
163 197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pAltSkin = 0;
164 198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zAltSkinDir = 0;
@@ -165,10 +199,11 @@
165 199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
166 200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
167 201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=0; i<count(aBuiltinSkin); i++){
168 202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( fossil_strcmp(aBuiltinSkin[i].zLabel, zName)==0 ){
169 203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pAltSkin = &aBuiltinSkin[i];
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ iSkinSource = iSource;
170 205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
171 206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
172 207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
173 208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&err, "available skins: %s", aBuiltinSkin[0].zLabel);
174 209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=1; i<count(aBuiltinSkin); i++){
@@ -179,24 +214,28 @@
179 214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
180 215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
181 216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
182 217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Look for the --skin command-line option and process it. Or
183 218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** call fossil_fatal() if an unknown skin is specified.
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** This routine is called during command-line parsing for commands
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** like "fossil ui" and "fossil http".
184 222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
185 223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void skin_override(void){
186 224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zSkin = find_option("skin",0,1);
187 225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zSkin ){
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zErr = skin_use_alternative(zSkin, 1);
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zErr = skin_use_alternative(zSkin, 1, SKIN_FROM_CMDLINE);
189 227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zErr ) fossil_fatal("%s", zErr);
190 228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
191 229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
192 230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
193 231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
194 232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Use one of the draft skins.
195 233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
196 234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void skin_use_draft(int i){
197 235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
iDraftSkin = i;
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ iSkinSource = SKIN_FROM_DRAFT;
198 237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
199 238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
200 239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
201 240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The following routines return the various components of the skin
202 241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** that should be used for the current run.
@@ -219,10 +258,24 @@
219 258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_read_from_file(&x, z, ExtFILE);
220 259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_free(z);
221 260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return blob_str(&x);
222 261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
223 262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_free(z);
263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( iSkinSource==SKIN_FROM_UNKNOWN ){
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zDflt = db_get("default-skin", 0);
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ iSkinSource = SKIN_FROM_DEFAULT;
267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zDflt!=0 ){
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int i;
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<count(aBuiltinSkin); i++){
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fossil_strcmp(aBuiltinSkin[i].zLabel, zDflt)==0 ){
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pAltSkin = &aBuiltinSkin[i];
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ iSkinSource = SKIN_FROM_SETTING;
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
224 277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
225 278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pAltSkin ){
226 279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z = mprintf("skins/%s/%s.txt", pAltSkin->zLabel, zWhat);
227 280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zOut = builtin_text(z);
228 281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_free(z);
@@ -230,10 +283,12 @@
230 283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zOut = db_get(zWhat, 0);
231 284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zOut==0 ){
232 285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z = mprintf("skins/default/%s.txt", zWhat);
233 286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zOut = builtin_text(z);
234 287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_free(z);
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ iSkinSource = SKIN_FROM_CUSTOM;
235 290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
236 291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
237 292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return zOut;
238 293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
239 294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -1216,24 +1271,25 @@
1216 1271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <p class="warning">Warning:
1217 1272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( iDraftSkin>0 ){
1218 1273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ you are using a draft skin,
1219 1274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1220 1275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ this fossil instance was started with a hard-coded skin
1221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ value,
1276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ value
1222 1277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ which trumps any option selected below. A skin selected
1224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ below will be recorded in your preference cookie
1278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ which supercedes any option selected below. A skin selected
1279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ below will be recorded in your
1280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ "%z(href("%R/fdscookie"))fossil_display_settings</a>" cookie
1225 1281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ but will not be used so long as the site has a
1226 1282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ higher-priority skin in place.
1227 1283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ </p>
1228 1284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1229 1285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <p>The following skins are available for this repository:</p>
1230 1286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <ul>
1231 1287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pAltSkin==0 && zAltSkinDir==0 && iDraftSkin==0 ){
1232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <li> Standard skin for this repository ← <i>Currently in use</i>
1288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ <li> Custom skin for this repository ← <i>Currently in use</i>
1233 1289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <li> %z(href("%R/skins?skin="))Standard skin for this repository</a>
1290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ <li> %z(href("%R/skins?skin="))Custom skin for this repository</a>
1235 1291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1236 1292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=0; i<count(aBuiltinSkin); i++){
1237 1293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pAltSkin==&aBuiltinSkin[i] ){
1238 1294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <li> %h(aBuiltinSkin[i].zDesc) ← <i>Currently in use</i>
1239 1295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
@@ -1240,8 +1296,32 @@
1240 1296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zUrl = href("%R/skins?skin=%T", aBuiltinSkin[i].zLabel);
1241 1297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <li> %z(zUrl)%h(aBuiltinSkin[i].zDesc)</a>
1242 1298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1243 1299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1244 1300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ </ul>
1301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( iSkinSource<SKIN_FROM_CUSTOM ){
1302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ <p>The current skin is selected by
1303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch( iSkinSource ){
1304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case SKIN_FROM_DRAFT:
1305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ the "debugN" prefix on the PATH_INFO portion of the URL.
1306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
1307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case SKIN_FROM_CMDLINE:
1308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ the "--skin" command-line option on the Fossil server.
1309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
1310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case SKIN_FROM_CGI:
1311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ the "skin:" property in the CGI script that runs the Fossil server.
1312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
1313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case SKIN_FROM_QPARAM:
1314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ the "skin=NAME" query parameter on the URL.
1315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
1316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case SKIN_FROM_COOKIE:
1317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ the "skin" property in the
1318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ "%z(href("%R/fdscookie"))fossil_display_settings</a>" cookie.
1319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
1320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case SKIN_FROM_SETTING:
1321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ the "default-skin" setting on the repository.
1322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
1323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1245 1325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_finish_page();
1246 1326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_free(zBase);
1247 1327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1248 1328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!