Fossil SCM

In the check-in property editor, change the bgcolor tag even if the only change is to toggle color propagation on or off. Ticket [fcadf658ed282b3a2].

drh 2010-12-17 21:06 trunk
Commit 2080d5216811e70944365babe56bc4c319d0fbdf
1 file changed +11 -5
+11 -5
--- src/info.c
+++ src/info.c
@@ -1394,11 +1394,12 @@
13941394
const char *zNewTagFlag;
13951395
const char *zNewTag;
13961396
const char *zNewBrFlag;
13971397
const char *zNewBranch;
13981398
const char *zCloseFlag;
1399
- int fPropagateColor;
1399
+ int fPropagateColor; /* True if color propagates before edit */
1400
+ int fNewPropagateColor; /* True if color propagates after edit */
14001401
char *zUuid;
14011402
Blob comment;
14021403
Stmt q;
14031404
14041405
login_check_credentials();
@@ -1424,11 +1425,14 @@
14241425
" FROM event WHERE objid=%d", rid);
14251426
zNewColor = PD("clr",zColor);
14261427
if( strcmp(zNewColor,"##")==0 ){
14271428
zNewColor = P("clrcust");
14281429
}
1429
- fPropagateColor = P("pclr")!=0;
1430
+ fPropagateColor = db_int(0, "SELECT tagtype FROM tagxref"
1431
+ " WHERE rid=%d AND tagid=%d",
1432
+ rid, TAG_BGCOLOR)==2;
1433
+ fNewPropagateColor = P("clr")!=0 ? P("pclr")!=0 : fPropagateColor;
14301434
zNewTagFlag = P("newtag") ? " checked" : "";
14311435
zNewTag = PD("tagname","");
14321436
zNewBrFlag = P("newbr") ? " checked" : "";
14331437
zNewBranch = PD("brname","");
14341438
zCloseFlag = P("close") ? " checked" : "";
@@ -1441,13 +1445,15 @@
14411445
blob_zero(&ctrl);
14421446
zDate = db_text(0, "SELECT datetime('now')");
14431447
zDate[10] = 'T';
14441448
blob_appendf(&ctrl, "D %s\n", zDate);
14451449
db_multi_exec("CREATE TEMP TABLE newtags(tag UNIQUE, prefix, value)");
1446
- if( zNewColor[0] && strcmp(zColor,zNewColor)!=0 ){
1450
+ if( zNewColor[0]
1451
+ && (fPropagateColor!=fNewPropagateColor || strcmp(zColor,zNewColor)!=0)
1452
+ ){
14471453
char *zPrefix = "+";
1448
- if( fPropagateColor ){
1454
+ if( fNewPropagateColor ){
14491455
zPrefix = "*";
14501456
}
14511457
db_multi_exec("REPLACE INTO newtags VALUES('bgcolor',%Q,%Q)",
14521458
zPrefix, zNewColor);
14531459
}
@@ -1588,11 +1594,11 @@
15881594
@ <input type="text" name="dt" size="20" value="%h(zNewDate)" />
15891595
@ </td></tr>
15901596
15911597
@ <tr><td align="right" valign="top"><b>Background Color:</b></td>
15921598
@ <td valign="top">
1593
- render_color_chooser(fPropagateColor, zNewColor, "pclr", "clr", "clrcust");
1599
+ render_color_chooser(fNewPropagateColor, zNewColor, "pclr", "clr", "clrcust");
15941600
@ </td></tr>
15951601
15961602
@ <tr><td align="right" valign="top"><b>Tags:</b></td>
15971603
@ <td valign="top">
15981604
@ <input type="checkbox" name="newtag"%s(zNewTagFlag) />
15991605
--- src/info.c
+++ src/info.c
@@ -1394,11 +1394,12 @@
1394 const char *zNewTagFlag;
1395 const char *zNewTag;
1396 const char *zNewBrFlag;
1397 const char *zNewBranch;
1398 const char *zCloseFlag;
1399 int fPropagateColor;
 
1400 char *zUuid;
1401 Blob comment;
1402 Stmt q;
1403
1404 login_check_credentials();
@@ -1424,11 +1425,14 @@
1424 " FROM event WHERE objid=%d", rid);
1425 zNewColor = PD("clr",zColor);
1426 if( strcmp(zNewColor,"##")==0 ){
1427 zNewColor = P("clrcust");
1428 }
1429 fPropagateColor = P("pclr")!=0;
 
 
 
1430 zNewTagFlag = P("newtag") ? " checked" : "";
1431 zNewTag = PD("tagname","");
1432 zNewBrFlag = P("newbr") ? " checked" : "";
1433 zNewBranch = PD("brname","");
1434 zCloseFlag = P("close") ? " checked" : "";
@@ -1441,13 +1445,15 @@
1441 blob_zero(&ctrl);
1442 zDate = db_text(0, "SELECT datetime('now')");
1443 zDate[10] = 'T';
1444 blob_appendf(&ctrl, "D %s\n", zDate);
1445 db_multi_exec("CREATE TEMP TABLE newtags(tag UNIQUE, prefix, value)");
1446 if( zNewColor[0] && strcmp(zColor,zNewColor)!=0 ){
 
 
1447 char *zPrefix = "+";
1448 if( fPropagateColor ){
1449 zPrefix = "*";
1450 }
1451 db_multi_exec("REPLACE INTO newtags VALUES('bgcolor',%Q,%Q)",
1452 zPrefix, zNewColor);
1453 }
@@ -1588,11 +1594,11 @@
1588 @ <input type="text" name="dt" size="20" value="%h(zNewDate)" />
1589 @ </td></tr>
1590
1591 @ <tr><td align="right" valign="top"><b>Background Color:</b></td>
1592 @ <td valign="top">
1593 render_color_chooser(fPropagateColor, zNewColor, "pclr", "clr", "clrcust");
1594 @ </td></tr>
1595
1596 @ <tr><td align="right" valign="top"><b>Tags:</b></td>
1597 @ <td valign="top">
1598 @ <input type="checkbox" name="newtag"%s(zNewTagFlag) />
1599
--- src/info.c
+++ src/info.c
@@ -1394,11 +1394,12 @@
1394 const char *zNewTagFlag;
1395 const char *zNewTag;
1396 const char *zNewBrFlag;
1397 const char *zNewBranch;
1398 const char *zCloseFlag;
1399 int fPropagateColor; /* True if color propagates before edit */
1400 int fNewPropagateColor; /* True if color propagates after edit */
1401 char *zUuid;
1402 Blob comment;
1403 Stmt q;
1404
1405 login_check_credentials();
@@ -1424,11 +1425,14 @@
1425 " FROM event WHERE objid=%d", rid);
1426 zNewColor = PD("clr",zColor);
1427 if( strcmp(zNewColor,"##")==0 ){
1428 zNewColor = P("clrcust");
1429 }
1430 fPropagateColor = db_int(0, "SELECT tagtype FROM tagxref"
1431 " WHERE rid=%d AND tagid=%d",
1432 rid, TAG_BGCOLOR)==2;
1433 fNewPropagateColor = P("clr")!=0 ? P("pclr")!=0 : fPropagateColor;
1434 zNewTagFlag = P("newtag") ? " checked" : "";
1435 zNewTag = PD("tagname","");
1436 zNewBrFlag = P("newbr") ? " checked" : "";
1437 zNewBranch = PD("brname","");
1438 zCloseFlag = P("close") ? " checked" : "";
@@ -1441,13 +1445,15 @@
1445 blob_zero(&ctrl);
1446 zDate = db_text(0, "SELECT datetime('now')");
1447 zDate[10] = 'T';
1448 blob_appendf(&ctrl, "D %s\n", zDate);
1449 db_multi_exec("CREATE TEMP TABLE newtags(tag UNIQUE, prefix, value)");
1450 if( zNewColor[0]
1451 && (fPropagateColor!=fNewPropagateColor || strcmp(zColor,zNewColor)!=0)
1452 ){
1453 char *zPrefix = "+";
1454 if( fNewPropagateColor ){
1455 zPrefix = "*";
1456 }
1457 db_multi_exec("REPLACE INTO newtags VALUES('bgcolor',%Q,%Q)",
1458 zPrefix, zNewColor);
1459 }
@@ -1588,11 +1594,11 @@
1594 @ <input type="text" name="dt" size="20" value="%h(zNewDate)" />
1595 @ </td></tr>
1596
1597 @ <tr><td align="right" valign="top"><b>Background Color:</b></td>
1598 @ <td valign="top">
1599 render_color_chooser(fNewPropagateColor, zNewColor, "pclr", "clr", "clrcust");
1600 @ </td></tr>
1601
1602 @ <tr><td align="right" valign="top"><b>Tags:</b></td>
1603 @ <td valign="top">
1604 @ <input type="checkbox" name="newtag"%s(zNewTagFlag) />
1605

Keyboard Shortcuts

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