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].
Commit
2080d5216811e70944365babe56bc4c319d0fbdf
Parent
aa929c4d1e8e9e9…
1 file changed
+11
-5
+11
-5
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -1394,11 +1394,12 @@ | ||
| 1394 | 1394 | const char *zNewTagFlag; |
| 1395 | 1395 | const char *zNewTag; |
| 1396 | 1396 | const char *zNewBrFlag; |
| 1397 | 1397 | const char *zNewBranch; |
| 1398 | 1398 | const char *zCloseFlag; |
| 1399 | - int fPropagateColor; | |
| 1399 | + int fPropagateColor; /* True if color propagates before edit */ | |
| 1400 | + int fNewPropagateColor; /* True if color propagates after edit */ | |
| 1400 | 1401 | char *zUuid; |
| 1401 | 1402 | Blob comment; |
| 1402 | 1403 | Stmt q; |
| 1403 | 1404 | |
| 1404 | 1405 | login_check_credentials(); |
| @@ -1424,11 +1425,14 @@ | ||
| 1424 | 1425 | " FROM event WHERE objid=%d", rid); |
| 1425 | 1426 | zNewColor = PD("clr",zColor); |
| 1426 | 1427 | if( strcmp(zNewColor,"##")==0 ){ |
| 1427 | 1428 | zNewColor = P("clrcust"); |
| 1428 | 1429 | } |
| 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; | |
| 1430 | 1434 | zNewTagFlag = P("newtag") ? " checked" : ""; |
| 1431 | 1435 | zNewTag = PD("tagname",""); |
| 1432 | 1436 | zNewBrFlag = P("newbr") ? " checked" : ""; |
| 1433 | 1437 | zNewBranch = PD("brname",""); |
| 1434 | 1438 | zCloseFlag = P("close") ? " checked" : ""; |
| @@ -1441,13 +1445,15 @@ | ||
| 1441 | 1445 | blob_zero(&ctrl); |
| 1442 | 1446 | zDate = db_text(0, "SELECT datetime('now')"); |
| 1443 | 1447 | zDate[10] = 'T'; |
| 1444 | 1448 | blob_appendf(&ctrl, "D %s\n", zDate); |
| 1445 | 1449 | 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 | + ){ | |
| 1447 | 1453 | char *zPrefix = "+"; |
| 1448 | - if( fPropagateColor ){ | |
| 1454 | + if( fNewPropagateColor ){ | |
| 1449 | 1455 | zPrefix = "*"; |
| 1450 | 1456 | } |
| 1451 | 1457 | db_multi_exec("REPLACE INTO newtags VALUES('bgcolor',%Q,%Q)", |
| 1452 | 1458 | zPrefix, zNewColor); |
| 1453 | 1459 | } |
| @@ -1588,11 +1594,11 @@ | ||
| 1588 | 1594 | @ <input type="text" name="dt" size="20" value="%h(zNewDate)" /> |
| 1589 | 1595 | @ </td></tr> |
| 1590 | 1596 | |
| 1591 | 1597 | @ <tr><td align="right" valign="top"><b>Background Color:</b></td> |
| 1592 | 1598 | @ <td valign="top"> |
| 1593 | - render_color_chooser(fPropagateColor, zNewColor, "pclr", "clr", "clrcust"); | |
| 1599 | + render_color_chooser(fNewPropagateColor, zNewColor, "pclr", "clr", "clrcust"); | |
| 1594 | 1600 | @ </td></tr> |
| 1595 | 1601 | |
| 1596 | 1602 | @ <tr><td align="right" valign="top"><b>Tags:</b></td> |
| 1597 | 1603 | @ <td valign="top"> |
| 1598 | 1604 | @ <input type="checkbox" name="newtag"%s(zNewTagFlag) /> |
| 1599 | 1605 |
| --- 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 |