Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
| Comment: | One list_box and calendar nav as per website (WIP!)
* Mainly due to the bug in the MinGW version of Shoes, which only |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
9bb433e5de4a63ac26f14ff63f775bb0 |
| User & Date: | i5ivem@gmail.com 2010-04-22 15:52:51 |
|
2010-04-23
| ||
| 13:50 | Fix layout again Leaf check-in: 87dd659f52 user: i5ivem@gmail.com tags: trunk, v0.0.1 | |
|
2010-04-22
| ||
| 15:52 |
One list_box and calendar nav as per website (WIP!)
* Mainly due to the bug in the MinGW version of Shoes, which only | |
|
2010-04-15
| ||
| 15:59 |
Fix rendering of mailpane when new calendar
* Removed commented out old code | |
Changes to shoefiti.rb.
1 2 3 4 5 6 | require 'rubygems' require 'date' require 'json' Shoes.app :title => "Shoefiti - Librelist Browser", :height => 700, :scroll => false do | > | | > | > > | | > > > | > | > | | | > > | > | > | < < | | > > > > > > > | | > | < < | | > | > > | | | | > > > | > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
require 'rubygems'
require 'date'
require 'json'
Shoes.app :title => "Shoefiti - Librelist Browser", :height => 700, :scroll => false do
URL = "http://librelist.com/archives/"
#Try doing single list box owing to list_box troubles on shoes MinGW
#More closely mimics the web interface
@stack_list = stack :margin => 10 do
@list_list = list_box do |list|
@list = list.text
download(URL+@list) do |resp|
@year = eval(resp.response.body)[1][-1].to_i
debug(@year)
download(URL+@list+@year.to_s) do |resp|
@month = eval(resp.response.body)[1][-1].to_i
debug(@month)
download(URL+@list+@year.to_s+"/"+(0 if @month < 10).to_s+@month.to_s) do |resp|
@days = eval(resp.response.body)[1]
debug(@days)
@when.replace(@month.to_s, " ", @year.to_s)
drawcalendar(@list, @year, @month, @days)
end
end
end
end
end
def changemonth(direction)
if direction == :backward
if @month == 1 #tempting to do "12/".next but no corresponding previous
@year -= 1
@month = 12
else
@month -= 1
end
end
if direction == :forward
if @month == 12
@year += 1
@month = 1
else
@month += 1
end
end
debug(@year)
debug(@month)
download(URL+@list+@year.to_s+"/"+(0 if @month < 10).to_s+@month.to_s) do |resp|
@days = eval(resp.response.body)[1]
debug(@days)
#@stack_cal.show
#@stack_cal_nav.show
@when.replace(@month.to_s, " ", @year.to_s)
drawcalendar(@list, @year, @month, @days)
end
end
#Need to be careful not to get months that don't exist (think ok back in time, within reason??)
def init
download(URL) do |resp|
@list_list.items = eval(resp.response.body)[1]
@stack_list.show
end
end
#Need to clear and redraw like mailpane
def drawcalendar(list, year, month, maildays)
debug("Where's the calendar?")
off=Date.new(year, month, 01).wday-1 #Offset, can't remember why I need the -1 here, but I do.
mdays=(Date.new(year, 12, 31) << (12-month)).day #Days in the month
rows=((mdays+off+1).to_f/7.0).ceil #Number of rows in calendar, plus 1 to compensate for -1 above. Have confused myself
days = %w{Su Mo Tu We Th Fr Sa}
@messagelist.clear
@stack_cal.clear{
days.each do |column|
i = days.index(column)
row = 0
stack :left => i*40+250, :top => -30 do
para column
until row == rows do
calday = i-off+7*row
if (1..mdays) === calday #Only want to draw if greater than zero and less than max days
if calday.to_s.length == 1
caldaystr = "0"+calday.to_s #need "0" in front of single digits
else
|
| ︙ | ︙ | |||
89 90 91 92 93 94 95 |
link(day){getmails(list, year, month, day)}
end
def getmails(list, year, month, day)
#need to fix months and days here, ie 0 on front.
if month.to_s.length == 1
| | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
link(day){getmails(list, year, month, day)}
end
def getmails(list, year, month, day)
#need to fix months and days here, ie 0 on front.
if month.to_s.length == 1
month = "0"+month.to_s #Mr. Consistent. Done differently from the urls!
else
month = month.to_s
end
if day.to_s.length == 1
day = "0"+day.to_s
else
day = day.to_s
|
| ︙ | ︙ | |||
129 130 131 132 133 134 135 | end end end} end end | < < < | < | | > > > > > > > > | > > > < > > > | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | end end end} end end #Actual app stuff @listurl = "" @stack_cal_nav = stack do button "<" do changemonth(:backward) end @when = para "When" button ">" do changemonth(:forward) end end @stack_cal = stack do para "Calendar" end init @messagelist = stack :height => 425, :scroll => true #@stack_cal.hide #@stack_cal_nav.hide end |