*** aks has joined #schooltool | 06:01 | |
*** hoffman has quit IRC | 06:34 | |
*** hoffman has joined #schooltool | 07:45 | |
*** aks has quit IRC | 08:14 | |
*** hoffman has quit IRC | 08:15 | |
*** aks has joined #schooltool | 08:22 | |
*** aks has joined #schooltool | 08:22 | |
*** yvl has joined #schooltool | 10:48 | |
aelkner | hey yvl | 11:02 |
---|---|---|
yvl | good evening, aelkner | 11:02 |
aelkner | i'm about to go to sleep, but i'm glad i caught you | 11:03 |
aelkner | i got the accordion to work in the person view, so you can look at that in my branch | 11:03 |
yvl | great | 11:04 |
aelkner | i know you're not a fan of the accordion, but the main issue was getting jquery to work | 11:04 |
yvl | will definitely look at it | 11:04 |
yvl | in fact, I'm doing this as we speak ;) | 11:04 |
aelkner | cool, anyway, i had a question about the modal dialogs that i've been working on | 11:05 |
aelkner | in the case of the inline form, the page template is just the form macro | 11:05 |
aelkner | and the registration necessary for that would not be the same asa a flourish page | 11:06 |
yvl | right | 11:06 |
aelkner | the question is where and how to register things | 11:06 |
yvl | ideally, the difference should be | 11:07 |
aelkner | we have flourish.zcml in basicperson | 11:07 |
yvl | specifying template= instead of content_template= in zcml | 11:07 |
aelkner | and we have skin/flourish/templates | 11:07 |
aelkner | but the directive would also be just page, not flourish:page, right? | 11:08 |
yvl | no, keep the flourish:page | 11:08 |
aelkner | ah | 11:08 |
yvl | it should be the same | 11:08 |
aelkner | but put template= as you just said | 11:08 |
yvl | right | 11:08 |
yvl | so the inner part would be rendered as the result of that page | 11:09 |
yvl | and you can put this result in a modal dialog | 11:09 |
aelkner | so even though the base class for Page uses main.pt, that can just be overridden | 11:09 |
yvl | yes | 11:10 |
aelkner | ok, thanks | 11:11 |
yvl | ideally, it should be that simple | 11:11 |
yvl | if you ran into something troublesome, please let me know | 11:11 |
aelkner | i'll try it out tomorrow right after the meeting | 11:11 |
aelkner | we should be able to meet for a while after the meeting, right? | 11:11 |
yvl | sure! | 11:12 |
aelkner | ok, great, i'm off to bed now | 11:13 |
aelkner | cya soon | 11:13 |
yvl | get some sleep | 11:14 |
yvl | see you soon :) | 11:14 |
*** Guest31887 is now known as issyl0 | 12:48 | |
*** issyl0 has quit IRC | 12:48 | |
*** issyl0 has joined #schooltool | 12:48 | |
*** alga has joined #schooltool | 12:50 | |
*** aks has quit IRC | 14:16 | |
*** menesis has quit IRC | 14:42 | |
*** alga has quit IRC | 15:35 | |
*** replaceafill has joined #schooltool | 15:45 | |
*** alga has joined #schooltool | 16:02 | |
*** th1a has joined #schooltool | 16:25 | |
th1a | Hi aelkner, yvl, replaceafill. | 16:31 |
yvl | good morning | 16:31 |
replaceafill | good morning/afternoon | 16:31 |
* yvl will be here in 2 mins | 16:31 | |
aelkner | morning | 16:32 |
th1a | aelkner: What have you been up to? | 16:33 |
aelkner | i got the accordion to work in the person view | 16:33 |
* yvl here | 16:33 | |
aelkner | i finally figured out that the flourish layer does not inherit from schooltool layer | 16:34 |
aelkner | so the resources all had to be added one by one | 16:34 |
aelkner | so now jquery is part of flourish | 16:34 |
aelkner | i put the jquery.js and jquery-ui directory js file inclusion in main.pt | 16:35 |
aelkner | and i put the jstree stuff in the person view pt itself | 16:35 |
aelkner | because that's the way it was in the old skin | 16:35 |
th1a | Did you send yvl a merge request? | 16:35 |
yvl | I merged it | 16:35 |
* yvl rememberd this time to do a daily merge :) | 16:36 | |
* replaceafill updates the testing instance | 16:36 | |
aelkner | i didn't think i needed to request the merge since yvl knows what branches we are working on | 16:36 |
yvl | central flourish branch has th1a + replaceafill + aelkner changes | 16:36 |
aelkner | he merges every day anyway | 16:36 |
yvl | right | 16:36 |
th1a | OK. | 16:37 |
*** menesis has joined #schooltool | 16:37 | |
aelkner | i started working on the first modal dialog, and i had some questions for yvl lasdt night | 16:38 |
aelkner | which he answered, so i think i know what i need to do to get that to work | 16:38 |
replaceafill | testing instance updated: http://69.164.203.135:6660 | 16:38 |
aelkner | so that's it for me | 16:39 |
*** menesis has quit IRC | 16:39 | |
th1a | I'd like to go ahead and fix the CSS on the accordion before anything else. | 16:40 |
th1a | Perhaps I can make replaceafill and aelkner do that with me after the meeting. | 16:40 |
th1a | To make sure aelkner starts to get up to speed on the new CSS regime. | 16:40 |
aelkner | ok, we could do that | 16:41 |
th1a | Thanks, aelkner. | 16:41 |
th1a | replaceafill, any comments from the weekend? | 16:41 |
replaceafill | sorry, i didn't have a chance to respond to your emails, i thought i could do it here: | 16:42 |
th1a | Sure. | 16:42 |
replaceafill | about the shadows, i have no problem with them, just one | 16:42 |
replaceafill | we have <header><page><footer> | 16:42 |
replaceafill | elements | 16:42 |
replaceafill | for the main layout | 16:43 |
replaceafill | i couldnt find a way to connect the shadows from <header> and <page> and make it look like the guidelines | 16:43 |
replaceafill | i always got a small gap in the shadow betten the <header> and the <page> | 16:43 |
replaceafill | but i didnt want to insert a wrapper yet | 16:44 |
replaceafill | 2. about the ubuntu font in the screenshots | 16:44 |
replaceafill | i dont have it installed in my system :P | 16:44 |
th1a | On... Ubuntu? | 16:44 |
replaceafill | no, i use debian :) | 16:44 |
replaceafill | i'll install the deb | 16:44 |
replaceafill | 3. about the dotted background | 16:45 |
replaceafill | it's in the guidelines, so i added it ;) | 16:45 |
th1a | That's what I told you to do. | 16:45 |
th1a | I'm leaning toward considering that Canonical branding. | 16:45 |
th1a | Which we don't want. | 16:45 |
replaceafill | ah, 4. inline-blocks | 16:46 |
replaceafill | yvl i just dont like it because for instance, if you use inline-block to create the secondary navigation | 16:46 |
replaceafill | you get whitespaces you cannot control between the tabs | 16:47 |
replaceafill | because the "inline" part | 16:47 |
replaceafill | is like having <span></span> break line <span></span>... and so on | 16:47 |
replaceafill | the break line in the source code is converted to a white space in presentation | 16:47 |
yvl | yes, you get those 4 px | 16:47 |
replaceafill | i know i can use negative margins, but... | 16:48 |
replaceafill | dont know, just didnt like it :P | 16:48 |
replaceafill | we can use it of course | 16:48 |
replaceafill | if you consider they're better than floats | 16:48 |
yvl | I just think that floats are horrible | 16:48 |
yvl | because of the way they behave | 16:48 |
replaceafill | ah, 5. good point in the child selectors and templates | 16:48 |
yvl | god save us if they wrap around | 16:48 |
replaceafill | yvl really? | 16:49 |
yvl | yes | 16:49 |
replaceafill | ok, let's put the inline back and adjust the margins | 16:49 |
replaceafill | i guess that's it | 16:49 |
th1a | Huh? | 16:49 |
replaceafill | i mean, all the comments i received | 16:49 |
replaceafill | :) | 16:49 |
replaceafill | i guess we still have to adjust some things | 16:50 |
th1a | I'm not completely following this inline-block discussion. | 16:50 |
replaceafill | ah | 16:50 |
th1a | I'd avoid anything that inserted extra pixels of space. | 16:50 |
yvl | well it's your choice really | 16:51 |
yvl | I can't tell right now what's the problem with floats | 16:51 |
replaceafill | i think we can manage both if we're careful :) | 16:52 |
yvl | I remember that they do not respect some elements in some cases | 16:52 |
yvl | something with height | 16:52 |
th1a | Yes... but I don't understand the issues enough to make a decision. | 16:52 |
th1a | I'd actually rather have something that breaks overtly than subtly throws everything off all the time. | 16:52 |
th1a | And I'd like to see the shadows in the meantime. | 16:53 |
th1a | I was just wondering why the grays in the UWG and our page look completely different -- it is the difference in my monitors. | 16:55 |
th1a | Thanks replaceafill. Let's move on to yvl. | 16:55 |
yvl | 40 minutes ago it struck me I should have re-introduced breadcrumbs and log-in link today | 16:56 |
yvl | today I experimented with json serialized view states for javascript | 16:56 |
th1a | Or first thing tomorrow. | 16:56 |
yvl | will do that then, th1a | 16:57 |
yvl | basically, what I want to end up is: | 16:57 |
yvl | you have a dict in the view, called state | 16:57 |
yvl | you put python strings, dicts or other data in | 16:57 |
yvl | and later on, in your page templates, in javascript sections | 16:58 |
yvl | you can address it directly | 16:58 |
yvl | <script> | 16:58 |
yvl | alert(view.button_list); | 16:58 |
*** menesis has joined #schooltool | 16:58 | |
yvl | </script> | 16:58 |
yvl | and so on | 16:58 |
th1a | To what end? | 16:59 |
yvl | frankly I didn't expect that question. | 16:59 |
yvl | umm | 16:59 |
yvl | so you can communicate cleanly with you JS in a decent manner | 16:59 |
yvl | with at least some protection | 17:00 |
yvl | and that you can biuld upon it later on to do json ajax communication | 17:00 |
th1a | Well, as long as it makes sense to aelkner and replaceafill. | 17:00 |
yvl | as opposed to serialized form communication | 17:00 |
yvl | to do both, actually | 17:00 |
th1a | I don't necessarily want to start another plumbing project now though. | 17:00 |
replaceafill | +1 on json views for JS functionality | 17:01 |
yvl | kind of seemed like a reasonable thing to do for modal dialogs | 17:01 |
yvl | well anyway | 17:01 |
yvl | I just wanted to research how it should be done | 17:02 |
th1a | OK... it is your call. | 17:02 |
yvl | OK | 17:02 |
yvl | I'll do the breadcrumbs and whatever else is needed now | 17:03 |
yvl | as in - next | 17:03 |
th1a | Yes. | 17:03 |
th1a | And we need to start nailing down the sidebar structure. | 17:03 |
yvl | can you please push some tasks in my queue at the end of your day? | 17:03 |
yvl | or else I'll be working on other stuff - plumbing mostly | 17:04 |
th1a | yvl: Yes. | 17:04 |
yvl | thanks | 17:04 |
th1a | What needs to be done sidebar-wise? | 17:04 |
th1a | replaceafill? yvl? | 17:04 |
yvl | hard to tell | 17:04 |
yvl | what do you need? | 17:05 |
th1a | Well, what can we do now? | 17:05 |
th1a | Define a viewlet that goes in there and add links to it? | 17:05 |
yvl | put a viewlet there | 17:05 |
replaceafill | that's already there | 17:06 |
replaceafill | related content | 17:06 |
yvl | there's a base viewlet that can also hold links | 17:06 |
yvl | yes, replaceafill | 17:06 |
replaceafill | what i think we should decide about is the secondary navigation | 17:06 |
replaceafill | what you see in the current view is mock content | 17:07 |
th1a | What's there now shouldn't be there. | 17:07 |
th1a | Right. | 17:07 |
th1a | Oh, I mean, secondary navigation... | 17:07 |
replaceafill | but yvl had a secondary navigation already in place, correct yvl? | 17:07 |
th1a | I'm just thinking breadcrumbs and login/logout for now. | 17:07 |
th1a | And in the sidebar, what's there I don't want. | 17:07 |
th1a | We'll need a link to switch to the delete view. | 17:08 |
* yvl doesn't quite follow the sidebar thing | 17:09 | |
th1a | This view doesn't have many "actions" anyhow. | 17:11 |
th1a | Add, I guess! | 17:11 |
th1a | Add, Delete. | 17:11 |
th1a | Those go in the sidebar, right? | 17:11 |
th1a | Yes? | 17:12 |
* yvl has no idea now | 17:13 | |
th1a | Where else? | 17:13 |
th1a | Anyone? | 17:13 |
th1a | Either there or in what I suppose is more properly called Third-level nav. | 17:14 |
th1a | I don't think they should be in the body of this view. | 17:14 |
th1a | We're going to all have to agree on this. | 17:15 |
yvl | hmm | 17:15 |
yvl | If you put them in third-level nav | 17:16 |
yvl | they just look weird | 17:16 |
* replaceafill is afraid to mention "action buttons" | 17:16 | |
yvl | unless you shrink third-level nav to only center of the page | 17:16 |
th1a | replaceafill: Good. | 17:16 |
yvl | which makes them action buttons | 17:16 |
replaceafill | :) | 17:16 |
yvl | if you put them into body of the page | 17:17 |
yvl | they look weird | 17:17 |
yvl | delete view, if you choose to have it separate | 17:17 |
yvl | well, it kind of can have a nav link at the left bar | 17:17 |
yvl | add.. | 17:17 |
yvl | it looks out of place to me | 17:17 |
th1a | It doesn't seem weird to me. | 17:18 |
yvl | it looks exceptionaly weird to me | 17:18 |
yvl | things like add, are things that you do modal dialogs on | 17:18 |
yvl | not for person | 17:18 |
yvl | but for other containers | 17:19 |
yvl | so it would be good to put them consitently | 17:19 |
yvl | modal dialogs from a link in the left bar | 17:19 |
yvl | I just can't imagine it | 17:19 |
yvl | sorry | 17:19 |
yvl | and a separate delete view... | 17:19 |
th1a | I think you overestimating how many modal dialogs we're going to be creating. | 17:19 |
yvl | I've not seen that on internet yet | 17:20 |
yvl | but, but... | 17:20 |
yvl | one is enough | 17:20 |
yvl | well, probably it work out great somehow | 17:20 |
*** asharma has joined #schooltool | 17:21 | |
th1a | This just doesn't seem that complicated. | 17:21 |
yvl | maybe put an Add button as "primary" below the table list? | 17:22 |
th1a | The trickiest question is if we want to mostly use third-level navigation or not. | 17:22 |
th1a | Below? | 17:22 |
* yvl is just throwing in suggestions | 17:22 | |
replaceafill | third level navigation instead of "action buttons"? | 17:23 |
* yvl does not get the ban on action buttons | 17:23 | |
replaceafill | sorry for still bringing the "action buttons" phrase :( | 17:23 |
th1a | OK, if we do third level navigation, those are tabs. | 17:23 |
th1a | Note that for now I'm just putting breadcrumbs in the "second-level navigation" spot. | 17:24 |
th1a | I don't want a row of buttons. | 17:24 |
th1a | In a lot of cases, I do want the main actions embedded in the page. | 17:25 |
yvl | oh, which reminds me | 17:25 |
th1a | But I guess I'm saying that "Add" is not the main action of this page. | 17:25 |
th1a | Search is. | 17:25 |
yvl | do we put log-in at the left? | 17:25 |
yvl | like http://shop.canonical.com/ | 17:25 |
th1a | Yeah, probably. | 17:25 |
th1a | Try that first. | 17:26 |
yvl | ok | 17:26 |
th1a | Does that help if "Add" is not the main action of this page? | 17:26 |
th1a | It is something you're navigating to. | 17:26 |
* th1a may have to get up at 3:00 to go through this with yvl. | 17:27 | |
yvl | we can put it on the left and call "New person" maybe | 17:27 |
yvl | like a "box" named persons | 17:27 |
th1a | Yes. | 17:27 |
yvl | with the link new person | 17:28 |
th1a | Actually it probably should be more like - | 17:28 |
th1a | Add new: | 17:28 |
th1a | - Student | 17:28 |
th1a | - Teacher | 17:28 |
replaceafill | :O | 17:28 |
th1a | - Administrator | 17:28 |
replaceafill | i'd like that :) | 17:28 |
th1a | - Person | 17:28 |
aelkner | can i ask something semi-related? | 17:30 |
aelkner | the modal dialog that i'm currently working on is for person preferences | 17:31 |
aelkner | so the question is: where is the button, 'Preferences', to go on the person index.html view? | 17:31 |
*** jelkner has joined #schooltool | 17:31 | |
th1a | Sidebar. | 17:32 |
aelkner | ok, do we have that, yet? | 17:32 |
th1a | That's pretty much what we're discussing. | 17:33 |
aelkner | ok | 17:33 |
yvl | just to throw a random idea in... | 17:33 |
yvl | a box called "2011" (or whatever the schoolyear) | 17:34 |
yvl | with "Teachers, Students, Courses" and such | 17:34 |
yvl | also add teacher links in Teachers, and so on | 17:34 |
yvl | not saying that we should | 17:34 |
yvl | and, like, grayed-out disabled teacher links until somebody sets up a schoolyear | 17:35 |
th1a | Well, we just need to start using the sidebar and see where it takes us and if anyone's head explodes. | 17:35 |
yvl | and maybe a working "new schoolyear" link there | 17:35 |
th1a | But we don't want a lot of cruft there. | 17:36 |
th1a | It is ultimately the action bar moved to the side. | 17:36 |
th1a | Just a better one. | 17:36 |
th1a | It is where things go AFTER you try to think of a better place for them. | 17:37 |
th1a | OK. Let's take a ten minute break, then I'll do some accordion css with aelkner and replaceafill. | 17:38 |
th1a | OK? | 17:38 |
replaceafill | ok | 17:38 |
yvl | ok | 17:38 |
aelkner | ok | 17:38 |
* th1a drops the bag of gravel. | 17:38 | |
yvl | please don't forget to update me with a list of TODOs | 17:38 |
yvl | and please be very explicit, I have some trouble figuring out a pattern at the moment | 17:39 |
yvl | aelkner, do you have some questions? | 17:42 |
yvl | or do we postpone them until tomorrow? | 17:42 |
replaceafill | yvl i updated the testing instance | 17:43 |
replaceafill | can you refresh it? | 17:43 |
replaceafill | i added the shadow | 17:43 |
replaceafill | see the little gap between header and page? | 17:43 |
replaceafill | i guess i just have to learn to use shadows :) | 17:44 |
yvl | yep | 17:44 |
* yvl doesn't remember how it was done before | 17:44 | |
replaceafill | i'll look | 17:44 |
replaceafill | but i definitely dont want to group header and page | 17:44 |
replaceafill | just for this effect :) | 17:45 |
* replaceafill goes grab a sandwich | 17:45 | |
* th1a back. | 17:50 | |
replaceafill | in the last bug reported seems to me that English IX 1 is the Students group | 17:54 |
th1a | That's what I just asked. | 17:54 |
replaceafill | :| | 17:55 |
th1a | OK, let's hit a few general points here about the layout. | 17:55 |
th1a | Why is the content in /persons off center? | 17:55 |
replaceafill | because the left sidebar is narrower than the right sidebear | 17:56 |
replaceafill | sidebar | 17:56 |
replaceafill | page 10 | 17:56 |
replaceafill | 144px, 544px, 224px | 17:56 |
th1a | Well... yes. | 17:57 |
th1a | But is that what we want? | 17:57 |
th1a | That is, there is no sidebar in the UWG, and things are centered, right? | 17:57 |
replaceafill | uh? | 17:58 |
th1a | (the forms are centered) | 17:58 |
th1a | ? | 17:58 |
th1a | Or am I wrong? | 17:58 |
replaceafill | th1a i think it's because they dont show the whole page | 17:58 |
th1a | Oh, I think the image is cropped. | 17:58 |
th1a | I see. | 17:58 |
th1a | OK. | 17:58 |
th1a | They just use a wider right margin. | 17:59 |
th1a | We're probably going to have to adjust to account for the sidebar. | 17:59 |
th1a | Probably I'll just have schwa figure it out since we'll also need a sidebar in the book. | 18:00 |
th1a | OK, aelkner, ready? | 18:00 |
replaceafill | we should enable adding of school years, courses and sections to test accordions css | 18:01 |
replaceafill | so we can see the accordions with data | 18:01 |
replaceafill | or... use a Data.fs with those :) | 18:02 |
aelkner | ready\ | 18:02 |
yvl | well, good luck guys! :) | 18:02 |
th1a | I'll have tasks for you yvl. Don't worry. | 18:03 |
yvl | thanks! | 18:03 |
th1a | replaceafill: I'd rather just use a populated data.fs for now. | 18:03 |
replaceafill | ok, let me set one | 18:03 |
th1a | aelkner: Do you know where the CSS for the accordion is? | 18:04 |
aelkner | looking... | 18:05 |
aelkner | src/schooltool/skin/resources/jquery-ui/theme/jquery-ui.css | 18:07 |
aelkner | so we want to override some of the styles, correct? | 18:08 |
th1a | Well, we want to underride them, really. | 18:08 |
th1a | Use the base classes. | 18:08 |
th1a | Our base styles | 18:08 |
th1a | If possible. | 18:09 |
aelkner | jquery-ui dynamically inserts the classes listed in that file into the elements | 18:10 |
aelkner | so we are stuck with those classes | 18:10 |
th1a | OK. | 18:10 |
aelkner | if you would want them to look different, we need to override the styles for those classes | 18:10 |
aelkner | and i'm guessing you do want them different | 18:11 |
th1a | Yes. | 18:11 |
* replaceafill stops the testing instance | 18:11 | |
aelkner | replaceafill, is it possible for us to override the styles in our own css file? | 18:12 |
aelkner | does it matter the order of inclusion of css files? | 18:12 |
th1a | Basically, let's start by making them match the style of UWG tables. | 18:12 |
th1a | Alignment, color, spacing, etc. | 18:12 |
th1a | If we could we'd just try using the table CSS. | 18:13 |
th1a | Make sense replaceafill? | 18:13 |
replaceafill | ok, persons with data now | 18:13 |
replaceafill | http://69.164.203.135:6660/persons/alvaro | 18:13 |
replaceafill | for example | 18:13 |
* replaceafill reads the log | 18:13 | |
replaceafill | can we add a jquery-ui.css file to flourish? | 18:14 |
replaceafill | and override jquery-ui styles there? | 18:14 |
replaceafill | for accordions, dialogs, etc | 18:14 |
aelkner | that's what i'm asking you | 18:15 |
replaceafill | do it | 18:15 |
aelkner | th1a wants different styles for the accordion classes | 18:15 |
replaceafill | i know | 18:15 |
replaceafill | add that file | 18:15 |
aelkner | does file inclusion order matter? | 18:15 |
replaceafill | of course it does | 18:16 |
replaceafill | check the source of a rendered page | 18:16 |
replaceafill | reset, flourish, page, form, table | 18:16 |
replaceafill | same as in zcml | 18:16 |
replaceafill | aelkner you didnt change the <h5>, <h3> as i asked you | 18:17 |
aelkner | yes, i know, i was waiting for some of the reorg to solidify | 18:18 |
replaceafill | top level headings are bigger | 18:18 |
replaceafill | ok, could you do it before we start doing this? | 18:18 |
aelkner | i could ask now, though, is h3 what we want for accordion headings | 18:18 |
aelkner | and is h5 what we want for the subheadings? | 18:19 |
replaceafill | that's a good question | 18:19 |
aelkner | now that you guys have been thinking about this since Friday | 18:19 |
replaceafill | so far, the only heading i've seen in code is h1 h2 | 18:19 |
replaceafill | and that's not even in the page | 18:19 |
aelkner | which pages do you see this on, flourish pages? | 18:20 |
aelkner | or are you referring to old skin? | 18:20 |
replaceafill | nope | 18:20 |
replaceafill | no, /persons view | 18:20 |
th1a | This isn't a matter of anyone making a decision. | 18:20 |
th1a | It is a matter of everyone following the guidelines. | 18:20 |
th1a | And that is it. | 18:20 |
replaceafill | correct | 18:20 |
replaceafill | page 16 aelkner | 18:21 |
th1a | I'm just a little unsure if we should start with the form style or the table style as the basis for the accordions. | 18:22 |
th1a | p. 22 vs p. 27, basically. | 18:23 |
th1a | The form header is probably a little closer to what we want. | 18:23 |
aelkner | th1a, i thought i was gong to be working on modal dialogs and js, so i haven't grokked your css work from Friday | 18:23 |
th1a | aelkner, that's why replaceafill is here. | 18:23 |
aelkner | i was going to ask: | 18:23 |
aelkner | how does the > work? i noticed that for the first time while looking at your branch | 18:24 |
replaceafill | aelkner saw my email referring to "child selectors"? | 18:24 |
replaceafill | let me give an example | 18:24 |
aelkner | saw, but maybe neglected to read carefully enough | 18:25 |
replaceafill | ok, prepare for some flooding | 18:26 |
replaceafill | <div class="parent"> | 18:26 |
replaceafill | <div class="child"> | 18:26 |
replaceafill | <div class="foo"> | 18:26 |
replaceafill | </div> | 18:26 |
replaceafill | </div> | 18:26 |
replaceafill | <div class="child"> | 18:26 |
replaceafill | </div> | 18:26 |
replaceafill | <div class="child"> | 18:26 |
replaceafill | <div class="bar"> | 18:26 |
replaceafill | <div class="foo"> | 18:26 |
replaceafill | </div> | 18:26 |
replaceafill | </div> | 18:26 |
replaceafill | </div> | 18:26 |
replaceafill | </div> | 18:26 |
replaceafill | aelkner see that structure | 18:26 |
replaceafill | and now suppose we declare css: | 18:26 |
replaceafill | .child .foo { | 18:26 |
replaceafill | background-color: red; | 18:26 |
replaceafill | } | 18:26 |
replaceafill | which "foo"s will have red background? | 18:27 |
replaceafill | first, second or both? | 18:27 |
aelkner | ok, i read your email closely, now reading our log herey | 18:27 |
replaceafill | that css rules says: | 18:27 |
aelkner | your log | 18:27 |
replaceafill | apply background to any .foo that it's contained in .child | 18:27 |
replaceafill | right? | 18:27 |
replaceafill | but we could declare css like this: | 18:28 |
replaceafill | .child > .foo { | 18:28 |
replaceafill | background-color: red; | 18:28 |
replaceafill | } | 18:28 |
replaceafill | in that case the css says: | 18:28 |
replaceafill | "apply background to any .foo whose parent is a .child | 18:28 |
replaceafill | so, only the first div.foo would have red background | 18:28 |
replaceafill | aelkner http://www.w3.org/TR/CSS2/selector.html#pattern-matching | 18:29 |
replaceafill | :) | 18:29 |
replaceafill | E > F | 18:29 |
replaceafill | child selector | 18:29 |
replaceafill | the first example is descendant selector | 18:29 |
replaceafill | aelkner makes sense? | 18:31 |
aelkner | so the > is kind of like the // in xpath, right? | 18:32 |
replaceafill | hhmm no | 18:32 |
replaceafill | / in xpath means, "select the node no matter where it is" | 18:32 |
aelkner | keep gong down descendant path until, so to speak | 18:32 |
aelkner | i'm sorry, i had it backwords | 18:33 |
replaceafill | ok, aelkner go to http://69.164.203.135:6660/persons | 18:33 |
replaceafill | and open your firebug | 18:33 |
aelkner | hey, you put the sidebar in! | 18:34 |
replaceafill | look for <div class="body"> | 18:34 |
replaceafill | there's one under <div class="header"> | 18:34 |
replaceafill | you see it? | 18:34 |
aelkner | looking... | 18:34 |
aelkner | found it | 18:35 |
replaceafill | ok, now inspect the "Persons" link in the left sidebar | 18:35 |
replaceafill | you will get an <a>, correct? | 18:35 |
aelkner | yes | 18:36 |
replaceafill | see the parent of a, it's a li | 18:36 |
replaceafill | keep going up | 18:36 |
replaceafill | and you'll see another "div.body" | 18:36 |
replaceafill | right above the ul.filter | 18:36 |
replaceafill | so, if i apply css like: | 18:37 |
aelkner | yes | 18:37 |
replaceafill | div.body { bla bla bla } | 18:37 |
replaceafill | that would affect both | 18:37 |
replaceafill | so we do: | 18:37 |
replaceafill | .page > .body { bla bla } | 18:37 |
replaceafill | to refer to the first one | 18:37 |
replaceafill | and .refine > .content > .body | 18:38 |
replaceafill | to refer to the second one | 18:38 |
replaceafill | if in the first case i'd only do: | 18:38 |
replaceafill | .page .body { ... } | 18:38 |
replaceafill | i'd affect both also | 18:38 |
replaceafill | because both are descendant of .page | 18:38 |
replaceafill | that's the usefulness of child selectors | 18:39 |
replaceafill | to be more specific :) | 18:39 |
aelkner | so i think i understand the difference between .page .body and .page > .body | 18:39 |
replaceafill | excellent :) | 18:39 |
aelkner | the first is like // in xpath where the second is like / | 18:39 |
replaceafill | that sounds about right :) | 18:40 |
aelkner | / means any descendant and / means child only | 18:40 |
replaceafill | not like the same, but i think you get the idea ;) | 18:40 |
aelkner | / mean any, i meant | 18:40 |
replaceafill | ok, any other question? | 18:40 |
aelkner | i'm trying to chat two /s | 18:40 |
aelkner | why so many class="body" elements | 18:41 |
replaceafill | ah, remember xchat commands start with /... | 18:41 |
aelkner | seems strange | 18:41 |
replaceafill | yeah, not using ids also seems strange to me | 18:41 |
replaceafill | but i got used to it :) | 18:41 |
aelkner | i don't quite understand | 18:41 |
aelkner | isn't it your decision | 18:41 |
aelkner | if you wanted ids instead of classes, you could make them so | 18:42 |
replaceafill | nah, i didnt want to mess with that yet | 18:42 |
replaceafill | i'm waiting for specificity to mess with us :) | 18:42 |
th1a | Isn't the point that classes are better for use across the app? | 18:42 |
replaceafill | like it did in our prevous skin | 18:42 |
aelkner | i just thought body is a strange name for a class that isn't intended for a <body> element | 18:43 |
replaceafill | correct, you have less conflicts | 18:43 |
replaceafill | why not? | 18:43 |
replaceafill | i've seen it used all the time | 18:43 |
th1a | OK, so can we move onto styling the accordion? | 18:43 |
replaceafill | <div><header></header><body></body></div> | 18:43 |
replaceafill | ok | 18:43 |
aelkner | sure | 18:43 |
aelkner | so the in the page 16 example, it's not clear to me which we would select | 18:44 |
aelkner | are the links under 'Local providers' the right level? | 18:44 |
aelkner | or is Global/Local Providers the level for the accordion headings? | 18:45 |
th1a | I said we should start by styling it like a table or form. | 18:45 |
replaceafill | +1 on table styling | 18:46 |
aelkner | i don't understand that statement, please expound | 18:46 |
replaceafill | it's simpler | 18:46 |
th1a | Make the accordions look like the tables (or forms) | 18:46 |
th1a | We can start with tables. | 18:46 |
aelkner | tables have heading rows and cell rows | 18:47 |
aelkner | so the acordion heading should match the table heading? | 18:47 |
th1a | Yes. | 18:47 |
th1a | And have the same alignment, etc. | 18:47 |
th1a | replaceafill can take the lead in getting this rolling. | 18:48 |
replaceafill | ok | 18:48 |
replaceafill | th1a are we making the accordion 100% with | 18:50 |
replaceafill | the table is | 18:50 |
replaceafill | but in this case i don't know if it's appropriate | 18:50 |
replaceafill | since we have no sidebars | 18:50 |
aelkner | i'm looking at page 27 of the guidelines, an it doesn't state which <hn> element to use | 18:50 |
aelkner | just the height of the headings | 18:50 |
th1a | Yes. | 18:51 |
th1a | That is correct. | 18:51 |
th1a | replaceafill: The tables don't cover the whole width. | 18:51 |
replaceafill | aelkner Header text | 18:51 |
replaceafill | so, i'll give them the same width of the "content" part | 18:51 |
th1a | replaceafill, that is, they have left and right margins. | 18:52 |
th1a | Yes. | 18:52 |
th1a | There should be a sidebar on this page anyhow. | 18:52 |
replaceafill | ok | 18:52 |
aelkner | replaceafill, so have you defined a class for table headers with the stuff | 18:54 |
aelkner | from Header text filled in? | 18:54 |
replaceafill | correct | 18:54 |
replaceafill | correct | 18:54 |
replaceafill | look at table.css | 18:54 |
aelkner | ok | 18:54 |
replaceafill | ok, i added jquery-ui.css | 18:56 |
replaceafill | and added widths for .ui-accordion | 18:56 |
replaceafill | i'll center them temporarily, ok? | 18:57 |
aelkner | replaceafill, what do you mean, 'added jquery-ui.css'? | 18:58 |
aelkner | i already did that, didn't i? | 18:58 |
aelkner | you mean adding the resource or file inclusion? | 18:58 |
replaceafill | aelkner i'm doing it in the testing instance | 18:58 |
replaceafill | both | 18:58 |
aelkner | isn't the testing image pulling from the sprint branch? | 18:59 |
aelkner | testing instance, i mean | 18:59 |
replaceafill | ok hold on | 18:59 |
replaceafill | are you going to do this and want me only to update the instance? | 18:59 |
aelkner | do what? | 18:59 |
replaceafill | changing the css for accordions | 19:00 |
aelkner | answer my question, please | 19:00 |
aelkner | the instance? | 19:00 |
replaceafill | the testing instance doesnt pull automatically | 19:00 |
aelkner | yeah, but you start and stop it, so you can pull, too | 19:00 |
aelkner | i don't get how you are adding code that is already there | 19:01 |
replaceafill | ok, you do the css changes and i just pull restart | 19:01 |
replaceafill | ok? | 19:01 |
aelkner | why are you ignoring me? | 19:01 |
replaceafill | aelkner i'm not ignoring you | 19:01 |
th1a | One of you has to do the typing. | 19:02 |
replaceafill | we're both referring to ~schooltool-owners/schooltool/flourish | 19:02 |
replaceafill | correct? | 19:02 |
replaceafill | aelkner ? | 19:02 |
aelkner | yes | 19:02 |
aelkner | that's the branch that the test instnace shold run off of | 19:02 |
replaceafill | flourish doesnt have any jquery-ui.css resource in that branch | 19:02 |
aelkner | so we all know what is what | 19:02 |
aelkner | yvl didn't merge my branch? | 19:02 |
replaceafill | http://bazaar.launchpad.net/~schooltool-owners/schooltool/flourish/revision/2854 | 19:03 |
aelkner | no wait, yes he did | 19:03 |
replaceafill | Merge Alans jquery work | 19:03 |
replaceafill | *i* don't see any jquery-ui.css resource file for flourish in there... | 19:03 |
aelkner | so you see the part where i added jquery-ui.css? | 19:03 |
aelkner | main.pt | 19:04 |
* replaceafill sighs | 19:04 | |
replaceafill | aelkner ok | 19:04 |
replaceafill | i'm referring to FILE RESOURCE for our own customizations | 19:04 |
replaceafill | what you added there is jquery ui standard css | 19:05 |
replaceafill | context/++resource++jquery-ui/theme/jquery-ui.css | 19:05 |
aelkner | what are you talking about? | 19:05 |
aelkner | that's the only jquery-ui.css i know of | 19:05 |
replaceafill | i added one!!! | 19:06 |
replaceafill | for our own css | 19:06 |
aelkner | called? | 19:06 |
replaceafill | jquery-ui.css :/ | 19:06 |
aelkner | where? | 19:06 |
replaceafill | schooltool/skin/flourish/resources | 19:06 |
replaceafill | aelkner it's in the testing instance!!! | 19:06 |
aelkner | ah, ok, with the same name | 19:06 |
replaceafill | yes | 19:06 |
aelkner | you see why i got confused | 19:06 |
replaceafill | no! | 19:07 |
aelkner | maybe ot such a good name | 19:07 |
replaceafill | :D | 19:07 |
aelkner | how about jquery-ui-overrides.css | 19:07 |
replaceafill | ok, i'll call it foobar.css, ok? | 19:07 |
replaceafill | :) | 19:07 |
aelkner | stop telling me names dn't matter, they do | 19:07 |
replaceafill | why do you need the overrides part? | 19:07 |
aelkner | isn't that what the file does | 19:08 |
replaceafill | i'll let th1a decide on this | 19:08 |
replaceafill | my head hurts :( | 19:08 |
aelkner | with the name you have it now, it impies that it is a copy | 19:08 |
aelkner | of the jquery-ui file | 19:08 |
* th1a sighs. | 19:08 | |
aelkner | you guys have no patience | 19:09 |
replaceafill | sorry aelkner | 19:09 |
aelkner | forget it, call it foobar.css | 19:09 |
aelkner | that will help me understand it | 19:09 |
th1a | I don't know which name is better. Let's move on. | 19:09 |
replaceafill | :D | 19:10 |
aelkner | i wasn't asking th1a | 19:10 |
aelkner | anyway | 19:10 |
aelkner | replaceafill, did you push your new file? | 19:10 |
aelkner | should i be looking at your branch? | 19:10 |
replaceafill | aelkner no | 19:10 |
replaceafill | aelkner i'm working on the testing instance, i cannot push from there | 19:11 |
aelkner | well, thats me a lot | 19:11 |
replaceafill | i work this way so th1a can see the changes immediately | 19:11 |
aelkner | i meant to say, that helps me a lot | 19:11 |
aelkner | we're supposed to using bzr for collaboration purposes, aren't we? | 19:12 |
replaceafill | ok, i'm moving away from the testing instance... | 19:13 |
replaceafill | back to my personal branch | 19:13 |
replaceafill | hold on, i'll sync my changes... | 19:13 |
aelkner | you cold switch the testing instance to your branch while we collaborate? | 19:14 |
replaceafill | anything to make you happy aelkner | 19:14 |
replaceafill | :) | 19:14 |
replaceafill | and stopping my head from hurting ;) | 19:14 |
aelkner | don't patronize me, i don't deserve that | 19:14 |
replaceafill | i'm not, honestly | 19:14 |
aelkner | we just need a way to see each other's changes and have th1a see them quickly | 19:15 |
aelkner | i'd recommend having the instance be tied to your branch | 19:15 |
replaceafill | i know aelkner | 19:16 |
aelkner | and you can merge from the sprint branch | 19:16 |
replaceafill | i know, i'm doing it... | 19:16 |
th1a | We did this last week aelkner. | 19:16 |
aelkner | ok, so let me know when you've pushed you css changes | 19:16 |
replaceafill | i will | 19:16 |
replaceafill | ok | 19:20 |
replaceafill | setting new instance with my personal branch... | 19:21 |
replaceafill | aelkner i pushed the change i was referring to | 19:21 |
replaceafill | lp:~replaceafill/schooltool/flourish | 19:21 |
aelkner | ok, i'm looking at the new file now | 19:21 |
replaceafill | and i added a comment to jquery-ui.css that may helps | 19:21 |
aelkner | ok, should i be the one who builds this filoe now? | 19:22 |
aelkner | i can do that so that i get up to speed with the guidelines | 19:23 |
aelkner | i think that is what th1a wants, right | 19:23 |
replaceafill | ok... | 19:23 |
th1a | If you feel up to it aelkner. | 19:23 |
aelkner | replaceafill, it's up to you | 19:24 |
replaceafill | go ahead, you do it | 19:24 |
replaceafill | i'll merge your changes | 19:24 |
aelkner | ok, i'll give it a shot | 19:24 |
replaceafill | when you want to show it to th1a | 19:25 |
aelkner | yeah, i'll let you know when i have something pushed | 19:25 |
th1a | Talk about what you are doing, aelkner. | 19:27 |
th1a | Otherwise I'll just have replaceafill get to work on his Cambodia stuff. | 19:27 |
replaceafill | thanks! | 19:28 |
aelkner | th1a, so i'm going to be looking at the guidelines and the changes from | 19:28 |
aelkner | Firday and add overrides for accordion styles to the new css file replaceafill just added | 19:29 |
aelkner | after i've pushed, i'll let you guys know | 19:29 |
th1a | tbh, what I needed replaceafill for is to make sure aelkner is making changes in the right files and with the right style. | 19:29 |
th1a | (coding style) | 19:29 |
th1a | So if aelkner knows what he is doing in those respects, we can excuse replaceafill. | 19:30 |
aelkner | yep | 19:30 |
replaceafill | aelkner just stick to skin/flourish/resources/jquery-ui.css | 19:30 |
replaceafill | ok? | 19:30 |
replaceafill | if you think we need to change something in the other files, ping me | 19:31 |
replaceafill | because that could be a RED FLAG ;) | 19:31 |
replaceafill | (using th1a terminology) | 19:31 |
th1a | If aelkner can't use other styles directly, this makes this organizationally simpler. | 19:32 |
th1a | Since he has to retype everything anyhow. | 19:32 |
replaceafill | we should think about using skype sometime... | 19:33 |
replaceafill | typing doesnt help me in this kind of confusing | 19:33 |
replaceafill | confusion | 19:33 |
replaceafill | :) | 19:33 |
aelkner | me too, sometimes skype would help avoid confusion | 19:34 |
aelkner | however, we would want to limit our use of it since the chat log is like the mailing list | 19:35 |
aelkner | where a skype conversation is forever lost once terminated | 19:35 |
th1a | More to the point, aelkner and my first attempt at Skype chatting didn't go very well. | 19:36 |
th1a | OK, so replaceafill is excused? | 19:37 |
th1a | And aelkner should be pinging me as he goes so I can pull his branch and check his work. | 19:37 |
*** menesis has quit IRC | 19:43 | |
replaceafill | ok, testing instance with my personal branch in place, in case we need it | 19:45 |
replaceafill | http://69.164.203.135:6660/persons/alvaro | 19:45 |
th1a | I can just run aelkner's branch locally. | 19:46 |
replaceafill | ok | 19:46 |
th1a | I don't want to start another conversation. | 19:46 |
replaceafill | :D | 19:46 |
th1a | I'm going to have lunch. I'd like you to work on this this afternoon aelkner and keep me in the loop. | 19:48 |
aelkner | ok | 19:49 |
*** menesis has joined #schooltool | 20:26 | |
th1a | How's it coming aelkner? | 20:32 |
* replaceafill goes to have lunch | 21:55 | |
th1a | aelkner: Do you have the spreadsheet David is trying to import? | 22:00 |
aelkner | it was in one of the email thres, yes | 22:04 |
aelkner | threads | 22:04 |
aelkner | th1a, i can work on the niepa issue or the ui this afternoon, but not both | 22:10 |
*** asharma has quit IRC | 22:11 | |
th1a | Well, can you look at the spreadsheet for five minutes and see if it is something obvious? | 22:25 |
aelkner | i looked, and he has two rows that have FALSE filled in for columns that are for demographics | 22:26 |
th1a | OK, why don't you tell david to change them to strings. | 22:26 |
aelkner | that's the only errors that he has from his screenshot | 22:26 |
th1a | OK -- easy, done. | 22:27 |
th1a | Send him an email. Thanks. | 22:27 |
aelkner | yes, i just checked, and the cells were not strings but =FALSE() | 22:27 |
th1a | In the spreadsheet. | 22:28 |
aelkner | that wasn't even obvious to me when i first looked, but one has to click on the cell to really know | 22:28 |
aelkner | i just say FALSE and thought that it was a string | 22:28 |
th1a | OK. Let him know that and we'll move on. | 22:28 |
th1a | Is that from the export? | 22:28 |
aelkner | ok, email sent | 22:30 |
th1a | Thanks. | 22:31 |
aelkner | i don't know if he created those rows from exporting or manually | 22:31 |
th1a | Are they things that it makes sense to be true/false? | 22:31 |
aelkner | that was part of the demographics work i did last ear, to create BooDemographicField | 22:33 |
aelkner | Bool | 22:33 |
aelkner | so yes | 22:33 |
th1a | So they are mostly strings and a few excel functions? Are some correct and some wrong? | 22:34 |
aelkner | only the =FALSE() cells are wrong, and they are the only listed errors in the screenshot | 22:35 |
th1a | But some are correct? | 22:35 |
aelkner | what do ou mena?y | 22:35 |
th1a | Are there some "FALSE" strings mixed with some =FALSE() functions? | 22:35 |
aelkner | no | 22:36 |
th1a | Are there any TRUE's that are correct? | 22:36 |
aelkner | there are no trues, and only the nine =FALSE() cells | 22:36 |
th1a | So in all probability it is our bug -- or we need to check for one. | 22:36 |
th1a | I"ll file it. | 22:36 |
th1a | And you can move on for now. | 22:37 |
aelkner | so i figured out that background-image: none; works for getting rd of the accordion background | 22:37 |
th1a | ok. | 22:38 |
aelkner | i sent a screenshot | 22:40 |
aelkner | i need to do the div of the accordion now | 22:40 |
th1a | There's still a gradient there right? | 22:41 |
aelkner | gradient? | 22:43 |
th1a | White at top, switching to gray? | 22:43 |
th1a | Or am I imagining it. | 22:43 |
th1a | No, it is a gradient. | 22:44 |
th1a | Take everything above the accordion out in the main body. The name is already at the top. | 22:45 |
aelkner | replaceafill, ayt? | 22:55 |
replaceafill | aelkner back | 23:05 |
aelkner | what do you think about FlourishPersonView inheriting from PersonView | 23:07 |
aelkner | which has its own template, which i guess is ignored because of class inheritance order rules | 23:08 |
aelkner | and what i'm wondering is where the form comes from | 23:08 |
replaceafill | i havent looked close at it | 23:08 |
aelkner | it's a mess | 23:09 |
th1a | Is there any reason to inherit from the old view? | 23:10 |
aelkner | well, maybe not if we don't need the display form anymore | 23:11 |
aelkner | it contains the fields of IBasicPerson (first_name, last_name) | 23:11 |
aelkner | plus all the demographic fields | 23:11 |
aelkner | but if we create a viewlet for demos | 23:12 |
aelkner | and make that the first accordion, then we have it | 23:12 |
th1a | OK then. | 23:12 |
replaceafill | "viewlet for demos" means "viewlet for person demographic fields" | 23:13 |
replaceafill | ? | 23:13 |
*** jelkner has quit IRC | 23:13 | |
aelkner | yes | 23:15 |
replaceafill | what about data like gender, date of birth? | 23:15 |
th1a | That applies to everyone? | 23:16 |
replaceafill | it's a core attribute in the person class | 23:17 |
th1a | We could just always have that at the beginning of the demographics field. | 23:17 |
th1a | s | 23:17 |
replaceafill | we should | 23:17 |
replaceafill | prefix, middle name, etc | 23:17 |
th1a | This is going to take a little customization. | 23:19 |
th1a | But let's not veer off into that yet. | 23:19 |
aelkner | th1a, replaceafill, i sent you guys a screenshot | 23:23 |
* replaceafill looks | 23:23 | |
replaceafill | aelkner can you push your changes? | 23:24 |
aelkner | sure | 23:24 |
th1a | You've got an orange halo around the advisory heador. | 23:24 |
th1a | Also, the arrows could be the same color as the text. | 23:24 |
aelkner | pushed | 23:25 |
th1a | Now... here's the problem. | 23:26 |
th1a | The results inside there should probably be laid out as tables, too. | 23:27 |
th1a | I guess there is a table sub-section header. | 23:27 |
replaceafill | yes | 23:27 |
th1a | So is this currently based on the tables or forms? | 23:27 |
aelkner | jstrees | 23:27 |
th1a | I mean, the accordion. | 23:27 |
aelkner | based on a div that include a series of <h5><div> pairs | 23:28 |
th1a | The style? | 23:28 |
th1a | What you just did aelkner. | 23:29 |
aelkner | i based the accordion header style on the table header style from the guidelines | 23:29 |
th1a | OK. | 23:29 |
aelkner | but the body of the viewlet is nother matter | 23:29 |
th1a | So let's format the results as tables, using the table sub-section header style. | 23:29 |
th1a | But we'll need some left and right margin. | 23:30 |
th1a | It'll really be a sub-table. | 23:30 |
aelkner | so effectively, you're saying that all the viewlets need to be recoded to not use jstree | 23:31 |
th1a | Yes. | 23:31 |
th1a | Just make them tables. | 23:31 |
aelkner | i wish yvl were available to say how he'd prefer i do that | 23:31 |
aelkner | the viewlets are presently spread out in the various schooltool packages | 23:32 |
aelkner | course, group, basicperson | 23:32 |
aelkner | the question is, do i create the new ones next to the old ones | 23:32 |
aelkner | or do we want to start to think about putting these things together | 23:32 |
aelkner | because having flourish views spread out all over the old code seems sloppy | 23:33 |
aelkner | and will probably cause us to scratch our heads at times wondering what goes where | 23:33 |
th1a | Well, right now it is still easy to move things. | 23:33 |
th1a | So don't sweat it. | 23:34 |
th1a | yvl can move things around if he wants. | 23:34 |
replaceafill | aelkner could you remove of the <style> element and move that to the .css file please? | 23:35 |
replaceafill | <style type="text/css"> | 23:36 |
replaceafill | h5.ui-accordion-header { | 23:36 |
replaceafill | padding-left: 2em; | 23:36 |
replaceafill | } | 23:36 |
replaceafill | </style> | 23:36 |
aelkner | ok | 23:36 |
th1a | Oh. | 23:36 |
th1a | Yes, consider those entirely forbidden forever. | 23:37 |
replaceafill | :D | 23:37 |
th1a | 'cause that's something that's not easy to move and fix. | 23:37 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!