		Porting GNOME 1.0 Applications to GNOME 2.0


[this document is still work-in-progress.]

Notation
========

* MODIFIED

  The file/widget/feature has been modified in a source incompatible way,
  but it is possible to reuse old code without completely rewriting it
  (compatibility layer exists, fixable by scripts, ....)

* CHANGED API

  The API of this file/widget/feature has completely changed; it is not
  possible to reuse old code without rewriting at least large parts of it.

* ADDED FUNCTIONALITY

  There is some added functionality over GNOME 1.x.

* OBSOLETE

  The file/widget/feature is obsolete and it has been moved to libcompat.

* REMOVED

  The file/widget/feature has been completely removed, it is not in libcompat.
  This normally means that it is easier to fix code which was using this than
  to provide a compatibility layer.

* NEW

  The file/widget/feature is completely new in GNOME 2.0.

* UNKNOWN

  I don't know what's up with this.

libgnome stuff:
===============

* gnome-config - ADDED FUNCTIONALITY

  - uses gbooleans rather then gints

  The following functions have been changed:

  - gnome_config_sync()
  - gnome_config_sync_file():  Now return a gboolean to indicate if the
    sync was successful.  Needed for GnomeDItem

* gnome-dentry - OBSOLETE

  - This has been replaced by GnomeDItem (gnome-ditem), and currently resides
    in libcompat

* GnomeDItem (gnome-ditem) - NEW

  - This is a far more flexible replacement for GnomeDEntry.  It allows adding
    of arbitrary fields without changing the API, and it does not clobber
    other info in the .desktop file.

* gnome-dns - OBSOLETE

  - There are other and better way of doing this

* gnome-exec - ADDED FUNCTIONALITY

  The following new functions have been added:

  - gnome_prepend_terminal_to_vector(): prepend the terminal accodring to user
    preference to the vector
  - gnome_execute_terminal_shell()
  - gnome_execute_terminal_shell_fds():  Execute in terminal shell according
    to user preference.

* gnome-help - OBSOLETE

  - gnome-helpsys from libgnomeui should be used

* gnome-history - OBSOLETE

  - gnome-recently-used from libgnomeui should be used

* gnome-i18n - ADDED FUNCTIONALITY

  - Return values are const correct

  The following new functions have been added:

  - gnome_i18n_push_c_numeric_locale()
    gnome_i18n_pop_c_numeric_locale():  Fucntions for pushing and popping
    a "C" numeric locale.  This is neccessary anywhere where a text file is
    read or written or anywhere where information exchange in numbers takes
    place as it's neccessary to use the C locale there to make it work in
    non-C locales.

* gnome-metadata - OBSOLETE

  - This is all now in gnome-vfs

* gnome-mime - OBSOLETE

  - This is all now in gnome-vfs

* gnome-mime-info - OBSOLETE

  - This is all now in gnome-vfs
  
* gnome-paper - ADDED FUNCTIONALITY

  - Return values are const correct

  The following new functions have been added:

  - gnome_unit_with_abbrev()
  - gnome_unit_name()
  - gnome_unit_abbrev()
  - gnome_unit_convert()

* gnome-popt - OBSOLETE

  - Apparently the new init stuff in libgnome takes care of this

* gnome-regex

  - Source compatible beautification

* gnome-score

  - const correct

* gnome-url - ADDED FUNCTIONALITY

  The following functions have been modified:

  - gnome_url_show(): const correct, returns a gboolean

  The following new functions have been added:

  - gnome_url_show_full():
  - gnome_url_display_context_free():  URL showing according to flags,
    and gets an actual error, and a history.  The history callback api is
    not nice, and needs to be still changed.

* gnome-util - MODIFIED + ADDED FUNCTIONALITY

  - const correct

  The following functions/macros have been removed:

  - g_filename_index()
  - g_filename_pointer():  These functions depended on g_basename, which is
    obscolete in glib 2
  - g_file_test(): Removed since glib2 includes this function
  - g_copy_strings()
  - g_unix_error_string():  Removed since glib2 includes equivalents, and
    has for quite a while
  - g_file_exists():  Use g_file_test(,G_FILE_TEST_EXISTS) instead.

  - gnome_libdir_file, gnome_datadir_file, gnome_sound_file, gnome_pixmap_file,
  gnome_config_file, gnome_help_file, gnome_app_help_file,
  gnome_unconditional_libdir_file, gnome_unconditional_datadir_file,
  gnome_unconditional_sound_file, gnome_unconditional_pixmap_file,
  gnome_unconditional_config_file, gnome_unconditional_help_file: Removed.

  On the GNOME 1.x platform, this functions have extensively been abused to
  locate files which are installed by your application.

  If your applicatoin `foo' has a pixmap `foo.png', define FOOPIXMAPDIR in
  your Makefile.am and use `FOOPIXMAPDIR "/foo.png"'.

  If you want to locate a _system installed_ file, such as a file which has
  been installed by libgnomeui-2 or another library which is part of the
  GNOME 2 platform, use the new gnome_program_locate_file().

  The following functions have been added:

  - gnome_program_locate_file():  A more flexible file location functions which
    attempts to solve the issues of gnome_*_file functions.  This function is
    to locate a system installed file, not a file which is installed by your
    application.

* gnomelib-init, gnomelib-init2 - UNKNOWN

  - Apparently some sort of more flexible initialization

Last changed Feb 25, 2001.
Martin Baulig <baulig@suse.de>
George Lebl <jirka@5z.com>
