Fossil SCM

Some clean-up of the "Tech-Note" (formerly "Event") processing. Lots more opportunity for improvement here.

drh 2015-02-05 22:20 UTC form-submenu
Commit d7eb21e8a639bbc88cc38eba33655e4152e65803
2 files changed +9 -13 +12 -3
+9 -13
--- src/event.c
+++ src/event.c
@@ -129,36 +129,32 @@
129129
if( g.perm.WrWiki && g.perm.Write && nextRid==0 ){
130130
style_submenu_element("Edit", "Edit", "%s/eventedit?name=%s",
131131
g.zTop, zEventId);
132132
}
133133
zETime = db_text(0, "SELECT datetime(%.17g)", pEvent->rEventDate);
134
- style_submenu_element("Context", "Context", "%s/timeline?c=%T",
135
- g.zTop, zETime);
134
+ style_submenu_element("Context", 0, "%R/timeline?c=%.20s&n=9", zEventId);
136135
if( g.perm.Hyperlink ){
137136
if( verboseFlag ){
138
- style_submenu_element("Plain", "Plain", "%s/event?name=%s&aid=%s",
139
- g.zTop, zEventId, zUuid);
137
+ style_submenu_element("Plain", 0, "%R/event?name=%.20s&aid=%s",
138
+ zEventId, zUuid);
140139
if( nextRid ){
141140
char *zNext;
142141
zNext = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", nextRid);
143
- style_submenu_element("Next", "Next",
144
- "%s/event?name=%s&aid=%s&v",
145
- g.zTop, zEventId, zNext);
142
+ style_submenu_element("Next", 0,"%R/event?name=%.20s&aid=%s&v",
143
+ zEventId, zNext);
146144
free(zNext);
147145
}
148146
if( prevRid ){
149147
char *zPrev;
150148
zPrev = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", prevRid);
151
- style_submenu_element("Prev", "Prev",
152
- "%s/event?name=%s&aid=%s&v",
153
- g.zTop, zEventId, zPrev);
149
+ style_submenu_element("Prev", 0, "%R/event?name=%s&aid=%s&v",
150
+ zEventId, zPrev);
154151
free(zPrev);
155152
}
156153
}else{
157
- style_submenu_element("Detail", "Detail",
158
- "%s/event?name=%s&aid=%s&v",
159
- g.zTop, zEventId, zUuid);
154
+ style_submenu_element("Detail", 0, "%R/event?name=%.20s&aid=%s&v",
155
+ zEventId, zUuid);
160156
}
161157
}
162158
163159
if( verboseFlag && g.perm.Hyperlink ){
164160
int i;
165161
--- src/event.c
+++ src/event.c
@@ -129,36 +129,32 @@
129 if( g.perm.WrWiki && g.perm.Write && nextRid==0 ){
130 style_submenu_element("Edit", "Edit", "%s/eventedit?name=%s",
131 g.zTop, zEventId);
132 }
133 zETime = db_text(0, "SELECT datetime(%.17g)", pEvent->rEventDate);
134 style_submenu_element("Context", "Context", "%s/timeline?c=%T",
135 g.zTop, zETime);
136 if( g.perm.Hyperlink ){
137 if( verboseFlag ){
138 style_submenu_element("Plain", "Plain", "%s/event?name=%s&aid=%s",
139 g.zTop, zEventId, zUuid);
140 if( nextRid ){
141 char *zNext;
142 zNext = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", nextRid);
143 style_submenu_element("Next", "Next",
144 "%s/event?name=%s&aid=%s&v",
145 g.zTop, zEventId, zNext);
146 free(zNext);
147 }
148 if( prevRid ){
149 char *zPrev;
150 zPrev = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", prevRid);
151 style_submenu_element("Prev", "Prev",
152 "%s/event?name=%s&aid=%s&v",
153 g.zTop, zEventId, zPrev);
154 free(zPrev);
155 }
156 }else{
157 style_submenu_element("Detail", "Detail",
158 "%s/event?name=%s&aid=%s&v",
159 g.zTop, zEventId, zUuid);
160 }
161 }
162
163 if( verboseFlag && g.perm.Hyperlink ){
164 int i;
165
--- src/event.c
+++ src/event.c
@@ -129,36 +129,32 @@
129 if( g.perm.WrWiki && g.perm.Write && nextRid==0 ){
130 style_submenu_element("Edit", "Edit", "%s/eventedit?name=%s",
131 g.zTop, zEventId);
132 }
133 zETime = db_text(0, "SELECT datetime(%.17g)", pEvent->rEventDate);
134 style_submenu_element("Context", 0, "%R/timeline?c=%.20s&n=9", zEventId);
 
135 if( g.perm.Hyperlink ){
136 if( verboseFlag ){
137 style_submenu_element("Plain", 0, "%R/event?name=%.20s&aid=%s",
138 zEventId, zUuid);
139 if( nextRid ){
140 char *zNext;
141 zNext = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", nextRid);
142 style_submenu_element("Next", 0,"%R/event?name=%.20s&aid=%s&v",
143 zEventId, zNext);
 
144 free(zNext);
145 }
146 if( prevRid ){
147 char *zPrev;
148 zPrev = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", prevRid);
149 style_submenu_element("Prev", 0, "%R/event?name=%s&aid=%s&v",
150 zEventId, zPrev);
 
151 free(zPrev);
152 }
153 }else{
154 style_submenu_element("Detail", 0, "%R/event?name=%.20s&aid=%s&v",
155 zEventId, zUuid);
 
156 }
157 }
158
159 if( verboseFlag && g.perm.Hyperlink ){
160 int i;
161
+12 -3
--- src/timeline.c
+++ src/timeline.c
@@ -952,13 +952,22 @@
952952
if( z==0 ) return -1.0;
953953
if( fossil_isdate(z) ){
954954
mtime = db_double(0.0, "SELECT julianday(%Q,'utc')", z);
955955
if( mtime>0.0 ) return mtime;
956956
}
957
- rid = symbolic_name_to_rid(z, "ci");
958
- if( rid==0 ) return -1.0;
959
- mtime = db_double(0.0, "SELECT mtime FROM event WHERE objid=%d", rid);
957
+ rid = symbolic_name_to_rid(z, "*");
958
+ if( rid ){
959
+ mtime = db_double(0.0, "SELECT mtime FROM event WHERE objid=%d", rid);
960
+ }else{
961
+ mtime = db_double(-1.0,
962
+ "SELECT max(event.mtime) FROM event, tag, tagxref"
963
+ " WHERE tag.tagname GLOB 'event-%q*'"
964
+ " AND tagxref.tagid=tag.tagid AND tagxref.tagtype"
965
+ " AND event.objid=tagxref.rid",
966
+ z
967
+ );
968
+ }
960969
return mtime;
961970
}
962971
963972
/*
964973
** The value of one second in julianday notation
965974
--- src/timeline.c
+++ src/timeline.c
@@ -952,13 +952,22 @@
952 if( z==0 ) return -1.0;
953 if( fossil_isdate(z) ){
954 mtime = db_double(0.0, "SELECT julianday(%Q,'utc')", z);
955 if( mtime>0.0 ) return mtime;
956 }
957 rid = symbolic_name_to_rid(z, "ci");
958 if( rid==0 ) return -1.0;
959 mtime = db_double(0.0, "SELECT mtime FROM event WHERE objid=%d", rid);
 
 
 
 
 
 
 
 
 
960 return mtime;
961 }
962
963 /*
964 ** The value of one second in julianday notation
965
--- src/timeline.c
+++ src/timeline.c
@@ -952,13 +952,22 @@
952 if( z==0 ) return -1.0;
953 if( fossil_isdate(z) ){
954 mtime = db_double(0.0, "SELECT julianday(%Q,'utc')", z);
955 if( mtime>0.0 ) return mtime;
956 }
957 rid = symbolic_name_to_rid(z, "*");
958 if( rid ){
959 mtime = db_double(0.0, "SELECT mtime FROM event WHERE objid=%d", rid);
960 }else{
961 mtime = db_double(-1.0,
962 "SELECT max(event.mtime) FROM event, tag, tagxref"
963 " WHERE tag.tagname GLOB 'event-%q*'"
964 " AND tagxref.tagid=tag.tagid AND tagxref.tagtype"
965 " AND event.objid=tagxref.rid",
966 z
967 );
968 }
969 return mtime;
970 }
971
972 /*
973 ** The value of one second in julianday notation
974

Keyboard Shortcuts

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