2000-05-16 Ettore Perazzoli <ettore@helixcode.com>
* e-storage-set-view.c: Get rid of the `ICON_WIDTH' and
`ICON_HEIGHT' #defines.
(get_pixmap_and_mask_for_folder): Get the mini icon instead of the
big one. Use `E_SHELL_MINI_ICON_SIZE' instead of `ICON_WIDTH' and
`ICON_HEIGHT'.
* e-folder-type-repository.c: New member `mini_icon_pixbuf' in
`FolderType'.
(folder_type_new): Initialize `mini_icon_pixbuf' by loading the
mini icon if possible. If the mini icon is not found, resort to
the big one.
(folder_type_free): Unref the mini icon.
(e_folder_type_repository_get_icon_for_type): New arg @mini. If
true, return the mini icon instead of the standard one.
* e-shell-view.c (set_icon): Get the mini icon instead of the big
one by using `e_shell_get_icon_path's @try_mini arg.
* e-shell-constants.h: New file.
* e-shell-utils.c
(e_shell_get_icon_path): New arg @try_mini. If true, look for the
mini version [whose name ends in `-mini'].
* e-folder-type-repository.c
(folder_type_new): Free string returned by
`e_shell_get_icon_path()'.
2000-05-16 Ettore Perazzoli <ettore@helixcode.com>
* e-shell-view.c: New members `storage_set_view_box',
`shortcut_bar_box', `hpaned1_position', `hpaned2_position' in
`EShellViewPrivate'.
(init): Initialize them.
(setup_widgets): Add title bars to the tree and shortcut views.
(shortcuts_view_close_button_clicked_cb): New callback function.
(setup_widgets): Connect to the "close_button_clicked" signal of
the shortcut view's title bar.
(storage_set_view_close_button_clicked_cb): New callback function.
(setup_widgets): Connect to the "close_button_clicked" signal of
the storage set view's title bar.
(e_shell_view_show_shortcuts): New function.
(e_shell_view_show_folders): New function.
* e-shell-view.c: New members `hpaned1', `hpaned2' in
`EShellViewPrivate'.
(init): Initialize both to NULL.
(setup_widgets): Invert the parenting order for the GtkHPaneds and
store them into the private `hpaned' and `hpaned2' members.
* Makefile.am (evolution_LDADD): Link with `libemiscwidgets.a'.
2000-05-15 Ettore Perazzoli <ettore@helixcode.com>
* e-shortcuts.c
(load_shortcuts_into_view): Removed.
(e_shortcuts_new_view): Don't set up the shortcut bar manually
here anymore, and don't set the icon callback either. The
`EShortcutsView' object is now able to do this by itself.
* e-shortcuts-view.c
(icon_callback): Moved here from `e-shortcuts.c'.
(load_group): New function.
(load_all_shortcuts): New function.
(e_shortcuts_view_construct): Call it to load the shortcuts from
the `EShortcuts' object. Also, set `icon_callback' as the icon
callback.
* e-storage-set-view.c
(button_press_event): Add/remove grab with `gtk_grab_add' and
`gtk_grab_remove'.
(button_release_event): Call `gtk_grab_remove' when removing the
grab.
* e-shortcuts.c: New member `title_to_group' in
`EShortcutsPrivate'.
(init): Initialize here.
(destroy): Destroy here.
(unload_shortcuts): Destroy and recreate here.
(load_shortcuts): Avoid inserting multiple groups with the same
title, and insert the groups into the `title_to_group' hash table.
Also, avoid leaking the return value from `xmlNodeListGetString'.
(e_shortcuts_get_group_titles): New function.
(e_shortcuts_get_shortcuts_in_group): New function.
(e_shortcuts_get_storage_set): New function.
* e-storage-set-view.c
(e_storage_set_view_set_current_folder): Emit the
"folder_selected" signal.
* e-local-folder.c
(get_string_value): Return a `char *' to be deallocated by the
caller instead of a `const char *' that does not need to be
deallocated.
(construct_loading_metadata): Free values returned from
`get_string_value'.
2000-05-15 Ettore Perazzoli <ettore@helixcode.com>
* e-storage-set-view.c: New members `dragged_row_path',
`selected_row_path_before_click' in `EStorageSetViewPrivate'.
(init): Initialize them to NULL.
(motion_notify_event): Set `dragged_row_path' from
`selected_row_path'.
(button_press_event): Initialize `selected_row_path_before_click'
from `selected_row_path'.
(button_release_event): Set `selected_row_path_before_click' to
NULL.
(drag_end): Restore the current selection from
`selected_row_path_before_click'; then set both `dragged_row_path'
to NULL.
2000-05-15 Ettore Perazzoli <ettore@helixcode.com>
* e-storage-set-view.c: New members `in_drag' and `drag_button' in
`EStorageSetViewPrivate'. New static variables `drag_types',
`num_drag_types', `target_list'.
(class_init): Create the `target_list'.
(init): Initialize the private `in_drag' member to false.
Initialize the private `drag_button' member to zero.
(button_release_event): Set it to false.
(motion_notify_event): New function, implementation of
`GtkWidget::motion_notify_event'. If `in_drag' is false, set it
to true and set ourselves up as a drag source.
(button_press_event): New function, implementation of
`GtkWidget::button_press_event'. Set `drag_button' to the event's
button number and then chain to the implementation in the parent
class.
(drag_end): New function, implementation of `GtkWidget::drag_end'.
(drag_data_get): New function, implementation of
`GtkWidget::drag_data_get'.
(set_e_shortcut_selection): New function, helper for `drag_data_get'.
(set_uri_list_selection): New function, helper for `drag_data_get'.
(class_init): Install these method implementations.
* e-storage-set-view.c: New member `selected_row_path' in
`EStorageSetViewPrivate'.
(init): Initialize it to NULL.
(tree_select_row): Set it to the path of the selected row. Don't
emit "folder_selected" yet. Also, keep the grab.
(button_release_event): New function, implementation of
`GtkWidget::button_release_event'. If `selected_row_path' is not
NULL, emit the "folder_selected" signal with `selected_row_path'
as the parameter and then set `selected_row_path' to NULL again.
(class_init): Install `button_release_event'.
* e-storage-set-view.c: Made `ICON_WIDTH' and `ICON_HEIGHT' global
#defines.
(e_storage_set_view_construct): Set the row height to
`ICON_HEIGHT'. Alos, set the selection mode to
`GTK_SELECTION_BROWSE'.
2000-05-15 Iain Holmes <ih@csd.abdn.ac.uk>
* e-local-folder.c (get_string_value): Use the correct function to
get the node's contents.
* e-shortcuts.c (load_shortcuts): Same as above.
2000-05-14 Ettore Perazzoli <ettore@helixcode.com>
* e-folder-type-repository.c
(e_folder_type_repository_get_control_id_for_type): Protect
against non-existing types.
(e_folder_type_repository_get_icon_for_type): Likewise.
2000-05-14 Ettore Perazzoli <ettore@helixcode.com>
* e-storage-set-view.c
(folder_compare_cb): Callback comparison function for comparing
folders based on their names.
(insert_folders): Use it to sort the folder list before using it.
2000-05-14 Ettore Perazzoli <ettore@helixcode.com>
* e-shell.c
(setup_storages): Pass the pointer to the folder type repository.
(e_shell_construct): Initialize the folder type repository before
everything else.
* e-storage-set.c: New member `folder_type_repository' in
`EStorageSetPrivate'.
(init): Initialize it to NULL.
(destroy): Unref it.
(e_storage_set_construct): New arg @folder_type_repository.
Initialize the corresponding member in the private struct through
it.
(e_storage_set_new): New arg @folder_type_repository.
(e_storage_set_get_folder_type_repository): New function.
* e-shortcuts.c (icon_callback): Just use [the new version of]
`e_folder_type_repository_get_icon_for_type()' instead of loading
the image manually.
* e-folder-type-repository.c: New member `icon_pixbuf' in
`FolderType'.
(folder_type_new): Load the pixbuf.
(folder_type_free): Unref the pixbuf.
(e_folder_type_repository_get_icon_name_for_type): Renamed from
`e_folder_type_repository_get_icon_for_type'.
(e_folder_type_repository_get_icon_for_type): New function, now
returning a `GdkPixbuf *'.
* e-shortcuts.c
(icon_callback): Use `e_shell_get_icon_name()'.
* e-shell-view.c: New member `storage_set_view' in
`EShellViewPrivate'.
(init): Initialize it to NULL.
(e_shell_view_construct): Create an EStorageSetView for the
shell's EStorageSet and put it into a scrolled window. Also, put
the scrolled window into the EShellView with some
[temporary] GtkPaned action. Store the pointer to the
EStorageSetView to `priv->storage_set_view'.
(set_icon): Get an EShellView and an EFolder instead of an
EShellView and a URI. Also, don't leak.
(update_for_current_uir): New helper function. Call `set_icon'.
(show_error): Call it.
(folder_selected_cb): New function.
(setup_widgets): Connect it to the "folder_selected" signal of the
storage set view.
* e-storage-set-view.c: New file.
* e-storage-set-view.h: New file.
* e-shell-utils.c: New file.
* e-shell-utils.h: New file.
2000-05-10 Christopher James Lahey <clahey@helixcode.com>
* e-shell-view-menu.c: Added an about box.
2000-05-10 Christopher James Lahey <clahey@helixcode.com>
* e-shell-view.c: Set the icons when changing between components.
* main.c: Set the default icon. (The change in e-shell-view.c
doesn't work unless we do this.)
2000-05-09 Matt Loper <matt@helixcode.com>
* e-shell-view-menu.c (command_run_bugbuddy): New function; allows
users to submit a bug.
(command_run_bugbuddy): Implemented with jacob's patch.
2000-05-09 Ettore Perazzoli <ettore@helixcode.com>
* e-shell.c (e_shell_new_view): Display the specified @uri in the
view.
* e-shell-view.c (e_shell_view_construct): Removed arg @uri.
(e_shell_view_new): Likewise.
* main.c: New string constant `STARTUP_URI', specifying the URI to
show in the startup view.
(new_view_idle_cb): New callback function to create a new view for
`STARTUP_URI' in the idle loop. We need to do this in the idle
loop because the CORBA stuff cannot work until the loop starts
running.
(main): Set `new_view_idle_cb' up as the idle callback instead of
creating the view right away.
2000-05-09 Ettore Perazzoli <ettore@helixcode.com>
* e-shell.c (setup_storages): Woops. Don't free the path before
the warning message, as we need to print it.
2000-05-08 Ettore Perazzoli <ettore@helixcode.com>
* main.c (destroy_cb): New function.
(main): Connect it to the `destroy' signal on the shell.
2000-05-08 Ettore Perazzoli <ettore@helixcode.com>
* e-shortcuts.c (load_shortcuts): Const fix.
2000-05-08 Larry Ewing <lewing@helixcode.com>
* e-shortcuts.c (load_shortcuts_into_view): xmlFree the return
value of xmlGetProp.
2000-05-07 Ettore Perazzoli <ettore@helixcode.com>
* e-shortcuts-view.c (e_shortcuts_view_construct): Use
correct cast.
2000-05-07 Ettore Perazzoli <ettore@helixcode.com>
* main.c (main): Connect to "no_views_left", not "destroy".
* e-shell.c (view_destroy_cb): Grmpf.
2000-05-07 Ettore Perazzoli <ettore@helixcode.com>
* e-shell.c (e_shell_construct): Output a warning message if the
shortcut file is not found.
(setup_storages): Output a warning message if the local storage
cannot be initialized.
(destroy): Destroy all the views.
* e-shell-view.c
(e_shell_view_construct): Ref the shell.
* e-shortcuts-view.c
(e_shortcuts_view_construct): Ref the shortcuts.
* e-shell.c: Create the "no_views_left" signal. New member
`views' in `EShellPrivate'.
(init): Initialize `views' to NULL.
(view_destroy_cb): Destroy handler for a view: remove the view
from `views', and emit the "no_views_left" signal if this was the
last view.
(e_shell_new_view): Add the new view to `views' and connect the
"destroy" signal to `view_destroy_cb'.
(destroy): Destroy the views.
* e-shell.h: New signal "no_views_left".
* e-shell-view-menu.c (command_quit): New function, implementation
of the "quit" command.
* e-shell-view.c (e_shell_view_get_shell): New function.
* e-shell.c (e_shell_quit): New function.
* main.c (main): If it is not possible to create the shell for
some reason, pop up an error message.
(shell_destroy_cb): New function, signal handler for "destroy" on
the shell object.
(main): Connect it.
2000-05-06 Ettore Perazzoli <ettore@helixcode.com>
* e-shortcuts.c (destroy): Be safer about NULL objects.
* e-shell.c (destroy): Be safer about NULL objects.
* e-local-storage.c (load_folders): Use `readdir()', not
`readdir_r()'.
2000-05-06 Ettore Perazzoli <ettore@helixcode.com>
* main.c (init_corba) [! USING_OAF]: We have no options no
popt context.
2000-05-06 Ettore Perazzoli <ettore@helixcode.com>
* All files: Reorganized and redone a lot of the shell. New
features: internal URI namespace, extensible storage/folder
mechanism, configurable shortcuts.
2000-05-03 Damon Chaplin <damon@helixcode.com>
* e-shell-view.c (e_shell_view_new): turned the notebook border off.
The calendar looks better without it. If any of the views want a
border they should create it themselves, shouldn't they?
2000-05-04 Ettore Perazzoli <ettore@helixcode.com>
* e-shortcut.c (shell_icon_cb): Type of @url changed from `gchar
*' to `const gchar *'; new arg @data.
(e_shortcut_bar_view_new): Pass NULL as the closure value for
`e_shortcut_bar_set_icon_callback()'.
2000-05-02 Ettore Perazzoli <ettore@helixcode.com>
* e-folder-mail.c: Removed.
* e-folder-mail.h: Removed.
* eshell-types.h: Removed.
* e-folder.h: Don't #include "eshell-types.h".
2000-05-02 Ettore Perazzoli <ettore@helixcode.com>
* e-folder.h: Removed member `eservice' from `EFolder'.
* e-service.c: Removed.
* e-service.h: Removed.
2000-05-02 Matt Loper <matt@helixcode.com>
* Makefile.am: set G_LOG_DOMAIN.
2000-05-01 Dan Winship <danw@helixcode.com>
* e-shell-view.c (e_shell_view_set_view): Turn off control frame
autoactivation, so the toolbars work correctly. This may actually
be a bug in Bonobo, but we'll kludge around it here for now.
2000-04-27 Ettore Perazzoli <ettore@helixcode.com>
* e-shell-view.c: OAFized.
(get_view): If `bonobo_widget_new_control()' fails for the
calendar, don't try to get the property bag and stuff and thus
prevent a segfault.
* main.c
(corba_init): Removed Bonobo initialization. Implemented OAF
version for the case in which `USING_OAF' is #defined.
(init_bonob): New function.
(main): Call `init_bonobo()'.
2000-04-26 Matt Loper <matt@helixcode.com>
* e-shell-view.c (bonobo_widget_is_dead): Helper function to see
whether a bonobo widget is a zombie (ie the remote bonobo control
died).
(e_shell_view_set_view): Try to respawn dead widgets.
2000-04-25 Dan Winship <danw@helixcode.com>
* Makefile.am: include -I$(datadir)/idl in orbit-idl arguments so
that you can have bonobo installed in the same prefix as
evolution, when that isn't the same prefix is gnome-libs, which a
lot of people seem to be doing.
(CLEANFILES): add EVOLUTION_CORBA_GENERATED
2000-04-24 Christopher James Lahey <clahey@helixcode.com>
* idl/folder.idl: Made some functions syncronous that didn't need
to be asyncronous.
2000-04-24 Matt Loper <matt@helixcode.com>
* e-shell-view.h: Added hpaned and treeview widgets to
EShellView. Added e_shell_view_toggle_shortcut_bar() and
e_shell_view_toggle_treeview().
* e-shell-view.c (e_shell_view_setup_shortcut_display): Use EPaned
widget to house our shortcut bar.
(e_shell_view_toggle_shortcut_bar): New function; toggles whether
the shortcut bar is showing.
(e_shell_view_toggle_treeview): Same, for the treeview (NYI).
(e_shell_view_new): Put the notebook view in our EPaned widget.
* e-shell-view-menu.c (esv_cmd_toggle_shortcut_bar): New function;
toggles whether the shortcut bar is viewed.
(esv_cmd_toggle_treeview): Same, but with the treeview. Added
menuitems in the "view" menu to allow access to the above.
2000-04-19 Seth Alves <alves@hungry.com>
* e-shell-view.c (get_view): set calendar's uri with a property bag
2000-04-19 Christopher James Lahey <clahey@helixcode.com>
* idl/folder.idl: New idl file. Still unused.
2000-04-14 Christopher James Lahey <clahey@helixcode.com>
* e-shell-view.c: Made the left pane of the shell view not
autoresize.
2000-04-09 Matt Loper <matt@helixcode.com>
* e-shell-view.c (e_shell_view_setup): Set the default height
bigger, to 600, so that everything in the shortcut-bar shows up.
2000-04-07 Matt Loper <matt@helixcode.com>
* e-shell-view.c (destroy_folder_view): New function;
Bonobo_Unknown_unref's the controls that have the views in them.
(esv_destroy): Calls the above for each folder_view in the
hashtable.
(get_view): unref the ServiceRepository interface of the control
when we're done with it.
2000-04-06 Miguel de Icaza <miguel@gnu.org>
* shell/e-shortcut.c (shell_icon_cb): Append a slash here.
(shell_icons): Only list the filenames.
* shell/main.c (evolution_boot): Be less rude.
2000-04-06 Matt Loper <matt@helixcode.com>
* shell/main.c (evolution_boot): Make sure our data directory is
available with e_setup_base_dir ().
2000-04-06 Miguel de Icaza <miguel@gnu.org>
* shell/e-shortcut.c (shell_icon_cb): Load the icons from the
installation path, not form the GNOME-libs installation prefix.
(shell_icon_cb): Memory leak fix.
* shell/Makefile.am (imagesdir): Pass the EVOLUTION_IMAGES
installation directory here.
2000-04-05 Seth Alves <alves@hungry.com>
* shell/e-shell-view.c (get_view): hook up control:calendar
2000-03-31 Dan Winship <danw@helixcode.com>
* shell/e-shortcut.c (e_shortcut_bar_view_new, shell_icon_cb):
Update for shortcut bar changes.
* shell/e-folder.h: add E_FOLDER_SUMMARY
* shell/e-shell.c (e_shell_setup_default_folders): make the
"Today" icon be of type E_FOLDER_SUMMARY, not E_FOLDER_MAIL.
2000-03-30 Dan Winship <danw@helixcode.com>
* shell/e-shell-view.c (e_shell_view_set_view): Hold off on
deactivating the "outgoing" control until after setting up the
"incoming" control. That way if the new control takes a few
seconds to load, there won't be an ugly empty spot where the
toolbar used to be while the new control loads.
2000-03-29 Dan Winship <danw@helixcode.com>
* shell/e-shell-view.c (e_shell_view_set_view): Call
bonobo_control_frame_activate on the folder_view every time it
is displayed, and bonobo_control_frame_deactivate every time it is
hidden.
2000-03-25 Matt Loper <matt@helixcode.com>
* shell/e-shell-view.c (get_view): Move CORBA_Environment to
different scope.
2000-03-22 Matt Loper <matt@helixcode.com>
* shell/main.c (evolution_boot): gtk_signal_connect'ed "destroy"
to gtk_main_quit, so that the shell dies when you want it to.
* shell/e-shell-view.c (get_view): Reorganized, and added
assertions.
(e_shell_view_set_view): Added assertions.
2000-03-20 Matt Loper <matt@helixcode.com>
* shell/e-shell-view.h: New private field in EShellView added,
which contains the notebook and a hashtable of folders to views.
* shell/e-shell-view.c (e_shell_view_set_view): Instead of
creating a new control every time we set the view, we now keep our
controls in a notebook. This function now switches to the correct
notebook page, or creates a new page/control as necessary.
(e_shell_view_new): Creates and inserts the notebook into the
shell.
2000-03-13 Christopher James Lahey <clahey@helixcode.com>
* shell/e-shell-view.c: Added an E_FOLDER_CONTACTS section to the
get_view function.
2000-03-13 bertrand <bertrand@helixcode.com>
* shell/e-shell.c (EShell_register_service):
test implementation. Show the uri and the type
of service that has just been registered.
* shell/e-shell-view.c (get_view):
once we have the bonobo control widget,
disable the autoactivation and activate
the control frame.
(get_view): added a parameter to have
a reference to the EShellView.
(get_view): In the case of the mail component
use the Evolution_ServiceRepository to
give the component a reference to the
Shell server.
2000-03-12 bertrand <bertrand@helixcode.com>
* shell/e-shell-view.c (get_view): name change
* shell/e-folder.c (e_folder_get_folder_type): added the
get_e_folder_type function.
* shell/evolution-service-repository.c:
(evolution_service_repository_new): creates an
Evolution_ServiceRepository object.
(create_evolution_service_repository):
create the corresponding servant.
(evolution_service_repository_construct): set
the closure as well as the virtual functions.
2000-03-12 bertrand <bertrand@helixcode.com>
* shell/evolution-service-repository.c:
* shell/evolution-service-repository.h:
Implementation of the service repository interface
as a bonobo object.
* shell/evolution-service-repository.idl:
new file. Contains the definition for the service
repository interface.
* shell/Shell.idl: move the shell related stuff
here
2000-03-12 bertrand <bertrand@helixcode.com>
* shell/e-folder.h: add a field refering to a
service associated to the efolder. In the case of
distant folders, it is generally a server.
* shell/e-service.c: New class. Models a service.
A service is an object with an URI and a root folder.
It genreally reporesents a distant folder.
A service is generally a ressource shared amongst
several folders.
* shell/e-service.h:
2000-03-07 bertrand <bertrand@helixcode.com>
* shell/e-shell-shortcut.c (shortcut_bar_item_selected):
removed a test that prevented the standard menu
to be shown.
2000-03-01 Ettore Perazzoli <ettore@helixcode.com>
* shell/Makefile.am (INCLUDES): use `top_srcdir' instead of
`srcdir'. Also, add `$(top_srcdir)'. And put the srcdir includes
before everything else.
(evolution_LDADD): `libeutil.la', not `libeutil.a'.
2000-02-22 bertrand <Bertrand.Guiheneuf@aful.org>
* shell/Makefile.am (evolution_LDADD):
add libetext.a.
2000-02-08 Iain Holmes <ih@csd.abdn.ac.uk>
* shell/Makefile.am: Changed the order of the compilation, so the CORBA
stuff was generated before it was needed.
2000-01-15 Miguel de Icaza <miguel@gnu.org>
* shell/e-shell.c: Construct the default folders
* shell/e-shell-view.c (e_shell_view_new): Setup the main GnomeApp
application, load the shortcut, internal api.
* shell/e-folder.c (e_folder_get_type_name): Return description
here; Change of policy; We now know about all of the possible
types that can be displayed on Evolution.
2000-01-15 Miguel de Icaza <miguel@gnu.org>
* shell/e-folder.c: Renamed signal.
* widgets/shortcut-bar/e-shortcut-bar.c (e_shortcut_bar_add_item):
Use e_bar_set_item_data.
Drop item_url; Require image argument; Require user data
argument.
2000-01-05 Miguel de Icaza <miguel@gnu.org>
* shell/Makefile.am: New file.