This file describes what we need to do before certain milestones.

Mark those tasks that you want to perform with your name:
 INGE   Inge Wallin
 TACK   Tackat (Torsten Rahn)
 CARU   Carlos Licea
 MURA   Murad Tagirov


During the SoC projects (0.5)
----------------------------------------------------------------

Misc
 * Create a file with use cases and personas                            INGE
   - Continue with the use cases.                                       --
 * Creating tiles during build instead of first run			TACK
 * Fix designer plugin dirs						TACK
 * Fix image downloading for Wikipedia                                  TACK
 * Make the MarbleWidget library have a version number.  See            ----
   okularcore in kdegraphics/okular/CMakeLists.txt for how to do it.

Code Quality:
 * Filename == Classname (CamelCasing)                                  INGE
   - maptheme.{h,cpp}                -> MapTheme                        done
   - placemark.{h,cpp}               -> PlaceMark                       done
   - placemarkinfodialog.{h,cpp,ui}  -> PlaceMarkInfoDialog             done
   - placemarkmanager.{h,cpp}        -> PlaceMarkManager                done
   - placemarkmodel.{h,cpp}          -> PlaceMarkModel                  done
   - placemarkpainter.{h,cpp}        -> PlaceMarkPainter                done
   - searchcombobox.{h,cpp}                                             --
   - searchlistview.{h,cpp}          -> MarbleSearchListView            done
   - texcolorizer.{h,cpp}                                               --
   - texturepalette.cpp                                                 --
   - tinywebbrowser.{h,cpp}                                             --
   - vectorcomposer.{h,cpp}                                             --
   - vectormap.{h,cpp}                                                  --
   - xmlhandler.{h,cpp}                                                 --
 * Filenames KAtlasFoo -> MarbleFoo or something else                   DONE
 * Name all public classes MarbleSomething                              INGE
   - SearchListView  -> MarbleSearchListView                            done
   - LegendBrowser   -> MarbleLegendBrowser                             done
   - PlaceMarkModel (Why is this class public at all?)                  --
 * d-pointerify the rest of the public classes                          INGE
   - MarbleDirs                                                         done
   - (MarbleThemeSelectView): doesn't have any private members          done
   - MarbleNavigator                                                    done
   - MarbleLegendBrowser                                                done
   - (MarbleSearchListView)   doesn't have any private members          done
   - MarbleAboutDialog                                                  done
   - PlaceMarkModel                                                     done
   - ViewParams                                                         n/a

Widget:
 * Separate the view from the globe (model)                             INGE
    - Let the view parameters be in the view instead of in the globe    inge
    - Don't open any dialogs from the globe, do it from the controller. inge
    - Let the view know about the globe, but not the other way.         done
 * Introduce the class ViewParams that controls the painting            INGE
    - Position, Zoom                                                    done
    - width, height                                                     inge
    - show... crosshair/mapscale/compass                                n/a
    - show... terrain/cities/...                                        done
    - show... relief (texturecolorizer)                                 done
    - show... ice/borders/rivers/lakes    (vectorcomposer)              done
    - interlaced (rename to quickAndDirty?)                             inge
    - caches (coastimg, ...)                                            done
   Note: these will NOT be done:
    - mapTheme (this is tricky and will have to wait)                   --

Vector backend
 * Better scalability                                                   ----

Integration with Qt designer
 * control files for the following widgets                              TACK
   - MarbleControlBox                                                   --
   - MarbleLocator (search field for placemarks)                        --
   - MarbleLegendBrowser                                                --

 * Installation issues                                                  TACK
   - Only install the public include files                              --

Documentation
 * Coding standards                                                     DONE
 * APIDOX: Class and method docs for at least:                          INGE
   - MarbleWidget                                                       done
   - MarbleControlBox                                                   --
   - MarbleModel                                                        --
   - MarbleNavigator                                                    --


OpenStreetMap support for tiles@home
    - we'd like to get the tiles loaded and displayed                   TACK


Integration of Google Summer of Code projects (0.6)
----------------------------------------------------------------

GPS support (Andrew Manson)
 * Read GPX files                                                       ----
 * Show waypoints                                                       ----
 * Show tracks                                                          ----
 * Show 'You are here' using the GPS.                                   ----

KML support (Murad Tagirov)
 * One overall aim: make Digikam KML output and plasma weather applet 
   work together with Marble. 

2D View (Carlos Licea)
 * create an additional class FlatTextureMapper that will work          ----
   scanline based like SphereTextureMapper (using getPixelValue).
 * Modify the input handler to take the flat projection into account.   ----
 * Adjust the vector mapping backend as well as the PlaceMark           ----
   placing backend.
 * Create a new class for Texturemapping that doesn't work scanline     ---- 
   based anymore but uses the tiles as a whole on a kind of ScrollView.


Before KDE 4.0
----------------------------------------------------------------

Widget:
 * Make it possible to paint on different device types in addition      ----
   to painting on the MarbleWidget
    - QGraphicsView                                                     --
    - QPixmap                                                           --
    - QSvgRendrerer                                                     --
 * Offer accessor method for the Pixmap, so it can be used to export    DONE
   the image, print it and copy it.


Make it a KDE4 application as a real member of kdeedu.
 * KApplication                                                         DONE
 * AboutData                                                            DONE
 * KConfig XT                                                           TACK
 * Translation                                                          TACK
 * User docs                                                            DONE
 * KDEPrint support                                                     DONE
 * DBus Support                                                         TACK

Features
 * Areas, e.g. countries or districts                                   ----

 
Before KDE 4.1
----------------------------------------------------------------
 * Support to display Timezones
 * Evaluate the implementation of tile specifications like 

   http://wiki.osgeo.org/index.php/WMS_Tiling_Client_Recommendation
   http://wiki.osgeo.org/index.php/Tile_Map_Service_Specification

   for practical relevance and implement those bits into our client that 
   make sense for us to have.

