mirror of https://github.com/GNOME/gimp.git
377 lines
12 KiB
XML
377 lines
12 KiB
XML
<!-- Stuff that is scheduled to be done. Ideas do not go here, put
|
|
them into the old TODO file for now. -->
|
|
|
|
<!-- The following comment is not yet valid, since we have not yet
|
|
set up the website and updated the commit scripts. Please check
|
|
for parse errors anyway.
|
|
|
|
This is used to generate the online TODO list for GIMP using
|
|
the script docs/make-todo. Whenever a change to this file is
|
|
committed to CVS, the file is run through make-todo and the online
|
|
version updated. If you modify this file, you should check for
|
|
parse errors by running:
|
|
|
|
$ docs/make-todo TODO.xml > /dev/null
|
|
|
|
before committing, or you may screw up the online version -->
|
|
|
|
<todo logourl="wilber.png">
|
|
<title>GIMP TODO List</title>
|
|
|
|
<section>
|
|
<title>General</title>
|
|
|
|
<entry size="big" difficulty="advanced" status="0%" target="1.4">
|
|
<title>Port to glib-2.0 and gtk+-2.0</title>
|
|
<description>
|
|
<p>
|
|
This is directly connected to the objectification task mentioned
|
|
below and should probably be addressed after all objects have
|
|
been reviewed.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="medium" difficulty="easy" status="80%" target="1.4">
|
|
<title>Header cleanup</title>
|
|
<description>
|
|
<p>
|
|
Headers should only include other headers if absolutely necessary
|
|
(for derived objects for example). All functions must be
|
|
properly prototyped.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="big" difficulty="medium" status="0%" target="1.4">
|
|
<title>Code reorganization</title>
|
|
<description>
|
|
<p>
|
|
Split the core into several subdirectories and build libtool
|
|
convenience libraries which are then linked together to form
|
|
the gimp binary.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="medium" difficulty="medium" status="20%" target="1.4">
|
|
<title>Unify color data types</title>
|
|
<description>
|
|
<p>
|
|
LibGimp already has a new type GimpRGB. This should be used
|
|
whereever possible. If necessary we can change this to a
|
|
more generic struct later. Migrating to GimpRGB first will make
|
|
this much easier.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
</section> <!-- General -->
|
|
|
|
<section>
|
|
<title>Objectification</title>
|
|
|
|
<entry size="small" difficulty="easy" status="80%" target="1.4">
|
|
<title>Generic GimpObject</title>
|
|
<description>
|
|
<p>
|
|
Directly derived from GObject, should probably have a name
|
|
argument.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="medium" difficulty="medium" status="10%" target="1.4">
|
|
<title>Cleanup existing internal objects</title>
|
|
<description>
|
|
<p>
|
|
GimpDrawable, Layer, GimpImage, GDisplay need to be redone as
|
|
proper GimpObjects. Write new objects (with proper names) and
|
|
port all stuff to the new objects incrementally.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="medium" difficulty="advanced" status="0%" target="1.4">
|
|
<title>Generic data structures</title>
|
|
<description>
|
|
<p>
|
|
Brushes, Patterns, Gradients should be derived from a GimpData
|
|
object. This object has to provide hooks to generate previews.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="medium" difficulty="medium" status="0%" target="1.4">
|
|
<title>Generic object container(s)</title>
|
|
<description>
|
|
<p>
|
|
A GimpContainer that holds GimpObject objects. Comparable to
|
|
the GCimContainer, but no serialization for now. Should probably
|
|
dispatch "changed" (or other) signals from its children.
|
|
</p>
|
|
<p>
|
|
This container will be used for lists of brushes, patterns,
|
|
layers, channels, paths, ...
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="medium" difficulty="advanced" status="0%" target="1.4">
|
|
<title>Abstract GimpBrush object and derived brush types</title>
|
|
<description>
|
|
<p>
|
|
The GimpBrush object we have now is not a generic BrushProvider.
|
|
We need an abstract object to derive the different kinds of brushes
|
|
from (BrushPipes, parametric brushes, ...). It has to provide
|
|
methods for the PaintCore to transparently select and use the brush
|
|
data. Paint tools should have to care about the brush type as less
|
|
as possible.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
</section> <!-- Objectification -->
|
|
|
|
<section>
|
|
<title>LibGimp</title>
|
|
|
|
<entry size="medium" difficulty="medium" status="0%" target="1.4">
|
|
<title>Restructure LibGimp</title>
|
|
<description>
|
|
<p>
|
|
Put libgimp, libgimpui (and new libs) into their own subdirectories
|
|
under a toplevel libs directory. Install all header files under
|
|
$prefix/include/gimp/1.3/ and change gimptool accordingly.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="small" difficulty="easy" status="0%" target="1.4">
|
|
<title>Utility library</title>
|
|
<description>
|
|
<p>
|
|
Put utility functions that are also used by the core into
|
|
a separate library.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="medium" difficulty="medium" status="0%" target="1.4">
|
|
<title>File plug-in library</title>
|
|
<description>
|
|
<p>
|
|
Write a library with a bunch of common functions for file plug-ins
|
|
to remove code duplication in these plug-ins.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
</section> <!-- LibGimp -->
|
|
|
|
<section>
|
|
<title>User Interface</title>
|
|
|
|
<entry size="medium" difficulty="medium" status="0%" target="1.4">
|
|
<title>Abstract Container Views</title>
|
|
<description>
|
|
<p>
|
|
Views on data stored in a GimpContainer. The objects need to provide
|
|
hooks that this view can use to show data like patterns, brushes,
|
|
etc. in different views (list, grid, ...)
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="big" difficulty="advanced" status="0%" target="1.4">
|
|
<title>Effect Preview Widget</title>
|
|
<description>
|
|
<p>
|
|
A generic preview widget with functions like scrolling and zooming
|
|
useable by effect filters. Should have adaptive supersampling,
|
|
progressive display (if possible) and other neat stuff.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="small" difficulty="easy" status="100%" target="1.4">
|
|
<title>Optionally disable tearoff windows</title>
|
|
<description>
|
|
<p>
|
|
Add an option to the Preferences to disable tearoff menus. Some
|
|
people seem to be annoyed by it and it should be trivial to
|
|
make them optional.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="small" difficulty="easy" status="100%" target="1.4">
|
|
<title>Implement "Save a Copy as..."</title>
|
|
<description>
|
|
<p>
|
|
Add a "Save a Copy as" function which works as "Save as" but
|
|
leaves the image's name untouched.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="small" difficulty="easy" status="0%" target="1.4">
|
|
<title>Optionally set a different background for the image window</title>
|
|
<description>
|
|
<p>
|
|
It's often useful to view the image you're editing on a pure
|
|
white or pure black background instead of the theme's default
|
|
background.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="small" difficulty="medium" status="0%" target="1.4">
|
|
<title>Fullscreen image view</title>
|
|
<description>
|
|
<p>
|
|
Add a possibility to show the image fullscreen (padded with the
|
|
configured canvas background color).
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="medium" difficulty="medium" status="50%" target="1.4">
|
|
<title>Cleanup GIMP's color selectors</title>
|
|
<description>
|
|
<p>
|
|
The pluggable color selectors need to be overhauled. Move
|
|
the numerical input fields, the sliders, the "old" and "new"
|
|
color buttons and a color history out of the notebook so
|
|
they are always visible. Optionally allow an alpha value to
|
|
be specified. Maybe reduce the size of the color area in the
|
|
"GIMP" color selector.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="medium" difficulty="medium" status="0%" target="1.4">
|
|
<title>Better keyboard navigation</title>
|
|
<description>
|
|
<p>
|
|
Think about a proper way to make all menus and dialogs accesible
|
|
and navigationable without using a mouse.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="medium" difficulty="medium" status="0%" target="1.4">
|
|
<title>Move DND functions into LibGimp</title>
|
|
<description>
|
|
<p>
|
|
Move the DND functionality into LibGimp. This needs to be done
|
|
differently for app and plug-ins, but should be handled
|
|
transparently.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
<entry size="medium" difficulty="medium" status="10%" target="1.4">
|
|
<title>Add more widgets</title>
|
|
<description>
|
|
<p>
|
|
Lost of existing user interface elements can be implemented as
|
|
proper widgets in libgimpui, so they are useable from everywhere.
|
|
</p>
|
|
</description>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
</section> <!-- User Interface -->
|
|
|
|
<section>
|
|
<title>Internationalization</title>
|
|
|
|
<entry size="small" difficulty="medium" status="0%" target="1.4">
|
|
<title>Context-sensitive translations</title>
|
|
<description>
|
|
<p>
|
|
The same english string used in different contexts may need to
|
|
be translated differently in other languages. Think of a way to
|
|
implement this using gettext or come up with something better.
|
|
</p>
|
|
<p>
|
|
There is a patch with a possible solution on ftp.gimp.org,
|
|
but actually we'd like something cleaner if possible.
|
|
</p>
|
|
</description>
|
|
<url>ftp://ftp.gimp.org/pub/gimp/patches/gimp-chyla-20001207-0.patch</url>
|
|
<contact>
|
|
GIMP Developer List <gimp-developer@xcf.berkeley.edu>
|
|
</contact>
|
|
</entry>
|
|
|
|
</section> <!-- Internationalization -->
|
|
|
|
</todo>
|