Fossil SCM

Proof of concept/demo for toggle buttons on individual diff views on the /info diff views, as discussed in [forum:0f751ad9c8].

stephan 2021-03-01 17:35 trunk
Commit cfdd666533bec7e93891982955481f97097788efd6b478ad60d73993f33670d6
--- src/builtin.c
+++ src/builtin.c
@@ -704,10 +704,11 @@
704704
/* This list ordering isn't strictly important. */
705705
{"confirmer", 0, 0},
706706
{"copybutton", 0, "dom\0"},
707707
{"dom", 0, 0},
708708
{"fetch", 0, 0},
709
+ {"info-diff", 0, "dom\0"},
709710
{"numbered-lines", 0, "popupwidget\0copybutton\0"},
710711
{"pikchr", 0, "dom\0"},
711712
{"popupwidget", 0, "dom\0"},
712713
{"storage", 0, 0},
713714
{"tabs", 0, "dom\0"}
714715
--- src/builtin.c
+++ src/builtin.c
@@ -704,10 +704,11 @@
704 /* This list ordering isn't strictly important. */
705 {"confirmer", 0, 0},
706 {"copybutton", 0, "dom\0"},
707 {"dom", 0, 0},
708 {"fetch", 0, 0},
 
709 {"numbered-lines", 0, "popupwidget\0copybutton\0"},
710 {"pikchr", 0, "dom\0"},
711 {"popupwidget", 0, "dom\0"},
712 {"storage", 0, 0},
713 {"tabs", 0, "dom\0"}
714
--- src/builtin.c
+++ src/builtin.c
@@ -704,10 +704,11 @@
704 /* This list ordering isn't strictly important. */
705 {"confirmer", 0, 0},
706 {"copybutton", 0, "dom\0"},
707 {"dom", 0, 0},
708 {"fetch", 0, 0},
709 {"info-diff", 0, "dom\0"},
710 {"numbered-lines", 0, "popupwidget\0copybutton\0"},
711 {"pikchr", 0, "dom\0"},
712 {"popupwidget", 0, "dom\0"},
713 {"storage", 0, 0},
714 {"tabs", 0, "dom\0"}
715
--- src/default.css
+++ src/default.css
@@ -1763,10 +1763,14 @@
17631763
body.chat #chat-drop-details img {
17641764
max-width: 45%;
17651765
max-height: 45%;
17661766
}
17671767
1768
+button.diff-toggle {
1769
+ margin-bottom: 0.5em;
1770
+ font-size: 85%;
1771
+}
17681772
/* Objects in the "desktoponly" class are invisible on mobile */
17691773
@media screen and (max-width: 600px) {
17701774
.desktoponly {
17711775
display: none;
17721776
}
17731777
17741778
ADDED src/fossil.info-diff.js
--- src/default.css
+++ src/default.css
@@ -1763,10 +1763,14 @@
1763 body.chat #chat-drop-details img {
1764 max-width: 45%;
1765 max-height: 45%;
1766 }
1767
 
 
 
 
1768 /* Objects in the "desktoponly" class are invisible on mobile */
1769 @media screen and (max-width: 600px) {
1770 .desktoponly {
1771 display: none;
1772 }
1773
1774 DDED src/fossil.info-diff.js
--- src/default.css
+++ src/default.css
@@ -1763,10 +1763,14 @@
1763 body.chat #chat-drop-details img {
1764 max-width: 45%;
1765 max-height: 45%;
1766 }
1767
1768 button.diff-toggle {
1769 margin-bottom: 0.5em;
1770 font-size: 85%;
1771 }
1772 /* Objects in the "desktoponly" class are invisible on mobile */
1773 @media screen and (max-width: 600px) {
1774 .desktoponly {
1775 display: none;
1776 }
1777
1778 DDED src/fossil.info-diff.js
--- a/src/fossil.info-diff.js
+++ b/src/fossil.info-diff.js
@@ -0,0 +1,6 @@
1
+s unsightly horiz. scrol(D.tr(),'fe!=f.lastWidth ){
2
+ pre.udiff, table.sbsdiffcolscs = diffElem.getClientRects()[0];
3
+ if(cs.height < 150/*arbitrary*/) return;
4
+ const btn = D.addClass(D.button("Toggle diff view"), 'diff-toggle'),
5
+ p = diffElem.parentElement;
6
+ p.insertBefore(btn, diffElem if(cs.height > 700/*arbitrary!*/
--- a/src/fossil.info-diff.js
+++ b/src/fossil.info-diff.js
@@ -0,0 +1,6 @@
 
 
 
 
 
 
--- a/src/fossil.info-diff.js
+++ b/src/fossil.info-diff.js
@@ -0,0 +1,6 @@
1 s unsightly horiz. scrol(D.tr(),'fe!=f.lastWidth ){
2 pre.udiff, table.sbsdiffcolscs = diffElem.getClientRects()[0];
3 if(cs.height < 150/*arbitrary*/) return;
4 const btn = D.addClass(D.button("Toggle diff view"), 'diff-toggle'),
5 p = diffElem.parentElement;
6 p.insertBefore(btn, diffElem if(cs.height > 700/*arbitrary!*/
+1
--- src/info.c
+++ src/info.c
@@ -940,10 +940,11 @@
940940
append_file_change_line(zUuid, zName, zOld, zNew, zOldName,
941941
diffFlags,pRe,mperm);
942942
}
943943
db_finalize(&q3);
944944
append_diff_javascript(diffType==2);
945
+ builtin_fossil_js_bundle_or("info-diff",NULL);
945946
cookie_render();
946947
style_finish_page();
947948
}
948949
949950
/*
950951
--- src/info.c
+++ src/info.c
@@ -940,10 +940,11 @@
940 append_file_change_line(zUuid, zName, zOld, zNew, zOldName,
941 diffFlags,pRe,mperm);
942 }
943 db_finalize(&q3);
944 append_diff_javascript(diffType==2);
 
945 cookie_render();
946 style_finish_page();
947 }
948
949 /*
950
--- src/info.c
+++ src/info.c
@@ -940,10 +940,11 @@
940 append_file_change_line(zUuid, zName, zOld, zNew, zOldName,
941 diffFlags,pRe,mperm);
942 }
943 db_finalize(&q3);
944 append_diff_javascript(diffType==2);
945 builtin_fossil_js_bundle_or("info-diff",NULL);
946 cookie_render();
947 style_finish_page();
948 }
949
950 /*
951
--- src/main.mk
+++ src/main.mk
@@ -225,10 +225,11 @@
225225
$(SRCDIR)/fossil.bootstrap.js \
226226
$(SRCDIR)/fossil.confirmer.js \
227227
$(SRCDIR)/fossil.copybutton.js \
228228
$(SRCDIR)/fossil.dom.js \
229229
$(SRCDIR)/fossil.fetch.js \
230
+ $(SRCDIR)/fossil.info-diff.js \
230231
$(SRCDIR)/fossil.numbered-lines.js \
231232
$(SRCDIR)/fossil.page.fileedit.js \
232233
$(SRCDIR)/fossil.page.forumpost.js \
233234
$(SRCDIR)/fossil.page.pikchrshow.js \
234235
$(SRCDIR)/fossil.page.wikiedit.js \
235236
--- src/main.mk
+++ src/main.mk
@@ -225,10 +225,11 @@
225 $(SRCDIR)/fossil.bootstrap.js \
226 $(SRCDIR)/fossil.confirmer.js \
227 $(SRCDIR)/fossil.copybutton.js \
228 $(SRCDIR)/fossil.dom.js \
229 $(SRCDIR)/fossil.fetch.js \
 
230 $(SRCDIR)/fossil.numbered-lines.js \
231 $(SRCDIR)/fossil.page.fileedit.js \
232 $(SRCDIR)/fossil.page.forumpost.js \
233 $(SRCDIR)/fossil.page.pikchrshow.js \
234 $(SRCDIR)/fossil.page.wikiedit.js \
235
--- src/main.mk
+++ src/main.mk
@@ -225,10 +225,11 @@
225 $(SRCDIR)/fossil.bootstrap.js \
226 $(SRCDIR)/fossil.confirmer.js \
227 $(SRCDIR)/fossil.copybutton.js \
228 $(SRCDIR)/fossil.dom.js \
229 $(SRCDIR)/fossil.fetch.js \
230 $(SRCDIR)/fossil.info-diff.js \
231 $(SRCDIR)/fossil.numbered-lines.js \
232 $(SRCDIR)/fossil.page.fileedit.js \
233 $(SRCDIR)/fossil.page.forumpost.js \
234 $(SRCDIR)/fossil.page.pikchrshow.js \
235 $(SRCDIR)/fossil.page.wikiedit.js \
236
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -634,10 +634,11 @@
634634
$(SRCDIR)/fossil.bootstrap.js \
635635
$(SRCDIR)/fossil.confirmer.js \
636636
$(SRCDIR)/fossil.copybutton.js \
637637
$(SRCDIR)/fossil.dom.js \
638638
$(SRCDIR)/fossil.fetch.js \
639
+ $(SRCDIR)/fossil.info-diff.js \
639640
$(SRCDIR)/fossil.numbered-lines.js \
640641
$(SRCDIR)/fossil.page.fileedit.js \
641642
$(SRCDIR)/fossil.page.forumpost.js \
642643
$(SRCDIR)/fossil.page.pikchrshow.js \
643644
$(SRCDIR)/fossil.page.wikiedit.js \
644645
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -634,10 +634,11 @@
634 $(SRCDIR)/fossil.bootstrap.js \
635 $(SRCDIR)/fossil.confirmer.js \
636 $(SRCDIR)/fossil.copybutton.js \
637 $(SRCDIR)/fossil.dom.js \
638 $(SRCDIR)/fossil.fetch.js \
 
639 $(SRCDIR)/fossil.numbered-lines.js \
640 $(SRCDIR)/fossil.page.fileedit.js \
641 $(SRCDIR)/fossil.page.forumpost.js \
642 $(SRCDIR)/fossil.page.pikchrshow.js \
643 $(SRCDIR)/fossil.page.wikiedit.js \
644
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -634,10 +634,11 @@
634 $(SRCDIR)/fossil.bootstrap.js \
635 $(SRCDIR)/fossil.confirmer.js \
636 $(SRCDIR)/fossil.copybutton.js \
637 $(SRCDIR)/fossil.dom.js \
638 $(SRCDIR)/fossil.fetch.js \
639 $(SRCDIR)/fossil.info-diff.js \
640 $(SRCDIR)/fossil.numbered-lines.js \
641 $(SRCDIR)/fossil.page.fileedit.js \
642 $(SRCDIR)/fossil.page.forumpost.js \
643 $(SRCDIR)/fossil.page.pikchrshow.js \
644 $(SRCDIR)/fossil.page.wikiedit.js \
645
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -559,10 +559,11 @@
559559
"$(SRCDIR)\fossil.bootstrap.js" \
560560
"$(SRCDIR)\fossil.confirmer.js" \
561561
"$(SRCDIR)\fossil.copybutton.js" \
562562
"$(SRCDIR)\fossil.dom.js" \
563563
"$(SRCDIR)\fossil.fetch.js" \
564
+ "$(SRCDIR)\fossil.info-diff.js" \
564565
"$(SRCDIR)\fossil.numbered-lines.js" \
565566
"$(SRCDIR)\fossil.page.fileedit.js" \
566567
"$(SRCDIR)\fossil.page.forumpost.js" \
567568
"$(SRCDIR)\fossil.page.pikchrshow.js" \
568569
"$(SRCDIR)\fossil.page.wikiedit.js" \
@@ -1164,10 +1165,11 @@
11641165
echo "$(SRCDIR)\fossil.bootstrap.js" >> $@
11651166
echo "$(SRCDIR)\fossil.confirmer.js" >> $@
11661167
echo "$(SRCDIR)\fossil.copybutton.js" >> $@
11671168
echo "$(SRCDIR)\fossil.dom.js" >> $@
11681169
echo "$(SRCDIR)\fossil.fetch.js" >> $@
1170
+ echo "$(SRCDIR)\fossil.info-diff.js" >> $@
11691171
echo "$(SRCDIR)\fossil.numbered-lines.js" >> $@
11701172
echo "$(SRCDIR)\fossil.page.fileedit.js" >> $@
11711173
echo "$(SRCDIR)\fossil.page.forumpost.js" >> $@
11721174
echo "$(SRCDIR)\fossil.page.pikchrshow.js" >> $@
11731175
echo "$(SRCDIR)\fossil.page.wikiedit.js" >> $@
11741176
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -559,10 +559,11 @@
559 "$(SRCDIR)\fossil.bootstrap.js" \
560 "$(SRCDIR)\fossil.confirmer.js" \
561 "$(SRCDIR)\fossil.copybutton.js" \
562 "$(SRCDIR)\fossil.dom.js" \
563 "$(SRCDIR)\fossil.fetch.js" \
 
564 "$(SRCDIR)\fossil.numbered-lines.js" \
565 "$(SRCDIR)\fossil.page.fileedit.js" \
566 "$(SRCDIR)\fossil.page.forumpost.js" \
567 "$(SRCDIR)\fossil.page.pikchrshow.js" \
568 "$(SRCDIR)\fossil.page.wikiedit.js" \
@@ -1164,10 +1165,11 @@
1164 echo "$(SRCDIR)\fossil.bootstrap.js" >> $@
1165 echo "$(SRCDIR)\fossil.confirmer.js" >> $@
1166 echo "$(SRCDIR)\fossil.copybutton.js" >> $@
1167 echo "$(SRCDIR)\fossil.dom.js" >> $@
1168 echo "$(SRCDIR)\fossil.fetch.js" >> $@
 
1169 echo "$(SRCDIR)\fossil.numbered-lines.js" >> $@
1170 echo "$(SRCDIR)\fossil.page.fileedit.js" >> $@
1171 echo "$(SRCDIR)\fossil.page.forumpost.js" >> $@
1172 echo "$(SRCDIR)\fossil.page.pikchrshow.js" >> $@
1173 echo "$(SRCDIR)\fossil.page.wikiedit.js" >> $@
1174
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -559,10 +559,11 @@
559 "$(SRCDIR)\fossil.bootstrap.js" \
560 "$(SRCDIR)\fossil.confirmer.js" \
561 "$(SRCDIR)\fossil.copybutton.js" \
562 "$(SRCDIR)\fossil.dom.js" \
563 "$(SRCDIR)\fossil.fetch.js" \
564 "$(SRCDIR)\fossil.info-diff.js" \
565 "$(SRCDIR)\fossil.numbered-lines.js" \
566 "$(SRCDIR)\fossil.page.fileedit.js" \
567 "$(SRCDIR)\fossil.page.forumpost.js" \
568 "$(SRCDIR)\fossil.page.pikchrshow.js" \
569 "$(SRCDIR)\fossil.page.wikiedit.js" \
@@ -1164,10 +1165,11 @@
1165 echo "$(SRCDIR)\fossil.bootstrap.js" >> $@
1166 echo "$(SRCDIR)\fossil.confirmer.js" >> $@
1167 echo "$(SRCDIR)\fossil.copybutton.js" >> $@
1168 echo "$(SRCDIR)\fossil.dom.js" >> $@
1169 echo "$(SRCDIR)\fossil.fetch.js" >> $@
1170 echo "$(SRCDIR)\fossil.info-diff.js" >> $@
1171 echo "$(SRCDIR)\fossil.numbered-lines.js" >> $@
1172 echo "$(SRCDIR)\fossil.page.fileedit.js" >> $@
1173 echo "$(SRCDIR)\fossil.page.forumpost.js" >> $@
1174 echo "$(SRCDIR)\fossil.page.pikchrshow.js" >> $@
1175 echo "$(SRCDIR)\fossil.page.wikiedit.js" >> $@
1176

Keyboard Shortcuts

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