OpieCleanup

This is a list of important tasks for cleaning up the Opie codespace / build system friendlyness. Completion of these tasks will improve compatibility, maintainability, readability and much more.


 * eliminate knowledge about the build directory structure, i.e. substitute relative paths with $(...)
 * use (static) libraries for source code reuse, not just include arbitrary source files via relative paths
 * substitute printf for odebug (or owarn, oerror, ofatal) and remove #include 
 * check if odebug, oerr, owarn and ofatal are properly used
 * write perror wrapper for odbstream
 * make .pro files more consistent, i.e. regarding CONFIG, DESTDIR, etc.
 * sanely reorder include/using statements from the most specific (local,opie,qt,etc.) to the most generic (std etc.)
 * migrate from the Qt debugging framework to the Opie debugging framework
 * eliminate hardcoded positions and sizes (use layout classes instead)
 * eliminate embedded XPM icons and substitute with pixmaps
 * eliminate #ifdefs for different devices which better would share _one_ Opie build
 * enable customization in QPEApplication of:
 * default application font
 * implement inotify-based notifier classes or use dbus to remove some (all) of the polling QTimers which are slowing down Opie
 * inject a qcop call into /sbin/hotplug to avoid polling for new network interfaces
 * improve the qt-embedded main event loop using select rather than polling for sources
 * make application names and directory names consistent. use the same name for
 * source directory
 * pics directory
 * icon
 * main binary and
 * desktop file
 * rename all .pro files to the name of the directory they are in

Some tasks moved in from OpenTasks:
 * Merge QPEApplication with the one from Qtopia ( QFile encoder and decoder methods, window placing and saving )
 * Split the monolithic launcher into applets or libraries, i.e. startmenu, taskbar, etc.
 * Port taskbarapplets to use a common base class
 * Convert Applets to use  or something more suited (finding applets, replacing load and scaling versions with versions that scale nicely for the supported widths )
 * Convert missing applications to quicklauncher
 * Import the KDE_DEPRECATED stuff and mark methods and classes as such