Anyone interested in trying to port to Qt4 and KDE4, then? Please read over http://www.rosegardenmusic.com/wiki/dev:notes_on_porting_to_qt4 first (and also update it with anything you happen to know about or are able to research!).
Here's a branch for experimenting to see how much code we can translate from Qt3 and Qt4 to KDE3 and KDE4 mechanically, using regular expressions and other dreadful hackery: https://rosegarden.svn.sourceforge.net/svnroot/rosegarden/branches/qt4-mechanised The only interesting file in there, at the moment, is "convert.pl". This is a Perl script that, taking a single source file as input, applies a series of substitutions via regular expressions, and prints the result to stdout. At the moment it updates some #include lines, changes QIconSet to QIcon, and updates the syntax of QGridLayout::addMultiCellWidget. Any volunteers to try adding some more while I mess about with something else? I'm not sure whether there will turn out to be lots of other things that we can script in this way, or whether most will turn out to be too hard, but it's got to be worth a shot. What I am thinking is that we could put any ideas (half-baked or complete) into this script, testing them on random local files, and then just keep committing updates to the script. No actual source code changes should be committed in this branch until we've piled as many things into the script as we can think how to do, and then we run the script and commit them all at once. That way we can do some other pieces of preparatory refactoring in other branches at the same time as building up a few automatable changes in this script, and then run the script on the refactored code. As to the question of whether to go to "pure Qt4" or "Qt4 plus KDE4", I think let's go for the latter, at least at the outset. I'm hoping that some details (such as i18n, actions, and the main window classes) will be much simpler to handle via KDE4, and if we subsequently decide we'd rather go pure Qt4, we can always change them separately afterwards once we know more about what we're doing. Whenever we run into something that we use from KDE that turns out to be hard to port to KDE4, then we should think about converting it to pure Qt4 instead, but if it's simple to do with KDE4, let's do it the simple way. I think we probably don't want to use the qt3to4 conversion tool, by the way. It uses the "Qt3 compatibility" code in Qt4, and I don't think we should be doing that, not least because it's increasingly less likely to be supported. Since Qt4 has been out for about three years, I do wonder whether it's still supported properly even now. We're obviously desperately short of developer time for this work, so any help is welcome. You don't have to be intimately familiar with Rosegarden code to help out here, though familiarity with Qt and KDE really helps. But even a single line update to the wiki page, with the result of a small piece of research to find out the answer to some question posed on the page, would be an enormous help. (That's http://www.rosegardenmusic.com/wiki/dev:notes_on_porting_to_qt4 again, in case you missed it the first time!) Also, if there is any other job described in that page that you think you might be able to handle -- or if you want to suggest other ways to go about this work, or comment on the wisdom (or lack of it) of anything described there -- please shout! Chris ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Rosegarden-devel mailing list [email protected] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
