482cf3700a1d1df629cc5d8c09a2f2490b3fcd77

GLib/GTK+ functions, except for a couple of places were we use GtkCList.] * Makefile.am (INCLUDES): Add `-DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED'. * evolution-test-component.c (create_new_folder_selector): No gtk_window_set_policy(). * main.c (quit_box_new): gtk_window_set_resizable() instead of gtk_window_set_policy(). (view_map_callback): g_signal_handlers_disconnect_by_func() instead of gtk_signal_disconnect_by_func(). (main): No need to push the GdkRGB visual/cmap anymore. (new_view_created_callback): Likewise. * e-task-widget.c: Renamed member pixmap of ETaskWidgetPrivate to `image'. (init): Updated accordingly. (e_task_widget_construct): Use GtkImage, not GtkPixmap. * e-storage.c (class_init): Converted from gtk_signal_new() to g_signal_new(). * e-storage-set.c (class_init): Converted from gtk_signal_new() to g_signal_new(). * e-storage-set-view.c (setup_folder_properties_items_if_corba_storage_clicked): g_string_append_printf() instead of g_string_sprintfa(). (class_init): Converted from gtk_signal_new() to g_signal_new(). (setup_folder_changed_callbacks): Use e_signal_connect_while_alive() and e_signal_connect_full_while_alive(). * e-splash.c (e_splash_construct): gtk_window_set_resizable() instead of gtk_window_set_policy(). * e-shortcuts.c: Do not #include e-unicode.h. (shortcut_item_update): Use g_path_get_basename() instead of g_basename(). (e_shortcuts_add_default_shortcuts): No need to de-utfize strings. (e_shortcuts_add_default_group): Same here. * e-shortcuts-view.c: Do not #include <e-unicode.h>. (class_init): Converted from gtk_signal_new() to g_signal_new(). (destroy_group_cb): No need to convert the text from UTF8. * e-shell.c (impl_dispose): g_signal_handlers_disconnect_by_func() instead of gtk_signal_disconnect_by_func(). (class_init): Use g_signal_new() instead of gtk_signal_new(). * e-shell-view.c: Do not #include e-unicode.h. Renamed member offline_toggle_pixmap to offline_toggle_image in EShellViewPrivate. (update_folder_title_bar): No need to de-UTF8-ize the title. (cleanup_delayed_selection): g_signal_handlers_disconnect_by_func() instead of gtk_signal_disconnect_by_func(). (ui_engine_add_hint_callback): gtk_label_set_text(), not gtk_label_set(). (class_init): Use g_signal_new() instead of gtk_signal_new(). (update_for_current_uri): No need to convert the title from UTF8. (setup_offline_toggle): Changed to set up a GtkImage, not a GtkPixmap. (update_offline_toggle_status): Accordingly (gtk_image* instead of gtk_pixmap*). (set_current_notebook_page): gtk_notebook_set_current_page(), not gtk_notebook_set_page(). (get_storage_set_path_from_uri): g_ascii_strncasecmp() instead of g_strncasecmp(). (folder_bar_popup_map_callback): Use e_signal_connect_while_alive() instead of gtk_signal_connect_while_alive(). (e_shell_view_construct): Likewise. (display_uri): g_signal_connect_after() instead of gtk_signal_connect_full(). (update_for_current_uri): g_signal_handlers_{block,unblock}_by_func() instead of gtk_signal_handler_{block,unblock}_by_func(). * e-shell-view-menu.c (command_about_box): gtk_window_set_resizable() instead of gtk_window_set_policy(). * e-shell-utils.c (get_mini_name): g_path_get_basename() instead of g_basename(). * e-shell-user-creatable-items-handler.c (append_xml_for_menu_item): g_string_append_printf() instead of g_string_sprintfa(). (create_menu_xml): Likewise. * e-shell-shared-folder-picker-dialog.c: Do not #include e-unicode.h. (progress_bar_timeout_callback): Expect a GtkProgressBar data and just use gtk_progress_bar_pulse(). (create_progress_dialog): gtk_window_set_resizable() instead of gtk_window_set_policy(). No gtk_progress_set_activity_mode(). (setup_server_option_menu): Just use gtk_menu_item_new_with_label() instead of e_utf8_gtk_menu_item_new_with_label(). * e-shell-settings-dialog.c (set_dialog_size): Ported to Pango. * e-shell-offline-sync.c (impl_SyncFolderProgressListener_updateProgress): gtk_progress_set_fraction() instead of gtk_progress_bar_set_percentage(). (sync_folder): Likewise. (setup_dialog): gtk_window_set_resizable() instead of gtk_window_set_policy(). (sync_folder): No gtk_progress_set_activity_mode(). * e-shell-offline-handler.c: #undef {G,GTK}_DISABLE_DEPRECATED here for now (need to port from GtkCList). (class_init): Use g_signal_new() * e-shell-importer.c: #undef {G,GTK}_DISABLE_DEPRECATED here for now (need to port from GtkCList). * e-shell-folder-title-bar.c (create_image_widget_from_xpm): Renamed from create_pixmap_widget_from_xpm(); handle GtkImage instead of GtkPixmap. (new_empty_image_widget): Renamed from new_empty_pixmap_widget(); return a GtkImage instead of a GtkPixmap. (add_navigation_buttons): Updated accordingly; so use GtkImages instead of GtkPixmaps. (e_shell_folder_title_bar_construct): Likewise. (e_shell_folder_title_bar_set_icon): Use gtk_image_* instead of gtk_pixmap_* on the image widgets. (class_init): Converted to use g_signal_new() instead of gtk_signal_new(). (e_shell_folder_title_bar_new): No need for pushing the GdkRGB visual/cmap anymore. * e-shell-folder-selection-dialog.c (check_folder_type_valid): Just use strcmp instead of strcasecmp(). (class_init): g_signal_new() instead of gtk_signal_new(). (e_shell_folder_selection_dialog_construct): Removed call to gtk_window_set_policy(). * e-shell-folder-creation-dialog.c (type_with_display_name_compare_func): Changed to use g_utf8_casefold(). * e-shell-folder-commands.c: Do not #include e-unicode.h. (e_shell_command_rename_folder): g_path_get_dirname() instead of g_dirname(). (folder_selection_dialog_folder_selected_callback): g_path_get_basename() instead of g_basename(). (rename_cb): Likewise. (delete_dialog): Do not convert from UTF8 for display purposes. (e_shell_command_rename_folder): Likewise. * e-shell-about-box.c (timeout_callback): Ported to Pango and use gdk_window_invalidate_rect() instead of gtk_widget_draw(). * e-setup.c (check_evolution_directory): Use gtk_window_set_resizable() instead of gtk_window_set_policy(). * e-local-storage.c: Do not include e-unicode.h. (create_folder): Use g_path_get_basename() instead of g_basename(). (create_folder_directory): Likewise. (remove_folder_directory): Likewise. (append_xfer_item_list): Likewise. * e-local-folder.c (construct_loading_metadata): Use g_path_get_basename() instead of g_basename(). * e-folder-dnd-bridge.c (handle_evolution_path_drag_motion): Use g_path_get_basename() instead of g_basename(). * e-corba-storage-registry.c: G_STRUCT_OFFSET instead of GTK_STRUCT_OFFSET. * e-corba-shortcuts.c: G_STRUCT_OFFSET instead of GTK_STRUCT_OFFSET. * e-component-registry.c (sleep_with_g_main_loop_timeout_callback): g_main_loop_* instead of g_main_*. (sleep_with_g_main_loop): Likewise. * e-activity-handler.c: G_STRUCT_OFFSET instead of GTK_STRUCT_OFFSET. * evolution-wizard.c (evolution_wizard_class_init): g_signal_new() instead of gtk_signal_new(). * evolution-storage-listener.c (class_init): g_signal_new() instead of gtk_signal_new(). * evolution-shell-view.c (class_init): g_signal_new() instead of gtk_signal_new(). * evolution-shell-component-dnd.c: G_STRUCT_OFFSET instead of GTK_STRUCT_OFFSET. * evolution-shell-component.c: G_STRUCT_OFFSET instead of GTK_STRUCT_OFFSET. * evolution-session.c: G_STRUCT_OFFSET instead of GTK_STRUCT_OFFSET. * evolution-folder-selector-button.c: Do not include e-unicode.h. (set_folder): No need to convert from UTF8 to locale encoding anymore. Removed unused variable. * evolution-config-control.c (class_init): Use g_signal_new() instead of gtk_signal_new(). * evolution-activity-client.c (class_init): Use g_signal_new() instead of gtk_signal_new(). * e-folder-list.c: Do not include e-unicode.h. Use E_MAKE_TYPE(). (e_folder_list_get_type): Removed explicit implementation of this. (e_folder_list_set_arg): Removed. (e_folder_list_get_arg): Removed. (e_folder_list_set_property): New. (e_folder_list_get_property): New. (e_folder_list_destroy): Removed. (e_folder_list_dispose): New. (e_folder_list_class_init): Updated accordingly. * e-folder.c (impl_save_info): Use G_OBJECT_TYPE_NAME() instead of gtk_type_name(). (impl_load_info): Likewise. (impl_remove): Likewise. (class_init): Use g_signal_new() instead of gtk_signal_new(). svn path=/trunk/; revision=19170
…
…
…
Evolution is the integrated mail, calendar and address book distributed suite from Ximian, Inc. See http://www.ximian.com/products/evolution for more information. If you are using Evolution, you may wish to subscribe to the Evolution users mailing list. If you are interested in contributing to development on it, you should certainly subscribe to the Evolution Hackers mailing list. Visit http://developer.ximian.com/community/lists.html to subscribe to Ximian mailing lists. If you are planning to work on any part of Evolution, please send mail to the mailing list first, to avoid duplicated effort (and to make sure that you aren't basing your work on interfaces that are expected to change). There are mailing list archives available at http://lists.ximian.com/archives/public/evolution/ and http://lists.ximian.com/archives/public/evolution-hackers/ There is also an #evolution IRC channel on irc.gnome.org. Help for Evolution is available in the user manual (select "Help" from the menu after running the application), at the Ximian knowledge base (http://support.ximian.com), in the Evolution man page (run "man evolution" at the command line), and in the --help strings (run "evolution --help" at the command line). The rest of this file is dedicated to building Evolution. PROBLEMS BUILDING EVOLUTION --------------------------- Did you read the "How to build" section below? If the configure script complains that you don't have a library that you know you have installed, it usually means either that you've installed things into multiple prefixes (see the bits on GNOME_PATH below) or (if you're on Linux) that you installed the "foo" package but forgot the "foo-devel" or "foo-dev" packages. HOW TO BUILD EVOLUTION ---------------------- *** READ THIS BEFORE YOU START BUILDING ANYTHING! *** Evolution depends on a large number of unreleased and rapidly-changing libraries. Some of these libraries in turn depend on other unreleased and rapidly-changing libraries. Building Evolution is HARD, and it's going to stay hard until all of the libraries it depends on stabilize, and there's nothing we can do to make it any easier until then. GENERAL PRINCIPLES ------------------ First you have to decide whether you want to install Evolution (and its dependencies) into the same prefix as the rest of your GNOME install, or into a new prefix. Installing everything into the same prefix as the rest of your GNOME install will make it much easier to build and run programs, and easier to switch between using packages and building it yourself, but it may also make it harder to uninstall later. If you want to install into the same prefix as the rest of GNOME, type: gnome-config --prefix gnome-config --sysconfdir and remember the answers, and pass them to "configure" or "autogen.sh" when building the other packages you need. For example: ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --localstatedir is needed to make the docs integrate with scrollkeeper and needs to point to the directory containing the scrollkeeper indices which are in: gnome-config --localstatedir If you build in another prefix instead, you will need to set the GNOME_PATH environment variable (and ACLOCAL_FLAGS as well if building from CVS) to include the prefix you install into. For example: export GNOME_PATH=/usr/local export ACLOCAL_FLAGS="-I /usr/local/share/aclocal" (Assuming your shell is bash, and you installed into /usr/local.) You need to set GNOME_PATH both during compiling AND when you run evolution. Remember also that if you're installing into an odd prefix such as /evolution, that you also need to make sure to put ${prefix}/bin in your PATH and ${prefix}/lib in your LD_LIBRARY_PATH. DEPENDENCIES ------------ The following required libraries are available in GNOME CVS, under the given names. Most (but not all) of them are also available as tarballs on ftp.gnome.org or one of the Ximian mirrors listed at http://ximian.com/mirrors.html. If installing from packages, remember that you need both the runtime and -devel packages for each library. - GNU intltool 0.18 - scrollkeeper - 0.1.4 or later - gnome-xml - 1.8.17 or later in the 1.0 series, but not from the 2.0 series (If you get this from GNOME CVS, use the tag "LIB_XML_1_BRANCH".) - gnome-print - 0.35 or later - gdk-pixbuf - 0.18.0 or later - ORBit - 0.5.8 or later (If you get this from GNOME CVS, use the tag "orbit-stable-0-5".) - oaf - 0.6.10 or later (If you get this from GNOME CVS, use the tag "oaf-stable-0-6") *** If you are using oaf from CVS, you should use the flag *** "--disable-more-warnings" when you configure, or it may fail to *** build. - gnome-vfs - 1.0.5 or later (If you get this from GNOME CVS, use the tag "gnome-vfs-1-0") *** If you are using gnome-vfs from CVS, you should use the flag *** "--disable-more-warnings" when configuring, or it may fail to *** build. - libglade - 0.14 or later - bonobo - 1.0.3 or later *** Note that bonobo must be installed with the same --prefix as *** either gnome-libs or evolution for the Makefiles to work *** properly. - bonobo-conf - 1.0.16 or later - gal (GNOME Application Library) - 0.21 or later - gtkhtml - 1.1.5 or later - SOUP - 0.7.x *** If you are compiling from CVS, grab the soup-0-7 branch. Other non-GNOME Dependencies: - Berkeley's libdb - 3.1.17 db3 is available from http://www.sleepycat.com. Make sure to get 3.1.17, which isn't the latest version. --- IMPORTANT WARNING --- The on-disk format of DB files has been changing between versions 2, 3 and 4. Also, because of the libdb API, there is no way to easily handle the different formats from within the application. For this reason, Evolution has chosen to use one specific version of the library (version 3) and stick to it, so that users do not need to convert their addressbook files to use them with different version of Evolution. That's why Evolution REQUIRES libdb 3.1.17, and NO OTHER VERSION. If you force the check to accept a version different from 3.1.17, your binary of Evolution will be using a different format from the chosen one; this means that it will not be able to read addressbook databases created by other versions of Evolution which were compiled in the standard way. Also, we DO NOT GUARRANTEE that Evolution will work with different versions of libdb at all, even if it can be trivially made to compile against them. SPECIAL NOTE FOR BINARY PACKAGERS: If you are making binary packages for end-users (e.g. if you are a distribution vendor), please statically link Evolution to Berkeley DB 3.1.17, as mandated by the configure.in check. DO NOT patch configure.in to work around the check. Forcing the check to link to a different version of the library will only give headaches and pain to your users, who will see their addressbook disappear and will complain to us (the Evolution team) about losing their data. Besides, libdb will be linked statically, which means that your distribution doesn't actually need to ship DB 3.1.17 itself separately. The Evolution team will be infinitely grateful for your co-operation. Thanks. COMPILING BERKELEY DB --------------------- If you don't have 3.1.17 installed on your system or Evolution doesn't detect it for some reason, here is a way to get Evolution to link to it without messing up your system installation. * Get the Sleepycat tarball from: http://www.sleepycat.com/update/snapshot/db-3.1.17.tar.gz * Install the content somewhere _other_ than the evolution source tree. e.g: NOT evolution/db-3.1.17 * Compile according to instructions, but installing into some custom prefix, for example: ../dist/configure --prefix=/home/user/berkeleydb-3.1.17 * Autogen Evolution specifying that it has to look for the DB library there, for example: ./autogen.sh --prefix=/opt/gnome --with-db3-includes=/home/user/berkeleydb-3.1.17/include --with-db3-libs=/home/user/berkeleydb-3.1.17/lib COMPILING PALM PILOT SUPPORT ---------------------------- If you want support for PalmPilot syncing you will also need recent versions of: 1) pilot-link http://www.pilot-link.org 2) gnome-pilot http://www.eskil.org/gnome-pilot/ 3) evolution In your evolution source directory do ./autogen.sh --prefix=<evo-prefix> --with-pisock=<pilot-link-prefix> --enable-pilot-conduits=yes make make install SSL SUPPORT ----------- If you want SSL support (and someday S/MIME), you will also need mozilla-nspr and mozilla-nss, which can be found at http://www.mozilla.org. Once you have those libraries (and their respective includes) installed, in your evolution source directory do: ./autogen.sh --prefix=<evo-prefix> --with-nspr-includes=<nspr-includes-prefix> --with-nspr-libs=<nspr-libs-prefix> --with-nss-includes=<nss-includes-prefix> --with-nss-libs=<nss-libs-prefix> NEWSGROUP (NNTP) SUPPORT ------------------------ Experimental support for NNTP is enabled if you use the --enable-nntp configure option, but it's currently unmaintained and highly unstable and experimental.
Description
Languages
C
96.8%
JavaScript
1.4%
CMake
1.2%
Makefile
0.2%
Python
0.2%