Fossil SCM

Add option to show real branch colors in branch list

baruch 2016-01-24 14:43 trunk
Commit 26fc65f99c035dac7f2f3819d3cdfba4ffc72982
1 file changed +17 -2
+17 -2
--- src/branch.c
+++ src/branch.c
@@ -317,11 +317,12 @@
317317
@ WHERE plink.pid=event.objid
318318
@ AND tagxref.rid=plink.cid
319319
@ AND tagxref.tagid=(SELECT tagid FROM tag WHERE tagname='branch')
320320
@ AND tagtype>0),
321321
@ count(*),
322
-@ (SELECT uuid FROM blob WHERE rid=tagxref.rid)
322
+@ (SELECT uuid FROM blob WHERE rid=tagxref.rid),
323
+@ event.bgcolor
323324
@ FROM tagxref, tag, event
324325
@ WHERE tagxref.tagid=tag.tagid
325326
@ AND tagxref.tagtype>0
326327
@ AND tag.tagname='branch'
327328
@ AND event.objid=tagxref.rid
@@ -338,14 +339,16 @@
338339
** if there are no query parameters.
339340
*/
340341
static void new_brlist_page(void){
341342
Stmt q;
342343
double rNow;
344
+ int show_colors = PB("colors");
343345
login_check_credentials();
344346
if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
345347
style_header("Branches");
346348
style_adunit_config(ADUNIT_RIGHT_OK);
349
+ style_submenu_binary("colors", "Show branch colors", "No branch colors", 0);
347350
login_anonymous_available();
348351
349352
db_prepare(&q, brlistQuery/*works-like:""*/);
350353
rNow = db_double(0.0, "SELECT julianday('now')");
351354
@ <div class="brlist"><table id="branchlisttable">
@@ -361,14 +364,26 @@
361364
double rMtime = db_column_double(&q, 1);
362365
int isClosed = db_column_int(&q, 2);
363366
const char *zMergeTo = db_column_text(&q, 3);
364367
int nCkin = db_column_int(&q, 4);
365368
const char *zLastCkin = db_column_text(&q, 5);
369
+ const char *zBgClr = db_column_text(&q, 6);
366370
char *zAge = human_readable_age(rNow - rMtime);
367371
sqlite3_int64 iMtime = (sqlite3_int64)(rMtime*86400.0);
368372
if( zMergeTo && zMergeTo[0]==0 ) zMergeTo = 0;
369
- @ <tr>
373
+ if( zBgClr == 0 ){
374
+ if( zBranch==0 || strcmp(zBranch,"trunk")==0 ){
375
+ zBgClr = 0;
376
+ }else{
377
+ zBgClr = hash_color(zBranch);
378
+ }
379
+ }
380
+ if( show_colors ){
381
+ @ <tr style="background-color:%s(zBgClr)">
382
+ }else{
383
+ @ <tr>
384
+ }
370385
@ <td>%z(href("%R/timeline?n=100&r=%T",zBranch))%h(zBranch)</a></td>
371386
@ <td data-sortkey="%016llx(-iMtime)">%s(zAge)</td>
372387
@ <td>%d(nCkin)</td>
373388
fossil_free(zAge);
374389
@ <td>%s(isClosed?"closed":"")</td>
375390
--- src/branch.c
+++ src/branch.c
@@ -317,11 +317,12 @@
317 @ WHERE plink.pid=event.objid
318 @ AND tagxref.rid=plink.cid
319 @ AND tagxref.tagid=(SELECT tagid FROM tag WHERE tagname='branch')
320 @ AND tagtype>0),
321 @ count(*),
322 @ (SELECT uuid FROM blob WHERE rid=tagxref.rid)
 
323 @ FROM tagxref, tag, event
324 @ WHERE tagxref.tagid=tag.tagid
325 @ AND tagxref.tagtype>0
326 @ AND tag.tagname='branch'
327 @ AND event.objid=tagxref.rid
@@ -338,14 +339,16 @@
338 ** if there are no query parameters.
339 */
340 static void new_brlist_page(void){
341 Stmt q;
342 double rNow;
 
343 login_check_credentials();
344 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
345 style_header("Branches");
346 style_adunit_config(ADUNIT_RIGHT_OK);
 
347 login_anonymous_available();
348
349 db_prepare(&q, brlistQuery/*works-like:""*/);
350 rNow = db_double(0.0, "SELECT julianday('now')");
351 @ <div class="brlist"><table id="branchlisttable">
@@ -361,14 +364,26 @@
361 double rMtime = db_column_double(&q, 1);
362 int isClosed = db_column_int(&q, 2);
363 const char *zMergeTo = db_column_text(&q, 3);
364 int nCkin = db_column_int(&q, 4);
365 const char *zLastCkin = db_column_text(&q, 5);
 
366 char *zAge = human_readable_age(rNow - rMtime);
367 sqlite3_int64 iMtime = (sqlite3_int64)(rMtime*86400.0);
368 if( zMergeTo && zMergeTo[0]==0 ) zMergeTo = 0;
369 @ <tr>
 
 
 
 
 
 
 
 
 
 
 
370 @ <td>%z(href("%R/timeline?n=100&r=%T",zBranch))%h(zBranch)</a></td>
371 @ <td data-sortkey="%016llx(-iMtime)">%s(zAge)</td>
372 @ <td>%d(nCkin)</td>
373 fossil_free(zAge);
374 @ <td>%s(isClosed?"closed":"")</td>
375
--- src/branch.c
+++ src/branch.c
@@ -317,11 +317,12 @@
317 @ WHERE plink.pid=event.objid
318 @ AND tagxref.rid=plink.cid
319 @ AND tagxref.tagid=(SELECT tagid FROM tag WHERE tagname='branch')
320 @ AND tagtype>0),
321 @ count(*),
322 @ (SELECT uuid FROM blob WHERE rid=tagxref.rid),
323 @ event.bgcolor
324 @ FROM tagxref, tag, event
325 @ WHERE tagxref.tagid=tag.tagid
326 @ AND tagxref.tagtype>0
327 @ AND tag.tagname='branch'
328 @ AND event.objid=tagxref.rid
@@ -338,14 +339,16 @@
339 ** if there are no query parameters.
340 */
341 static void new_brlist_page(void){
342 Stmt q;
343 double rNow;
344 int show_colors = PB("colors");
345 login_check_credentials();
346 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
347 style_header("Branches");
348 style_adunit_config(ADUNIT_RIGHT_OK);
349 style_submenu_binary("colors", "Show branch colors", "No branch colors", 0);
350 login_anonymous_available();
351
352 db_prepare(&q, brlistQuery/*works-like:""*/);
353 rNow = db_double(0.0, "SELECT julianday('now')");
354 @ <div class="brlist"><table id="branchlisttable">
@@ -361,14 +364,26 @@
364 double rMtime = db_column_double(&q, 1);
365 int isClosed = db_column_int(&q, 2);
366 const char *zMergeTo = db_column_text(&q, 3);
367 int nCkin = db_column_int(&q, 4);
368 const char *zLastCkin = db_column_text(&q, 5);
369 const char *zBgClr = db_column_text(&q, 6);
370 char *zAge = human_readable_age(rNow - rMtime);
371 sqlite3_int64 iMtime = (sqlite3_int64)(rMtime*86400.0);
372 if( zMergeTo && zMergeTo[0]==0 ) zMergeTo = 0;
373 if( zBgClr == 0 ){
374 if( zBranch==0 || strcmp(zBranch,"trunk")==0 ){
375 zBgClr = 0;
376 }else{
377 zBgClr = hash_color(zBranch);
378 }
379 }
380 if( show_colors ){
381 @ <tr style="background-color:%s(zBgClr)">
382 }else{
383 @ <tr>
384 }
385 @ <td>%z(href("%R/timeline?n=100&r=%T",zBranch))%h(zBranch)</a></td>
386 @ <td data-sortkey="%016llx(-iMtime)">%s(zAge)</td>
387 @ <td>%d(nCkin)</td>
388 fossil_free(zAge);
389 @ <td>%s(isClosed?"closed":"")</td>
390

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button