RG Qt4 Port Development Task List

Summary

This page is for the developers involved in the Rosegarden QT4 port. The intent is to track each developers current task and to log their accomplishments. Let's hope this works easily for everyone involved.

NOTE that Qt4 porting work is now happening in the qt4 branch. The qt4-mechanised and rg_qt4_01 branches are no longer being actively used.

Avoid Q3… (Support-) Classes !

.

Devel Notes

We're using a variety of comment flags that have special meanings. Please see the comment codes list if you're not already familiar with

//@@@ //### //&&&

and so on.

Open Tasks

Current

#3002: fix uses of QProgressDialog / QProgressBar

#3003: qscrollview ⇒ QScrollArea

#3004: qguardedptr ⇒ QPointer

#3005: qdict.h, qdict ⇒ QMap

#3006: kkeydialog ⇒ ????

#3007: qpopupmenu ⇒ QToolTip (or QMenu ?)

#3008: qptrdict.h ⇒ QHash

#3009: qmemarray.h ⇒ ????

#3011: fix QListWidget (same obj. that are QListWidget now, should maybe be QTreeWidget)

#3012: fix QShortcut

#3013 (Emanuel) QAction stuff

#3014 (Julie) remove QSettings from functions (Complete)

#3015: restoreLayout/saveLayout

-

ktempfile.h

klistview.h (a.o. in src/gui/studio/MidiDeviceListViewItem.h)

klineeditdlg.h (a.o. in src/gui/widgets/ColourTable.cpp)

kdockwidget.h

-

KDockWidget

KDockMainWindow

KProgressDialog

KApplication

-

-

QPointArray changes to what? (see note on devel list) (QPolygon or Q3PointArray are the choices; probably QPolygon, but I haven't really looked yet; just notating something while I see it, but moving on and trying to make myself stay on track instead of wandering and heaping too many things on my plate at once)

Developers

Chris

Current Tasks

Review resource-location code (currently bodged into IconLoader, pull out into ResourceFinder or some such). Device definition (and chord?) files should probably be installed as before, because we need a browsable location for the open file dialog. Fonts, styles, translations (to be handled after the basics are running), and perhaps pixmaps should be compiled in – but with installed locations, if they exist, taking priority. Because these may come from more than one place, they should have specialised methods to find one or all examples, rather than looking up a single path. Pixmaps are already (almost completely) taken care of.

Review build log and look for “difficult” fixes

Recently Completed Tasks

Fix debug stream stuff in misc/Debug.h (original code only works with -DDEBUG, not -DNDEBUG, and we would probably like to lose the KDE dependencey as well)

Handle KTempFile (QTemporaryFile is the general replacement, but I want to be a bit careful about this one)

Go back and finish the DCOP removal work in threads branch, and then merge the results to the qt4 branch.

Fix errors streaming MappedEvent to/from QDataStream – it's likely that the need for this may be eliminated when DCOP is completely removed

Fix a bunch of compile errors in calls to CommandRegistry::registerCommand – these arise from changes to shortcut handling, and appeared as a result of the Kiftsgate branch merge

Michael

Current Tasks

completing an all-new set of icons for the notation editor like I started to do a couple years ago, and got frustrated arguing with Chris over minuscule details.

This set passes the Chris test. Notes, clefs, and accidentals are done. It would have been easier to do these with Inkscape, working with huge, sharp renderings of the font glyphs, but after an insanely long number of hours experimenting to get the best results, it turned out the only way to get crisp, crystal clear tiny little note pictures was to do them as bitmap graphics. Scaled vector graphics can be wonderful, but they aren't very suitable for these shapes at these sizes, it turns out. The only way we could ensure a good, crisp rendering would be to use much larger icons, and screen real estate is at too much of a premium for that. So I've been staying up ridiculously late grinding pixels in the mill and redoing all of these things the old fashioned way.

(I'm used up and burned out on the code, but at least I'm finding some way to make the next Rosegarden better.)

#3001: fix endGroup: in svn-sources search for: “FIX-manually-(GW)” and add “xxxx.endGroup();” after the group has been used (after xxxx.value() or xxxx.setValue() statements). Finally change the comment from “FIX-manually-(GW)” to “FIX-manually-(FXD)” (or remove it), so we do not find the same location again.

Match .startGroup/.endGroup.

Unify variable names for QSettings to “settings” where appropriate. (Old nomenclature was inconstant or just wrong in places.)