<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>GreenRecycleBin</title>
	<atom:link href="http://grbmozilla.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://grbmozilla.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Tue, 01 Nov 2011 07:30:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='grbmozilla.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>GreenRecycleBin</title>
		<link>http://grbmozilla.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://grbmozilla.wordpress.com/osd.xml" title="GreenRecycleBin" />
	<atom:link rel='hub' href='http://grbmozilla.wordpress.com/?pushpress=hub'/>
		<item>
		<title>GSoC2010 Status Update: Week 8</title>
		<link>http://grbmozilla.wordpress.com/2010/07/18/gsoc2010-status-update-week-8/</link>
		<comments>http://grbmozilla.wordpress.com/2010/07/18/gsoc2010-status-update-week-8/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 10:54:40 +0000</pubDate>
		<dc:creator>libras2909</dc:creator>
				<category><![CDATA[GSoC2010]]></category>

		<guid isPermaLink="false">http://grbmozilla.wordpress.com/?p=73</guid>
		<description><![CDATA[July 16, 2010 Ones may take various approach implementing AppleScript support in their Cocoa application. Generally, there are 3 approaches: Subclass NSApplication and implement the functionality there. Create a category of NSApplication and implement the functionality there. Implement the functionality in a NSApplication&#8217;s delegate. Before deciding which approach to take, I started digging through Camino&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=73&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>July 16, 2010</h3>
<p>Ones may take various approach implementing AppleScript support in their Cocoa application. Generally, there are 3 approaches:</p>
<ul>
<li>Subclass NSApplication and implement the functionality there.</li>
<li>Create a category of NSApplication and implement the functionality there.</li>
<li>Implement the functionality in a NSApplication&#8217;s delegate.</li>
</ul>
<p>Before deciding which approach to take, I started digging through Camino&#8217;s source. This is because Camino is written in Mac-native and has a reasonable amount of AppleScript support already implemented. Thanks to Camino&#8217;s well organized source tree, I quickly found what I needed: <a href="http://mxr.mozilla.org/camino/source/camino/src/appleevents/ScriptingSupport.mm">ScriptingSupport.mm</a>.</p>
<p>Camino&#8217;s approach to implementing AppleScript support is a mix of the 2nd and 3rd approaches above. One learns from the code that MainController is NSApplication&#8217;s delegate. Thus, it has the chance to handle Apple events (AppleScript included &#8211; which is mainly Key-Value-Coding, KVC calls). It implements <a href="http://mxr.mozilla.org/camino/source/camino/src/appleevents/ScriptingSupport.mm#128">this method</a> to specify which keys it wishes to handle. Then, for keys it does not handle directly, it passes the keys to other classes <a href="http://mxr.mozilla.org/camino/source/camino/src/appleevents/ScriptingSupport.mm#141">here</a>. The rest of the file specifies categories (a way of adding functions to a class) of existing classes to handle AppleScript events.</p>
<p>Applying Camino&#8217;s approach to Thunderbird is not straightforward because of its cross-platform nature. Initially, ones is interested in finding out which class is NSApplication&#8217;s delegate in Thunderbird. A simple [NSApp delegate] (added somewhere it may be called) shows that MacApplicationDelegate.mm is the delegate. This must be the right place to start hacking. After making some <a href="http://pastebin.mozilla.org/749284">changes</a>, I was able to expose a simple boolean property through AppleScript. However, there are still some concerns about making changes to MacApplicationDelegate.mm because it is compiled into libxulapp_s.a library.</p>
<p>This is the first important step in implementing AppleScript support in Thunderbird. The next step is to design what should be supported through AppleScript. At first, I plan to start with &#8220;composing a new email message&#8221; use case, but this is impossible now, due to Thunderbird&#8217;s different mechanism of handling/sending messages. The only way now to create a new message is through a Compose window. Therefore, I&#8217;ll probably be exposing the address book in the next few weeks.</p>
<p>Lastly, I have also integrated QL-Enabler into the source. The repo can be found <a href="http://bitbucket.org/libras2909/ql-enabler/">here</a>. Simon has kindly package a Thunderbird 3.2a1pre (10.6 SDK) with QuickLook enabled <a href="http://polysom.verilite.de/Website/Inoffizielle_Thunderbird_Versionen_fur_Mac_OS_X_10.6_files/thunderbird-3.2a1pre.en-US.mac.quicklook.dmg">here</a>. *Note* the build is not stable yet. It works nicely when you read the email in the message pane. But if you open the mail in the standalone window, then it sometimes crash when you quicklook the attachments. Thanks a lot, Simon <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grbmozilla.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grbmozilla.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grbmozilla.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grbmozilla.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grbmozilla.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grbmozilla.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grbmozilla.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grbmozilla.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grbmozilla.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grbmozilla.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grbmozilla.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grbmozilla.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grbmozilla.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grbmozilla.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=73&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grbmozilla.wordpress.com/2010/07/18/gsoc2010-status-update-week-8/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71c1618a7bbca95bf12d00fb143f8283?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Libras2909</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC2010 Status Update: Week 6</title>
		<link>http://grbmozilla.wordpress.com/2010/07/16/gsoc2010-status-update-week-6/</link>
		<comments>http://grbmozilla.wordpress.com/2010/07/16/gsoc2010-status-update-week-6/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 15:03:28 +0000</pubDate>
		<dc:creator>libras2909</dc:creator>
				<category><![CDATA[GSoC2010]]></category>

		<guid isPermaLink="false">http://grbmozilla.wordpress.com/?p=67</guid>
		<description><![CDATA[July 2, 2010 After version 1.0 of the extension is available for download, Simon has tested it with a few file formats: RTF -&#62; Works. Shows file icon instead of the preview (highly due to missing of a RTF QuickLook plugin). PDF -&#62; Works in most cases, but sometimes it crashes. If  the same PDF [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=67&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>July 2, 2010</h3>
<p>After version 1.0 of the extension is available for download, Simon has tested it with a few file formats:</p>
<ul>
<li>RTF -&gt; Works. Shows file icon instead of the preview (highly due to missing of a RTF QuickLook plugin).</li>
<li>PDF -&gt; Works in most cases, but sometimes it crashes. If  the same PDF file is tried the next time, then it works. (Random crashes)</li>
<li>JPEG -&gt; Works perfectly.</li>
<li>RAM (Real Player) -&gt; Shows the icon (highly due to missing of a RAM QuickLook plugin).</li>
<li>MP4 -&gt; Works in most cases, but sometimes it crashes. (Random crashes)</li>
<li>TXT -&gt; Works.</li>
<li>HTML -&gt; Works.</li>
</ul>
<p>Several Apple logs collected shows that two functions are causing the problems, QlXpcom::Release() and QlXpcom::URLInDict().</p>
<p>However, QlXpcom::Release() should not be called while Thunderbird is still working. It is called only when Thunderbird is exiting. Thus, the crash should not occur at all while TB is still working. This may be due to instability in 10.6 SDK build. The crash in QlXpcom::URLInDict() is highly due to passing strings around in XPCOM. Moreover, Mozilla XPCOM is undergoing major changes. The new API changes the way how a XPCOM component registers itself. Because my extension makes use of  XPCOM component, I will have to make changes to conform to the new API. However, the tree is expected to be burning for the next few weeks, thus my performance will be greatly affected.</p>
<p>Next week I&#8217;ll be reading various Apple documentations on implementing AppleScript support in Cocoa application.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grbmozilla.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grbmozilla.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grbmozilla.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grbmozilla.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grbmozilla.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grbmozilla.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grbmozilla.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grbmozilla.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grbmozilla.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grbmozilla.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grbmozilla.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grbmozilla.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grbmozilla.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grbmozilla.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=67&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grbmozilla.wordpress.com/2010/07/16/gsoc2010-status-update-week-6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71c1618a7bbca95bf12d00fb143f8283?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Libras2909</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC2010 Status Update: Week 5</title>
		<link>http://grbmozilla.wordpress.com/2010/06/21/gsoc2010-status-update-week5/</link>
		<comments>http://grbmozilla.wordpress.com/2010/06/21/gsoc2010-status-update-week5/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 15:42:29 +0000</pubDate>
		<dc:creator>libras2909</dc:creator>
				<category><![CDATA[GSoC2010]]></category>

		<guid isPermaLink="false">http://grbmozilla.wordpress.com/?p=49</guid>
		<description><![CDATA[June 25, 2010 June 21, 2010 Single attachment preview now integrates into Thunderbird. Temporary files are ensured to handle correctly when Thunderbird (cleanly) exits. Going to add QuickLook option to attachment context menu, and support for multiple attachments preview (slideshow). June 22, 2010 Fix a bug where control to QLPreviewPanel is lost when a new [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=49&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>June 25, 2010</h3>
<h4><em>June 21, 2010</em></h4>
<ul>
<li>Single attachment preview now integrates into Thunderbird.</li>
<li>Temporary files are ensured to handle correctly when Thunderbird (cleanly) exits.</li>
<li>Going to add QuickLook option to attachment context menu, and support for multiple attachments preview (slideshow).</li>
</ul>
<p><a href="http://grbmozilla.files.wordpress.com/2010/06/screen-shot-2010-06-21-at-pm-10-29-14.png"><img class="aligncenter size-medium wp-image-51" title="Picture &quot;QuickLook&quot; in Thunderbird" src="http://grbmozilla.files.wordpress.com/2010/06/screen-shot-2010-06-21-at-pm-10-29-14.png?w=300&#038;h=300" alt="Picture &quot;QuickLook&quot; in Thunderbird" width="300" height="300" /></a></p>
<p><a href="http://grbmozilla.files.wordpress.com/2010/06/screen-shot-2010-06-21-at-pm-10-29-14.png"></a><a href="http://grbmozilla.files.wordpress.com/2010/06/screen-shot-2010-06-21-at-pm-10-31-01.png"><img class="aligncenter size-medium wp-image-52" title="TXT &quot;QuickLook&quot; in Thunderbird" src="http://grbmozilla.files.wordpress.com/2010/06/screen-shot-2010-06-21-at-pm-10-31-01.png?w=300&#038;h=300" alt="TXT &quot;QuickLook&quot; in Thunderbird" width="300" height="300" /></a></p>
<h4><em>June 22, 2010</em></h4>
<ul>
<li>Fix a bug where control to QLPreviewPanel is lost when a new window of Thunderbird is open. Now, the last request (among several ones) to QLPreviewPanel is ensured to have the control.</li>
<li>Adding support for multiple attachments preview (slideshow)</li>
</ul>
<h4><em>June 23, 2010<a href="http://grbmozilla.files.wordpress.com/2010/06/screen-shot-2010-06-23-at-pm-11-11-37.png"><br />
</a></em></h4>
<ul>
<li>Support for multiple attachments (slideshow) is available</li>
<li>Going to add support for hotkey (spacebar), and clean up the code<a href="http://grbmozilla.files.wordpress.com/2010/06/screen-shot-2010-06-23-at-pm-11-11-37.png"><img class="aligncenter size-medium wp-image-63" title="Slideshow &quot;QuickLook&quot; in Thunderbird" src="http://grbmozilla.files.wordpress.com/2010/06/screen-shot-2010-06-23-at-pm-11-11-37.png?w=300&#038;h=293" alt="Slideshow &quot;QuickLook&quot; in Thunderbird" width="300" height="293" /></a></li>
</ul>
<h4><em>June 24, 2010</em></h4>
<ul>
<li>Support for hotkeys is added.</li>
<li>Code cleanup perform.</li>
<li>Prepare the testing suite (including a compiled  release version of Shredder using 10.6 SDK, and the extension itself).</li>
</ul>
<h4><em>June 25, 2010</em></h4>
<ul>
<li>Testing suite is ready and uploaded. Waiting for feedback from developers.</li>
<li>md5 31D092B859EE580D9F54BC915F2A061C, download <a href="https://www.comp.nus.edu.sg/~nguyenld/QL-Enabler/QL-Enabler-testing-suite-v1.0.zip">here</a>.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grbmozilla.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grbmozilla.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grbmozilla.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grbmozilla.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grbmozilla.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grbmozilla.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grbmozilla.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grbmozilla.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grbmozilla.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grbmozilla.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grbmozilla.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grbmozilla.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grbmozilla.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grbmozilla.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=49&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grbmozilla.wordpress.com/2010/06/21/gsoc2010-status-update-week5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71c1618a7bbca95bf12d00fb143f8283?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Libras2909</media:title>
		</media:content>

		<media:content url="http://grbmozilla.files.wordpress.com/2010/06/screen-shot-2010-06-21-at-pm-10-29-14.png?w=300" medium="image">
			<media:title type="html">Picture &#34;QuickLook&#34; in Thunderbird</media:title>
		</media:content>

		<media:content url="http://grbmozilla.files.wordpress.com/2010/06/screen-shot-2010-06-21-at-pm-10-31-01.png?w=300" medium="image">
			<media:title type="html">TXT &#34;QuickLook&#34; in Thunderbird</media:title>
		</media:content>

		<media:content url="http://grbmozilla.files.wordpress.com/2010/06/screen-shot-2010-06-23-at-pm-11-11-37.png?w=300" medium="image">
			<media:title type="html">Slideshow &#34;QuickLook&#34; in Thunderbird</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC2010 Status Update: Week 4</title>
		<link>http://grbmozilla.wordpress.com/2010/06/15/gsoc2010-status-update-week-4/</link>
		<comments>http://grbmozilla.wordpress.com/2010/06/15/gsoc2010-status-update-week-4/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 13:43:45 +0000</pubDate>
		<dc:creator>libras2909</dc:creator>
				<category><![CDATA[GSoC2010]]></category>

		<guid isPermaLink="false">http://grbmozilla.wordpress.com/?p=38</guid>
		<description><![CDATA[June 18, 2010 June 14, 2010 Research about compiling comm-central using 10.6 SDK Successfully compiled my XPCOM component on 10.6 SDK Integration problem due to Shredder doesn&#8217;t register the new component June 15, 2010 Successfully compiled comm-central using 10.6 SDK -&#62; Shredder Successfully integrated XPCOM component to Shreeder -&#62; Now able to open QLPreviewPanel in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=38&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>June 18, 2010</h3>
<h4><em>June 14, 2010</em></h4>
<ul>
<li>Research about compiling comm-central using 10.6 SDK</li>
<li>Successfully compiled my XPCOM component on 10.6 SDK</li>
<li>Integration problem due to Shredder doesn&#8217;t register the new component</li>
</ul>
<h4><em>June 15, 2010</em></h4>
<ul>
<li>Successfully compiled comm-central using 10.6 SDK -&gt; Shredder</li>
<li>Successfully integrated XPCOM component to Shreeder -&gt; Now able to open QLPreviewPanel in Shredder</li>
<li>If your XPCOM is not registered with Shredder, try adding your_lib.dylib to the components/components.list in Shredder.App
<p style="text-align:center;">
<p style="text-align:center;"><img class="size-medium  wp-image-43  aligncenter" title="QLPanel_Shredder" src="http://grbmozilla.files.wordpress.com/2010/06/qlpanel_shredder.png?w=300&#038;h=187" alt="" width="300" height="187" /></p>
</li>
</ul>
<h4><em>June 16, 2010</em></h4>
<ul>
<li>Add File -&gt; Attachments -&gt; &lt;Specific attachment&gt; -&gt; QuickLook</li>
<li>Coding and debugging functionality for single-attachment preview in QuickLook</li>
</ul>
<h4><em>June 17 &#8211; 18, 2010</em></h4>
<p>Debugging shows these problem:</p>
<ul>
<li>My class is not *registered* in the Responder Chain. Therefore it cannot take control of the QLPreviewPanel because &#8211; (void)acceptsPreviewPanelControl never get called.</li>
<li>Difficulty in dealing with Mozilla internal string data types (ACStirng, AString). Converting to const char* for passing to Obj-C function is not reliable, result differs from time to time.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grbmozilla.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grbmozilla.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grbmozilla.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grbmozilla.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grbmozilla.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grbmozilla.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grbmozilla.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grbmozilla.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grbmozilla.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grbmozilla.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grbmozilla.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grbmozilla.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grbmozilla.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grbmozilla.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=38&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grbmozilla.wordpress.com/2010/06/15/gsoc2010-status-update-week-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71c1618a7bbca95bf12d00fb143f8283?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Libras2909</media:title>
		</media:content>

		<media:content url="http://grbmozilla.files.wordpress.com/2010/06/qlpanel_shredder.png?w=300" medium="image">
			<media:title type="html">QLPanel_Shredder</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC2010 Status Update: Week 3</title>
		<link>http://grbmozilla.wordpress.com/2010/06/14/gsoc2010-status-update-week%c2%a03/</link>
		<comments>http://grbmozilla.wordpress.com/2010/06/14/gsoc2010-status-update-week%c2%a03/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 11:14:25 +0000</pubDate>
		<dc:creator>libras2909</dc:creator>
				<category><![CDATA[GSoC2010]]></category>

		<guid isPermaLink="false">http://grbmozilla.wordpress.com/?p=34</guid>
		<description><![CDATA[June 11, 2010 I started this week by trying out David&#8217;s tutorial on Linux and Mac. The tutorial compiled successfully on Linux (with a small additional step to the tutorial). If you&#8217;re following the tutorial on comm-central build, before building your component(s), you should &#8220;mkdir obj-tb-debug/mozilla/extensions/firstxpcom&#8221; (assuming you are at @TOPSRCDIR@). Then you will be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=34&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>June 11, 2010</h3>
<p>I started this week by trying out David&#8217;s tutorial on Linux and Mac. The tutorial compiled successfully on Linux (with a small additional step to the tutorial). If you&#8217;re following the tutorial on comm-central build, before <a href="http://zenit.senecac.on.ca/wiki/index.php/Real_World_Mozilla_First_XPCOM_Component#Building_FirstXpcom">building</a> your component(s), you should &#8220;mkdir obj-tb-debug/mozilla/extensions/firstxpcom&#8221; (assuming you are at @TOPSRCDIR@). Then you will be able to do a &#8220;make&#8221; in obj-tb-debug/mozilla/extensions/firstxpcom to generate the header(s).</p>
<p>Unfortunately, the same process on Mac isn&#8217;t as successful. I had a hard time compiling a Thunderbird debug build using 10.6 SDK. Besides the burning tree, my usual .mozconfig doesn&#8217;t seem to work. However, with a sample .mozconfig from Nomis101, I finally had a working debug build. The next step is to compile my XPCOM component under this new build to make use of QLPreviewPanel class added in 10.6. My goal for next week is implementing some basic functionality for QuickLook in Thunderbird, starting with being able to open a QuickLook panel and display a single attachment preview.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grbmozilla.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grbmozilla.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grbmozilla.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grbmozilla.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grbmozilla.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grbmozilla.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grbmozilla.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grbmozilla.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grbmozilla.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grbmozilla.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grbmozilla.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grbmozilla.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grbmozilla.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grbmozilla.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=34&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grbmozilla.wordpress.com/2010/06/14/gsoc2010-status-update-week%c2%a03/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71c1618a7bbca95bf12d00fb143f8283?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Libras2909</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC2010 Status Update: Week 2</title>
		<link>http://grbmozilla.wordpress.com/2010/06/14/gsoc2010-status-update-week-2/</link>
		<comments>http://grbmozilla.wordpress.com/2010/06/14/gsoc2010-status-update-week-2/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 10:42:45 +0000</pubDate>
		<dc:creator>libras2909</dc:creator>
				<category><![CDATA[GSoC2010]]></category>

		<guid isPermaLink="false">http://grbmozilla.wordpress.com/?p=32</guid>
		<description><![CDATA[June 4, 2010 At the beginning of second week, I finished my reading on Jeff’s “Working without a nib” series. Although all the experiments are on Leopard (which is not current anymore), one can learn many things out of the series. While some people prefer the nib-approach (isn&#8217;t the framework expecting you to do so?), [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=32&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>June 4, 2010</h3>
<p>At the beginning of second week, I finished my reading on <a href="http://lapcatsoftware.com/blog/?s=nibless">Jeff’s “Working  without a nib” series</a>. Although all the experiments are on Leopard (which is not current anymore), one can learn many things out of the series. While some people prefer the nib-approach (isn&#8217;t the framework expecting you to do so?), Jeff pointed out some inconvenience using nib. First of all, you can not search/diff a nib file, thus it is hard to see which changes in the source code may break the nib. Secondly, for the same reason, merging from version control with nibs is frustrated. Lastly, there are times in which &#8220;it’s simply easier to create the UI programmatically than to use a nib&#8221;. In conclusion, if you find yourself stuck in one of these situations, maybe you would like to give &#8220;nib-less&#8221; programming a try <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>The rest of the second week was spent on researching XPCOM technology. Although XPCOM is widely used in many softwares (including Mozilla products), there is just too little guide on this technology. And the situation is much worse for XPCOM on Mac. What seems lacking is a simple step-by-step tutorial that *just* works. Luckily, Blake pointed me to David&#8217;s <a href="http://zenit.senecac.on.ca/wiki/index.php/Real_World_Mozilla_First_XPCOM_Component">XPCOM tutorial</a>. Another good guide is <a href="http://www.csie.ntu.edu.tw/~piaip/docs/CreateMozApp/mozilla-chp-8-sect-2.html">here</a>, although it didn&#8217;t make full use of all the helper macros. Next week I will try David&#8217;s tutorial on Linux and Mac as a starting point to writing my own XPCOM components.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grbmozilla.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grbmozilla.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grbmozilla.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grbmozilla.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grbmozilla.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grbmozilla.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grbmozilla.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grbmozilla.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grbmozilla.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grbmozilla.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grbmozilla.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grbmozilla.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grbmozilla.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grbmozilla.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=32&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grbmozilla.wordpress.com/2010/06/14/gsoc2010-status-update-week-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71c1618a7bbca95bf12d00fb143f8283?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Libras2909</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC2010 Status Update: Week1</title>
		<link>http://grbmozilla.wordpress.com/2010/06/05/gsoc2010-status-update-week1/</link>
		<comments>http://grbmozilla.wordpress.com/2010/06/05/gsoc2010-status-update-week1/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 22:45:14 +0000</pubDate>
		<dc:creator>libras2909</dc:creator>
				<category><![CDATA[GSoC2010]]></category>

		<guid isPermaLink="false">http://grbmozilla.wordpress.com/?p=26</guid>
		<description><![CDATA[May 28, 2010 I have spent most of my first week on reading Cocoa Programming for Mac OS X (Aaron Hillegass). This book helps me a lot on familiarizing myself with Xcode, Cocoa, and (most important) Objective-C because it is my first time developing on Mac-platform. I&#8217;m currently on Chapter 8 and planning to finish [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=26&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>May 28, 2010</h3>
<p>I have spent most of my first week on reading Cocoa Programming for Mac OS X (Aaron Hillegass). This book helps me a lot on familiarizing myself with Xcode, Cocoa, and (most important) Objective-C because it is my first time developing on Mac-platform. I&#8217;m currently on Chapter 8 and planning to finish the book soon.</p>
<p>My first goal was to open a QuickLook preview panel in a Cocoa application. It was easy to open once in a Cocoa application with the help of <a href="http://developer.apple.com/mac/library/documentation/Quartz/Reference/QLPreviewPanel_Class/Reference/Reference.html">QLPreviewPanel class</a> which was added to Mac OS X v10.6 and later. However, this method requires an Cocoa application with .xib file(s) while Cocoa support in Mozilla doesn&#8217;t use .nib (Mozilla UI is in XUL, and it is translated to Cocoa elements on Mac OS X through <a href="http://mxr.mozilla.org/comm-central/source/mozilla/widget/src/cocoa/">cocoa-widget</a>). It was the reason I decided to work on a little experiment trying to open a QuickLook preview panel from a command-line application (which I believe is what Mac developers mean for &#8220;Tools&#8221;). This takes me a lot of time because a Cocoa application is not supposed to work the way you want without a decent .nib file (and also lacks of discussion on this matter). Eventually, I was able to make the panel appear, although the application went into an infinite loop soon after that, refusing to handle any key/mouse events. I will look more into this problem next week.</p>
<p>My small experiment takes me to <a href="http://lapcatsoftware.com/blog/?s=nibless">Jeff&#8217;s &#8220;Working without a nib&#8221; series</a> which gives insight about whether this approach is realistic and how it may be done correctly. I will go through his series next week because I think it may give me more clues on my problem.</p>
<p>Lastly, due to recent power loss, I have completely lost a few working days this week. Therefore, I will help to work extra time next week to catch up. Hope this situation improves soon!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grbmozilla.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grbmozilla.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grbmozilla.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grbmozilla.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grbmozilla.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grbmozilla.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grbmozilla.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grbmozilla.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grbmozilla.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grbmozilla.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grbmozilla.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grbmozilla.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grbmozilla.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grbmozilla.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=26&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grbmozilla.wordpress.com/2010/06/05/gsoc2010-status-update-week1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71c1618a7bbca95bf12d00fb143f8283?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Libras2909</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC2010 Proposal – Add QuickLook support in Thunderbird</title>
		<link>http://grbmozilla.wordpress.com/2010/06/05/gsoc2010-proposal-add-quicklook-support-in-thunderbird/</link>
		<comments>http://grbmozilla.wordpress.com/2010/06/05/gsoc2010-proposal-add-quicklook-support-in-thunderbird/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 22:03:11 +0000</pubDate>
		<dc:creator>libras2909</dc:creator>
				<category><![CDATA[GSoC2010]]></category>

		<guid isPermaLink="false">http://grbmozilla.wordpress.com/?p=22</guid>
		<description><![CDATA[Personal Details Name: Le Duc Khoi Nguyen (Daniel) Email: GreenRecycleBin@gmail.com IRC: Libras2909: on #nus, #maildev Quick Look Quick Look is an innovative technology shipped with Mac OSX that allows users to skim through the content of a file without actually opening it. Quick Look works even if you don’t have the application that created the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=22&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Personal Details</strong></p>
<ul>
<li>Name: Le Duc Khoi Nguyen (Daniel)</li>
<li>Email: GreenRecycleBin@gmail.com</li>
<li>IRC: Libras2909: on #nus, #maildev</li>
</ul>
<p><strong>Quick Look</strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>Quick Look is an innovative technology shipped with Mac OSX  that allows users to skim through the content of a file without actually  opening it. Quick Look works even if you don’t have the application  that created the document. Moreover, Quick Look is also capable of  playing movies. Moreover, using Quick Look in Mail and iChat allows  users to view multiple attached photos as a slideshow and add them to  iPhoto library with ease.</p>
<p>We can find a lot of Quick Look plug-ins on <a href="http://www.qlplugins.com/">http://www.qlplugins.com</a>.  Quick Look plug-ins enable Quick Look to generate preview for many  different file types which are not supported by default.</p>
<p>Quick Look saves Mac OSX users time skimming through documents&#8217;  content. If we integrate Quick Look support successfully into  Thunderbird, providing similar Quick Look&#8217;s features in Mail, more Mac  OSX users might be willing to switch to using Thunderbird as their daily  email client.</p>
<p><strong>Proposed Idea</strong></p>
<p>As mentioned above, we have already had a reasonable amount of  support for Quick Look plugins on the Internet. What left to be done is  to integrate Quick Look into Thunderbird.</p>
<p>The proposed idea is to implement Quick Look as a dynamic  library (or a framework). Then the dynamic library can be loaded using  ctypes feature. Following this approach, Quick Look support may be  implemented in Firefox as well. For Camino, we can update the patch for  bug 405358 to move from using undocumented API, which is available under  Leopard only, to the new API available under Snow Leopard.</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>Apart from the need of portability, another reason I consider  implementing Quick Look support as a dynamic library is the need of  calling C-function in Javascript. Currently, the only way I know that  enables calling C-compatible functions from Javascript is using ctypes.  According to the ctypes API page, ctypes can handle Cocoa framework.  Thus, there is a high chance that the proposed approach will work.</p>
<p><strong>Detailed Implementation Approach</strong></p>
<p>Showing preview of a particular attachment</p>
<p>Add a menu entry saying “Quick Look preview” to File →  Attachments → [a specific attachment name] → Quick  Look preview. The code resides in function addAttachmentToPopup()</p>
<p><a href="http://mxr.mozilla.org/comm-central/source/mail/base/content/msgHdrViewOverlay.js#1838">http://mxr.mozilla.org/comm-central/source/mail/base/content/msgHdrViewOverlay.js#1838</a></p>
<p>Also add support for preview when user presses  “spacebar” after selecting an attachment</p>
<p>Showing multiple attachments as a slideshow</p>
<p>Add a menu entry saying “Quick  Look slideshow” to File → Attachments → Quick Look slideshow. The code  resides in function addAttachmentToPopup()</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><a href="http://mxr.mozilla.org/comm-central/source/mail/base/content/msgHdrViewOverlay.js#1838">http://mxr.mozilla.org/comm-central/source/mail/base/content/msgHdrViewOverlay.js#1838</a></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>Also add support for preview when user presses “spacebar” after  selecting multiple attachments</p>
<p>Then from there, use ctypes to call C-function exported from  the dynamic library.</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>The interface will look something like this:</p>
<p>AttachmentItem.h</p>
<p>#import &lt;Cocoa/Cocoa.h&gt;</p>
<p>@interface AttachmentItem: NSObject {</p>
<p>NSURL* onDiskURL;</p>
<p>// Other relevant attributes go  here</p>
<p>}</p>
<p>-      (id) initWithURL:  (NSURL*) onDiskURL; // this is exported</p>
<p>// Other relevant methods go here</p>
<p>@property(readonly) NSURL* onDiskURL;</p>
<p>@end</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>AttachmentList.h</p>
<p>#import &lt;Cocoa/Cocoa.h&gt;</p>
<p>@interface AttachmetList: NSObject {</p>
<p>NSMutableArray* attachmentList;</p>
<p>// Other relevant attributes go  here</p>
<p>}</p>
<p>-      (id) addAttachmentItem:  (AttachmentItem*) item; // this is exported</p>
<p>-      (id) deleteAttachmentItem:  (AttachmentItem*) item; // this is exported</p>
<p>// Other relevant methods go here</p>
<p>@end</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>Quicklook.h</p>
<p>#import &lt;Cocoa/Cocoa.h&gt;</p>
<p>@interface Quicklook: NSObjectDelegate {</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>}</p>
<p>-      (IBAction) togglePreviewPanel:  (id) previewPanel; // this is exported</p>
<p>-      (void) setAttachmentList:  (AttachmentList*) list; // this is exported</p>
<p>-      (void) keyDown: (NSEvent*)  theEvent; // this is exported to handle “spacebar”, will call  tooglePreviewPanel()</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>Methods marked as exported will be available to the ctypes  interface to be called from Javascript.</p>
<p>So whenever the user requests a preview by selecting from the menu,  or by selecting attachment(s) and press “spacebar”, all the  AttachmentItem objects are initialized and added into the list. The  final result will be a pop-up Quick Look window having all the previews  of all the attachments selected. When the user presses “spacebar” again,  the Quick Look window is closed.</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Skill set and Project Preparation</strong></p>
<p>First of all, I possess the ability to read and understand foreign  code in several languages. Doing research in security-related subjects, I  have been reading code in many different languages (which is listed  under my skill set) ranging from source code to assembly level.  Therefore, I can understand code written by others well, and possibly  re-use it in an effective manner.</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>Secondly, I have been working as a volunteer developer  for Mozilla Foundation for one semester. The two products I’m working on  are the famous web browser, Firefox; and Thunderbird &#8211; email client.  This opportunity is offered as module CS3108 in my university, with Gary  (nth10sd: on #nus, #maildev) being the instructor. Because of that, I  am familiar with Mozilla development methods. I know how Mozilla  community uses bug tracking system, mailing lists, wikis, IRC and  blogging to collaborate. All these activities are introduced by Gary  throughout the course, and they are also part of the course&#8217;s  requirement. Thus, I am very much a participant in that.</p>
<p>Because the programming environment for this project is Mac OSX, I’ve  read and tried all the examples from “The Objective-C Programming  Language” book, which can be found on Apple Developers’ Network. Thanks  to my exposure to many different programming languages, I have been able  to pick up this new language during the last few weeks.</p>
<p><strong> </strong></p>
<p>I have also spent a week to research about this project. I found a  solution using private framework in Leopard. However, I realized that  this approach doesn’t work on Snow Leopard. After discussing with Jeff  (jeff: on #camino), I have started looking into the new Quick Look API  which is officially supported by Apple in Snow Leopard. Taking into  consideration the cross-platform design of Thunderbird (and Firefox), I  decided to implement the solution as a dynamic library. I have been  working on a demo of this, but due to time constraint (it is the end of  the academic year here at my university), therefore I haven’t finished  it yet.</p>
<p><strong>Why do I want to join Mozillia community?</strong></p>
<p>Mozilla is an icon and pioneer among open source organisations,  and definitely an organisation I would be proud to be involved with.  Having begun contributing to the community (although small) , I would  like to contribute more and more to the community as time goes by. This  may also serve as an example to spread more awareness about open-source  spirit in my university, as CS3108 Mozilla project (and Gary) has been  doing over the last 3 years. If you need any additional information,  feel free to contact me at <a>GreenRecycleBin@gmail.com</a> or Libras2909: on #nus, #maildev.</p>
<p><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong></p>
<p><strong> </strong><strong> </strong><strong> </strong><strong> </strong><strong> </strong></p>
<p><strong>Mentors</strong></p>
<p>Blake Winton (bwinton) is my official mentor for this project. Besides, Gary (nth10sd) is my back-up mentor.</p>
<p><strong>Note</strong></p>
<p>The proposed idea and/or implementation details may change throughout the course of this project. Currently, I&#8217;m looking into developing a XPCOM module instead.</p>
<p><strong> </strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grbmozilla.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grbmozilla.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grbmozilla.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grbmozilla.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grbmozilla.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grbmozilla.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grbmozilla.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grbmozilla.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grbmozilla.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grbmozilla.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grbmozilla.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grbmozilla.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grbmozilla.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grbmozilla.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=22&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grbmozilla.wordpress.com/2010/06/05/gsoc2010-proposal-add-quicklook-support-in-thunderbird/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71c1618a7bbca95bf12d00fb143f8283?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Libras2909</media:title>
		</media:content>
	</item>
		<item>
		<title>Midterm presentation finished</title>
		<link>http://grbmozilla.wordpress.com/2010/03/06/midterm-presentation-finished/</link>
		<comments>http://grbmozilla.wordpress.com/2010/03/06/midterm-presentation-finished/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 16:51:27 +0000</pubDate>
		<dc:creator>libras2909</dc:creator>
				<category><![CDATA[CS3108 - Mozilla Project]]></category>
		<category><![CDATA[CS3108]]></category>
		<category><![CDATA[midterm presentation]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Thunderbird]]></category>

		<guid isPermaLink="false">http://grbmozilla.wordpress.com/?p=17</guid>
		<description><![CDATA[Last week was a hard week. 3 midterm tests on 3 consecutive days. However, what worried me most was the Mozilla project&#8217;s midterm presentation. During the recess week, which coincidently fell on the same New Year holiday, little progress was observed. After a long week of New Year holiday, I finally decided that something must [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=17&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week was a hard week. 3 midterm tests on 3 consecutive days. However, what worried me most was the Mozilla project&#8217;s midterm presentation. During the recess week, which coincidently fell on the same New Year holiday, little progress was observed.</p>
<p>After a long week of New Year holiday, I finally decided that something must be done, and it must be done quickly enough. More and more time was poured into fixing <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=542705">Bug 	542705</a>. Fortunately, work went more smoothly when I put all efforts into fixing the bug.</p>
<p>Finally, on Thursday early morning, I&#8217;ve been able to submit a patch for it. Unfortunately, I had to also write Mozmill tests for my patch. The process was quite painful (due to lack of documentation) and took most of the time. Eventually, the 3rd patch together with tests were submitted. Now I&#8217;m waiting for reviews from Blake (:bwinton). Later on the same day, I finished my midterm presentation. I was much more confident because of all the preparation I made earlier. Both professors are happy with my current progress. The only thing left is keeping the pace until the end of term.</p>
<p>Next week, I will be moving on to the next bug (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=527472">Bug 	527472</a>). This is more of an enhancement than a bug. However, it promises that another interesting journey is about to begin&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grbmozilla.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grbmozilla.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grbmozilla.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grbmozilla.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grbmozilla.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grbmozilla.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grbmozilla.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grbmozilla.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grbmozilla.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grbmozilla.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grbmozilla.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grbmozilla.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grbmozilla.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grbmozilla.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=17&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grbmozilla.wordpress.com/2010/03/06/midterm-presentation-finished/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71c1618a7bbca95bf12d00fb143f8283?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Libras2909</media:title>
		</media:content>
	</item>
		<item>
		<title>Mozilla project &#8211; Proposal</title>
		<link>http://grbmozilla.wordpress.com/2010/02/05/mozilla-project-proposal/</link>
		<comments>http://grbmozilla.wordpress.com/2010/02/05/mozilla-project-proposal/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 09:01:10 +0000</pubDate>
		<dc:creator>libras2909</dc:creator>
				<category><![CDATA[CS3108 - Mozilla Project]]></category>
		<category><![CDATA[CS3108]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[proposal]]></category>

		<guid isPermaLink="false">http://grbmozilla.wordpress.com/?p=9</guid>
		<description><![CDATA[I&#8217;ve just submitted my proposal this afternoon. So I guess I&#8217;ll upload it here, to remind me of what needs to be done (also as a link from our module&#8217;s wiki). SCHOOL OF COMPUTING CS3108A/B: INDEPENDENT WORK (IW) Description of Activity This project is a one-semester project under the Mozilla-independent-work module (CS3108B). The project will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=9&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just submitted my proposal this afternoon. So I guess I&#8217;ll upload it here, to remind me of what needs to be done (also as a link from our module&#8217;s wiki).</p>
<p style="text-align:center;"><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 		A:link { color: #0000ff } --><span style="font-family:Times New Roman,serif;"><strong>SCHOOL OF COMPUTING</strong></span></p>
<p style="text-align:center;"><span style="font-family:Times New Roman,serif;"><strong>CS3108A/B: INDEPENDENT WORK (IW)</strong></span></p>
<p style="text-align:center;"><span style="font-family:Times New Roman,serif;"><strong>Description of Activity</strong></span></p>
<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 		A:link { color: #0000ff } --><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">This project is a one-semester project under the Mozilla-independent-work module (CS3108B). The project will enable me to familiarizing myself with the Mozilla community, and get a hand on various tools, technologies and programming languages involved in Mozilla-product development process. During the project, I will be contributing code to two Mozilla products (Firefox and Thunderbird), and documenting my work and experience on my blog. I will also be online on different IRC channel at irc://irc.mozilla.org to provide supports to other developers or users.</span></span></p>
<p><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Blog URL: </span></span><span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="../category/cs3108-mozilla-project/"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">http://grbmozilla.wordpress.com/category/cs3108-mozilla-project/</span></span></a></span></span></p>
<p><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">My main objective in this project is fixing ‘non-trivial’ and/or ‘enhancement’ bugs.</span></span></p>
<p>‘<span style="font-size:small;"><span style="font-family:Times New Roman,serif;">Non-trivial’ bugs usually are issues that are important to an on-coming release version of the product(s). They require reasonable depth of knowledge in both the application platform and the application itself. This knowledge can be gained through reading code in Mozilla’s repository and some of its documentation, and most important, through interacting with developers in the community. This task is challenging because much of Mozilla code lacks documentation due to the huge repository size.</span></span></p>
<p>‘<span style="font-size:small;"><span style="font-family:Times New Roman,serif;">Enhancement’ bugs usually provide/correct desiring features that Mozilla’s users want in the next version. Therefore, a large number of users can benefit from the fixing of a bug belongs to this category.</span></span></p>
<p><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">To be specific, I plan to work on these bugs:</span></span></p>
<ul>
<li><span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=527472"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Bug 	527472</span></span></a></span></span><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"> (Firefox) Enhancement to Tab previews to support different language 	search, a new Firefox 3.6 feature.</span></span></li>
<li><span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=350006"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Bug 	350006</span></span></a></span></span><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"> (Firefox) Enhancement to ensure favicons is displayed under Page 	Info section. </span></span><span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="http://www.thesitewizard.com/archive/favicon.shtml"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Favicons</span></span></a></span></span><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"> are small, customized icons to allow users to easily distinguish 	pages under their bookmark folder.</span></span></li>
<li><span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=538015"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Bug 	538015</span></span></a></span></span><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"> (Thunderbird) Minor bug to enable window position saving.  Users 	want their windows to appear exactly the same place during last 	session of Thunderbird.</span></span></li>
<li><span style="color:#0000ff;"><span style="text-decoration:underline;"><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=542705"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Bug 	542705</span></span></a></span></span><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"> (Thunderbird) Critical bug where account configuration in new 	version of Thunderbird doesn&#8217;t follow the security policy desired.</span></span></li>
</ul>
<p><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Working on an open-source project has always been one of my dream. This Mozilla-independent-work project will give me a good start on this field. I will try my best to fulfill my proposal during this semester. If these bugs above can be fixed on time, I can continue working on other bugs to contribute more to Mozilla community.</span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grbmozilla.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grbmozilla.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grbmozilla.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grbmozilla.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grbmozilla.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grbmozilla.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grbmozilla.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grbmozilla.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grbmozilla.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grbmozilla.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grbmozilla.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grbmozilla.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grbmozilla.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grbmozilla.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grbmozilla.wordpress.com&amp;blog=11705975&amp;post=9&amp;subd=grbmozilla&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grbmozilla.wordpress.com/2010/02/05/mozilla-project-proposal/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71c1618a7bbca95bf12d00fb143f8283?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Libras2909</media:title>
		</media:content>
	</item>
	</channel>
</rss>
