Categories:
Wednesday, 21 February 2007
Building Qyoto and QtRuby on Mac OS X with cmake
I read this recent article about Mono on the Mac and thought why don't I try building Qyoto on Mac OS X and see if it works. The article talks about GTK# using X11, although a native port of it, along with System.Windows.Forms being done. Cocoa# seems a bit incomplete. I personally like Objective-C, having been an Objective-C programmer for 10 years, and I don't think the Cocoa libs translate too well into C#. The api looked a bit ugly to me, with weirdness like every C# method being annotated with the objc type signature so you get to write everything twice. Using Attributes to annotate methods and classes is fine in the bindings classes themselves, and the Qyoto code does exactly the same thing with the C++ type signatures, and classnames of the methods being wrapped. But I'm not sure if you want to do that in application code. For example, here is a snippet of code from the ViewSample.cs example: [Register ("SimpleView")] public class SimpleView : View { public SimpleView (IntPtr raw) : base(raw) { } [Export ("initWithFrame:")] public SimpleView (Rect aRect) : base (aRect) {} [Export ("drawRect:")] public void Draw (Rect aRect) { BezierPath.FillRect (this.Bounds); Graphics g = Graphics.FromHwnd (this.NativeObject); Font f = new Font ("Times New Roman", (int)(this.Bounds.Size.Height/15)); Brush b = new SolidBrush (System.Drawing.Color.White); g.DrawString ("This is System.Drawing Text\non a NSBezierPath background!\nTry Resizing the Window!", f, b, 10, 10); } }
Read More
Tuesday, 20 February 2007
Apport Crash Handler
Jriddell
|
I just uploaded support in Adept for Apport, the Ubuntu crash handler. Ubuntu uses a modified kernel which calls a user space application when an application crashes and that writes a report with information including the core. Adept Notifier now watches for these reports appearing and runs the Apport frontend when they do, which uploads all the data to the bug tracker if the user so wishes.
Read More
Tuesday, 20 February 2007
First laptop: Acer Aspire 5612
So some money come my way and I finally caved in and bought myself a laptop, after having talked on and off about the idea to Deb for the last couple of years. I bought an Acer Aspire 5612, which is to say 15.4" widescreen, 1Gb ram, 120Gb HDD, Intel Duo Core with the matching set of Intel chips and Intel 945 graphics. All for about 850 euro. The price was right, the specs were right, and best of all is that the drivers for everything are good and FOSS. Being able to buy it off the shelf, literally, in a real shop, is also handy, especially if you are impatient. I've got Kubuntu Edgy running on it plus that other OS that came with it, (for Deb who wants it for her work).
Read More
Tuesday, 20 February 2007
More KConfig love
Coolo
|
I wanted to use the title "merged kconfiggroup_port branch", but I think I should learn from Aaron, so there we go :)
It all started by a bug David fixed in kmail: KConfig *config = giveMeRandomKConfigObject(); config->setGroup("Hallo"); config->readEntry...
Read More
Tuesday, 20 February 2007
Start Menu Blogging
Beineri
|
Two days ago Miguel de Icaza blogged about the revised Main Menu of the GNOME desktop in the upcoming SUSE Linux Enterprise 10 Desktop Service Pack 1 and how it and the KDE Kickoff start menu inspired each other. In the update section he adds some very familiar sounding anecdotes: during the usability study done in Germany with amongst others Microsoft Vista Beta 2 we also found that most users don't recognize a "Search" input box at the bottom. And that users have problems to find its shutdown button which really turns off their machine (iirc a video with this was shown at Akademy). So same findings and wondering if Microsoft has done their homework with the Vista start menu.
Read More
Sunday, 18 February 2007
openSUSE Survey Online
Beineri
|
The openSUSE project is interested in knowing how you feel about the openSUSE project and the openSUSE 10.2 distribution. Please take a few minutes to fill out this survey until April 30, 2007. You can enter in a drawing for some hardware gadgets as thank you for taking the survey.
Friday, 16 February 2007
Using custom C++ classes with QtRuby
I've recently been having a discussion with Eric Landuyt on the Korundum site help forum about wrapping custom C++ classes in QtRuby. I told Eric that you just needed to create a QObject derived class with the slots and properties you wanted to expose, give it a name via a QObject::setObjectName() call, and create it with qApp as the parent. Then wrap the class in a Ruby extension using an extconf.rb script to generate the makefile to build it. Once your new extension is loaded, you can find the instance of the C++ class by using Qt::Object.findChild() with the object name you gave it.
Read More
Tuesday, 13 February 2007
Akademy Sponsors Call
Jriddell
|
The Akademy 2007 Call for Sponsors is out there. We've contacted our previous sponsors, but there must be companies and organisations out there who depend on KDE and would be willing to help the most important conference out there in return for their logo on a big banner infront of hundreds of computer professionals. Send us an e-mail if you know of any companies who fit that description.
Read More
Tuesday, 13 February 2007
RESTful CRUD with Rails ActiveResource and QtRuby
After I wrote about how to use an ActiveRecord model with a QtRuby Qt::TableView, Silvio Fonseca sent me a nice improvement where he has written a generic Qt::AbstractTableModel that will work with any collection of ActiveRecord instances. Meanwhile, Imo one of the ruby hackers here at Foton where I work, gave a very interesting presentation on Friday, about the new feature in EdgeRails called 'ActiveResource'. He showed how the same table model could be used to create a QtRuby front end to ActiveResource.
Read More
Monday, 12 February 2007
QtScript 105
Rich
|
I've done a bit more stuff with QtScript in order to keep up with the changes in the Qt snapshots. The API has changed a bit to make things more consistent, and I've updated the demo code I had to work with the new version. The changes to support the new API were pretty simple, and basically amount to using factory methods on QScriptEngine to create your script values. The cast operator qscript_cast has also been renamed and is now qscriptvalue_cast, but it works as before.
Read More