Fossil SCM
Add styling hook and usability improvements to background color picker.
Commit
1159585bdba82d81da38cdcc9561e67d09d0d617
Parent
7d1d9953171d144…
1 file changed
+13
-10
+13
-10
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -1892,54 +1892,57 @@ | ||
| 1892 | 1892 | }; |
| 1893 | 1893 | int nColor = sizeof(aColor)/sizeof(aColor[0])-1; |
| 1894 | 1894 | int stdClrFound = 0; |
| 1895 | 1895 | int i; |
| 1896 | 1896 | |
| 1897 | - @ <table border="0" cellpadding="0" cellspacing="1"> | |
| 1898 | 1897 | if( zIdPropagate ){ |
| 1899 | - @ <tr><td colspan="6" align="left"><label> | |
| 1898 | + @ <div><label> | |
| 1900 | 1899 | if( fPropagate ){ |
| 1901 | 1900 | @ <input type="checkbox" name="%s(zIdPropagate)" checked="checked" /> |
| 1902 | 1901 | }else{ |
| 1903 | 1902 | @ <input type="checkbox" name="%s(zIdPropagate)" /> |
| 1904 | 1903 | } |
| 1905 | - @ Propagate color to descendants</label></td></tr> | |
| 1904 | + @ Propagate color to descendants</label></div> | |
| 1906 | 1905 | } |
| 1906 | + @ <table border="0" cellpadding="0" cellspacing="1" class="colorpicker"> | |
| 1907 | 1907 | @ <tr> |
| 1908 | 1908 | for(i=0; i<nColor; i++){ |
| 1909 | 1909 | const char *zClr = aColor[i].zColor; |
| 1910 | 1910 | if( zClr==0 ) zClr = aColor[i].zCName; |
| 1911 | 1911 | if( zClr[0] ){ |
| 1912 | 1912 | @ <td style="background-color: %h(zClr);"> |
| 1913 | 1913 | }else{ |
| 1914 | 1914 | @ <td> |
| 1915 | 1915 | } |
| 1916 | + @ <label> | |
| 1916 | 1917 | if( fossil_strcmp(zDefaultColor, zClr)==0 ){ |
| 1917 | 1918 | @ <input type="radio" name="%s(zId)" value="%h(zClr)" |
| 1918 | 1919 | @ checked="checked" /> |
| 1919 | 1920 | stdClrFound=1; |
| 1920 | 1921 | }else{ |
| 1921 | 1922 | @ <input type="radio" name="%s(zId)" value="%h(zClr)" /> |
| 1922 | 1923 | } |
| 1923 | - @ %h(aColor[i].zCName)</td> | |
| 1924 | + @ %h(aColor[i].zCName)</label></td> | |
| 1924 | 1925 | if( (i%8)==7 && i+1<nColor ){ |
| 1925 | 1926 | @ </tr><tr> |
| 1926 | 1927 | } |
| 1927 | 1928 | } |
| 1928 | 1929 | @ </tr><tr> |
| 1929 | 1930 | if( stdClrFound ){ |
| 1930 | - @ <td colspan="6"> | |
| 1931 | - @ <input type="radio" name="%s(zId)" value="%h(aColor[nColor].zColor)" /> | |
| 1931 | + @ <td colspan="6"><label> | |
| 1932 | + @ <input type="radio" name="%s(zId)" value="%h(aColor[nColor].zColor)" | |
| 1933 | + @ onclick="gebi('%s(zIdCustom)').select();" /> | |
| 1932 | 1934 | }else{ |
| 1933 | - @ <td style="background-color: %h(zDefaultColor);" colspan="6"> | |
| 1935 | + @ <td style="background-color: %h(zDefaultColor);" colspan="6"><label> | |
| 1934 | 1936 | @ <input type="radio" name="%s(zId)" value="%h(aColor[nColor].zColor)" |
| 1935 | - @ checked="checked" /> | |
| 1937 | + @ checked="checked" onclick="gebi('%s(zIdCustom)').select();" /> | |
| 1936 | 1938 | } |
| 1937 | - @ %h(aColor[i].zCName) | |
| 1939 | + @ %h(aColor[i].zCName)</label> | |
| 1938 | 1940 | @ <input type="text" name="%s(zIdCustom)" |
| 1939 | 1941 | @ id="%s(zIdCustom)" class="checkinUserColor" |
| 1940 | - @ value="%h(stdClrFound?"":zDefaultColor)" /> | |
| 1942 | + @ value="%h(stdClrFound?"":zDefaultColor)" | |
| 1943 | + @ onfocus="this.form.elements['%s(zId)'][%d(nColor)].checked = true;" /> | |
| 1941 | 1944 | @ </td> |
| 1942 | 1945 | @ </tr> |
| 1943 | 1946 | @ </table> |
| 1944 | 1947 | } |
| 1945 | 1948 | |
| 1946 | 1949 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -1892,54 +1892,57 @@ | |
| 1892 | }; |
| 1893 | int nColor = sizeof(aColor)/sizeof(aColor[0])-1; |
| 1894 | int stdClrFound = 0; |
| 1895 | int i; |
| 1896 | |
| 1897 | @ <table border="0" cellpadding="0" cellspacing="1"> |
| 1898 | if( zIdPropagate ){ |
| 1899 | @ <tr><td colspan="6" align="left"><label> |
| 1900 | if( fPropagate ){ |
| 1901 | @ <input type="checkbox" name="%s(zIdPropagate)" checked="checked" /> |
| 1902 | }else{ |
| 1903 | @ <input type="checkbox" name="%s(zIdPropagate)" /> |
| 1904 | } |
| 1905 | @ Propagate color to descendants</label></td></tr> |
| 1906 | } |
| 1907 | @ <tr> |
| 1908 | for(i=0; i<nColor; i++){ |
| 1909 | const char *zClr = aColor[i].zColor; |
| 1910 | if( zClr==0 ) zClr = aColor[i].zCName; |
| 1911 | if( zClr[0] ){ |
| 1912 | @ <td style="background-color: %h(zClr);"> |
| 1913 | }else{ |
| 1914 | @ <td> |
| 1915 | } |
| 1916 | if( fossil_strcmp(zDefaultColor, zClr)==0 ){ |
| 1917 | @ <input type="radio" name="%s(zId)" value="%h(zClr)" |
| 1918 | @ checked="checked" /> |
| 1919 | stdClrFound=1; |
| 1920 | }else{ |
| 1921 | @ <input type="radio" name="%s(zId)" value="%h(zClr)" /> |
| 1922 | } |
| 1923 | @ %h(aColor[i].zCName)</td> |
| 1924 | if( (i%8)==7 && i+1<nColor ){ |
| 1925 | @ </tr><tr> |
| 1926 | } |
| 1927 | } |
| 1928 | @ </tr><tr> |
| 1929 | if( stdClrFound ){ |
| 1930 | @ <td colspan="6"> |
| 1931 | @ <input type="radio" name="%s(zId)" value="%h(aColor[nColor].zColor)" /> |
| 1932 | }else{ |
| 1933 | @ <td style="background-color: %h(zDefaultColor);" colspan="6"> |
| 1934 | @ <input type="radio" name="%s(zId)" value="%h(aColor[nColor].zColor)" |
| 1935 | @ checked="checked" /> |
| 1936 | } |
| 1937 | @ %h(aColor[i].zCName) |
| 1938 | @ <input type="text" name="%s(zIdCustom)" |
| 1939 | @ id="%s(zIdCustom)" class="checkinUserColor" |
| 1940 | @ value="%h(stdClrFound?"":zDefaultColor)" /> |
| 1941 | @ </td> |
| 1942 | @ </tr> |
| 1943 | @ </table> |
| 1944 | } |
| 1945 | |
| 1946 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -1892,54 +1892,57 @@ | |
| 1892 | }; |
| 1893 | int nColor = sizeof(aColor)/sizeof(aColor[0])-1; |
| 1894 | int stdClrFound = 0; |
| 1895 | int i; |
| 1896 | |
| 1897 | if( zIdPropagate ){ |
| 1898 | @ <div><label> |
| 1899 | if( fPropagate ){ |
| 1900 | @ <input type="checkbox" name="%s(zIdPropagate)" checked="checked" /> |
| 1901 | }else{ |
| 1902 | @ <input type="checkbox" name="%s(zIdPropagate)" /> |
| 1903 | } |
| 1904 | @ Propagate color to descendants</label></div> |
| 1905 | } |
| 1906 | @ <table border="0" cellpadding="0" cellspacing="1" class="colorpicker"> |
| 1907 | @ <tr> |
| 1908 | for(i=0; i<nColor; i++){ |
| 1909 | const char *zClr = aColor[i].zColor; |
| 1910 | if( zClr==0 ) zClr = aColor[i].zCName; |
| 1911 | if( zClr[0] ){ |
| 1912 | @ <td style="background-color: %h(zClr);"> |
| 1913 | }else{ |
| 1914 | @ <td> |
| 1915 | } |
| 1916 | @ <label> |
| 1917 | if( fossil_strcmp(zDefaultColor, zClr)==0 ){ |
| 1918 | @ <input type="radio" name="%s(zId)" value="%h(zClr)" |
| 1919 | @ checked="checked" /> |
| 1920 | stdClrFound=1; |
| 1921 | }else{ |
| 1922 | @ <input type="radio" name="%s(zId)" value="%h(zClr)" /> |
| 1923 | } |
| 1924 | @ %h(aColor[i].zCName)</label></td> |
| 1925 | if( (i%8)==7 && i+1<nColor ){ |
| 1926 | @ </tr><tr> |
| 1927 | } |
| 1928 | } |
| 1929 | @ </tr><tr> |
| 1930 | if( stdClrFound ){ |
| 1931 | @ <td colspan="6"><label> |
| 1932 | @ <input type="radio" name="%s(zId)" value="%h(aColor[nColor].zColor)" |
| 1933 | @ onclick="gebi('%s(zIdCustom)').select();" /> |
| 1934 | }else{ |
| 1935 | @ <td style="background-color: %h(zDefaultColor);" colspan="6"><label> |
| 1936 | @ <input type="radio" name="%s(zId)" value="%h(aColor[nColor].zColor)" |
| 1937 | @ checked="checked" onclick="gebi('%s(zIdCustom)').select();" /> |
| 1938 | } |
| 1939 | @ %h(aColor[i].zCName)</label> |
| 1940 | @ <input type="text" name="%s(zIdCustom)" |
| 1941 | @ id="%s(zIdCustom)" class="checkinUserColor" |
| 1942 | @ value="%h(stdClrFound?"":zDefaultColor)" |
| 1943 | @ onfocus="this.form.elements['%s(zId)'][%d(nColor)].checked = true;" /> |
| 1944 | @ </td> |
| 1945 | @ </tr> |
| 1946 | @ </table> |
| 1947 | } |
| 1948 | |
| 1949 |