lorn
Qtopia
KDE
Posted by lorn
 in Qtopia, KDE
 on Monday, December 26, 2005 @ 12:31

Well, my excursion into “Tablet Kde” is missing two main features of using Kde well on a Tablet Pc…. one is really a show-stopper… there’s no on screen keyboard, no hold-to-right-mouse-click, and there’s no rotation that I can find. It would be nice also if there were some cool “pen” applications. If I had more time on my hands, I might try my hand with a qt-x11 or kde based screen keyboard…

I know I can run Opie or Qtopia on it, and probably do ok, which is on the agenda for this. :)

I haven’t had device problems for a few years in linux, and the only thing not working well out of the box with a Kubuntu install is the internal wifi. The community developed bleeding edge barely beta driver works - barely. Keeps stopping sending/receiving packets after a while, and I have to ifdown ath0; ifup ath0. :)

I bought this tablet for my wife and I, and she has barely had any time on it so far. Maybe in a few weeks, dear. :)

Since I work at an IT place, I seem to have become the family sys-admin. Today I get to troubleshoot wifi and try to get ‘Yardi’, an ms-dos program, running better on Winxp (oi!). I broke my bro’s internet connection the other day, but at least now he has access to the web configuration on his router. :) oh well, couldn’t be helped… he lost the password, and didn’t the know configuration his weird satellite/phone internet system needs, so he now has to wait for his ISP support to phone. That’ll teach him for asking me for sys-admin duties!

hmmm.. should I bring home my webpal…

ettrich
Qt
Posted by ettrich
 in Qt
 on Friday, December 23, 2005 @ 01:01

The community reactions to the release of 4.1 were quite encouraging. If you followed some of the discussions, e.g. on http://osnews.com/comment.php?news_id=13042 , you have probably noticed that even the most verbal critics are finally running out of arguments. Basically the only complaint that’s left is that Qt - fasten your seat belts - adds introspection to C++. And it does this by - fasten your seat belts tighter - defining three [sic!] macros: Q_SIGNALS, Q_SLOTS, and Q_EMIT (or for the more pragmatics among us: signals, slots, and emit). Muahuahua, evil Trolls, how dare we extending C/C++ for the benefit of programming? Are we too stupid to realize that C++ should not have introspection, that those who want introspection should use Java or a scripting language, or at the very least code their meta code by hand?

Ironically enough the complaint doesn’t come from C or C++ programmers, those are quite used to macros. The complaint comes from people that prefer other languages, and consequently they dislike Qt for making the life of C++ programmers easier. We wrote Qt, we know it is not a “pure” C++ framework, just like C++ is not a “pure” language. Qt makes use of the C-subset of C++, including the preprocessor. And it makes very good use of it. What made C++ the most successful programming language on the planet is its pragmatic design, and its compatibility with C. It’s a meta language, a language powerful enough to be extended to something as beautiful and easy to work with as Qt.

Seriously, we dislike having to use macros just as much as any other C++ programmers. I wish there was a standard C++ preprocessor that fit better into the language than cpp does, and that understood namespaces. However, if three macros are a big problem for you to trade against a wealth of features, than I really envy you: The rest of the world you live in must be really perfect.

The other thing that’s funny about the whole debate is the fact that Qt - like any other successful real-world C/C++ framework that supports different platforms and compilers - defines many more macros than that. Prominent ones are Q_OBJECT, QT_VERSION, Q_OS_UNIX, Q_WS_X11, Q_DECL_DEPRECATED, Q_DECL_EXPORT, and watch guards around each headerfile like QOBJECT_H, QWIDGET_H, QPUSHBUTTON_H, and so on.

And for those that wonder what real abuse of macros is, have a look at http://cvsweb.xfree86.org/cvsweb/xc/include/X.h?rev=1.1.1.2

Can’t wait until 4.2, and 4.3. There will come the point were the last ones not to use Qt will realize that they have bet on the wrong horse. Muahuahua.

lars
Qt
KDE
Posted by lars
 in Qt, KDE
 on Thursday, December 22, 2005 @ 11:54

PDF and Postscript generators

With the release of 4.1 Qt has gained the ability to generate PDF natively. We have put special care trying to make sure all features of Arthur are also supported in our PDF generator.

This implies that we can do alpha transparency and gradients in the generated PDF. One main issue I found while bugfixing the implementation is that our open source PDF renderers (ghostscript and poppler) still have a large way to go to support more advanced PDF features. poppler wasn’t even able to handle masked images (something that apparently has been fixed a few weeks ago), while both of them had rather large problems with real transparency.

We have written code to generate native gradients in PDF that are semitransparent. The only problem is that the only viewer that can render them correctly is adobe’s acrobat reader. So for the moment that code is disabled and we embed the gradient as a pixmap. The resulting PDFs are quite a bit bigger and slower, but at least they render correct on all three PDF viewers.

The only small drawback of our PDF generator in Qt 4.1.0 is that the generated PDF is not searchable. But this is only because the code needed to implement this has missed the 4.1.0 deadline. It’s written and tested, and Qt 4.1.1 will thus generate searchable and Unicode compliant PDF .

At the same time I’ve took the opportunity and have rewritten parts of the Postscript backend. We now embed fonts as Type1 fonts (it used to be Type3), something that will make the size of the generated Postscript quite a bit smaller. At the same time I’ve fixed a few bugs in the Postscript generator that where outstanding since Qt 4.0.0.

Qt can do WYSIWYG layouting!

While I’m writing about printing, let me also say that the myth that Qt can’t do WYSIWYG text layouting is wrong. I saw this being repeated quite a few times on the dot, see for example James comment.

Qt 4 has support for using design metrics of fonts. If you’re layouting text on a per paragraph level, QTextOption has a flag to enable this. If you use Qt’s build in rich text support, you can set a flag on a complete QTextDocument.

When using these flags, all text layouting calculations will be done with subpixel precision using the linear/design metrics from the font.

The fact that QPrinter::supportedResolutions() returns 72 for postscript has nothing to say in this respect. All the number gives you is a conversion factor between units on a QPainter and millimeters on the output device. QPainter has since Qt 4.0 a floating point API that allows you to place objects at arbitrary positions inside a postscript (or for that respect PDF) document.

So in the end there should be no real problem for kword or any other Qt application to do WYSIWYG text layouting and printing.

Have a nice christmas and a happy new year!

ettrich
KDE
Posted by ettrich
 in KDE
 on Wednesday, December 21, 2005 @ 22:32

The recent discussions on KDE versus other Linux desktops - accidentally started by KDE-user Linus Torvalds - showed an interesting new development in the eternal debate. First of all it didn’t come as a surprise that Linus uses KDE, after all Fritz Elfert made it very clear back in 1996 that KDE stands for “Kernel-Hackers’ Desktop Environment”, when Kalle and the German IT press still pushed “Kalle Dalheimer Experience”. What came as a surprise was that the old GUI versus command line discussion against KDE, that later turned into a Free Software versus Lesser Free Software dispute, now changed shape again. The fashion of the day is: complicated power user environment versus user-friendly simplicity. And as opposed to 1997, when a vocal minority avoided us for our focus on end-users and simplicity, and went to other projects for more “Unix-guru friendliness”, themes, and features like window manager independence, they now want to deny us exactly this: simplicity and user-friendliness. Now, how bold is this? KDE’s mission has always been “ease of use, contemporary functionality, and outstanding graphical design” (kde.org), and we have succeeded delivering exactly this for the past decade. We took GNU/Linux out of the system administrator’s corner and put it on millions of desktops, an achievement that nobody can take away from us.

Why am I writing this, to an audience on planetkde that mainly consists of KDE users and supporters? Well, when you follow the debate, you can notice that even KDE’s supporters show willingness to follow the opponents’ twisted claim about KDE being overly complex. Instead of rejecting those as ridiculous, they rather argue for the necessity of a rich feature set. Yes, KDE has a rich feature set, and yes, that’s what is required for contemporary functionality. But hello, that doesn’t mean that it’s hard to use. Let’s not swallow this crap anymore! Let them repeat it as often as they want to repeat it, and simply reject it as what it is: the best they can do, but utterly wrong.

To be even more explicit: It’s a fairy tale that end users will decide against KDE when given the choice, and it’s a fairy tale that KDE is more difficult to use than any of the alternatives. The simplest possible desktop has one big push button to turn the computer off, everything else is a tradeoff between simplicity and functionality. KDE’s beauty is that it enables ordinary people and computer freaks alike to use their computers; it’s what makes it the better desktop. Everyone who has installed it for friends and family can report that even casual computer users don’t have problems with it. Quite the opposite: Users do amazing things with it. Especially those coming from Windows feel they can do so much more with a KDE workstation, and they do. They also seem to have significantly less trouble navigating the control center than self-proclaimed usability experts on web discussion sites.

No software is bug free, or free of flaws. We - the KDE developers - happily admit that usability is a process, a data-driven process. And that’s what we work on. Many of us also admit that parts of KDE feel a bit too crowed for our taste, that our naming conventions for applications have room for improvements, or that our reliance on context menus is suboptimal. But make no mistake: Even with those flaws, KDE is an exquisite choice on the desktop, and in our opinion the only real choice on GNU/Linux.

There are end-users out there that made the switch to GNU/Linux but don’t use KDE yet, that’s something we have to accept. Millions of investment capital and corporate backing do show some effect, at least short term. However, I believe that the number of those who objectively evaluated several desktops and decided against KDE is certainly very low relative to those who never had a chance to try KDE. It likely didn’t come as the default on the Linux distribution they installed, or it wasn’t described in the book they bought, or wasn’t the local Unix guru’s recommendation. There are many cases where users simply are never exposed to KDE.

KDE is all about ease of use, contemporary functionality, and outstanding graphical design, and we make it better and better with every release, in all three aspects.

Merry Christmas everybody, looking very much forward to 2006: another year of the Linux desktop.

lorn
Qt
Qtopia
Posted by lorn
 in Qt, Qtopia
 on Monday, December 12, 2005 @ 04:39

After a long 12 hour flight to L.A, 5 hours in the L.A. airport and a 2.5 hour flight to Denver, we landed. This was no ordinary landing though. Well, the landing was non eventful, but what was notable was the weather. When we left Brisbane, we were outside, swiming… it was summer, with a bit too warm for me temperature of 33C. Denver, however was in the middle of a sub-artic freeze of -10C! My wife is from Northern Territory in AU and never seen snow, much less sub zero temperatures. She was quite shocked.

Holidays are good for one thing, at least, and that is to recoup, gain clarity and vision, personally and professionally. So far, I have been redigitizing some old recordings of mine that were lost due to a hard drive failure. I have spent so much time downstairs in the studio that my poor wife is beginning to think she went on vacation alone! It’s good to get back the liquid cooled Koolance case I had left here.

The Nokia 770 is due to be delivered tomorrow, so I can suppose that some holiday work of getting Qtopia running on this is due, after a few days with the native environment. Shouldn’t be all that difficult, it doesn’t have a hardware keyboard like the Zaurus, so keyboard support is limited to only a few buttons.

harald
KDE
Posted by harald
 in KDE
 on Sunday, December 11, 2005 @ 18:53

This weekend, some KDE hackers met at the froglogic headquarters for a QA summit. Topics spanned static code/documentation checking, unit testing, usability and accessibility testing. Side-topics also included automated performance and memory consumption testing.

Today, we managed to implement the outlines for a QA system, including a database schema and the XML schema that’ll be used for the different tools to communicate to the database. The current design allows every trusted resource to upload testruns, that’ll be incorporated in the database.

Ellen Reitmayr of openusability.org held a demonstration about usability. Based on that information, the froglogic people were able to create a test that launched a given KDE application and analyzed its structure. The test reports overcrowded menubars and other GUI bloopers.

Some autotests were created to analyze KDE’s code, for example pedantic header verification or binary compatibility checkers.

Using KDevelop’s powerful C++ parser, lint-like checking or code-aestethics measurments can be performed.

Comments Off
trenton
Qt
Posted by trenton
 in Qt
 on Wednesday, December 07, 2005 @ 20:16

OK, many people are starting to wonder about Mac OS X universal binaries. The good news is that you can start playing with universal binaries already with the release candidate for Qt 4.1.0. Here’s the steps, assuming you are on a PPC machine.

configure Qt with these extra flags:

-universal -sdk /path/to/MacOSX10.4u.sdk

After which you can simply build Qt normally. BUT, If you are one of those people who have upgraded to Xcode 2.2, you will have to edit QTDIR/mkspecs/features/mac/sdk.prl to make it look a little more like this:

!isEmpty(QMAKE_MAC_SDK) {
QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK
QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK
QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK
}

This will be fixed for the final Qt 4.1.0 release.

After which, if you want to build your own program as a universal binary add this to your .pro file

QMAKE_MAC_SDK=/path/to/MacOSX10.4u.sdk
CONFIG+=x86 ppc

Afterwards, run ‘file’ on your binary and you should see that you have a PPC and x86 binary.

Congratulations, you just doubled the size of your binary :)

lorn
Qt
KDE
Posted by lorn
 in Qt, KDE
 on Saturday, December 03, 2005 @ 21:55

As I wait for the arrival of my new lappie - a Fujitsu tablet pc, it got me thinking about KDE for tablet pc’s.. and if there has been any real work on such a beast.
I know such things like xtroke, but I wonder if anyone has done integration of the applications. I guess I will soon find out, as my knoppix boot cd waits for a delivery…

and umm.. no. the nokia 770 is not a real tablet pc, no matter what they named it. it’s a pda, thank you.