273
I Use This!
Activity Not Available

News

Posted over 12 years ago
After implementing a prototype for sorting functions in Requests, I needed to refine the UI and get the sorting buttons to work correctly with jQuery Mobile. The problem was when I clicked on a button to re-order the list of requests, the action ... [More] would complete properly, but the selected button would not be highlighted. This is the ideal view I would like to have: I re-examined the code in the prototype, and realized these sorting buttons were laid out as control group buttons as follows: <div data-role="controlgroup" data-type="horizontal"> <a href="#" onclick="render_list('date'); $('#request_list').listview('refresh'); return false" data-role="button" data-theme="b">Date</a> <a href="#" onclick="render_list('requester'); $('#request_list').listview('refresh'); return false" data-role="button">Requester</a> <a href="#" onclick="render_list('target'); $('#request_list').listview('refresh'); return false" data-role="button">Target</a> <a href="#" onclick="render_list('state'); $('#request_list').listview('refresh'); return false" data-role="button">State</a> </div> After some web research, I learned that control group buttons might not provide what I wanted. More than one button in a control group can be active at a time. I also looked at the demos and examples on jQuery Mobile website. For control group buttons, there doesn’t seem to be any highlighting for the selected button. There is a millisecond of color change when the button is being clicked. But after the clicking is finished, the buttons return to their default data-theme.  One thing I could think of to make this highlighting happen for control group buttons is to dynamically change the data-theme for each selected button, but it seems to be an overkill for this tiny issue. On the other hand, radio buttons seem to perform exactly the way I wanted. With radio buttons, the highlighting comes automatically once the button is selected (the newly selected button is added to the selector class, as the previously selected one is removed from there). A second option to fix the button highlighting would be to change the control group buttons to radio buttons. A group of radio buttons always have at least one option selected, and that selected button is always highlighted. This would work perfectly on the Request view page, as requests would always display sorted by date. (Check out jQuery Mobile documentation on radio buttons) Switching the UI from control group buttons to radio buttons was easy: <div data-role="fieldcontain"> <fieldset data-role="controlgroup" data-type="horizontal" > <input type="radio" name="radio-choice-1" id="radio-choice-1" value="date" checked="checked" /> <label for="radio-choice-1">Date</label> <input type="radio" name="radio-choice-1" id="radio-choice-2" value="requester" /> <label for="radio-choice-2">Requester</label> <input type="radio" name="radio-choice-1" id="radio-choice-3" value="target" /> <label for="radio-choice-3">Target</label> <input type="radio" name="radio-choice-1" id="radio-choice-4" value="state" /> <label for="radio-choice-4">State</label> </fieldset> </div> But binding an onclick event to the radio buttons took a bit effort. The trick was to use “change” instead of “click.” // initial render after page load $(document).ready(function(){ render_list("date"); $("input[type='radio']").bind("change", function(){ var selection=$(this).val(); //alert("Criterion changed. Selected: "+selection); render_list(selection); $('#request_list').listview('refresh'); }) }); Now the buttons are correctly implemented. The final Requests views look like the following: - – - – - – - [Less]
Posted over 12 years ago
Hi, here’s a small summary of the 11th (coding) week. This week I spent most of my time with working on the wc code. DONE: project wc: added commit and update methods lots of wc code refactoring TODO: project wc: commit only specific files for a ... [More] package instead of the complete package (the package wc class already supports this) (use case: osc ci pkg1/file pkg1/foo pkg2/bar pkg3) convert old working copies to the new format package wc: update: add support to specify stuff like “expand”, “linkrev” etc. project wc: add a revert method (to restore a package wc with state ‘!’) project/package wc: support diff package wc: implement a pull method (does the same as “osc pull”) Marcus [Less]
Posted over 12 years ago
Sixth in a long series of complaints... See part 1 and part 2 and part 3 and part 4 and part 5 for previous atrocities. There's nothing like waking up and receiving in your inbox, a few scant hours after the merge window has opened up again, a ... [More] plea for why you haven't already reviewed and applied all 117+ patches that the author sent to you a few weeks ago, back when they well knew you could not apply them due to the merge window being closed. Oh, and to top it all off, as the message was sent in HTML format, it didn't hit the mailing lists, I was the only one who received it. Because of that, I figured it was better if I just ignored it as well, just like the vger.kernel.org filters did. I think I'll just ignore this whole set of patches until after LinuxCon Vancouver which should give me enough time to cool off. This message brought to you by your favorite convicted monopolist. [Less]
Posted over 12 years ago
On Wednesday we'll do the experiment to present all KDE sprints which happened within the last year in one hour. We have speakers lined up, slides prepared, and just need you to come and listen. The session is happening on Wednesday, August 10th, at ... [More] 10am in room 1.205 here at the desktop summit. See the workshop program for more details.We had such a great set of no less than 21 sprints over the last year. So it will be exciting and fun to see a compressed version of that in one go. I'm looking forward to see you at the session on Wednesday. [Less]
Posted over 12 years ago
Hacked up some quick artwork for a countdown image for the openSUSE Conference 2011.If you want to use it on your blog, website, whatever, use the following links to the image: Large (400x400 pixels): http://counter.opensuse.org/conf/2011/large ... [More] Medium (256x256 pixels): http://counter.opensuse.org/conf/2011/medium Small (130x130 pixels): http://counter.opensuse.org/conf/2011/small If you don't like the artwork, patches are welcome ;) Obviously, the number of remaining days is updated every day and, hence, that countdown is always up-to-date (it is relative to the CEST timezone though, where the event takes place). [Less]
Posted over 12 years ago
Up early, quick breakfast with Colin, frantic hacking at LibreOffice slides (and code) for talk later. Taxi to the venue, setup, spoke - bit tired, but got a few jokes in: publicly demo'd my pet project: LibreOffice on-line for the first ... [More] time; video to follow as/when I'm back from vacation. Slides (as hybrid PDF - ie. load in impress to edit as slides): NB: Broadway is Alex Laarson's baby, and will ship as a feature in gtk+ 3.2 (the next release). I hope to have a high-quality gtk3 port finished for LibreOffice 3.5 - this is a prototype that is unfinished. To get it working, you will need the old (pre-one-git) LibreOffice, and the libs-gui feature/gtk3 branch. You will need master gtk3 compiled with --enable-broadway and GDK_BACKEND=broadway exported, to enable websockets in your browser, and so on. Personally I believe that this provides a great path towards a full feature web office suite. Better, that any size, space, collaboration etc. work in this direction is useful (via. 100% code-sharing) both for the thick client, and the web client. My view on re-writing the office suite in javascript (necessary for off-line use) is that this is fundamentally duplicative, wasteful and un-fortunate. Chatted to misc. people afterwards, out for lunch with the Lanedo guys, Lennart etc. Left in a hurry to inject my reprap slides into the lightning talks: Wandered around, gave a few demos to some great guys of LibreOffice on broadway, lots of interest, and a quick interview on the topic. Misc. other interesting talks, poked Marc's SPICE talk's LibreOffice / projecting goodness; we rather need some hooks into impress' presenter view to allow easy switching to cloned mode for demos, and to swap the outputs too I think. Met up with Mike and Bradley, out with some foundations guys for dinner and interesting discussion. On to the party, much chatting with various people, synched with JRB, before heading back to the hotel with Rosanna too, and up rather late. Checked mail - amazed to get my first ever patch as a .docx file (from some budding reprap hacker). [Less]
Posted over 12 years ago
As part of GSoC Project, I am working on SaX3 and I have completed the monitor module. You can get the latest repo from my home repository http://download.opensuse.org/repositories/home:/manugupt1/ Please test it thoroughly,and let me know if common ... [More] troubleshooting use cases for a single monitor is supported. If there is anything missing let me know. Xinerama is not supported For both factory and 11.4. Next up is touchpad, which I will finish by this thursday. And will begin pencil downs the following week onwards. [Less]
Posted over 12 years ago
You might know a web tool call Wordle. It’s a simple way how to create nice word clouds from texts. It has one disadvantage though. It runs as a web service, so you cannot run it offline. I tried to find the source but the only thing I found was this ... [More] FAQ answer, where Jonathan (the author) mentioned working for IBM. After few search queries I found Word-Cloud Generator, which seems like the Wordle predecessor from IBM that can be run offline. After some fiddling with the tool I present you these (word clouds from 3 big openSUSE IRC channels I am on): #opensuse-buildservice #opensuse-factory #opensuse-project Come on, join our IRC channels and have a lot of fun! [Less]
Posted over 12 years ago
Up; to the conference venue to catch Dirk's talk. Caught up with Lanedo guys, sculled around the hallway track catching up with people left & right. Lunch with Guy, Dirk & Stormy. Amused by the annual, irreverant GNOME update ... [More] talk; pleased by Robohash magic - it seems I need to attack the hashing, to work out how to adjust my deed-poll form to get the best robot look. Fun, out with Guy, Jake and some Intel chaps for ice-cream & smoothies, quick prep; (C) assignment panel with Mark - barely scratched the surface of the problem space, but perhaps productively. Out for dinner with Lennart, Federico & co. Met up with the rest of the team later, up late talking to Dave & Alison. [Less]
Posted over 12 years ago
Digikam 2.0 got released recently and while I am really happy about its active development there is one thing in digikam which I am still struggling with – RAW image processing. Yet since there was progress I would like to share my findings which ... [More] will hopefully help others having the same trouble. If your camera supports shooting pictures in RAW format you might want to try that feature. However for those that are not into the details of (RAW) image processing the result is quite disappointing if you use digikam and its defaults. Pictures are too dark and colours dull. If you want to pull beginners into RAW image usage you have to either push them to read some documentation in order to get satisfying results or pull the user by providing defaults that lead to motivating results and support/feed the user’s curiosity which in return will make him search and read further information without any pushing. RAW picture with default settings and Highlights set to "rebuild" The beauty of RAW images is that you can do a lot of things and fine-tuning until the image fits your expectations, yet beginners’ expectation is simply to get a picture that looks the same or better than the JPG preview they see in digikam. Thus defaults should provide exactly that as a starting point for further processing. JPG preview of RAW image Other RAW image processing apps like darktable do this by e.g. providing base curves for your camera that put some vibrancy and colour into the dark and dull RAW data and hence motivate the user to get deeper into the possibilities of RAW image processing. Digikam currently does not provide that feature. Using the luminosity curve However, with a little work one can get there. If you set digikam to open the demosaicing tool for RAW images (settings > RAW decoding > Always open the RAW Import Tool to customise settings) opening a RAW image in the editor will show you the tool in the sidebar. First thing to notice: if you set White balance > Highlights to anything but “solid white” the picture will become even darker. Not sure why this does not happen with e.g. darktable since it does also handle highlights. But I think this is also the reason why in digikam the luminosity curve has to be pushed a lot further than in darktable. I set Highlights to “rebuild” in digikam. Now you have to move to the post processing tab. There is more than one way to get to a satisfying result and you can even combine them. You can lighten-up the picture with setting gamma to e.g. 1.4 and then play with saturation and the other settings. Another and my preferred way is to use the luminosity curve. To start with you can try to arrange it in a way that the RAW image looks like the JPG preview. To do so you have to adjust the luminosity curve which maps the input colours to the x-axis and the output colours to the y-axis. Hence moving the curve above the linear level will brighten-up the respective colour area. If you install an app that uses base curves such as darktable you can try to mimic the curve it uses for your camera. Having the picture you are processing digikam’s album view you can quickly change between those two windows by pressing ALT+TAB and compare the pictures without having to save all the time. RAW picture with Highlights set to "rebuild" and luminosity curve applied Luminosity curve Some hints regarding the handling of the curve. Moving the points can become quite tricky if they are close. So if it happens that clicking on a point to move it makes digikam move the one left to it instead, try clicking a bit to the right of the point you actually want to move. In case you want to start all over again click on the tiny icon at the origin of the curve. You will have to test your curve on different pictures since the colour spectrum is different and your curve should fit all pictures equally well. To save a curve you have to import the picture. Obviously there is not the one curve that is perfect for everybody – not even a curve that is perfect for all one’s pictures. So there should actually be two luminosity curves in the processing. One base curve that fits as default for one’s camera and one does not fiddle with all the time. And then a second luminosity curve which one can fiddle with per picture to make slight adaptations without changing the base curve. Saving and sharing luminosity curves Since digikam cannot save several curves and only keeps one, you have to work around that issue. What I do is to simply copy ~/.kde4/share/config/digikamrc to a sub-folder and keep versions of the curve for different cameras. If you have a look at [RAW Import Settings] within that file you will see the curve’s settings which you can copy and paste in order to share/import it. If digikam does one day implement a feature to save/load curves and maybe even suggesting one depending on the camera manufacturer, it will need some working curves to offer – so if you have a working luminosity curve please share it and post it into the bug report that describes the feature. Don’t forget to add your camera model to the post. The sad news is that all of this does not work with the batch queue manager since there is no possibility to set any post processing values for the automatic handling. This would be another place where it would come in handy if one could save/load curves. So here are the settings for a Panasonic LX3 (keep in mind to set Highlights to Rebuild otherwise the curve makes the image too bright): RawCurveChannel0Point0=0,0 RawCurveChannel0Point1=1791,4438 RawCurveChannel0Point10=-1,-1 RawCurveChannel0Point11=43263,61781 RawCurveChannel0Point12=-1,-1 RawCurveChannel0Point13=51455,63829 RawCurveChannel0Point14=-1,-1 RawCurveChannel0Point15=60159,64853 RawCurveChannel0Point16=65535,65535 RawCurveChannel0Point17=-1,-1 RawCurveChannel0Point2=6399,14337 RawCurveChannel0Point3=10495,22870 RawCurveChannel0Point4=15103,31403 RawCurveChannel0Point5=19455,40960 RawCurveChannel0Point6=24575,48128 RawCurveChannel0Point7=28671,52906 RawCurveChannel0Point8=-1,-1 RawCurveChannel0Point9=35839,58368 RawCurveChannel0Type=0 RawCurveChannel1Point0=0,0 RawCurveChannel1Point1=-1,-1 RawCurveChannel1Point10=-1,-1 RawCurveChannel1Point11=-1,-1 RawCurveChannel1Point12=-1,-1 RawCurveChannel1Point13=-1,-1 RawCurveChannel1Point14=-1,-1 RawCurveChannel1Point15=-1,-1 RawCurveChannel1Point16=65535,65535 RawCurveChannel1Point17=-1,-1 RawCurveChannel1Point2=-1,-1 RawCurveChannel1Point3=-1,-1 RawCurveChannel1Point4=-1,-1 RawCurveChannel1Point5=-1,-1 RawCurveChannel1Point6=-1,-1 RawCurveChannel1Point7=-1,-1 RawCurveChannel1Point8=-1,-1 RawCurveChannel1Point9=-1,-1 RawCurveChannel1Type=0 RawCurveChannel2Point0=0,0 RawCurveChannel2Point1=-1,-1 RawCurveChannel2Point10=-1,-1 RawCurveChannel2Point11=-1,-1 RawCurveChannel2Point12=-1,-1 RawCurveChannel2Point13=-1,-1 RawCurveChannel2Point14=-1,-1 RawCurveChannel2Point15=-1,-1 RawCurveChannel2Point16=65535,65535 RawCurveChannel2Point17=-1,-1 RawCurveChannel2Point2=-1,-1 RawCurveChannel2Point3=-1,-1 RawCurveChannel2Point4=-1,-1 RawCurveChannel2Point5=-1,-1 RawCurveChannel2Point6=-1,-1 RawCurveChannel2Point7=-1,-1 RawCurveChannel2Point8=-1,-1 RawCurveChannel2Point9=-1,-1 RawCurveChannel2Type=0 RawCurveChannel3Point0=0,0 RawCurveChannel3Point1=-1,-1 RawCurveChannel3Point10=-1,-1 RawCurveChannel3Point11=-1,-1 RawCurveChannel3Point12=-1,-1 RawCurveChannel3Point13=-1,-1 RawCurveChannel3Point14=-1,-1 RawCurveChannel3Point15=-1,-1 RawCurveChannel3Point16=65535,65535 RawCurveChannel3Point17=-1,-1 RawCurveChannel3Point2=-1,-1 RawCurveChannel3Point3=-1,-1 RawCurveChannel3Point4=-1,-1 RawCurveChannel3Point5=-1,-1 RawCurveChannel3Point6=-1,-1 RawCurveChannel3Point7=-1,-1 RawCurveChannel3Point8=-1,-1 RawCurveChannel3Point9=-1,-1 RawCurveChannel3Type=0 RawCurveChannel4Point0=0,0 RawCurveChannel4Point1=-1,-1 RawCurveChannel4Point10=-1,-1 RawCurveChannel4Point11=-1,-1 RawCurveChannel4Point12=-1,-1 RawCurveChannel4Point13=-1,-1 RawCurveChannel4Point14=-1,-1 RawCurveChannel4Point15=-1,-1 RawCurveChannel4Point16=65535,65535 RawCurveChannel4Point17=-1,-1 RawCurveChannel4Point2=-1,-1 RawCurveChannel4Point3=-1,-1 RawCurveChannel4Point4=-1,-1 RawCurveChannel4Point5=-1,-1 RawCurveChannel4Point6=-1,-1 RawCurveChannel4Point7=-1,-1 RawCurveChannel4Point8=-1,-1 RawCurveChannel4Point9=-1,-1 RawCurveChannel4Type=0 and a Nikon D90. Since I do not have that many pictures off a D90 this curve is not as tested as the one for the LX3. RawCurveChannel0Point0=0,0 RawCurveChannel0Point1=2303,5462 RawCurveChannel0Point10=-1,-1 RawCurveChannel0Point11=-1,-1 RawCurveChannel0Point12=49663,62805 RawCurveChannel0Point13=-1,-1 RawCurveChannel0Point14=-1,-1 RawCurveChannel0Point15=-1,-1 RawCurveChannel0Point16=65535,65535 RawCurveChannel0Point17=-1,-1 RawCurveChannel0Point2=8703,16384 RawCurveChannel0Point3=-1,-1 RawCurveChannel0Point4=16895,32768 RawCurveChannel0Point5=-1,-1 RawCurveChannel0Point6=-1,-1 RawCurveChannel0Point7=29183,49834 RawCurveChannel0Point8=-1,-1 RawCurveChannel0Point9=-1,-1 RawCurveChannel0Type=0 RawCurveChannel1Point0=0,0 RawCurveChannel1Point1=-1,-1 RawCurveChannel1Point10=-1,-1 RawCurveChannel1Point11=-1,-1 RawCurveChannel1Point12=-1,-1 RawCurveChannel1Point13=-1,-1 RawCurveChannel1Point14=-1,-1 RawCurveChannel1Point15=-1,-1 RawCurveChannel1Point16=65535,65535 RawCurveChannel1Point17=-1,-1 RawCurveChannel1Point2=-1,-1 RawCurveChannel1Point3=-1,-1 RawCurveChannel1Point4=-1,-1 RawCurveChannel1Point5=-1,-1 RawCurveChannel1Point6=-1,-1 RawCurveChannel1Point7=-1,-1 RawCurveChannel1Point8=-1,-1 RawCurveChannel1Point9=-1,-1 RawCurveChannel1Type=0 RawCurveChannel2Point0=0,0 RawCurveChannel2Point1=-1,-1 RawCurveChannel2Point10=-1,-1 RawCurveChannel2Point11=-1,-1 RawCurveChannel2Point12=-1,-1 RawCurveChannel2Point13=-1,-1 RawCurveChannel2Point14=-1,-1 RawCurveChannel2Point15=-1,-1 RawCurveChannel2Point16=65535,65535 RawCurveChannel2Point17=-1,-1 RawCurveChannel2Point2=-1,-1 RawCurveChannel2Point3=-1,-1 RawCurveChannel2Point4=-1,-1 RawCurveChannel2Point5=-1,-1 RawCurveChannel2Point6=-1,-1 RawCurveChannel2Point7=-1,-1 RawCurveChannel2Point8=-1,-1 RawCurveChannel2Point9=-1,-1 RawCurveChannel2Type=0 RawCurveChannel3Point0=0,0 RawCurveChannel3Point1=-1,-1 RawCurveChannel3Point10=-1,-1 RawCurveChannel3Point11=-1,-1 RawCurveChannel3Point12=-1,-1 RawCurveChannel3Point13=-1,-1 RawCurveChannel3Point14=-1,-1 RawCurveChannel3Point15=-1,-1 RawCurveChannel3Point16=65535,65535 RawCurveChannel3Point17=-1,-1 RawCurveChannel3Point2=-1,-1 RawCurveChannel3Point3=-1,-1 RawCurveChannel3Point4=-1,-1 RawCurveChannel3Point5=-1,-1 RawCurveChannel3Point6=-1,-1 RawCurveChannel3Point7=-1,-1 RawCurveChannel3Point8=-1,-1 RawCurveChannel3Point9=-1,-1 RawCurveChannel3Type=0 RawCurveChannel4Point0=0,0 RawCurveChannel4Point1=-1,-1 RawCurveChannel4Point10=-1,-1 RawCurveChannel4Point11=-1,-1 RawCurveChannel4Point12=-1,-1 RawCurveChannel4Point13=-1,-1 RawCurveChannel4Point14=-1,-1 RawCurveChannel4Point15=-1,-1 RawCurveChannel4Point16=65535,65535 RawCurveChannel4Point17=-1,-1 RawCurveChannel4Point2=-1,-1 RawCurveChannel4Point3=-1,-1 RawCurveChannel4Point4=-1,-1 RawCurveChannel4Point5=-1,-1 RawCurveChannel4Point6=-1,-1 RawCurveChannel4Point7=-1,-1 RawCurveChannel4Point8=-1,-1 RawCurveChannel4Point9=-1,-1 RawCurveChannel4Type=0 One thing that I am not yet satisfied with is that the LX3 curve has too much green in it – but unfortunately I am unable to get it less green without either the whole picture getting too dark or yellow- and red-ish colours not being as vibrant as I want them. So if you have any hints on how to achieve that I would appreciate it. Maybe this is because digikam darkens the image when rebuilding highlights which forces the user to use a more extreme luminosity curve in order to compensate the darkness – which in other apps one does not have to do. [Less]